1// SPDX-License-Identifier: GPL-2.0 2/* 3 * AM62A SK: https://www.ti.com/lit/zip/sprr459 4 * 5 * Copyright (C) 2022 Texas Instruments Incorporated - https://www.ti.com/ 6 */ 7 8/dts-v1/; 9 10#include <dt-bindings/leds/common.h> 11#include <dt-bindings/gpio/gpio.h> 12#include <dt-bindings/net/ti-dp83867.h> 13#include "k3-am62a7.dtsi" 14 15/ { 16 compatible = "ti,am62a7-sk", "ti,am62a7"; 17 model = "Texas Instruments AM62A7 SK"; 18 19 aliases { 20 serial2 = &main_uart0; 21 mmc1 = &sdhci1; 22 }; 23 24 chosen { 25 stdout-path = "serial2:115200n8"; 26 }; 27 28 memory@80000000 { 29 device_type = "memory"; 30 /* 4G RAM */ 31 reg = <0x00000000 0x80000000 0x00000000 0x80000000>, 32 <0x00000008 0x80000000 0x00000000 0x80000000>; 33 }; 34 35 reserved-memory { 36 #address-cells = <2>; 37 #size-cells = <2>; 38 ranges; 39 40 secure_tfa_ddr: tfa@9e780000 { 41 reg = <0x00 0x9e780000 0x00 0x80000>; 42 alignment = <0x1000>; 43 no-map; 44 }; 45 46 secure_ddr: optee@9e800000 { 47 reg = <0x00 0x9e800000 0x00 0x01800000>; /* for OP-TEE */ 48 alignment = <0x1000>; 49 no-map; 50 }; 51 52 wkup_r5fss0_core0_memory_region: r5f-dma-memory@9c900000 { 53 compatible = "shared-dma-pool"; 54 reg = <0x00 0x9c900000 0x00 0x01e00000>; 55 no-map; 56 }; 57 }; 58 59 vmain_pd: regulator-0 { 60 /* TPS25750 PD CONTROLLER OUTPUT */ 61 compatible = "regulator-fixed"; 62 regulator-name = "vmain_pd"; 63 regulator-min-microvolt = <5000000>; 64 regulator-max-microvolt = <5000000>; 65 regulator-always-on; 66 regulator-boot-on; 67 }; 68 69 vcc_5v0: regulator-1 { 70 /* Output of TPS63070 */ 71 compatible = "regulator-fixed"; 72 regulator-name = "vcc_5v0"; 73 regulator-min-microvolt = <5000000>; 74 regulator-max-microvolt = <5000000>; 75 vin-supply = <&vmain_pd>; 76 regulator-always-on; 77 regulator-boot-on; 78 }; 79 80 vcc_3v3_sys: regulator-2 { 81 /* output of LM5141-Q1 */ 82 compatible = "regulator-fixed"; 83 regulator-name = "vcc_3v3_sys"; 84 regulator-min-microvolt = <3300000>; 85 regulator-max-microvolt = <3300000>; 86 vin-supply = <&vmain_pd>; 87 regulator-always-on; 88 regulator-boot-on; 89 }; 90 91 vdd_mmc1: regulator-3 { 92 /* TPS22918DBVR */ 93 compatible = "regulator-fixed"; 94 regulator-name = "vdd_mmc1"; 95 regulator-min-microvolt = <3300000>; 96 regulator-max-microvolt = <3300000>; 97 regulator-boot-on; 98 enable-active-high; 99 gpio = <&exp1 3 GPIO_ACTIVE_HIGH>; 100 }; 101 102 leds { 103 compatible = "gpio-leds"; 104 pinctrl-names = "default"; 105 pinctrl-0 = <&usr_led_pins_default>; 106 107 led-0 { 108 label = "am62a-sk:green:heartbeat"; 109 gpios = <&main_gpio1 49 GPIO_ACTIVE_HIGH>; 110 linux,default-trigger = "heartbeat"; 111 function = LED_FUNCTION_HEARTBEAT; 112 default-state = "off"; 113 }; 114 }; 115}; 116 117&main_pmx0 { 118 main_uart0_pins_default: main-uart0-pins-default { 119 pinctrl-single,pins = < 120 AM62AX_IOPAD(0x1c8, PIN_INPUT, 0) /* (D14) UART0_RXD */ 121 AM62AX_IOPAD(0x1cc, PIN_OUTPUT, 0) /* (E14) UART0_TXD */ 122 >; 123 }; 124 125 main_i2c0_pins_default: main-i2c0-pins-default { 126 pinctrl-single,pins = < 127 AM62AX_IOPAD(0x1e0, PIN_INPUT_PULLUP, 0) /* (B16) I2C0_SCL */ 128 AM62AX_IOPAD(0x1e4, PIN_INPUT_PULLUP, 0) /* (A16) I2C0_SDA */ 129 >; 130 }; 131 132 main_i2c1_pins_default: main-i2c1-pins-default { 133 pinctrl-single,pins = < 134 AM62AX_IOPAD(0x1e8, PIN_INPUT_PULLUP, 0) /* (B17) I2C1_SCL */ 135 AM62AX_IOPAD(0x1ec, PIN_INPUT_PULLUP, 0) /* (A17) I2C1_SDA */ 136 >; 137 }; 138 139 main_i2c2_pins_default: main-i2c2-pins-default { 140 pinctrl-single,pins = < 141 AM62AX_IOPAD(0x0b0, PIN_INPUT_PULLUP, 1) /* (K22) GPMC0_CSn2.I2C2_SCL */ 142 AM62AX_IOPAD(0x0b4, PIN_INPUT_PULLUP, 1) /* (K24) GPMC0_CSn3.I2C2_SDA */ 143 >; 144 }; 145 146 main_mmc1_pins_default: main-mmc1-pins-default { 147 pinctrl-single,pins = < 148 AM62AX_IOPAD(0x23c, PIN_INPUT, 0) /* (A21) MMC1_CMD */ 149 AM62AX_IOPAD(0x234, PIN_INPUT, 0) /* (B22) MMC1_CLK */ 150 AM62AX_IOPAD(0x230, PIN_INPUT, 0) /* (A22) MMC1_DAT0 */ 151 AM62AX_IOPAD(0x22c, PIN_INPUT, 0) /* (B21) MMC1_DAT1 */ 152 AM62AX_IOPAD(0x228, PIN_INPUT, 0) /* (C21) MMC1_DAT2 */ 153 AM62AX_IOPAD(0x224, PIN_INPUT, 0) /* (D22) MMC1_DAT3 */ 154 AM62AX_IOPAD(0x240, PIN_INPUT, 0) /* (D17) MMC1_SDCD */ 155 >; 156 }; 157 158 usr_led_pins_default: usr-led-pins-default { 159 pinctrl-single,pins = < 160 AM62AX_IOPAD(0x244, PIN_OUTPUT, 7) /* (D18) MMC1_SDWP.GPIO1_49 */ 161 >; 162 }; 163 164 main_usb1_pins_default: main-usb1-pins-default { 165 pinctrl-single,pins = < 166 AM62AX_IOPAD(0x0258, PIN_OUTPUT, 0) /* (F18) USB1_DRVVBUS */ 167 >; 168 }; 169 170 main_mdio1_pins_default: main-mdio1-pins-default { 171 pinctrl-single,pins = < 172 AM62AX_IOPAD(0x160, PIN_OUTPUT, 0) /* (V12) MDIO0_MDC */ 173 AM62AX_IOPAD(0x15c, PIN_INPUT, 0) /* (V13) MDIO0_MDIO */ 174 >; 175 }; 176 177 main_rgmii1_pins_default: main-rgmii1-pins-default { 178 pinctrl-single,pins = < 179 AM62AX_IOPAD(0x14c, PIN_INPUT, 0) /* (AB16) RGMII1_RD0 */ 180 AM62AX_IOPAD(0x150, PIN_INPUT, 0) /* (V15) RGMII1_RD1 */ 181 AM62AX_IOPAD(0x154, PIN_INPUT, 0) /* (W15) RGMII1_RD2 */ 182 AM62AX_IOPAD(0x158, PIN_INPUT, 0) /* (V14) RGMII1_RD3 */ 183 AM62AX_IOPAD(0x148, PIN_INPUT, 0) /* (AA16) RGMII1_RXC */ 184 AM62AX_IOPAD(0x144, PIN_INPUT, 0) /* (AA15) RGMII1_RX_CTL */ 185 AM62AX_IOPAD(0x134, PIN_INPUT, 0) /* (Y17) RGMII1_TD0 */ 186 AM62AX_IOPAD(0x138, PIN_INPUT, 0) /* (V16) RGMII1_TD1 */ 187 AM62AX_IOPAD(0x13c, PIN_INPUT, 0) /* (Y16) RGMII1_TD2 */ 188 AM62AX_IOPAD(0x140, PIN_INPUT, 0) /* (AA17) RGMII1_TD3 */ 189 AM62AX_IOPAD(0x130, PIN_INPUT, 0) /* (AB17) RGMII1_TXC */ 190 AM62AX_IOPAD(0x12c, PIN_INPUT, 0) /* (W16) RGMII1_TX_CTL */ 191 >; 192 }; 193}; 194 195&main_i2c0 { 196 status = "okay"; 197 pinctrl-names = "default"; 198 pinctrl-0 = <&main_i2c0_pins_default>; 199 clock-frequency = <400000>; 200}; 201 202&main_i2c1 { 203 status = "okay"; 204 pinctrl-names = "default"; 205 pinctrl-0 = <&main_i2c1_pins_default>; 206 clock-frequency = <400000>; 207 208 exp1: gpio@22 { 209 compatible = "ti,tca6424"; 210 reg = <0x22>; 211 gpio-controller; 212 #gpio-cells = <2>; 213 214 gpio-line-names = "GPIO_CPSW2_RST", "GPIO_CPSW1_RST", 215 "BT_EN_SOC", "MMC1_SD_EN", 216 "VPP_EN", "EXP_PS_3V3_En", 217 "EXP_PS_5V0_En", "EXP_HAT_DETECT", 218 "GPIO_AUD_RSTn", "GPIO_eMMC_RSTn", 219 "UART1_FET_BUF_EN", "BT_UART_WAKE_SOC", 220 "GPIO_HDMI_RSTn", "CSI_GPIO0", 221 "CSI_GPIO1", "WLAN_ALERTn", 222 "HDMI_INTn", "TEST_GPIO2", 223 "MCASP1_FET_EN", "MCASP1_BUF_BT_EN", 224 "MCASP1_FET_SEL", "UART1_FET_SEL", 225 "PD_I2C_IRQ", "IO_EXP_TEST_LED"; 226 }; 227}; 228 229&sdhci1 { 230 /* SD/MMC */ 231 status = "okay"; 232 vmmc-supply = <&vdd_mmc1>; 233 pinctrl-names = "default"; 234 pinctrl-0 = <&main_mmc1_pins_default>; 235 ti,driver-strength-ohm = <50>; 236 disable-wp; 237}; 238 239&main_gpio0 { 240 status = "okay"; 241}; 242 243&main_gpio1 { 244 status = "okay"; 245}; 246 247&main_gpio_intr { 248 status = "okay"; 249}; 250 251&main_uart0 { 252 status = "okay"; 253 pinctrl-names = "default"; 254 pinctrl-0 = <&main_uart0_pins_default>; 255}; 256 257&usbss1 { 258 status = "okay"; 259}; 260 261&usb1 { 262 dr_mode = "host"; 263 pinctrl-names = "default"; 264 pinctrl-0 = <&main_usb1_pins_default>; 265}; 266 267&cpsw3g { 268 status = "okay"; 269 pinctrl-names = "default"; 270 pinctrl-0 = <&main_rgmii1_pins_default>; 271}; 272 273&cpsw_port1 { 274 status = "okay"; 275 phy-mode = "rgmii-rxid"; 276 phy-handle = <&cpsw3g_phy0>; 277}; 278 279&cpsw_port2 { 280 status = "disabled"; 281}; 282 283&cpsw3g_mdio { 284 status = "okay"; 285 pinctrl-names = "default"; 286 pinctrl-0 = <&main_mdio1_pins_default>; 287 288 cpsw3g_phy0: ethernet-phy@0 { 289 reg = <0>; 290 ti,rx-internal-delay = <DP83867_RGMIIDCTL_2_00_NS>; 291 ti,fifo-depth = <DP83867_PHYCR_FIFO_DEPTH_4_B_NIB>; 292 ti,min-output-impedance; 293 }; 294}; 295