1// SPDX-License-Identifier: GPL-2.0 2/* 3 * Copyright (C) 2022 Texas Instruments Incorporated - https://www.ti.com/ 4 * 5 * EVM Board Schematics: https://www.ti.com/lit/zip/sprr458 6 */ 7 8/dts-v1/; 9 10#include <dt-bindings/net/ti-dp83867.h> 11#include <dt-bindings/gpio/gpio.h> 12#include "k3-j784s4.dtsi" 13 14/ { 15 compatible = "ti,j784s4-evm", "ti,j784s4"; 16 model = "Texas Instruments J784S4 EVM"; 17 18 chosen { 19 stdout-path = "serial2:115200n8"; 20 }; 21 22 aliases { 23 serial2 = &main_uart8; 24 mmc1 = &main_sdhci1; 25 i2c0 = &main_i2c0; 26 }; 27 28 memory@80000000 { 29 device_type = "memory"; 30 /* 32G RAM */ 31 reg = <0x00 0x80000000 0x00 0x80000000>, 32 <0x08 0x80000000 0x07 0x80000000>; 33 }; 34 35 reserved_memory: reserved-memory { 36 #address-cells = <2>; 37 #size-cells = <2>; 38 ranges; 39 40 secure_ddr: optee@9e800000 { 41 reg = <0x00 0x9e800000 0x00 0x01800000>; 42 no-map; 43 }; 44 }; 45 46 evm_12v0: regulator-evm12v0 { 47 /* main supply */ 48 compatible = "regulator-fixed"; 49 regulator-name = "evm_12v0"; 50 regulator-min-microvolt = <12000000>; 51 regulator-max-microvolt = <12000000>; 52 regulator-always-on; 53 regulator-boot-on; 54 }; 55 56 vsys_3v3: regulator-vsys3v3 { 57 /* Output of LM5140 */ 58 compatible = "regulator-fixed"; 59 regulator-name = "vsys_3v3"; 60 regulator-min-microvolt = <3300000>; 61 regulator-max-microvolt = <3300000>; 62 vin-supply = <&evm_12v0>; 63 regulator-always-on; 64 regulator-boot-on; 65 }; 66 67 vsys_5v0: regulator-vsys5v0 { 68 /* Output of LM5140 */ 69 compatible = "regulator-fixed"; 70 regulator-name = "vsys_5v0"; 71 regulator-min-microvolt = <5000000>; 72 regulator-max-microvolt = <5000000>; 73 vin-supply = <&evm_12v0>; 74 regulator-always-on; 75 regulator-boot-on; 76 }; 77 78 vdd_mmc1: regulator-sd { 79 /* Output of TPS22918 */ 80 compatible = "regulator-fixed"; 81 regulator-name = "vdd_mmc1"; 82 regulator-min-microvolt = <3300000>; 83 regulator-max-microvolt = <3300000>; 84 regulator-boot-on; 85 enable-active-high; 86 vin-supply = <&vsys_3v3>; 87 gpio = <&exp2 2 GPIO_ACTIVE_HIGH>; 88 }; 89 90 vdd_sd_dv: regulator-TLV71033 { 91 /* Output of TLV71033 */ 92 compatible = "regulator-gpio"; 93 regulator-name = "tlv71033"; 94 pinctrl-names = "default"; 95 pinctrl-0 = <&vdd_sd_dv_pins_default>; 96 regulator-min-microvolt = <1800000>; 97 regulator-max-microvolt = <3300000>; 98 regulator-boot-on; 99 vin-supply = <&vsys_5v0>; 100 gpios = <&main_gpio0 8 GPIO_ACTIVE_HIGH>; 101 states = <1800000 0x0>, 102 <3300000 0x1>; 103 }; 104}; 105 106&main_pmx0 { 107 main_uart8_pins_default: main-uart8-pins-default { 108 pinctrl-single,pins = < 109 J784S4_IOPAD(0x040, PIN_INPUT, 14) /* (AF37) MCASP0_AXR0.UART8_CTSn */ 110 J784S4_IOPAD(0x044, PIN_OUTPUT, 14) /* (AG37) MCASP0_AXR1.UART8_RTSn */ 111 J784S4_IOPAD(0x0d0, PIN_INPUT, 11) /* (AP38) SPI0_CS1.UART8_RXD */ 112 J784S4_IOPAD(0x0d4, PIN_OUTPUT, 11) /* (AN38) SPI0_CLK.UART8_TXD */ 113 >; 114 }; 115 116 main_i2c0_pins_default: main-i2c0-pins-default { 117 pinctrl-single,pins = < 118 J784S4_IOPAD(0x0e0, PIN_INPUT_PULLUP, 0) /* (AN36) I2C0_SCL */ 119 J784S4_IOPAD(0x0e4, PIN_INPUT_PULLUP, 0) /* (AP37) I2C0_SDA */ 120 >; 121 }; 122 123 main_mmc1_pins_default: main-mmc1-pins-default { 124 pinctrl-single,pins = < 125 J784S4_IOPAD(0x104, PIN_INPUT, 0) /* (AB38) MMC1_CLK */ 126 J784S4_IOPAD(0x108, PIN_INPUT, 0) /* (AB36) MMC1_CMD */ 127 J784S4_IOPAD(0x100, PIN_INPUT, 0) /* (No Pin) MMC1_CLKLB */ 128 J784S4_IOPAD(0x0fc, PIN_INPUT, 0) /* (AA33) MMC1_DAT0 */ 129 J784S4_IOPAD(0x0f8, PIN_INPUT, 0) /* (AB34) MMC1_DAT1 */ 130 J784S4_IOPAD(0x0f4, PIN_INPUT, 0) /* (AA32) MMC1_DAT2 */ 131 J784S4_IOPAD(0x0f0, PIN_INPUT, 0) /* (AC38) MMC1_DAT3 */ 132 J784S4_IOPAD(0x0e8, PIN_INPUT, 8) /* (AR38) TIMER_IO0.MMC1_SDCD */ 133 >; 134 }; 135 136 vdd_sd_dv_pins_default: vdd-sd-dv-pins-default { 137 pinctrl-single,pins = < 138 J784S4_IOPAD(0x020, PIN_INPUT, 7) /* (AJ35) MCAN15_RX.GPIO0_8 */ 139 >; 140 }; 141}; 142 143&wkup_pmx0 { 144 mcu_cpsw_pins_default: mcu-cpsw-pins-default { 145 pinctrl-single,pins = < 146 J784S4_WKUP_IOPAD(0x094, PIN_INPUT, 0) /* (A35) MCU_RGMII1_RD0 */ 147 J784S4_WKUP_IOPAD(0x090, PIN_INPUT, 0) /* (B36) MCU_RGMII1_RD1 */ 148 J784S4_WKUP_IOPAD(0x08c, PIN_INPUT, 0) /* (C36) MCU_RGMII1_RD2 */ 149 J784S4_WKUP_IOPAD(0x088, PIN_INPUT, 0) /* (D36) MCU_RGMII1_RD3 */ 150 J784S4_WKUP_IOPAD(0x084, PIN_INPUT, 0) /* (B37) MCU_RGMII1_RXC */ 151 J784S4_WKUP_IOPAD(0x06c, PIN_INPUT, 0) /* (C37) MCU_RGMII1_RX_CTL */ 152 J784S4_WKUP_IOPAD(0x07c, PIN_OUTPUT, 0) /* (D37) MCU_RGMII1_TD0 */ 153 J784S4_WKUP_IOPAD(0x078, PIN_OUTPUT, 0) /* (D38) MCU_RGMII1_TD1 */ 154 J784S4_WKUP_IOPAD(0x074, PIN_OUTPUT, 0) /* (E37) MCU_RGMII1_TD2 */ 155 J784S4_WKUP_IOPAD(0x070, PIN_OUTPUT, 0) /* (E38) MCU_RGMII1_TD3 */ 156 J784S4_WKUP_IOPAD(0x080, PIN_OUTPUT, 0) /* (E36) MCU_RGMII1_TXC */ 157 J784S4_WKUP_IOPAD(0x068, PIN_OUTPUT, 0) /* (C38) MCU_RGMII1_TX_CTL */ 158 >; 159 }; 160 161 mcu_mdio_pins_default: mcu-mdio-pins-default { 162 pinctrl-single,pins = < 163 J784S4_WKUP_IOPAD(0x09c, PIN_OUTPUT, 0) /* (A36) MCU_MDIO0_MDC */ 164 J784S4_WKUP_IOPAD(0x098, PIN_INPUT, 0) /* (B35) MCU_MDIO0_MDIO */ 165 >; 166 }; 167}; 168 169&main_uart8 { 170 status = "okay"; 171 pinctrl-names = "default"; 172 pinctrl-0 = <&main_uart8_pins_default>; 173}; 174 175&main_i2c0 { 176 status = "okay"; 177 pinctrl-names = "default"; 178 pinctrl-0 = <&main_i2c0_pins_default>; 179 180 clock-frequency = <400000>; 181 182 exp1: gpio@20 { 183 compatible = "ti,tca6416"; 184 reg = <0x20>; 185 gpio-controller; 186 #gpio-cells = <2>; 187 gpio-line-names = "PCIE1_2L_MODE_SEL", "PCIE1_4L_PERSTZ", "PCIE1_2L_RC_RSTZ", 188 "PCIE1_2L_EP_RST_EN", "PCIE0_4L_MODE_SEL", "PCIE0_4L_PERSTZ", 189 "PCIE0_4L_RC_RSTZ", "PCIE0_4L_EP_RST_EN", "PCIE1_4L_PRSNT#", 190 "PCIE0_4L_PRSNT#", "CDCI1_OE1/OE4", "CDCI1_OE2/OE3", 191 "AUDIO_MUX_SEL", "EXP_MUX2", "EXP_MUX3", "GESI_EXP_PHY_RSTZ"; 192 }; 193 194 exp2: gpio@22 { 195 compatible = "ti,tca6424"; 196 reg = <0x22>; 197 gpio-controller; 198 #gpio-cells = <2>; 199 gpio-line-names = "R_GPIO_RGMII1_RST", "ENET2_I2CMUX_SEL", "GPIO_USD_PWR_EN", 200 "USBC_PWR_EN", "USBC_MODE_SEL1", "USBC_MODE_SEL0", 201 "GPIO_LIN_EN", "R_CAN_STB", "CTRL_PM_I2C_OE#", 202 "ENET2_EXP_PWRDN", "ENET2_EXP_SPARE2", "CDCI2_RSTZ", 203 "USB2.0_MUX_SEL", "CANUART_MUX_SEL0", "CANUART_MUX2_SEL1", 204 "CANUART_MUX1_SEL1", "ENET1_EXP_PWRDN", "ENET1_EXP_RESETZ", 205 "ENET1_I2CMUX_SEL", "ENET1_EXP_SPARE2", "ENET2_EXP_RESETZ", 206 "USER_INPUT1", "USER_LED1", "USER_LED2"; 207 }; 208}; 209 210&main_sdhci1 { 211 /* SD card */ 212 status = "okay"; 213 pinctrl-0 = <&main_mmc1_pins_default>; 214 pinctrl-names = "default"; 215 disable-wp; 216 vmmc-supply = <&vdd_mmc1>; 217 vqmmc-supply = <&vdd_sd_dv>; 218}; 219 220&main_gpio0 { 221 status = "okay"; 222}; 223 224&mcu_cpsw { 225 status = "okay"; 226 pinctrl-names = "default"; 227 pinctrl-0 = <&mcu_cpsw_pins_default>; 228}; 229 230&davinci_mdio { 231 pinctrl-names = "default"; 232 pinctrl-0 = <&mcu_mdio_pins_default>; 233 234 mcu_phy0: ethernet-phy@0 { 235 reg = <0>; 236 ti,rx-internal-delay = <DP83867_RGMIIDCTL_2_00_NS>; 237 ti,fifo-depth = <DP83867_PHYCR_FIFO_DEPTH_4_B_NIB>; 238 ti,min-output-impedance; 239 }; 240}; 241 242&mcu_cpsw_port1 { 243 status = "okay"; 244 phy-mode = "rgmii-rxid"; 245 phy-handle = <&mcu_phy0>; 246}; 247