The AM62x LP SK board is similar to the AM62x SK board,
but has some significant changes that requires different
device tree.

The differences are mainly:
- AM62x SoC in the AMC package that meets AECQ100 automotive standard.
- LPDDR4 versus DDR4 on the AM62x SK.
- TPS65219 PMIC instead of discrete regulators.
- IO expander pin names are wired differently.
- Second ethernet port is currently disabled as the boards do not have
  the part physically installed.
- OSPI NAND vs OSPI NOR.
- No WLAN chip instead a SDIO M.2 connector.

Signed-off-by: Nitin Yadav <[email protected]>
---
 arch/arm/dts/k3-am62-lp-sk-u-boot.dtsi      |   7 +
 arch/arm/dts/k3-am62-lp-sk.dts              | 232 +++++++++++
 arch/arm/dts/k3-am62x-sk-common-u-boot.dtsi | 194 +++++++++
 arch/arm/dts/k3-am62x-sk-common.dtsi        | 430 ++++++++++++++++++++
 4 files changed, 863 insertions(+)
 create mode 100644 arch/arm/dts/k3-am62-lp-sk-u-boot.dtsi
 create mode 100644 arch/arm/dts/k3-am62-lp-sk.dts
 create mode 100644 arch/arm/dts/k3-am62x-sk-common-u-boot.dtsi
 create mode 100644 arch/arm/dts/k3-am62x-sk-common.dtsi

