blob: fea56971b226a5354d6217410c5e7c66a2509dec [file] [log] [blame]
// 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 = <&reg_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";
};