| // SPDX-License-Identifier: (GPL-2.0 OR MIT) |
| /* |
| * Copyright (C) 2018 Synaptics Incorporated |
| * |
| * Author: Jisheng Zhang <jszhang@kernel.org> |
| */ |
| |
| /dts-v1/; |
| |
| #include <dt-bindings/gpio/gpio.h> |
| |
| #include "as370.dtsi" |
| |
| / { |
| model = "Synaptics AS370 PEK"; |
| compatible = "syna,as370-pek", "syna,as370"; |
| |
| aliases { |
| i2c0 = &i2c0; |
| i2c1 = &i2c1; |
| }; |
| |
| chosen { |
| bootargs = "console=ttyS0,115200 root=/dev/mtdblock7 rootfstype=squashfs"; |
| }; |
| |
| memory { |
| device_type = "memory"; |
| reg = <0 0x01000000 0 0x3f000000>; |
| }; |
| |
| regulators { |
| compatible = "simple-bus"; |
| #address-cells = <1>; |
| #size-cells = <0>; |
| |
| vmmc_sdio0: vmmc_sdio0 { |
| compatible = "regulator-fixed"; |
| regulator-min-microvolt = <3300000>; |
| regulator-max-microvolt = <3300000>; |
| regulator-name = "vmmc_sdio0"; |
| enable-active-high; |
| regulator-boot-on; |
| gpio = <&portb 12 GPIO_ACTIVE_HIGH>; |
| }; |
| |
| vqmmc_sdio0: vqmmc_sdio0 { |
| compatible = "regulator-gpio"; |
| regulator-min-microvolt = <1800000>; |
| regulator-max-microvolt = <3300000>; |
| regulator-name = "vqmmc_sdio0"; |
| regulator-type = "voltage"; |
| enable-active-high; |
| gpios = <&portb 13 GPIO_ACTIVE_HIGH>; |
| states = <3300000 0x0 |
| 1800000 0x1>; |
| }; |
| |
| reg_usb0_vbus: usb0_vbus { |
| compatible = "regulator-fixed"; |
| regulator-name = "usb0_vbus"; |
| regulator-min-microvolt = <5000000>; |
| regulator-max-microvolt = <5000000>; |
| gpio = <&portb 0 GPIO_ACTIVE_HIGH>; |
| enable-active-high; |
| }; |
| }; |
| }; |
| |
| &pinctrl { |
| i2c0_pmux: i2c0-pmux { |
| groups = "TW0_SCL", "TW0_SDA"; |
| function = "tw0"; |
| }; |
| |
| i2c1_pmux: i2c1-pmux { |
| groups = "TW1_SCL", "TW1_SDA"; |
| function = "tw1"; |
| }; |
| |
| nand_pmux: nand-pmux { |
| groups = "NAND_IO0", "NAND_IO1", "NAND_IO2", "NAND_IO3", "NAND_IO4", "NAND_IO5", "NAND_IO6", "NAND_IO7", "NAND_ALE", "NAND_CLE", "NAND_WEn", "NAND_REn", "NAND_WPn", "NAND_CEn", "NAND_RDY"; |
| function = "nand"; |
| }; |
| |
| pcie0_gpio_pmux: pcie_gpio-pmux { |
| groups = "PWM4", "PWM5"; |
| function = "gpio"; |
| }; |
| |
| pcie1_gpio_pmux: pcie_gpio-pmux { |
| groups = "PWM6"; |
| function = "gpio"; |
| }; |
| |
| sd0_pmux: sd0-pmux { |
| groups = "SD0_CLK", "SD0_DAT0", "SD0_DAT1", "SD0_DAT2", "SD0_DAT3", "SD0_CMD", "SD0_WP"; |
| function = "sd0"; |
| }; |
| |
| sd0_gpio_pmux: sd0_gpio-pmux { |
| groups = "PWM2", "PWM3", "SD0_CDn"; |
| function = "gpio"; |
| }; |
| |
| usb0_gpio_pmux: usb0_gpio-pmux { |
| groups = "USB0_DRV_VBUS"; |
| function = "gpio"; |
| }; |
| }; |
| |
| &i2c0 { |
| status = "okay"; |
| pinctrl-0 = <&i2c0_pmux>; |
| pinctrl-names = "default"; |
| }; |
| |
| &i2c1 { |
| status = "okay"; |
| pinctrl-0 = <&i2c1_pmux>; |
| pinctrl-names = "default"; |
| }; |
| |
| &pcie_phy0 { |
| status = "okay"; |
| }; |
| |
| &pcie0 { |
| status = "okay"; |
| pinctrl-0 = <&pcie0_gpio_pmux>; |
| pinctrl-names = "default"; |
| reset-gpios = <&portb 15 GPIO_ACTIVE_LOW>; |
| power-gpios = <&portb 14 GPIO_ACTIVE_HIGH>; |
| }; |
| |
| &pcie_phy1 { |
| status = "okay"; |
| }; |
| |
| &pcie1 { |
| status = "okay"; |
| pinctrl-0 = <&pcie1_gpio_pmux>; |
| pinctrl-names = "default"; |
| reset-gpios = <&portb 8 GPIO_ACTIVE_LOW>; |
| }; |
| |
| &sdhci0 { |
| status = "okay"; |
| wp-inverted; |
| cd-gpios = <&portb 30 GPIO_ACTIVE_LOW>; |
| vmmc-supply = <&vmmc_sdio0>; |
| vqmmc-supply = <&vqmmc_sdio0>; |
| pinctrl-0 = <&sd0_pmux>, <&sd0_gpio_pmux>; |
| pinctrl-names = "default"; |
| }; |
| |
| &uart0 { |
| status = "okay"; |
| }; |
| |
| /* |
| &pcie0 { |
| status = "okay"; |
| }; |
| |
| &pcie1 { |
| status = "okay"; |
| }; |
| */ |
| |
| &usb_phy0 { |
| status = "okay"; |
| }; |
| |
| &usb0 { |
| status = "okay"; |
| pinctrl-0 = <&usb0_gpio_pmux>; |
| pinctrl-names = "default"; |
| vbus-supply = <®_usb0_vbus>; |
| }; |
| |
| &watchdog0 { |
| status = "okay"; |
| }; |
| |
| &nand0 { |
| status = "okay"; |
| pinctrl-0 = <&nand_pmux>; |
| pinctrl-names = "default"; |
| nand-ecc-step-size = <2048>; |
| nand-ecc-strength = <48>; |
| zos-end = <0x240000>; |
| |
| partitions { |
| compatible = "fixed-partitions"; |
| #address-cells = <1>; |
| #size-cells = <1>; |
| |
| partition_block0 { |
| label = "block0"; |
| reg = <0x00000 0x40000>; /* 256 KiB */ |
| read-only; |
| }; |
| |
| partition_prebootloader { |
| label = "prebootloader"; |
| reg = <0x040000 0x200000>; /* 2 MiB */ |
| read-only; |
| }; |
| |
| partition_tz { |
| label = "TZ"; |
| reg = <0x240000 0x800000>; /* 8 MiB */ |
| read-only; |
| }; |
| |
| partition_tz_b { |
| label = "TZ-B"; |
| reg = <0xa40000 0x800000>; /* 8 MiB */ |
| read-only; |
| }; |
| |
| partition_postbootloader { |
| label = "postbootloader"; |
| reg = <0x1240000 0x100000>; /* 1 MiB */ |
| read-only; |
| }; |
| |
| partition_postbootloader_b { |
| label = "postbootloader-B"; |
| reg = <0x1340000 0x100000>; /* 1 MiB */ |
| read-only; |
| }; |
| |
| partition_kernel { |
| label = "kernel"; |
| reg = <0x1440000 0xa00000>; /* 10 MiB */ |
| read-only; |
| }; |
| |
| partition_rootfs { |
| label = "rootfs"; |
| reg = <0x1e40000 0xb400000>; /* 180 MiB */ |
| read-only; |
| }; |
| |
| partition_cache { |
| label = "cache"; |
| reg = <0xd240000 0x118c0000>; /* 287,488 KiB */ |
| }; |
| |
| partition_recovery { |
| label = "recovery"; |
| reg = <0x1eb00000 0xf00000>; /* 15 MiB */ |
| }; |
| |
| partition_fts { |
| label = "fts"; |
| reg = <0x1fa00000 0x100000>; /* 1 MiB */ |
| }; |
| |
| partition_factory_store { |
| label = "factory_store"; |
| reg = <0x1fb00000 0x300000>; /* 3 MiB */ |
| }; |
| |
| partition_bbt { |
| label = "bbt"; |
| reg = <0x1fe00000 0x200000>; /* 2 MiB */ |
| read-only; |
| }; |
| }; |
| }; |
| |
| &as370_pdmi0 { |
| status = "okay"; |
| }; |
| |
| &as370_pdmi1 { |
| status = "okay"; |
| }; |
| |
| &as370_mic1_0 { |
| status = "okay"; |
| }; |
| |
| &as370_mic2 { |
| status = "okay"; |
| }; |
| |
| &as370_outdai { |
| status = "okay"; |
| }; |
| |
| &as370_sec { |
| status = "okay"; |
| }; |
| |
| &as370_pcm { |
| status = "okay"; |
| }; |
| |
| &as370_asoc { |
| status = "okay"; |
| |
| dummy_pdmi0: dummy-pdmi0 { |
| status = "okay"; |
| stream-name = "dummy-pdmi0"; |
| link-name = "dummy-pdmi0"; |
| cpu-node = <&as370_pdmi0>; |
| codec-name = "snd-soc-dummy"; |
| codec-dai-name = "snd-soc-dummy-dai"; |
| platform-node = <&as370_pcm>; |
| }; |
| |
| outdai_dummy: outdai-dummy { |
| status = "okay"; |
| stream-name = "outdai-dummy"; |
| link-name = "outdai-dummy"; |
| cpu-node = <&as370_outdai>; |
| codec-name = "snd-soc-dummy"; |
| codec-dai-name = "snd-soc-dummy-dai"; |
| platform-node = <&as370_pcm>; |
| }; |
| |
| sec_dummy: sec-dummy { |
| status = "okay"; |
| stream-name = "sec-dummy"; |
| link-name = "sec-dummy"; |
| cpu-node = <&as370_sec>; |
| codec-name = "snd-soc-dummy"; |
| codec-dai-name = "snd-soc-dummy-dai"; |
| platform-node = <&as370_pcm>; |
| }; |
| }; |
| |
| &nna { |
| status = "okay"; |
| }; |
| |
| &aviodrv { |
| status = "okay"; |
| }; |