1// SPDX-License-Identifier: GPL-2.0-only OR MIT 2/* 3 * AM62A SK: https://www.ti.com/lit/zip/sprr459 4 * 5 * Copyright (C) 2022-2024 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 serial0 = &wkup_uart0; 21 serial2 = &main_uart0; 22 serial3 = &main_uart1; 23 mmc0 = &sdhci0; 24 mmc1 = &sdhci1; 25 }; 26 27 chosen { 28 stdout-path = "serial2:115200n8"; 29 }; 30 31 memory@80000000 { 32 device_type = "memory"; 33 /* 4G RAM */ 34 reg = <0x00000000 0x80000000 0x00000000 0x80000000>, 35 <0x00000008 0x80000000 0x00000000 0x80000000>; 36 }; 37 38 reserved-memory { 39 #address-cells = <2>; 40 #size-cells = <2>; 41 ranges; 42 43 secure_tfa_ddr: tfa@9e780000 { 44 reg = <0x00 0x9e780000 0x00 0x80000>; 45 alignment = <0x1000>; 46 no-map; 47 }; 48 49 secure_ddr: optee@9e800000 { 50 reg = <0x00 0x9e800000 0x00 0x01800000>; /* for OP-TEE */ 51 alignment = <0x1000>; 52 no-map; 53 }; 54 55 wkup_r5fss0_core0_memory_region: r5f-dma-memory@9c900000 { 56 compatible = "shared-dma-pool"; 57 reg = <0x00 0x9c900000 0x00 0x01e00000>; 58 no-map; 59 }; 60 }; 61 62 vmain_pd: regulator-0 { 63 /* TPS25750 PD CONTROLLER OUTPUT */ 64 compatible = "regulator-fixed"; 65 regulator-name = "vmain_pd"; 66 regulator-min-microvolt = <5000000>; 67 regulator-max-microvolt = <5000000>; 68 regulator-always-on; 69 regulator-boot-on; 70 }; 71 72 vcc_5v0: regulator-1 { 73 /* Output of TPS63070 */ 74 compatible = "regulator-fixed"; 75 regulator-name = "vcc_5v0"; 76 regulator-min-microvolt = <5000000>; 77 regulator-max-microvolt = <5000000>; 78 vin-supply = <&vmain_pd>; 79 regulator-always-on; 80 regulator-boot-on; 81 }; 82 83 vcc_3v3_main: regulator-2 { 84 /* output of LM5141-Q1 */ 85 compatible = "regulator-fixed"; 86 regulator-name = "vcc_3v3_main"; 87 regulator-min-microvolt = <3300000>; 88 regulator-max-microvolt = <3300000>; 89 vin-supply = <&vmain_pd>; 90 regulator-always-on; 91 regulator-boot-on; 92 }; 93 94 vdd_mmc1: regulator-3 { 95 /* TPS22918DBVR */ 96 compatible = "regulator-fixed"; 97 regulator-name = "vdd_mmc1"; 98 regulator-min-microvolt = <3300000>; 99 regulator-max-microvolt = <3300000>; 100 regulator-boot-on; 101 enable-active-high; 102 gpio = <&exp1 3 GPIO_ACTIVE_HIGH>; 103 }; 104 105 vcc_3v3_sys: regulator-4 { 106 /* output of TPS222965DSGT */ 107 compatible = "regulator-fixed"; 108 regulator-name = "vcc_3v3_sys"; 109 regulator-min-microvolt = <3300000>; 110 regulator-max-microvolt = <3300000>; 111 vin-supply = <&vcc_3v3_main>; 112 regulator-always-on; 113 regulator-boot-on; 114 }; 115 116 vddshv_sdio: regulator-5 { 117 compatible = "regulator-gpio"; 118 regulator-name = "vddshv_sdio"; 119 pinctrl-names = "default"; 120 pinctrl-0 = <&vddshv_sdio_pins_default>; 121 regulator-min-microvolt = <1800000>; 122 regulator-max-microvolt = <3300000>; 123 regulator-boot-on; 124 vin-supply = <&ldo1>; 125 gpios = <&main_gpio0 31 GPIO_ACTIVE_HIGH>; 126 states = <1800000 0x0>, 127 <3300000 0x1>; 128 }; 129 130 leds { 131 compatible = "gpio-leds"; 132 pinctrl-names = "default"; 133 pinctrl-0 = <&usr_led_pins_default>; 134 135 led-0 { 136 label = "am62a-sk:green:heartbeat"; 137 gpios = <&main_gpio1 49 GPIO_ACTIVE_HIGH>; 138 linux,default-trigger = "heartbeat"; 139 function = LED_FUNCTION_HEARTBEAT; 140 default-state = "off"; 141 }; 142 }; 143 144 tlv320_mclk: clk-0 { 145 #clock-cells = <0>; 146 compatible = "fixed-clock"; 147 clock-frequency = <12288000>; 148 }; 149 150 hdmi0: connector-hdmi { 151 compatible = "hdmi-connector"; 152 label = "hdmi"; 153 type = "a"; 154 155 port { 156 hdmi_connector_in: endpoint { 157 remote-endpoint = <&sii9022_out>; 158 }; 159 }; 160 }; 161 162 codec_audio: sound { 163 compatible = "simple-audio-card"; 164 simple-audio-card,name = "AM62Ax-SKEVM"; 165 simple-audio-card,widgets = 166 "Headphone", "Headphone Jack", 167 "Line", "Line In", 168 "Microphone", "Microphone Jack"; 169 simple-audio-card,routing = 170 "Headphone Jack", "HPLOUT", 171 "Headphone Jack", "HPROUT", 172 "LINE1L", "Line In", 173 "LINE1R", "Line In", 174 "MIC3R", "Microphone Jack", 175 "Microphone Jack", "Mic Bias"; 176 simple-audio-card,format = "dsp_b"; 177 simple-audio-card,bitclock-master = <&sound_master>; 178 simple-audio-card,frame-master = <&sound_master>; 179 simple-audio-card,bitclock-inversion; 180 181 simple-audio-card,cpu { 182 sound-dai = <&mcasp1>; 183 }; 184 185 sound_master: simple-audio-card,codec { 186 sound-dai = <&tlv320aic3106>; 187 clocks = <&tlv320_mclk>; 188 }; 189 }; 190}; 191 192&mcu_pmx0 { 193 wkup_uart0_pins_default: wkup-uart0-default-pins { 194 pinctrl-single,pins = < 195 AM62AX_MCU_IOPAD(0x0024, PIN_INPUT, 0) /* (C9) WKUP_UART0_RXD */ 196 AM62AX_MCU_IOPAD(0x0028, PIN_OUTPUT, 0) /* (E9) WKUP_UART0_TXD */ 197 AM62AX_MCU_IOPAD(0x002c, PIN_INPUT, 0) /* (C10) WKUP_UART0_CTSn */ 198 AM62AX_MCU_IOPAD(0x0030, PIN_OUTPUT, 0) /* (C8) WKUP_UART0_RTSn */ 199 >; 200 }; 201}; 202 203/* WKUP UART0 is used for DM firmware logs */ 204&wkup_uart0 { 205 pinctrl-names = "default"; 206 pinctrl-0 = <&wkup_uart0_pins_default>; 207 status = "reserved"; 208}; 209 210&main_pmx0 { 211 main_dss0_pins_default: main-dss0-default-pins { 212 pinctrl-single,pins = < 213 AM62AX_IOPAD(0x100, PIN_OUTPUT, 0) /* (V17) VOUT0_VSYNC */ 214 AM62AX_IOPAD(0x0f8, PIN_OUTPUT, 0) /* (T18) VOUT0_HSYNC */ 215 AM62AX_IOPAD(0x104, PIN_OUTPUT, 0) /* (AA22) VOUT0_PCLK */ 216 AM62AX_IOPAD(0x0fc, PIN_OUTPUT, 0) /* (U17) VOUT0_DE */ 217 AM62AX_IOPAD(0x0b8, PIN_OUTPUT, 0) /* (U22) VOUT0_DATA0 */ 218 AM62AX_IOPAD(0x0bc, PIN_OUTPUT, 0) /* (U21) VOUT0_DATA1 */ 219 AM62AX_IOPAD(0x0c0, PIN_OUTPUT, 0) /* (U20) VOUT0_DATA2 */ 220 AM62AX_IOPAD(0x0c4, PIN_OUTPUT, 0) /* (U19) VOUT0_DATA3 */ 221 AM62AX_IOPAD(0x0c8, PIN_OUTPUT, 0) /* (T19) VOUT0_DATA4 */ 222 AM62AX_IOPAD(0x0cc, PIN_OUTPUT, 0) /* (U18) VOUT0_DATA5 */ 223 AM62AX_IOPAD(0x0d0, PIN_OUTPUT, 0) /* (V22) VOUT0_DATA6 */ 224 AM62AX_IOPAD(0x0d4, PIN_OUTPUT, 0) /* (V21) VOUT0_DATA7 */ 225 AM62AX_IOPAD(0x0d8, PIN_OUTPUT, 0) /* (V19) VOUT0_DATA8 */ 226 AM62AX_IOPAD(0x0dc, PIN_OUTPUT, 0) /* (V18) VOUT0_DATA9 */ 227 AM62AX_IOPAD(0x0e0, PIN_OUTPUT, 0) /* (W22) VOUT0_DATA10 */ 228 AM62AX_IOPAD(0x0e4, PIN_OUTPUT, 0) /* (W21) VOUT0_DATA11 */ 229 AM62AX_IOPAD(0x0e8, PIN_OUTPUT, 0) /* (W20) VOUT0_DATA12 */ 230 AM62AX_IOPAD(0x0ec, PIN_OUTPUT, 0) /* (W19) VOUT0_DATA13 */ 231 AM62AX_IOPAD(0x0f0, PIN_OUTPUT, 0) /* (Y21) VOUT0_DATA14 */ 232 AM62AX_IOPAD(0x0f4, PIN_OUTPUT, 0) /* (Y22) VOUT0_DATA15 */ 233 AM62AX_IOPAD(0x05c, PIN_OUTPUT, 1) /* (P22) GPMC0_AD8.VOUT0_DATA16 */ 234 AM62AX_IOPAD(0x060, PIN_OUTPUT, 1) /* (R19) GPMC0_AD9.VOUT0_DATA17 */ 235 AM62AX_IOPAD(0x064, PIN_OUTPUT, 1) /* (R20) GPMC0_AD10.VOUT0_DATA18 */ 236 AM62AX_IOPAD(0x068, PIN_OUTPUT, 1) /* (R22) GPMC0_AD11.VOUT0_DATA19 */ 237 AM62AX_IOPAD(0x06c, PIN_OUTPUT, 1) /* (T22) GPMC0_AD12.VOUT0_DATA20 */ 238 AM62AX_IOPAD(0x070, PIN_OUTPUT, 1) /* (R21) GPMC0_AD13.VOUT0_DATA21 */ 239 AM62AX_IOPAD(0x074, PIN_OUTPUT, 1) /* (T20) GPMC0_AD14.VOUT0_DATA22 */ 240 AM62AX_IOPAD(0x078, PIN_OUTPUT, 1) /* (T21) GPMC0_AD15.VOUT0_DATA23 */ 241 >; 242 }; 243 244 main_uart0_pins_default: main-uart0-default-pins { 245 pinctrl-single,pins = < 246 AM62AX_IOPAD(0x1c8, PIN_INPUT, 0) /* (E14) UART0_RXD */ 247 AM62AX_IOPAD(0x1cc, PIN_OUTPUT, 0) /* (D15) UART0_TXD */ 248 >; 249 }; 250 251 main_uart1_pins_default: main-uart1-default-pins { 252 pinctrl-single,pins = < 253 AM62AX_IOPAD(0x01e8, PIN_INPUT, 1) /* (C17) I2C1_SCL.UART1_RXD */ 254 AM62AX_IOPAD(0x01ec, PIN_OUTPUT, 1) /* (E17) I2C1_SDA.UART1_TXD */ 255 AM62AX_IOPAD(0x0194, PIN_INPUT, 2) /* (C19) MCASP0_AXR3.UART1_CTSn */ 256 AM62AX_IOPAD(0x0198, PIN_OUTPUT, 2) /* (B19) MCASP0_AXR2.UART1_RTSn */ 257 >; 258 }; 259 260 main_i2c0_pins_default: main-i2c0-default-pins { 261 pinctrl-single,pins = < 262 AM62AX_IOPAD(0x1e0, PIN_INPUT_PULLUP, 0) /* (B16) I2C0_SCL */ 263 AM62AX_IOPAD(0x1e4, PIN_INPUT_PULLUP, 0) /* (A16) I2C0_SDA */ 264 >; 265 }; 266 267 main_i2c1_pins_default: main-i2c1-default-pins { 268 pinctrl-single,pins = < 269 AM62AX_IOPAD(0x1e8, PIN_INPUT_PULLUP, 0) /* (B17) I2C1_SCL */ 270 AM62AX_IOPAD(0x1ec, PIN_INPUT_PULLUP, 0) /* (A17) I2C1_SDA */ 271 >; 272 }; 273 274 main_i2c2_pins_default: main-i2c2-default-pins { 275 pinctrl-single,pins = < 276 AM62AX_IOPAD(0x0b0, PIN_INPUT_PULLUP, 1) /* (K22) GPMC0_CSn2.I2C2_SCL */ 277 AM62AX_IOPAD(0x0b4, PIN_INPUT_PULLUP, 1) /* (K24) GPMC0_CSn3.I2C2_SDA */ 278 >; 279 }; 280 281 main_mmc0_pins_default: main-mmc0-default-pins { 282 pinctrl-single,pins = < 283 AM62AX_IOPAD(0x220, PIN_INPUT, 0) /* (Y3) MMC0_CMD */ 284 AM62AX_IOPAD(0x218, PIN_INPUT, 0) /* (AB1) MMC0_CLKLB */ 285 AM62AX_IOPAD(0x21c, PIN_INPUT, 0) /* (AB1) MMC0_CLK */ 286 AM62AX_IOPAD(0x214, PIN_INPUT, 0) /* (AA2) MMC0_DAT0 */ 287 AM62AX_IOPAD(0x210, PIN_INPUT_PULLUP, 0) /* (AA1) MMC0_DAT1 */ 288 AM62AX_IOPAD(0x20c, PIN_INPUT_PULLUP, 0) /* (AA3) MMC0_DAT2 */ 289 AM62AX_IOPAD(0x208, PIN_INPUT_PULLUP, 0) /* (Y4) MMC0_DAT3 */ 290 AM62AX_IOPAD(0x204, PIN_INPUT_PULLUP, 0) /* (AB2) MMC0_DAT4 */ 291 AM62AX_IOPAD(0x200, PIN_INPUT_PULLUP, 0) /* (AC1) MMC0_DAT5 */ 292 AM62AX_IOPAD(0x1fc, PIN_INPUT_PULLUP, 0) /* (AD2) MMC0_DAT6 */ 293 AM62AX_IOPAD(0x1f8, PIN_INPUT_PULLUP, 0) /* (AC2) MMC0_DAT7 */ 294 >; 295 }; 296 297 main_mmc1_pins_default: main-mmc1-default-pins { 298 pinctrl-single,pins = < 299 AM62AX_IOPAD(0x23c, PIN_INPUT, 0) /* (A21) MMC1_CMD */ 300 AM62AX_IOPAD(0x234, PIN_INPUT, 0) /* (B22) MMC1_CLK */ 301 AM62AX_IOPAD(0x230, PIN_INPUT, 0) /* (A22) MMC1_DAT0 */ 302 AM62AX_IOPAD(0x22c, PIN_INPUT, 0) /* (B21) MMC1_DAT1 */ 303 AM62AX_IOPAD(0x228, PIN_INPUT, 0) /* (C21) MMC1_DAT2 */ 304 AM62AX_IOPAD(0x224, PIN_INPUT, 0) /* (D22) MMC1_DAT3 */ 305 AM62AX_IOPAD(0x240, PIN_INPUT, 0) /* (D17) MMC1_SDCD */ 306 >; 307 }; 308 309 usr_led_pins_default: usr-led-default-pins { 310 pinctrl-single,pins = < 311 AM62AX_IOPAD(0x244, PIN_OUTPUT, 7) /* (D18) MMC1_SDWP.GPIO1_49 */ 312 >; 313 }; 314 315 main_usb1_pins_default: main-usb1-default-pins { 316 pinctrl-single,pins = < 317 AM62AX_IOPAD(0x0258, PIN_OUTPUT, 0) /* (F18) USB1_DRVVBUS */ 318 >; 319 }; 320 321 main_mdio1_pins_default: main-mdio1-default-pins { 322 pinctrl-single,pins = < 323 AM62AX_IOPAD(0x160, PIN_OUTPUT, 0) /* (V12) MDIO0_MDC */ 324 AM62AX_IOPAD(0x15c, PIN_INPUT, 0) /* (V13) MDIO0_MDIO */ 325 >; 326 }; 327 328 main_rgmii1_pins_default: main-rgmii1-default-pins { 329 pinctrl-single,pins = < 330 AM62AX_IOPAD(0x14c, PIN_INPUT, 0) /* (AB16) RGMII1_RD0 */ 331 AM62AX_IOPAD(0x150, PIN_INPUT, 0) /* (V15) RGMII1_RD1 */ 332 AM62AX_IOPAD(0x154, PIN_INPUT, 0) /* (W15) RGMII1_RD2 */ 333 AM62AX_IOPAD(0x158, PIN_INPUT, 0) /* (V14) RGMII1_RD3 */ 334 AM62AX_IOPAD(0x148, PIN_INPUT, 0) /* (AA16) RGMII1_RXC */ 335 AM62AX_IOPAD(0x144, PIN_INPUT, 0) /* (AA15) RGMII1_RX_CTL */ 336 AM62AX_IOPAD(0x134, PIN_INPUT, 0) /* (Y17) RGMII1_TD0 */ 337 AM62AX_IOPAD(0x138, PIN_INPUT, 0) /* (V16) RGMII1_TD1 */ 338 AM62AX_IOPAD(0x13c, PIN_INPUT, 0) /* (Y16) RGMII1_TD2 */ 339 AM62AX_IOPAD(0x140, PIN_INPUT, 0) /* (AA17) RGMII1_TD3 */ 340 AM62AX_IOPAD(0x130, PIN_INPUT, 0) /* (AB17) RGMII1_TXC */ 341 AM62AX_IOPAD(0x12c, PIN_INPUT, 0) /* (W16) RGMII1_TX_CTL */ 342 >; 343 }; 344 345 main_mcasp1_pins_default: main-mcasp1-default-pins { 346 pinctrl-single,pins = < 347 AM62AX_IOPAD(0x090, PIN_INPUT, 2) /* (L19) GPMC0_BE0n_CLE.MCASP1_ACLKX */ 348 AM62AX_IOPAD(0x098, PIN_INPUT, 2) /* (R18) GPMC0_WAIT0.MCASP1_AFSX */ 349 AM62AX_IOPAD(0x08c, PIN_OUTPUT, 2) /* (K19) GPMC0_WEn.MCASP1_AXR0 */ 350 AM62AX_IOPAD(0x084, PIN_INPUT, 2) /* (L18) GPMC0_ADVn_ALE.MCASP1_AXR2 */ 351 >; 352 }; 353 354 main_gpio1_ioexp_intr_pins_default: main-gpio1-ioexp-intr-default-pins { 355 pinctrl-single,pins = < 356 AM62AX_IOPAD(0x01d4, PIN_INPUT, 7) /* (C15) UART0_RTSn.GPIO1_23 */ 357 >; 358 }; 359 360 vddshv_sdio_pins_default: vddshv-sdio-default-pins { 361 pinctrl-single,pins = < 362 AM62AX_IOPAD(0x07c, PIN_OUTPUT, 7) /* (M19) GPMC0_CLK.GPIO0_31 */ 363 >; 364 }; 365}; 366 367&mcu_pmx0 { 368 status = "okay"; 369 370 pmic_irq_pins_default: pmic-irq-default-pins { 371 pinctrl-single,pins = < 372 AM62AX_MCU_IOPAD(0x000, PIN_INPUT, 7) /* (E11) MCU_GPIO0_0 */ 373 >; 374 }; 375}; 376 377&mcu_gpio0 { 378 status = "okay"; 379}; 380 381&main_i2c0 { 382 status = "okay"; 383 pinctrl-names = "default"; 384 pinctrl-0 = <&main_i2c0_pins_default>; 385 clock-frequency = <400000>; 386 387 typec_pd0: usb-power-controller@3f { 388 compatible = "ti,tps6598x"; 389 reg = <0x3f>; 390 391 connector { 392 compatible = "usb-c-connector"; 393 label = "USB-C"; 394 self-powered; 395 data-role = "dual"; 396 power-role = "sink"; 397 port { 398 usb_con_hs: endpoint { 399 remote-endpoint = <&usb0_hs_ep>; 400 }; 401 }; 402 }; 403 }; 404 405 tps659312: pmic@48 { 406 compatible = "ti,tps6593-q1"; 407 reg = <0x48>; 408 ti,primary-pmic; 409 system-power-controller; 410 411 gpio-controller; 412 #gpio-cells = <2>; 413 414 pinctrl-names = "default"; 415 pinctrl-0 = <&pmic_irq_pins_default>; 416 interrupt-parent = <&mcu_gpio0>; 417 interrupts = <0 IRQ_TYPE_EDGE_FALLING>; 418 419 buck123-supply = <&vcc_3v3_sys>; 420 buck4-supply = <&vcc_3v3_sys>; 421 buck5-supply = <&vcc_3v3_sys>; 422 ldo1-supply = <&vcc_3v3_sys>; 423 ldo2-supply = <&vcc_3v3_sys>; 424 ldo3-supply = <&buck5>; 425 ldo4-supply = <&vcc_3v3_sys>; 426 427 regulators { 428 buck123: buck123 { 429 regulator-name = "vcc_core"; 430 regulator-min-microvolt = <715000>; 431 regulator-max-microvolt = <895000>; 432 regulator-boot-on; 433 regulator-always-on; 434 }; 435 436 buck4: buck4 { 437 regulator-name = "vcc_1v1"; 438 regulator-min-microvolt = <1100000>; 439 regulator-max-microvolt = <1100000>; 440 regulator-boot-on; 441 regulator-always-on; 442 }; 443 444 buck5: buck5 { 445 regulator-name = "vcc_1v8_sys"; 446 regulator-min-microvolt = <1800000>; 447 regulator-max-microvolt = <1800000>; 448 regulator-boot-on; 449 regulator-always-on; 450 }; 451 452 ldo1: ldo1 { 453 regulator-name = "vddshv5_sdio"; 454 regulator-min-microvolt = <3300000>; 455 regulator-max-microvolt = <3300000>; 456 regulator-boot-on; 457 regulator-always-on; 458 }; 459 460 ldo2: ldo2 { 461 regulator-name = "vpp_1v8"; 462 regulator-min-microvolt = <1800000>; 463 regulator-max-microvolt = <1800000>; 464 regulator-boot-on; 465 regulator-always-on; 466 }; 467 468 ldo3: ldo3 { 469 regulator-name = "vcc_0v85"; 470 regulator-min-microvolt = <850000>; 471 regulator-max-microvolt = <850000>; 472 regulator-boot-on; 473 regulator-always-on; 474 }; 475 476 ldo4: ldo4 { 477 regulator-name = "vdda_1v8"; 478 regulator-min-microvolt = <1800000>; 479 regulator-max-microvolt = <1800000>; 480 regulator-boot-on; 481 regulator-always-on; 482 }; 483 }; 484 }; 485}; 486 487&main_i2c1 { 488 status = "okay"; 489 pinctrl-names = "default"; 490 pinctrl-0 = <&main_i2c1_pins_default>; 491 clock-frequency = <100000>; 492 493 exp1: gpio@22 { 494 compatible = "ti,tca6424"; 495 reg = <0x22>; 496 gpio-controller; 497 #gpio-cells = <2>; 498 interrupt-parent = <&main_gpio1>; 499 interrupts = <23 IRQ_TYPE_EDGE_FALLING>; 500 interrupt-controller; 501 #interrupt-cells = <2>; 502 pinctrl-names = "default"; 503 pinctrl-0 = <&main_gpio1_ioexp_intr_pins_default>; 504 505 gpio-line-names = "GPIO_CPSW2_RST", "GPIO_CPSW1_RST", 506 "BT_EN_SOC", "MMC1_SD_EN", 507 "VPP_EN", "EXP_PS_3V3_En", 508 "EXP_PS_5V0_En", "EXP_HAT_DETECT", 509 "GPIO_AUD_RSTn", "GPIO_eMMC_RSTn", 510 "UART1_FET_BUF_EN", "BT_UART_WAKE_SOC", 511 "GPIO_HDMI_RSTn", "CSI_GPIO0", 512 "CSI_GPIO1", "WLAN_ALERTn", 513 "HDMI_INTn", "TEST_GPIO2", 514 "MCASP1_FET_EN", "MCASP1_BUF_BT_EN", 515 "MCASP1_FET_SEL", "UART1_FET_SEL", 516 "PD_I2C_IRQ", "IO_EXP_TEST_LED"; 517 }; 518 519 tlv320aic3106: audio-codec@1b { 520 #sound-dai-cells = <0>; 521 compatible = "ti,tlv320aic3106"; 522 reg = <0x1b>; 523 ai3x-micbias-vg = <1>; /* 2.0V */ 524 525 /* Regulators */ 526 AVDD-supply = <&vcc_3v3_sys>; 527 IOVDD-supply = <&vcc_3v3_sys>; 528 DRVDD-supply = <&vcc_3v3_sys>; 529 DVDD-supply = <&buck5>; 530 }; 531 532 exp2: gpio@23 { 533 compatible = "ti,tca6424"; 534 reg = <0x23>; 535 gpio-controller; 536 #gpio-cells = <2>; 537 538 gpio-line-names = "", "", 539 "", "", 540 "", "", 541 "", "", 542 "WL_LT_EN", "CSI_RSTz", 543 "", "", 544 "", "", 545 "", "", 546 "SPI0_FET_SEL", "SPI0_FET_OE", 547 "RGMII2_BRD_CONN_DET", "CSI_SEL2", 548 "CSI_EN", "AUTO_100M_1000M_CONFIG", 549 "CSI_VLDO_SEL", "SoC_WLAN_SDIO_RST"; 550 }; 551 552 sii9022: bridge-hdmi@3b { 553 compatible = "sil,sii9022"; 554 reg = <0x3b>; 555 interrupt-parent = <&exp1>; 556 interrupts = <16 IRQ_TYPE_EDGE_FALLING>; 557 #sound-dai-cells = <0>; 558 sil,i2s-data-lanes = < 0 >; 559 560 ports { 561 #address-cells = <1>; 562 #size-cells = <0>; 563 564 port@0 { 565 reg = <0>; 566 567 sii9022_in: endpoint { 568 remote-endpoint = <&dpi1_out>; 569 }; 570 }; 571 572 port@1 { 573 reg = <1>; 574 575 sii9022_out: endpoint { 576 remote-endpoint = <&hdmi_connector_in>; 577 }; 578 }; 579 }; 580 }; 581}; 582 583&main_i2c2 { 584 status = "okay"; 585 pinctrl-names = "default"; 586 pinctrl-0 = <&main_i2c2_pins_default>; 587 clock-frequency = <400000>; 588}; 589 590&sdhci0 { 591 /* eMMC */ 592 status = "okay"; 593 non-removable; 594 pinctrl-names = "default"; 595 pinctrl-0 = <&main_mmc0_pins_default>; 596 disable-wp; 597}; 598 599&sdhci1 { 600 /* SD/MMC */ 601 status = "okay"; 602 vmmc-supply = <&vdd_mmc1>; 603 vqmmc-supply = <&vddshv_sdio>; 604 pinctrl-names = "default"; 605 pinctrl-0 = <&main_mmc1_pins_default>; 606 disable-wp; 607}; 608 609&main_gpio0 { 610 status = "okay"; 611}; 612 613&main_gpio1 { 614 status = "okay"; 615}; 616 617&main_gpio_intr { 618 status = "okay"; 619}; 620 621&main_uart0 { 622 status = "okay"; 623 pinctrl-names = "default"; 624 pinctrl-0 = <&main_uart0_pins_default>; 625}; 626 627/* Main UART1 is used for TIFS firmware logs */ 628&main_uart1 { 629 pinctrl-names = "default"; 630 pinctrl-0 = <&main_uart1_pins_default>; 631 status = "reserved"; 632}; 633 634&usbss0 { 635 status = "okay"; 636 ti,vbus-divider; 637}; 638 639&usb0 { 640 usb-role-switch; 641 642 port { 643 usb0_hs_ep: endpoint { 644 remote-endpoint = <&usb_con_hs>; 645 }; 646 }; 647}; 648 649&usbss1 { 650 status = "okay"; 651}; 652 653&usb1 { 654 dr_mode = "host"; 655 pinctrl-names = "default"; 656 pinctrl-0 = <&main_usb1_pins_default>; 657}; 658 659&cpsw3g { 660 status = "okay"; 661 pinctrl-names = "default"; 662 pinctrl-0 = <&main_rgmii1_pins_default>; 663}; 664 665&cpsw_port1 { 666 status = "okay"; 667 phy-mode = "rgmii-rxid"; 668 phy-handle = <&cpsw3g_phy0>; 669}; 670 671&cpsw_port2 { 672 status = "disabled"; 673}; 674 675&cpsw3g_mdio { 676 status = "okay"; 677 pinctrl-names = "default"; 678 pinctrl-0 = <&main_mdio1_pins_default>; 679 680 cpsw3g_phy0: ethernet-phy@0 { 681 reg = <0>; 682 ti,rx-internal-delay = <DP83867_RGMIIDCTL_2_00_NS>; 683 ti,fifo-depth = <DP83867_PHYCR_FIFO_DEPTH_4_B_NIB>; 684 ti,min-output-impedance; 685 }; 686}; 687 688&mcasp1 { 689 status = "okay"; 690 #sound-dai-cells = <0>; 691 692 pinctrl-names = "default"; 693 pinctrl-0 = <&main_mcasp1_pins_default>; 694 695 op-mode = <0>; /* MCASP_IIS_MODE */ 696 tdm-slots = <2>; 697 698 serial-dir = < /* 0: INACTIVE, 1: TX, 2: RX */ 699 1 0 2 0 700 0 0 0 0 701 0 0 0 0 702 0 0 0 0 703 >; 704 tx-num-evt = <32>; 705 rx-num-evt = <32>; 706}; 707 708&dss { 709 status = "okay"; 710 pinctrl-names = "default"; 711 pinctrl-0 = <&main_dss0_pins_default>; 712}; 713 714&dss_ports { 715 /* VP2: DPI Output */ 716 port@1 { 717 reg = <1>; 718 719 dpi1_out: endpoint { 720 remote-endpoint = <&sii9022_in>; 721 }; 722 }; 723}; 724