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