diff --git a/arch/arm/dts/k3-am62-lp-sk-u-boot.dtsi 
b/arch/arm/dts/k3-am62-lp-sk-u-boot.dtsi
new file mode 100644
index 0000000000..46a82ad74b
--- /dev/null
+++ b/arch/arm/dts/k3-am62-lp-sk-u-boot.dtsi
@@ -0,0 +1,7 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
+ * AM62x LP SK dts file for SPLs
+ * Copyright (C) 2021-2023 Texas Instruments Incorporated - https://www.ti.com/
+ */
+
+#include "k3-am62x-sk-common-u-boot.dtsi"
diff --git a/arch/arm/dts/k3-am62-lp-sk.dts b/arch/arm/dts/k3-am62-lp-sk.dts
new file mode 100644
index 0000000000..a220392d09
--- /dev/null
+++ b/arch/arm/dts/k3-am62-lp-sk.dts
@@ -0,0 +1,232 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
+ * AM62x LP SK: https://www.ti.com/tool/SK-AM62-LP
+ *
+ * Copyright (C) 2021-2023 Texas Instruments Incorporated - https://www.ti.com/
+ */
+
+/dts-v1/;
+
+#include "k3-am62x-sk-common.dtsi"
+
+/ {
+       compatible = "ti,am62-lp-sk", "ti,am625";
+       model = "Texas Instruments AM62x LP SK";
+
+       vmain_pd: regulator-0 {
+               /* TPS65988 PD CONTROLLER OUTPUT */
+               compatible = "regulator-fixed";
+               regulator-name = "vmain_pd";
+               regulator-min-microvolt = <5000000>;
+               regulator-max-microvolt = <5000000>;
+               regulator-always-on;
+               regulator-boot-on;
+       };
+
+       vcc_5v0: regulator-1 {
+               /* Output of TPS630702RNMR */
+               compatible = "regulator-fixed";
+               regulator-name = "vcc_5v0";
+               regulator-min-microvolt = <5000000>;
+               regulator-max-microvolt = <5000000>;
+               vin-supply = <&vmain_pd>;
+               regulator-always-on;
+               regulator-boot-on;
+       };
+
+       vcc_3v3_sys: regulator-2 {
+               /* output of LM61460-Q1 */
+               compatible = "regulator-fixed";
+               regulator-name = "vcc_3v3_sys";
+               regulator-min-microvolt = <3300000>;
+               regulator-max-microvolt = <3300000>;
+               vin-supply = <&vmain_pd>;
+               regulator-always-on;
+               regulator-boot-on;
+       };
+
+       vdd_mmc1: regulator-3 {
+               /* TPS22918DBVR */
+               compatible = "regulator-fixed";
+               regulator-name = "vdd_mmc1";
+               regulator-min-microvolt = <3300000>;
+               regulator-max-microvolt = <3300000>;
+               regulator-boot-on;
+               enable-active-high;
+               vin-supply = <&vcc_3v3_sys>;
+               gpio = <&exp1 3 GPIO_ACTIVE_HIGH>;
+       };
+
+       vddshv_sdio: regulator-4 {
+               compatible = "regulator-gpio";
+               regulator-name = "vddshv_sdio";
+               pinctrl-names = "default";
+               pinctrl-0 = <&vddshv_sdio_pins_default>;
+               regulator-min-microvolt = <1800000>;
+               regulator-max-microvolt = <3300000>;
+               regulator-boot-on;
+               vin-supply = <&ldo1_reg>;
+               gpios = <&main_gpio0 31 GPIO_ACTIVE_HIGH>;
+               states = <1800000 0x0>,
+                        <3300000 0x1>;
+       };
+};
+
+&main_pmx0 {
+       vddshv_sdio_pins_default: vddshv-sdio-pins-default {
+               pinctrl-single,pins = <
+                       AM62X_IOPAD(0x07c, PIN_OUTPUT, 7) /* (M19) 
GPMC0_CLK.GPIO0_31 */
+               >;
+       };
+
+       main_gpio1_ioexp_intr_pins_default: main-gpio1-ioexp-intr-pins-default {
+               pinctrl-single,pins = <
+                       AM62X_IOPAD(0x01d4, PIN_INPUT, 7) /* (C13) 
UART0_RTSn.GPIO1_23 */
+               >;
+       };
+
+       pmic_irq_pins_default: pmic-irq-pins-default {
+               pinctrl-single,pins = <
+                       AM62X_IOPAD(0x01f4, PIN_INPUT, 0) /* (B16) EXTINTn */
+               >;
+       };
+};
+
+&main_i2c1 {
+       exp1: gpio@22 {
+               compatible = "ti,tca6424";
+               reg = <0x22>;
+               gpio-controller;
+               #gpio-cells = <2>;
+               gpio-line-names = "GPIO_CPSW2_RST", "GPIO_CPSW1_RST",
+                                  "PRU_DETECT", "MMC1_SD_EN",
+                                  "VPP_LDO_EN", "EXP_PS_3V3_En",
+                                  "EXP_PS_5V0_En", "EXP_HAT_DETECT",
+                                  "GPIO_AUD_RSTn", "GPIO_eMMC_RSTn",
+                                  "UART1_FET_BUF_EN", "BT_UART_WAKE_SOC",
+                                  "GPIO_HDMI_RSTn", "CSI_GPIO0",
+                                  "CSI_GPIO1", "GPIO_OLDI_INT",
+                                  "HDMI_INTn", "TEST_GPIO2",
+                                  "MCASP1_FET_EN", "MCASP1_BUF_BT_EN",
+                                  "MCASP1_FET_SEL", "UART1_FET_SEL",
+                                  "", "IO_EXP_TEST_LED";
+
+               interrupt-parent = <&main_gpio1>;
+               interrupts = <23 IRQ_TYPE_EDGE_FALLING>;
+               interrupt-controller;
+               #interrupt-cells = <2>;
+
+               pinctrl-names = "default";
+               pinctrl-0 = <&main_gpio1_ioexp_intr_pins_default>;
+       };
+
+       exp2: gpio@23 {
+               compatible = "ti,tca6424";
+               reg = <0x23>;
+               gpio-controller;
+               #gpio-cells = <2>;
+               gpio-line-names = "", "",
+                                  "", "",
+                                  "", "",
+                                  "", "",
+                                  "WL_LT_EN", "CSI_RSTz",
+                                  "", "",
+                                  "", "",
+                                  "", "",
+                                  "SPI0_FET_SEL", "SPI0_FET_OE",
+                                  "GPIO_OLDI_RSTn", "PRU_3V3_EN",
+                                  "", "",
+                                  "CSI_VLDO_SEL", "SOC_WLAN_SDIO_RST";
+       };
+};
+
+&sdhci1 {
+       vmmc-supply = <&vdd_mmc1>;
+       vqmmc-supply = <&vddshv_sdio>;
+};
+
+&cpsw_port2 {
+       status = "disabled";
+};
+
+&main_i2c0 {
+       tps65219: pmic@30 {
+               compatible = "ti,tps65219";
+               reg = <0x30>;
+               buck1-supply = <&vcc_3v3_sys>;
+               buck2-supply = <&vcc_3v3_sys>;
+               buck3-supply = <&vcc_3v3_sys>;
+               ldo1-supply = <&vcc_3v3_sys>;
+               ldo2-supply = <&buck2_reg>;
+               ldo3-supply = <&vcc_3v3_sys>;
+               ldo4-supply = <&vcc_3v3_sys>;
+
+               pinctrl-names = "default";
+               pinctrl-0 = <&pmic_irq_pins_default>;
+
+               interrupt-parent = <&gic500>;
+               interrupts = <GIC_SPI 224 IRQ_TYPE_LEVEL_HIGH>;
+               ti,power-button;
+
+               regulators {
+                       buck1_reg: buck1 {
+                               regulator-name = "VDD_CORE";
+                               regulator-min-microvolt = <750000>;
+                               regulator-max-microvolt = <750000>;
+                               regulator-boot-on;
+                               regulator-always-on;
+                       };
+
+                       buck2_reg: buck2 {
+                               regulator-name = "VCC1V8_SYS";
+                               regulator-min-microvolt = <1800000>;
+                               regulator-max-microvolt = <1800000>;
+                               regulator-boot-on;
+                               regulator-always-on;
+                       };
+
+                       buck3_reg: buck3 {
+                               regulator-name = "VDD_LPDDR4";
+                               regulator-min-microvolt = <1100000>;
+                               regulator-max-microvolt = <1100000>;
+                               regulator-boot-on;
+                               regulator-always-on;
+                       };
+
+                       ldo1_reg: ldo1 {
+                               regulator-name = "VDDSHV_SDIO";
+                               regulator-min-microvolt = <3300000>;
+                               regulator-max-microvolt = <3300000>;
+                       };
+
+                       ldo2_reg: ldo2 {
+                               regulator-name = "VDDAR_CORE";
+                               regulator-min-microvolt = <850000>;
+                               regulator-max-microvolt = <850000>;
+                               regulator-boot-on;
+                               regulator-always-on;
+                       };
+
+                       ldo3_reg: ldo3 {
+                               regulator-name = "VDDA_1V8";
+                               regulator-min-microvolt = <1800000>;
+                               regulator-max-microvolt = <1800000>;
+                               regulator-boot-on;
+                               regulator-always-on;
+                       };
+
+                       ldo4_reg: ldo4 {
+                               regulator-name = "VDD_1V2";
+                               regulator-min-microvolt = <1200000>;
+                               regulator-max-microvolt = <1200000>;
+                               regulator-boot-on;
+                               regulator-always-on;
+                       };
+               };
+       };
+};
+
+&tlv320aic3106 {
+       DVDD-supply = <&buck2_reg>;
+};
+
diff --git a/arch/arm/dts/k3-am62x-sk-common-u-boot.dtsi 
b/arch/arm/dts/k3-am62x-sk-common-u-boot.dtsi
new file mode 100644
index 0000000000..ba012363d5
--- /dev/null
+++ b/arch/arm/dts/k3-am62x-sk-common-u-boot.dtsi
@@ -0,0 +1,194 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
+ * Common AM62x SK dts file for SPLs
+ * Copyright (C) 2021-2022 Texas Instruments Incorporated - https://www.ti.com/
+ */
+
+/ {
+       chosen {
+               stdout-path = "serial2:115200n8";
+               tick-timer = &timer1;
+       };
+
+       aliases {
+               mmc0 = &sdhci0;
+               mmc1 = &sdhci1;
+       };
+
+       memory@80000000 {
+               bootph-pre-ram;
+       };
+};
+
+&cbass_main{
+       bootph-pre-ram;
+
+       timer1: timer@2400000 {
+               compatible = "ti,omap5430-timer";
+               reg = <0x00 0x2400000 0x00 0x80>;
+               ti,timer-alwon;
+               clock-frequency = <25000000>;
+               bootph-pre-ram;
+       };
+};
+
+&dmss {
+       bootph-pre-ram;
+};
+
+&secure_proxy_main {
+       bootph-pre-ram;
+};
+
+&dmsc {
+       bootph-pre-ram;
+};
+
+&k3_pds {
+       bootph-pre-ram;
+};
+
+&k3_clks {
+       bootph-pre-ram;
+};
+
+&k3_reset {
+       bootph-pre-ram;
+};
+
+&wkup_conf {
+       bootph-pre-ram;
+};
+
+&chipid {
+       bootph-pre-ram;
+};
+
+&main_pmx0 {
+       bootph-pre-ram;
+};
+
+&main_uart0 {
+       bootph-pre-ram;
+};
+
+&main_uart0_pins_default {
+       bootph-pre-ram;
+};
+
+&main_uart1 {
+       bootph-pre-ram;
+};
+
+&cbass_mcu {
+       bootph-pre-ram;
+};
+
+&cbass_wakeup {
+       bootph-pre-ram;
+};
+
+&mcu_pmx0 {
+       bootph-pre-ram;
+};
+
+&wkup_uart0 {
+       bootph-pre-ram;
+};
+
+&main_i2c0 {
+       bootph-pre-ram;
+};
+
+&main_i2c0_pins_default {
+       bootph-pre-ram;
+};
+
+&sdhci0 {
+       bootph-pre-ram;
+};
+
+&sdhci1 {
+       bootph-pre-ram;
+};
+
+&main_mmc1_pins_default {
+       bootph-pre-ram;
+};
+
+&usbss0 {
+       bootph-pre-ram;
+};
+
+&usb0 {
+       dr_mode = "peripheral";
+       /* Since role switching is not supported in U-Boot */
+       /delete-property/ extcon;
+       bootph-pre-ram;
+};
+
+&usbss1 {
+       bootph-pre-ram;
+};
+
+&usb1 {
+       bootph-pre-ram;
+};
+
+&main_usb1_pins_default {
+       bootph-pre-ram;
+};
+
+&cpsw3g {
+       reg = <0x0 0x8000000 0x0 0x200000>,
+             <0x0 0x43000200 0x0 0x8>;
+       reg-names = "cpsw_nuss", "mac_efuse";
+       /delete-property/ ranges;
+       bootph-pre-ram;
+
+       cpsw-phy-sel@04044 {
+               compatible = "ti,am64-phy-gmii-sel";
+               reg = <0x0 0x00104044 0x0 0x8>;
+               bootph-pre-ram;
+       };
+};
+
+&cpsw_port2 {
+       status = "disabled";
+};
+
+&main_bcdma {
+       bootph-pre-ram;
+};
+
+&main_pktdma {
+       bootph-pre-ram;
+};
+
+&fss {
+       bootph-pre-ram;
+};
+
+&cpsw_port1 {
+       bootph-pre-ram;
+};
+
+&main_rgmii1_pins_default {
+       bootph-pre-ram;
+};
+
+&main_mdio1_pins_default {
+       bootph-pre-ram;
+};
+
+&cpsw3g_phy0 {
+       bootph-pre-ram;
+};
+
+&dmsc {
+       bootph-pre-ram;
+       k3_sysreset: sysreset-controller {
+               compatible = "ti,sci-sysreset";
+               bootph-pre-ram;
+       };
+};
diff --git a/arch/arm/dts/k3-am62x-sk-common.dtsi 
b/arch/arm/dts/k3-am62x-sk-common.dtsi
new file mode 100644
index 0000000000..411e8e2624
--- /dev/null
+++ b/arch/arm/dts/k3-am62x-sk-common.dtsi
@@ -0,0 +1,430 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
+ * Common dtsi for AM62x SK and derivatives
+ *
+ * Copyright (C) 2021-2023 Texas Instruments Incorporated - https://www.ti.com/
+ */
+
+#include <dt-bindings/leds/common.h>
+#include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/net/ti-dp83867.h>
+#include "k3-am625.dtsi"
+
+/ {
+       aliases {
+               serial2 = &main_uart0;
+               mmc0 = &sdhci0;
+               mmc1 = &sdhci1;
+               mmc2 = &sdhci2;
+               spi0 = &ospi0;
+               ethernet0 = &cpsw_port1;
+               ethernet1 = &cpsw_port2;
+               usb0 = &usb0;
+               usb1 = &usb1;
+       };
+
+       chosen {
+               stdout-path = "serial2:115200n8";
+               bootargs = "console=ttyS2,115200n8 
earlycon=ns16550a,mmio32,0x02800000";
+       };
+
+       memory@80000000 {
+               device_type = "memory";
+               /* 2G RAM */
+               reg = <0x00000000 0x80000000 0x00000000 0x80000000>;
+
+       };
+
+       reserved-memory {
+               #address-cells = <2>;
+               #size-cells = <2>;
+               ranges;
+
+               ramoops@9ca00000 {
+                       compatible = "ramoops";
+                       reg = <0x00 0x9ca00000 0x00 0x00100000>;
+                       record-size = <0x8000>;
+                       console-size = <0x8000>;
+                       ftrace-size = <0x00>;
+                       pmsg-size = <0x8000>;
+               };
+
+               secure_tfa_ddr: tfa@9e780000 {
+                       reg = <0x00 0x9e780000 0x00 0x80000>;
+                       alignment = <0x1000>;
+                       no-map;
+               };
+
+               secure_ddr: optee@9e800000 {
+                       reg = <0x00 0x9e800000 0x00 0x01800000>; /* for OP-TEE 
*/
+                       alignment = <0x1000>;
+                       no-map;
+               };
+
+               wkup_r5fss0_core0_dma_memory_region: r5f-dma-memory@9db00000 {
+                       compatible = "shared-dma-pool";
+                       reg = <0x00 0x9db00000 0x00 0xc00000>;
+                       no-map;
+               };
+       };
+
+       leds {
+               compatible = "gpio-leds";
+               pinctrl-names = "default";
+               pinctrl-0 = <&usr_led_pins_default>;
+
+               led-0 {
+                       label = "am62-sk:green:heartbeat";
+                       gpios = <&main_gpio1 49 GPIO_ACTIVE_HIGH>;
+                       linux,default-trigger = "heartbeat";
+                       function = LED_FUNCTION_HEARTBEAT;
+                       default-state = "off";
+               };
+       };
+
+       tlv320_mclk: clk-0 {
+               #clock-cells = <0>;
+               compatible = "fixed-clock";
+               clock-frequency = <12288000>;
+       };
+
+       codec_audio: sound {
+               compatible = "simple-audio-card";
+               simple-audio-card,name = "AM62x-SKEVM";
+               simple-audio-card,widgets =
+                       "Headphone",    "Headphone Jack",
+                       "Line",         "Line In",
+                       "Microphone",   "Microphone Jack";
+               simple-audio-card,routing =
+                       "Headphone Jack",       "HPLOUT",
+                       "Headphone Jack",       "HPROUT",
+                       "LINE1L",               "Line In",
+                       "LINE1R",               "Line In",
+                       "MIC3R",                "Microphone Jack",
+                       "Microphone Jack",      "Mic Bias";
+               simple-audio-card,format = "dsp_b";
+               simple-audio-card,bitclock-master = <&sound_master>;
+               simple-audio-card,frame-master = <&sound_master>;
+               simple-audio-card,bitclock-inversion;
+
+               simple-audio-card,cpu {
+                       sound-dai = <&mcasp1>;
+               };
+
+               sound_master: simple-audio-card,codec {
+                       sound-dai = <&tlv320aic3106>;
+                       clocks = <&tlv320_mclk>;
+               };
+       };
+};
+
+&main_pmx0 {
+       /* First pad number is ALW package and second is AMC package */
+       main_uart0_pins_default: main-uart0-pins-default {
+               pinctrl-single,pins = <
+                       AM62X_IOPAD(0x1c8, PIN_INPUT, 0) /* (D14/A13) UART0_RXD 
*/
+                       AM62X_IOPAD(0x1cc, PIN_OUTPUT, 0) /* (E14/E11) 
UART0_TXD */
+               >;
+       };
+
+       main_i2c0_pins_default: main-i2c0-pins-default {
+               pinctrl-single,pins = <
+                       AM62X_IOPAD(0x1e0, PIN_INPUT_PULLUP, 0) /* (B16/E12) 
I2C0_SCL */
+                       AM62X_IOPAD(0x1e4, PIN_INPUT_PULLUP, 0) /* (A16/D14) 
I2C0_SDA */
+               >;
+       };
+
+       main_i2c1_pins_default: main-i2c1-pins-default {
+               pinctrl-single,pins = <
+                       AM62X_IOPAD(0x1e8, PIN_INPUT_PULLUP, 0) /* (B17/A17) 
I2C1_SCL */
+                       AM62X_IOPAD(0x1ec, PIN_INPUT_PULLUP, 0) /* (A17/A16) 
I2C1_SDA */
+               >;
+       };
+
+       main_i2c2_pins_default: main-i2c2-pins-default {
+               pinctrl-single,pins = <
+                       AM62X_IOPAD(0x0b0, PIN_INPUT_PULLUP, 1) /* (K22/H18) 
GPMC0_CSn2.I2C2_SCL */
+                       AM62X_IOPAD(0x0b4, PIN_INPUT_PULLUP, 1) /* (K24/H19) 
GPMC0_CSn3.I2C2_SDA */
+               >;
+       };
+
+       main_mmc0_pins_default: main-mmc0-pins-default {
+               pinctrl-single,pins = <
+                       AM62X_IOPAD(0x220, PIN_INPUT, 0) /* (Y3/V3) MMC0_CMD */
+                       AM62X_IOPAD(0x218, PIN_INPUT, 0) /* (AB1/Y1) MMC0_CLK */
+                       AM62X_IOPAD(0x214, PIN_INPUT, 0) /* (AA2/V2) MMC0_DAT0 
*/
+                       AM62X_IOPAD(0x210, PIN_INPUT, 0) /* (AA1/V1) MMC0_DAT1 
*/
+                       AM62X_IOPAD(0x20c, PIN_INPUT, 0) /* (AA3/W2) MMC0_DAT2 
*/
+                       AM62X_IOPAD(0x208, PIN_INPUT, 0) /* (Y4/W1) MMC0_DAT3 */
+                       AM62X_IOPAD(0x204, PIN_INPUT, 0) /* (AB2/Y2) MMC0_DAT4 
*/
+                       AM62X_IOPAD(0x200, PIN_INPUT, 0) /* (AC1/W3) MMC0_DAT5 
*/
+                       AM62X_IOPAD(0x1fc, PIN_INPUT, 0) /* (AD2/W4) MMC0_DAT6 
*/
+                       AM62X_IOPAD(0x1f8, PIN_INPUT, 0) /* (AC2/V4) MMC0_DAT7 
*/
+               >;
+       };
+
+       main_mmc1_pins_default: main-mmc1-pins-default {
+               pinctrl-single,pins = <
+                       AM62X_IOPAD(0x23c, PIN_INPUT, 0) /* (A21/C18) MMC1_CMD 
*/
+                       AM62X_IOPAD(0x234, PIN_INPUT, 0) /* (B22/A20) MMC1_CLK 
*/
+                       AM62X_IOPAD(0x230, PIN_INPUT, 0) /* (A22/A19) MMC1_DAT0 
*/
+                       AM62X_IOPAD(0x22c, PIN_INPUT, 0) /* (B21/B19) MMC1_DAT1 
*/
+                       AM62X_IOPAD(0x228, PIN_INPUT, 0) /* (C21/B20) MMC1_DAT2 
*/
+                       AM62X_IOPAD(0x224, PIN_INPUT, 0) /* (D22/C19) MMC1_DAT3 
*/
+                       AM62X_IOPAD(0x240, PIN_INPUT, 0) /* (D17/C15) MMC1_SDCD 
*/
+               >;
+       };
+
+       usr_led_pins_default: usr-led-pins-default {
+               pinctrl-single,pins = <
+                       AM62X_IOPAD(0x244, PIN_OUTPUT, 7) /* (C17/B15) 
MMC1_SDWP.GPIO1_49 */
+               >;
+       };
+
+       main_mdio1_pins_default: main-mdio1-pins-default {
+               pinctrl-single,pins = <
+                       AM62X_IOPAD(0x160, PIN_OUTPUT, 0) /* (AD24/V17) 
MDIO0_MDC */
+                       AM62X_IOPAD(0x15c, PIN_INPUT, 0) /* (AB22/U16) 
MDIO0_MDIO */
+               >;
+       };
+
+       main_rgmii1_pins_default: main-rgmii1-pins-default {
+               pinctrl-single,pins = <
+                       AM62X_IOPAD(0x14c, PIN_INPUT, 0) /* (AB17/W15) 
RGMII1_RD0 */
+                       AM62X_IOPAD(0x150, PIN_INPUT, 0) /* (AC17/Y16) 
RGMII1_RD1 */
+                       AM62X_IOPAD(0x154, PIN_INPUT, 0) /* (AB16/AA17) 
RGMII1_RD2 */
+                       AM62X_IOPAD(0x158, PIN_INPUT, 0) /* (AA15/Y15) 
RGMII1_RD3 */
+                       AM62X_IOPAD(0x148, PIN_INPUT, 0) /* (AD17/AA16) 
RGMII1_RXC */
+                       AM62X_IOPAD(0x144, PIN_INPUT, 0) /* (AE17/W14) 
RGMII1_RX_CTL */
+                       AM62X_IOPAD(0x134, PIN_OUTPUT, 0) /* (AE20/U14) 
RGMII1_TD0 */
+                       AM62X_IOPAD(0x138, PIN_OUTPUT, 0) /* (AD20/AA19) 
RGMII1_TD1 */
+                       AM62X_IOPAD(0x13c, PIN_OUTPUT, 0) /* (AE18/Y17) 
RGMII1_TD2 */
+                       AM62X_IOPAD(0x140, PIN_OUTPUT, 0) /* (AD18/AA18) 
RGMII1_TD3 */
+                       AM62X_IOPAD(0x130, PIN_OUTPUT, 0) /* (AE19/W16) 
RGMII1_TXC */
+                       AM62X_IOPAD(0x12c, PIN_OUTPUT, 0) /* (AD19/V15) 
RGMII1_TX_CTL */
+               >;
+       };
+
+       main_usb1_pins_default: main-usb1-pins-default {
+               pinctrl-single,pins = <
+                       AM62X_IOPAD(0x0258, PIN_OUTPUT, 0) /* (F18/E16) 
USB1_DRVVBUS */
+               >;
+       };
+
+       main_mcasp1_pins_default: main-mcasp1-pins-default {
+               pinctrl-single,pins = <
+                       AM62X_IOPAD(0x090, PIN_INPUT, 2) /* (M24) 
GPMC0_BE0N_CLE.MCASP1_ACLKX */
+                       AM62X_IOPAD(0x098, PIN_INPUT, 2) /* (U23) 
GPMC0_WAIT0.MCASP1_AFSX */
+                       AM62X_IOPAD(0x08c, PIN_OUTPUT, 2) /* (L25) 
GPMC0_WEN.MCASP1_AXR0 */
+                       AM62X_IOPAD(0x084, PIN_INPUT, 2) /* (L23) 
GPMC0_ADVN_ALE.MCASP1_AXR2 */
+               >;
+       };
+};
+
+&wkup_uart0 {
+       /* WKUP UART0 is used by DM firmware */
+       status = "reserved";
+};
+
+&main_uart0 {
+       status = "okay";
+       pinctrl-names = "default";
+       pinctrl-0 = <&main_uart0_pins_default>;
+};
+
+&main_uart1 {
+       /* Main UART1 is used by TIFS firmware */
+       status = "reserved";
+};
+
+&main_i2c0 {
+       status = "okay";
+       pinctrl-names = "default";
+       pinctrl-0 = <&main_i2c0_pins_default>;
+       clock-frequency = <400000>;
+};
+
+&main_i2c1 {
+       status = "okay";
+       pinctrl-names = "default";
+       pinctrl-0 = <&main_i2c1_pins_default>;
+       clock-frequency = <400000>;
+
+       tlv320aic3106: audio-codec@1b {
+               #sound-dai-cells = <0>;
+               compatible = "ti,tlv320aic3106";
+               reg = <0x1b>;
+               ai3x-micbias-vg = <1>;  /* 2.0V */
+
+               /* Regulators */
+               AVDD-supply = <&vcc_3v3_sys>;
+               IOVDD-supply = <&vcc_3v3_sys>;
+               DRVDD-supply = <&vcc_3v3_sys>;
+       };
+};
+
+&sdhci0 {
+       status = "okay";
+       pinctrl-names = "default";
+       pinctrl-0 = <&main_mmc0_pins_default>;
+       ti,driver-strength-ohm = <50>;
+       disable-wp;
+};
+
+&sdhci1 {
+       /* SD/MMC */
+       status = "okay";
+       pinctrl-names = "default";
+       pinctrl-0 = <&main_mmc1_pins_default>;
+       ti,driver-strength-ohm = <50>;
+       disable-wp;
+};
+
+&cpsw3g {
+       pinctrl-names = "default";
+       pinctrl-0 = <&main_rgmii1_pins_default>;
+};
+
+&cpsw_port1 {
+       phy-mode = "rgmii-rxid";
+       phy-handle = <&cpsw3g_phy0>;
+};
+
+&cpsw3g_mdio {
+       status = "okay";
+       pinctrl-names = "default";
+       pinctrl-0 = <&main_mdio1_pins_default>;
+
+       cpsw3g_phy0: ethernet-phy@0 {
+               reg = <0>;
+               ti,rx-internal-delay = <DP83867_RGMIIDCTL_2_00_NS>;
+               ti,fifo-depth = <DP83867_PHYCR_FIFO_DEPTH_4_B_NIB>;
+               ti,min-output-impedance;
+       };
+};
+
+&mailbox0_cluster0 {
+       mbox_m4_0: mbox-m4-0 {
+               ti,mbox-rx = <0 0 0>;
+               ti,mbox-tx = <1 0 0>;
+       };
+};
+
+&usbss0 {
+       status = "disabled";
+       ti,vbus-divider;
+};
+
+&usbss1 {
+       status = "disabled";
+       ti,vbus-divider;
+};
+
+&usb0 {
+       status = "disabled";
+       dr_mode = "peripheral";
+};
+
+&usb1 {
+       status = "disabled";
+       dr_mode = "host";
+       pinctrl-names = "default";
+       pinctrl-0 = <&main_usb1_pins_default>;
+};
+
+&mcasp1 {
+       status = "disabled";
+       #sound-dai-cells = <0>;
+
+       pinctrl-names = "default";
+       pinctrl-0 = <&main_mcasp1_pins_default>;
+
+       op-mode = <0>;          /* MCASP_IIS_MODE */
+       tdm-slots = <2>;
+
+       serial-dir = <
+              1 0 2 0
+              0 0 0 0
+              0 0 0 0
+              0 0 0 0
+       >;              /* 0: INACTIVE, 1: TX, 2: RX */
+       tx-num-evt = <32>;
+       rx-num-evt = <32>;
+};
+
+&cbass_mcu {
+       mcu_esm: esm@4100000 {
+               compatible = "ti,j721e-esm";
+               reg = <0x0 0x4100000 0x0 0x1000>;
+               ti,esm-pins = <0>, <1>, <2>, <85>;
+               bootph-pre-ram;
+       };
+};
+
+&cbass_main {
+       sa3_secproxy: secproxy@44880000 {
+               bootph-pre-ram;
+               compatible = "ti,am654-secure-proxy";
+               #mbox-cells = <1>;
+               reg-names = "rt", "scfg", "target_data";
+               reg = <0x00 0x44880000 0x00 0x20000>,
+                     <0x0 0x44860000 0x0 0x20000>,
+                     <0x0 0x43600000 0x0 0x10000>;
+       };
+
+       sysctrler: sysctrler {
+               compatible = "ti,am654-system-controller";
+               mboxes= <&secure_proxy_main 1>, <&secure_proxy_main 0>, 
<&sa3_secproxy 0>;
+               mbox-names = "tx", "rx", "boot_notify";
+               bootph-pre-ram;
+       };
+
+       main_esm: esm@420000 {
+               compatible = "ti,j721e-esm";
+               reg = <0x0 0x420000 0x0 0x1000>;
+               ti,esm-pins = <160>, <161>, <162>, <163>, <177>, <178>;
+               bootph-pre-ram;
+       };
+};
+
+&mcu_pmx0 {
+       bootph-pre-ram;
+       wkup_uart0_pins_default: wkup-uart0-pins-default {
+               pinctrl-single,pins = <
+                       AM62X_MCU_IOPAD(0x02c, PIN_INPUT, 0) /* (C6) 
WKUP_UART0_CTSn */
+                       AM62X_MCU_IOPAD(0x030, PIN_OUTPUT, 0) /* (A4) 
WKUP_UART0_RTSn */
+                       AM62X_MCU_IOPAD(0x024, PIN_INPUT, 0) /* (B4) 
WKUP_UART0_RXD */
+                       AM62X_MCU_IOPAD(0x028, PIN_OUTPUT, 0) /* (C5) 
WKUP_UART0_TXD */
+               >;
+               bootph-pre-ram;
+       };
+};
+
+&main_pmx0 {
+       bootph-pre-ram;
+       main_uart1_pins_default: main-uart1-pins-default {
+               pinctrl-single,pins = <
+                       AM62X_IOPAD(0x194, PIN_INPUT, 2) /* (B19) 
MCASP0_AXR3.UART1_CTSn */
+                       AM62X_IOPAD(0x198, PIN_OUTPUT, 2) /* (A19) 
MCASP0_AXR2.UART1_RTSn */
+                       AM62X_IOPAD(0x1ac, PIN_INPUT, 2) /* (E19) 
MCASP0_AFSR.UART1_RXD */
+                       AM62X_IOPAD(0x1b0, PIN_OUTPUT, 2) /* (A20) 
MCASP0_ACLKR.UART1_TXD */
+               >;
+               bootph-pre-ram;
+       };
+};
+
+/* WKUP UART0 is used for DM firmware logs */
+&wkup_uart0 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&wkup_uart0_pins_default>;
+       status = "okay";
+       bootph-pre-ram;
+};
+
+/* Main UART1 is used for TIFS firmware logs */
+&main_uart1 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&main_uart1_pins_default>;
+       status = "okay";
+       bootph-pre-ram;
+};
-- 
2.25.1

Reply via email to