1// SPDX-License-Identifier: GPL-2.0 2/* 3 * https://beagleplay.org/ 4 * 5 * Copyright (C) 2022-2023 Texas Instruments Incorporated - https://www.ti.com/ 6 * Copyright (C) 2022-2023 Robert Nelson, BeagleBoard.org Foundation 7 */ 8 9/dts-v1/; 10 11#include <dt-bindings/leds/common.h> 12#include <dt-bindings/gpio/gpio.h> 13#include <dt-bindings/input/input.h> 14#include "k3-am625.dtsi" 15 16/ { 17 compatible = "beagle,am625-beagleplay", "ti,am625"; 18 model = "BeagleBoard.org BeaglePlay"; 19 20 aliases { 21 ethernet0 = &cpsw_port1; 22 ethernet1 = &cpsw_port2; 23 gpio0 = &main_gpio0; 24 gpio1 = &main_gpio1; 25 gpio2 = &mcu_gpio0; 26 i2c0 = &main_i2c0; 27 i2c1 = &main_i2c1; 28 i2c2 = &main_i2c2; 29 i2c3 = &main_i2c3; 30 i2c4 = &wkup_i2c0; 31 i2c5 = &mcu_i2c0; 32 mdio-gpio0 = &mdio0; 33 mmc0 = &sdhci0; 34 mmc1 = &sdhci1; 35 mmc2 = &sdhci2; 36 rtc0 = &rtc; 37 serial0 = &main_uart5; 38 serial1 = &main_uart6; 39 serial2 = &main_uart0; 40 usb0 = &usb0; 41 usb1 = &usb1; 42 }; 43 44 chosen { 45 stdout-path = "serial2:115200n8"; 46 }; 47 48 memory@80000000 { 49 device_type = "memory"; 50 /* 2G RAM */ 51 reg = <0x00000000 0x80000000 0x00000000 0x80000000>; 52 }; 53 54 reserved-memory { 55 #address-cells = <2>; 56 #size-cells = <2>; 57 ranges; 58 59 ramoops: ramoops@9ca00000 { 60 compatible = "ramoops"; 61 reg = <0x00 0x9c700000 0x00 0x00100000>; 62 record-size = <0x8000>; 63 console-size = <0x8000>; 64 ftrace-size = <0x00>; 65 pmsg-size = <0x8000>; 66 }; 67 68 secure_tfa_ddr: tfa@9e780000 { 69 reg = <0x00 0x9e780000 0x00 0x80000>; 70 no-map; 71 }; 72 73 secure_ddr: optee@9e800000 { 74 reg = <0x00 0x9e800000 0x00 0x01800000>; 75 no-map; 76 }; 77 78 wkup_r5fss0_core0_dma_memory_region: r5f-dma-memory@9db00000 { 79 compatible = "shared-dma-pool"; 80 reg = <0x00 0x9db00000 0x00 0xc00000>; 81 no-map; 82 }; 83 }; 84 85 vsys_5v0: regulator-1 { 86 compatible = "regulator-fixed"; 87 regulator-name = "vsys_5v0"; 88 regulator-min-microvolt = <5000000>; 89 regulator-max-microvolt = <5000000>; 90 regulator-always-on; 91 regulator-boot-on; 92 }; 93 94 vdd_3v3: regulator-2 { 95 /* output of TLV62595DMQR-U12 */ 96 compatible = "regulator-fixed"; 97 regulator-name = "vdd_3v3"; 98 regulator-min-microvolt = <3300000>; 99 regulator-max-microvolt = <3300000>; 100 vin-supply = <&vsys_5v0>; 101 regulator-always-on; 102 regulator-boot-on; 103 }; 104 105 wlan_en: regulator-3 { 106 /* OUTPUT of SN74AVC2T244DQMR */ 107 compatible = "regulator-fixed"; 108 regulator-name = "wlan_en"; 109 regulator-min-microvolt = <1800000>; 110 regulator-max-microvolt = <1800000>; 111 enable-active-high; 112 regulator-always-on; 113 vin-supply = <&vdd_3v3>; 114 gpio = <&main_gpio0 38 GPIO_ACTIVE_HIGH>; 115 pinctrl-names = "default"; 116 pinctrl-0 = <&wifi_en_pins_default>; 117 }; 118 119 vdd_3v3_sd: regulator-4 { 120 /* output of TPS22918DBVR-U21 */ 121 pinctrl-names = "default"; 122 pinctrl-0 = <&vdd_3v3_sd_pins_default>; 123 124 compatible = "regulator-fixed"; 125 regulator-name = "vdd_3v3_sd"; 126 regulator-min-microvolt = <3300000>; 127 regulator-max-microvolt = <3300000>; 128 enable-active-high; 129 regulator-always-on; 130 vin-supply = <&vdd_3v3>; 131 gpio = <&main_gpio1 19 GPIO_ACTIVE_HIGH>; 132 }; 133 134 vdd_sd_dv: regulator-5 { 135 compatible = "regulator-gpio"; 136 regulator-name = "sd_hs200_switch"; 137 pinctrl-names = "default"; 138 pinctrl-0 = <&vdd_sd_dv_pins_default>; 139 regulator-min-microvolt = <1800000>; 140 regulator-max-microvolt = <3300000>; 141 regulator-boot-on; 142 vin-supply = <&ldo1_reg>; 143 gpios = <&main_gpio1 49 GPIO_ACTIVE_HIGH>; 144 states = <1800000 0x0>, 145 <3300000 0x1>; 146 }; 147 148 leds { 149 compatible = "gpio-leds"; 150 151 led-0 { 152 gpios = <&main_gpio0 3 GPIO_ACTIVE_HIGH>; 153 linux,default-trigger = "heartbeat"; 154 function = LED_FUNCTION_HEARTBEAT; 155 default-state = "off"; 156 }; 157 158 led-1 { 159 gpios = <&main_gpio0 4 GPIO_ACTIVE_HIGH>; 160 linux,default-trigger = "disk-activity"; 161 function = LED_FUNCTION_DISK_ACTIVITY; 162 default-state = "keep"; 163 }; 164 165 led-2 { 166 gpios = <&main_gpio0 5 GPIO_ACTIVE_HIGH>; 167 function = LED_FUNCTION_CPU; 168 }; 169 170 led-3 { 171 gpios = <&main_gpio0 6 GPIO_ACTIVE_HIGH>; 172 function = LED_FUNCTION_LAN; 173 }; 174 175 led-4 { 176 gpios = <&main_gpio0 9 GPIO_ACTIVE_HIGH>; 177 function = LED_FUNCTION_WLAN; 178 }; 179 }; 180 181 gpio_keys: gpio-keys { 182 compatible = "gpio-keys"; 183 autorepeat; 184 pinctrl-names = "default"; 185 pinctrl-0 = <&usr_button_pins_default>; 186 187 usr: button-usr { 188 label = "User Key"; 189 linux,code = <BTN_0>; 190 gpios = <&main_gpio0 18 GPIO_ACTIVE_LOW>; 191 }; 192 193 }; 194 195 /* Workaround for errata i2329 - just use mdio bitbang */ 196 mdio0: mdio { 197 compatible = "virtual,mdio-gpio"; 198 pinctrl-names = "default"; 199 pinctrl-0 = <&mdio0_pins_default>; 200 gpios = <&main_gpio0 86 GPIO_ACTIVE_HIGH>, /* MDC */ 201 <&main_gpio0 85 GPIO_ACTIVE_HIGH>; /* MDIO */ 202 #address-cells = <1>; 203 #size-cells = <0>; 204 205 cpsw3g_phy0: ethernet-phy@0 { 206 reg = <0>; 207 }; 208 209 cpsw3g_phy1: ethernet-phy@1 { 210 reg = <1>; 211 reset-gpios = <&main_gpio1 5 GPIO_ACTIVE_LOW>; 212 reset-assert-us = <25>; 213 reset-deassert-us = <60000>; /* T2 */ 214 }; 215 }; 216}; 217 218&main_pmx0 { 219 gpio0_pins_default: gpio0-default-pins { 220 pinctrl-single,pins = < 221 AM62X_IOPAD(0x0004, PIN_INPUT, 7) /* (G25) OSPI0_LBCLKO.GPIO0_1 */ 222 AM62X_IOPAD(0x0008, PIN_INPUT, 7) /* (J24) OSPI0_DQS.GPIO0_2 */ 223 AM62X_IOPAD(0x000c, PIN_INPUT, 7) /* (E25) OSPI0_D0.GPIO0_3 */ 224 AM62X_IOPAD(0x0010, PIN_INPUT, 7) /* (G24) OSPI0_D1.GPIO0_4 */ 225 AM62X_IOPAD(0x0014, PIN_INPUT, 7) /* (F25) OSPI0_D2.GPIO0_5 */ 226 AM62X_IOPAD(0x0018, PIN_INPUT, 7) /* (F24) OSPI0_D3.GPIO0_6 */ 227 AM62X_IOPAD(0x0024, PIN_INPUT, 7) /* (H25) OSPI0_D6.GPIO0_9 */ 228 AM62X_IOPAD(0x0028, PIN_INPUT, 7) /* (J22) OSPI0_D7.GPIO0_10 */ 229 AM62X_IOPAD(0x002c, PIN_INPUT, 7) /* (F23) OSPI0_CSn0.GPIO0_11 */ 230 AM62X_IOPAD(0x0030, PIN_INPUT, 7) /* (G21) OSPI0_CSn1.GPIO0_12 */ 231 AM62X_IOPAD(0x0034, PIN_INPUT, 7) /* (H21) OSPI0_CSn2.GPIO0_13 */ 232 AM62X_IOPAD(0x0038, PIN_INPUT, 7) /* (E24) OSPI0_CSn3.GPIO0_14 */ 233 AM62X_IOPAD(0x00a4, PIN_INPUT, 7) /* (M22) GPMC0_DIR.GPIO0_40 */ 234 AM62X_IOPAD(0x00ac, PIN_INPUT, 7) /* (L21) GPMC0_CSn1.GPIO0_42 */ 235 >; 236 }; 237 238 vdd_sd_dv_pins_default: vdd-sd-default-pins { 239 pinctrl-single,pins = < 240 AM62X_IOPAD(0x0244, PIN_OUTPUT, 7) /* (C17) MMC1_SDWP.GPIO1_49 */ 241 >; 242 }; 243 244 usr_button_pins_default: usr-button-default-pins { 245 pinctrl-single,pins = < 246 AM62X_IOPAD(0x0048, PIN_INPUT, 7) /* (N25) GPMC0_AD3.GPIO0_18 */ 247 >; 248 }; 249 250 grove_pins_default: grove-default-pins { 251 pinctrl-single,pins = < 252 AM62X_IOPAD(0x01e8, PIN_INPUT_PULLUP, 0) /* (B17) I2C1_SCL */ 253 AM62X_IOPAD(0x01ec, PIN_INPUT_PULLUP, 0) /* (A17) I2C1_SDA */ 254 >; 255 }; 256 257 local_i2c_pins_default: local-i2c-default-pins { 258 pinctrl-single,pins = < 259 AM62X_IOPAD(0x01e0, PIN_INPUT_PULLUP, 0) /* (B16) I2C0_SCL */ 260 AM62X_IOPAD(0x01e4, PIN_INPUT_PULLUP, 0) /* (A16) I2C0_SDA */ 261 >; 262 }; 263 264 i2c2_1v8_pins_default: i2c2-default-pins { 265 pinctrl-single,pins = < 266 AM62X_IOPAD(0x00b0, PIN_INPUT_PULLUP, 1) /* (K22) GPMC0_CSn2.I2C2_SCL */ 267 AM62X_IOPAD(0x00b4, PIN_INPUT_PULLUP, 1) /* (K24) GPMC0_CSn3.I2C2_SDA */ 268 >; 269 }; 270 271 mdio0_pins_default: mdio0-default-pins { 272 pinctrl-single,pins = < 273 AM62X_IOPAD(0x0160, PIN_OUTPUT, 7) /* (AD24) MDIO0_MDC.GPIO0_86 */ 274 AM62X_IOPAD(0x015c, PIN_INPUT, 7) /* (AB22) MDIO0_MDIO.GPIO0_85 */ 275 >; 276 }; 277 278 rgmii1_pins_default: rgmii1-default-pins { 279 pinctrl-single,pins = < 280 AM62X_IOPAD(0x014c, PIN_INPUT, 0) /* (AB17) RGMII1_RD0 */ 281 AM62X_IOPAD(0x0150, PIN_INPUT, 0) /* (AC17) RGMII1_RD1 */ 282 AM62X_IOPAD(0x0154, PIN_INPUT, 0) /* (AB16) RGMII1_RD2 */ 283 AM62X_IOPAD(0x0158, PIN_INPUT, 0) /* (AA15) RGMII1_RD3 */ 284 AM62X_IOPAD(0x0148, PIN_INPUT, 0) /* (AD17) RGMII1_RXC */ 285 AM62X_IOPAD(0x0144, PIN_INPUT, 0) /* (AE17) RGMII1_RX_CTL */ 286 AM62X_IOPAD(0x0134, PIN_OUTPUT, 0) /* (AE20) RGMII1_TD0 */ 287 AM62X_IOPAD(0x0138, PIN_OUTPUT, 0) /* (AD20) RGMII1_TD1 */ 288 AM62X_IOPAD(0x013c, PIN_OUTPUT, 0) /* (AE18) RGMII1_TD2 */ 289 AM62X_IOPAD(0x0140, PIN_OUTPUT, 0) /* (AD18) RGMII1_TD3 */ 290 AM62X_IOPAD(0x0130, PIN_OUTPUT, 0) /* (AE19) RGMII1_TXC */ 291 AM62X_IOPAD(0x012c, PIN_OUTPUT, 0) /* (AD19) RGMII1_TX_CTL */ 292 >; 293 }; 294 295 emmc_pins_default: emmc-default-pins { 296 pinctrl-single,pins = < 297 AM62X_IOPAD(0x0220, PIN_INPUT, 0) /* (Y3) MMC0_CMD */ 298 AM62X_IOPAD(0x0218, PIN_INPUT, 0) /* (AB1) MMC0_CLK */ 299 AM62X_IOPAD(0x0214, PIN_INPUT, 0) /* (AA2) MMC0_DAT0 */ 300 AM62X_IOPAD(0x0210, PIN_INPUT, 0) /* (AA1) MMC0_DAT1 */ 301 AM62X_IOPAD(0x020c, PIN_INPUT, 0) /* (AA3) MMC0_DAT2 */ 302 AM62X_IOPAD(0x0208, PIN_INPUT, 0) /* (Y4) MMC0_DAT3 */ 303 AM62X_IOPAD(0x0204, PIN_INPUT, 0) /* (AB2) MMC0_DAT4 */ 304 AM62X_IOPAD(0x0200, PIN_INPUT, 0) /* (AC1) MMC0_DAT5 */ 305 AM62X_IOPAD(0x01fc, PIN_INPUT, 0) /* (AD2) MMC0_DAT6 */ 306 AM62X_IOPAD(0x01f8, PIN_INPUT, 0) /* (AC2) MMC0_DAT7 */ 307 >; 308 }; 309 310 vdd_3v3_sd_pins_default: vdd-3v3-sd-default-pins { 311 pinctrl-single,pins = < 312 AM62X_IOPAD(0x01c4, PIN_INPUT, 7) /* (B14) SPI0_D1_GPIO1_19 */ 313 >; 314 }; 315 316 sd_pins_default: sd-default-pins { 317 pinctrl-single,pins = < 318 AM62X_IOPAD(0x023c, PIN_INPUT, 0) /* (A21) MMC1_CMD */ 319 AM62X_IOPAD(0x0234, PIN_INPUT, 0) /* (B22) MMC1_CLK */ 320 AM62X_IOPAD(0x0230, PIN_INPUT, 0) /* (A22) MMC1_DAT0 */ 321 AM62X_IOPAD(0x022c, PIN_INPUT, 0) /* (B21) MMC1_DAT1 */ 322 AM62X_IOPAD(0x0228, PIN_INPUT, 0) /* (C21) MMC1_DAT2 */ 323 AM62X_IOPAD(0x0224, PIN_INPUT, 0) /* (D22) MMC1_DAT3 */ 324 AM62X_IOPAD(0x0240, PIN_INPUT, 7) /* (D17) MMC1_SDCD.GPIO1_48 */ 325 >; 326 }; 327 328 wifi_pins_default: wifi-default-pins { 329 pinctrl-single,pins = < 330 AM62X_IOPAD(0x0120, PIN_INPUT, 0) /* (C24) MMC2_CMD */ 331 AM62X_IOPAD(0x0118, PIN_INPUT, 0) /* (D25) MMC2_CLK */ 332 AM62X_IOPAD(0x0114, PIN_INPUT, 0) /* (B24) MMC2_DAT0 */ 333 AM62X_IOPAD(0x0110, PIN_INPUT, 0) /* (C25) MMC2_DAT1 */ 334 AM62X_IOPAD(0x010c, PIN_INPUT, 0) /* (E23) MMC2_DAT2 */ 335 AM62X_IOPAD(0x0108, PIN_INPUT, 0) /* (D24) MMC2_DAT3 */ 336 AM62X_IOPAD(0x0124, PIN_INPUT, 0) /* (A23) MMC2_SDCD */ 337 AM62X_IOPAD(0x11c, PIN_INPUT, 0) /* (#N/A) MMC2_CLKB */ 338 >; 339 }; 340 341 wifi_en_pins_default: wifi-en-default-pins { 342 pinctrl-single,pins = < 343 AM62X_IOPAD(0x009c, PIN_OUTPUT, 7) /* (V25) GPMC0_WAIT1.GPIO0_38 */ 344 >; 345 }; 346 347 wifi_wlirq_pins_default: wifi-wlirq-default-pins { 348 pinctrl-single,pins = < 349 AM62X_IOPAD(0x00a8, PIN_INPUT, 7) /* (M21) GPMC0_CSn0.GPIO0_41 */ 350 >; 351 }; 352 353 spe_pins_default: spe-default-pins { 354 pinctrl-single,pins = < 355 AM62X_IOPAD(0x0168, PIN_INPUT, 1) /* (AE21) RGMII2_TXC.RMII2_CRS_DV */ 356 AM62X_IOPAD(0x0180, PIN_INPUT, 1) /* (AD23) RGMII2_RXC.RMII2_REF_CLK */ 357 AM62X_IOPAD(0x0184, PIN_INPUT, 1) /* (AE23) RGMII2_RD0.RMII2_RXD0 */ 358 AM62X_IOPAD(0x0188, PIN_INPUT, 1) /* (AB20) RGMII2_RD1.RMII2_RXD1 */ 359 AM62X_IOPAD(0x017c, PIN_INPUT, 1) /* (AD22) RGMII2_RX_CTL.RMII2_RX_ER */ 360 AM62X_IOPAD(0x016c, PIN_INPUT, 1) /* (Y18) RGMII2_TD0.RMII2_TXD0 */ 361 AM62X_IOPAD(0x0170, PIN_INPUT, 1) /* (AA18) RGMII2_TD1.RMII2_TXD1 */ 362 AM62X_IOPAD(0x0164, PIN_INPUT, 1) /* (AA19) RGMII2_TX_CTL.RMII2_TX_EN */ 363 AM62X_IOPAD(0x018c, PIN_OUTPUT, 7) /* (AC21) RGMII2_RD2.GPIO1_5 */ 364 AM62X_IOPAD(0x0190, PIN_INPUT, 7) /* (AE22) RGMII2_RD3.GPIO1_6 */ 365 AM62X_IOPAD(0x01f0, PIN_OUTPUT, 5) /* (A18) EXT_REFCLK1.CLKOUT0 */ 366 >; 367 }; 368 369 mikrobus_i2c_pins_default: mikrobus-i2c-default-pins { 370 pinctrl-single,pins = < 371 AM62X_IOPAD(0x01d0, PIN_INPUT_PULLUP, 2) /* (A15) UART0_CTSn.I2C3_SCL */ 372 AM62X_IOPAD(0x01d4, PIN_INPUT_PULLUP, 2) /* (B15) UART0_RTSn.I2C3_SDA */ 373 >; 374 }; 375 376 mikrobus_uart_pins_default: mikrobus-uart-default-pins { 377 pinctrl-single,pins = < 378 AM62X_IOPAD(0x01d8, PIN_INPUT, 1) /* (C15) MCAN0_TX.UART5_RXD */ 379 AM62X_IOPAD(0x01dc, PIN_OUTPUT, 1) /* (E15) MCAN0_RX.UART5_TXD */ 380 >; 381 }; 382 383 mikrobus_spi_pins_default: mikrobus-spi-default-pins { 384 pinctrl-single,pins = < 385 AM62X_IOPAD(0x01b0, PIN_INPUT, 1) /* (A20) MCASP0_ACLKR.SPI2_CLK */ 386 AM62X_IOPAD(0x01ac, PIN_INPUT, 1) /* (E19) MCASP0_AFSR.SPI2_CS0 */ 387 AM62X_IOPAD(0x0194, PIN_INPUT, 1) /* (B19) MCASP0_AXR3.SPI2_D0 */ 388 AM62X_IOPAD(0x0198, PIN_INPUT, 1) /* (A19) MCASP0_AXR2.SPI2_D1 */ 389 >; 390 }; 391 392 mikrobus_gpio_pins_default: mikrobus-gpio-default-pins { 393 pinctrl-single,pins = < 394 AM62X_IOPAD(0x019c, PIN_INPUT, 7) /* (B18) MCASP0_AXR1.GPIO1_9 */ 395 AM62X_IOPAD(0x01a0, PIN_INPUT, 7) /* (E18) MCASP0_AXR0.GPIO1_10 */ 396 AM62X_IOPAD(0x01a8, PIN_INPUT, 7) /* (D20) MCASP0_AFSX.GPIO1_12 */ 397 >; 398 }; 399 400 console_pins_default: console-default-pins { 401 pinctrl-single,pins = < 402 AM62X_IOPAD(0x01c8, PIN_INPUT, 0) /* (D14) UART0_RXD */ 403 AM62X_IOPAD(0x01cc, PIN_OUTPUT, 0) /* (E14) UART0_TXD */ 404 >; 405 }; 406 407 wifi_debug_uart_pins_default: wifi-debug-uart-default-pins { 408 pinctrl-single,pins = < 409 AM62X_IOPAD(0x001c, PIN_INPUT, 3) /* (J23) OSPI0_D4.UART6_RXD */ 410 AM62X_IOPAD(0x0020, PIN_OUTPUT, 3) /* (J25) OSPI0_D5.UART6_TXD */ 411 >; 412 }; 413 414 usb1_pins_default: usb1-default-pins { 415 pinctrl-single,pins = < 416 AM62X_IOPAD(0x0258, PIN_INPUT, 0) /* (F18) USB1_DRVVBUS */ 417 >; 418 }; 419 420 pmic_irq_pins_default: pmic-irq-default-pins { 421 pinctrl-single,pins = < 422 AM62X_IOPAD(0x01f4, PIN_INPUT_PULLUP, 0) /* (D16) EXTINTn */ 423 >; 424 }; 425}; 426 427&mcu_pmx0 { 428 i2c_qwiic_pins_default: i2c-qwiic-default-pins { 429 pinctrl-single,pins = < 430 AM62X_MCU_IOPAD(0x0044, PIN_INPUT, 0) /* (A8) MCU_I2C0_SCL */ 431 AM62X_MCU_IOPAD(0x0048, PIN_INPUT, 0) /* (D10) MCU_I2C0_SDA */ 432 >; 433 }; 434 435 gbe_pmx_obsclk: gbe-pmx-clk-default { 436 pinctrl-single,pins = < 437 AM62X_MCU_IOPAD(0x0004, PIN_OUTPUT, 1) /* (B8) MCU_SPI0_CS1.MCU_OBSCLK0 */ 438 >; 439 }; 440 441 i2c_csi_pins_default: i2c-csi-default-pins { 442 pinctrl-single,pins = < 443 AM62X_MCU_IOPAD(0x004c, PIN_INPUT_PULLUP, 0) /* (B9) WKUP_I2C0_SCL */ 444 AM62X_MCU_IOPAD(0x0050, PIN_INPUT_PULLUP, 0) /* (A9) WKUP_I2C0_SDA */ 445 >; 446 }; 447 448 wifi_32k_clk: mcu-clk-out-default-pins { 449 pinctrl-single,pins = < 450 AM62X_MCU_IOPAD(0x0084, PIN_OUTPUT, 0) /* (A12) WKUP_CLKOUT0 */ 451 >; 452 }; 453}; 454 455&a53_opp_table { 456 /* Requires VDD_CORE to be at 0.85V */ 457 opp-1400000000 { 458 opp-hz = /bits/ 64 <1400000000>; 459 opp-supported-hw = <0x01 0x0004>; 460 }; 461}; 462 463&wkup_i2c0 { 464 pinctrl-names = "default"; 465 pinctrl-0 = <&i2c_csi_pins_default>; 466 clock-frequency = <400000>; 467 /* Enable with overlay for camera sensor */ 468}; 469 470&mcu_i2c0 { 471 pinctrl-names = "default"; 472 pinctrl-0 = <&i2c_qwiic_pins_default>; 473 clock-frequency = <100000>; 474 status = "okay"; 475}; 476 477&usbss0 { 478 ti,vbus-divider; 479 status = "okay"; 480}; 481 482&usb0 { 483 dr_mode = "peripheral"; 484}; 485 486&usbss1 { 487 ti,vbus-divider; 488 status = "okay"; 489}; 490 491&usb1 { 492 dr_mode = "host"; 493 pinctrl-names = "default"; 494 pinctrl-0 = <&usb1_pins_default>; 495}; 496 497&cpsw3g { 498 pinctrl-names = "default"; 499 pinctrl-0 = <&rgmii1_pins_default>, <&spe_pins_default>, 500 <&gbe_pmx_obsclk>; 501 assigned-clocks = <&k3_clks 157 70>, <&k3_clks 157 20>; 502 assigned-clock-parents = <&k3_clks 157 72>, <&k3_clks 157 22>; 503}; 504 505&cpsw_port1 { 506 phy-mode = "rgmii-rxid"; 507 phy-handle = <&cpsw3g_phy0>; 508}; 509 510&cpsw_port2 { 511 phy-mode = "rmii"; 512 phy-handle = <&cpsw3g_phy1>; 513}; 514 515&cpsw3g_mdio { 516 /* Workaround for errata i2329 - Use mdio bitbang */ 517 status = "disabled"; 518}; 519 520&main_gpio0 { 521 pinctrl-names = "default"; 522 pinctrl-0 = <&gpio0_pins_default>; 523 gpio-line-names = "BL_EN_3V3", "SPE_PO_EN", "RTC_INT", /* 0-2 */ 524 "USR0", "USR1", "USR2", "USR3", "", "", "USR4", /* 3-9 */ 525 "EEPROM_WP", /* 10 */ 526 "CSI2_CAMERA_GPIO1", "CSI2_CAMERA_GPIO2", /* 11-12 */ 527 "CC1352P7_BOOT", "CC1352P7_RSTN", "", "", "", /* 13-17 */ 528 "USR_BUTTON", "", "", "", "", "", "", "", "", /* 18-26 */ 529 "", "", "", "", "", "", "", "", "", "HDMI_INT", /* 27-36 */ 530 "", "VDD_WLAN_EN", "", "", "WL_IRQ", "GBE_INTN",/* 37-42 */ 531 "", "", "", "", "", "", "", "", "", "", "", "", /* 43-54 */ 532 "", "", "", "", "", "", "", "", "", "", "", "", /* 55-66 */ 533 "", "", "", "", "", "", "", "", "", "", "", "", /* 67-78 */ 534 "", "", "", "", "", "", /* 79-84 */ 535 "BITBANG_MDIO_DATA", "BITBANG_MDIO_CLK", /* 85-86 */ 536 "", "", "", "", ""; /* 87-91 */ 537}; 538 539&main_gpio1 { 540 pinctrl-names = "default"; 541 pinctrl-0 = <&mikrobus_gpio_pins_default>; 542 gpio-line-names = "", "", "", "", "", /* 0-4 */ 543 "SPE_RSTN", "SPE_INTN", "MIKROBUS_GPIO1_7", /* 5-7 */ 544 "MIKROBUS_GPIO1_8", "MIKROBUS_GPIO1_9", /* 8-9 */ 545 "MIKROBUS_GPIO1_10", "MIKROBUS_GPIO1_11", /* 10-11 */ 546 "MIKROBUS_GPIO1_12", "MIKROBUS_W1_GPIO0", /* 12-13 */ 547 "MIKROBUS_GPIO1_14", /* 14 */ 548 "", "", "", "", "VDD_3V3_SD", "", "", /* 15-21 */ 549 "MIKROBUS_GPIO1_22", "MIKROBUS_GPIO1_23", /* 22-23 */ 550 "MIKROBUS_GPIO1_24", "MIKROBUS_GPIO1_25", /* 24-25 */ 551 "", "", "", "", "", "", "", "", "", "", "", "", /* 26-37 */ 552 "", "", "", "", "", "", "", "", "", "", /* 38-47 */ 553 "SD_CD", "SD_VOLT_SEL", "", ""; /* 48-51 */ 554}; 555 556&main_i2c0 { 557 pinctrl-names = "default"; 558 pinctrl-0 = <&local_i2c_pins_default>; 559 clock-frequency = <400000>; 560 status = "okay"; 561 562 eeprom@50 { 563 compatible = "atmel,24c32"; 564 reg = <0x50>; 565 }; 566 567 rtc: rtc@68 { 568 compatible = "ti,bq32000"; 569 reg = <0x68>; 570 interrupt-parent = <&main_gpio0>; 571 interrupts = <2 IRQ_TYPE_EDGE_FALLING>; 572 }; 573 574 tps65219: pmic@30 { 575 compatible = "ti,tps65219"; 576 reg = <0x30>; 577 buck1-supply = <&vsys_5v0>; 578 buck2-supply = <&vsys_5v0>; 579 buck3-supply = <&vsys_5v0>; 580 ldo1-supply = <&vdd_3v3>; 581 ldo2-supply = <&buck2_reg>; 582 ldo3-supply = <&vdd_3v3>; 583 ldo4-supply = <&vdd_3v3>; 584 585 pinctrl-names = "default"; 586 pinctrl-0 = <&pmic_irq_pins_default>; 587 interrupt-parent = <&gic500>; 588 interrupts = <GIC_SPI 224 IRQ_TYPE_LEVEL_HIGH>; 589 interrupt-controller; 590 #interrupt-cells = <1>; 591 592 system-power-controller; 593 ti,power-button; 594 595 regulators { 596 buck1_reg: buck1 { 597 regulator-name = "VDD_CORE"; 598 regulator-min-microvolt = <850000>; 599 regulator-max-microvolt = <850000>; 600 regulator-boot-on; 601 regulator-always-on; 602 }; 603 604 buck2_reg: buck2 { 605 regulator-name = "VDD_1V8"; 606 regulator-min-microvolt = <1800000>; 607 regulator-max-microvolt = <1800000>; 608 regulator-boot-on; 609 regulator-always-on; 610 }; 611 612 buck3_reg: buck3 { 613 regulator-name = "VDD_1V2"; 614 regulator-min-microvolt = <1200000>; 615 regulator-max-microvolt = <1200000>; 616 regulator-boot-on; 617 regulator-always-on; 618 }; 619 620 ldo1_reg: ldo1 { 621 /* 622 * Regulator is left as is unused, vdd_sd 623 * is controlled via GPIO with bypass config 624 * as per the NVM configuration 625 */ 626 regulator-name = "VDD_SD_3V3"; 627 regulator-min-microvolt = <3300000>; 628 regulator-max-microvolt = <3300000>; 629 regulator-allow-bypass; 630 regulator-boot-on; 631 regulator-always-on; 632 }; 633 634 ldo2_reg: ldo2 { 635 regulator-name = "VDDA_0V85"; 636 regulator-min-microvolt = <850000>; 637 regulator-max-microvolt = <850000>; 638 regulator-boot-on; 639 regulator-always-on; 640 }; 641 642 ldo3_reg: ldo3 { 643 regulator-name = "VDDA_1V8"; 644 regulator-min-microvolt = <1800000>; 645 regulator-max-microvolt = <1800000>; 646 regulator-boot-on; 647 regulator-always-on; 648 }; 649 650 ldo4_reg: ldo4 { 651 regulator-name = "VDD_2V5"; 652 regulator-min-microvolt = <2500000>; 653 regulator-max-microvolt = <2500000>; 654 regulator-boot-on; 655 regulator-always-on; 656 }; 657 }; 658 }; 659}; 660 661&main_i2c1 { 662 pinctrl-names = "default"; 663 pinctrl-0 = <&grove_pins_default>; 664 clock-frequency = <100000>; 665 status = "okay"; 666}; 667 668&main_i2c2 { 669 pinctrl-names = "default"; 670 pinctrl-0 = <&i2c2_1v8_pins_default>; 671 clock-frequency = <100000>; 672 status = "okay"; 673}; 674 675&main_i2c3 { 676 pinctrl-names = "default"; 677 pinctrl-0 = <&mikrobus_i2c_pins_default>; 678 clock-frequency = <400000>; 679 status = "okay"; 680}; 681 682&main_spi2 { 683 pinctrl-names = "default"; 684 pinctrl-0 = <&mikrobus_spi_pins_default>; 685 status = "okay"; 686}; 687 688&sdhci0 { 689 pinctrl-names = "default"; 690 pinctrl-0 = <&emmc_pins_default>; 691 ti,driver-strength-ohm = <50>; 692 disable-wp; 693 status = "okay"; 694}; 695 696&sdhci1 { 697 /* SD/MMC */ 698 pinctrl-names = "default"; 699 pinctrl-0 = <&sd_pins_default>; 700 701 vmmc-supply = <&vdd_3v3_sd>; 702 vqmmc-supply = <&vdd_sd_dv>; 703 ti,driver-strength-ohm = <50>; 704 disable-wp; 705 cd-gpios = <&main_gpio1 48 GPIO_ACTIVE_LOW>; 706 cd-debounce-delay-ms = <100>; 707 ti,fails-without-test-cd; 708 status = "okay"; 709}; 710 711&sdhci2 { 712 vmmc-supply = <&wlan_en>; 713 pinctrl-names = "default"; 714 pinctrl-0 = <&wifi_pins_default>, <&wifi_32k_clk>; 715 bus-width = <4>; 716 non-removable; 717 ti,fails-without-test-cd; 718 cap-power-off-card; 719 keep-power-in-suspend; 720 ti,driver-strength-ohm = <50>; 721 assigned-clocks = <&k3_clks 157 158>; 722 assigned-clock-parents = <&k3_clks 157 160>; 723 #address-cells = <1>; 724 #size-cells = <0>; 725 status = "okay"; 726 727 wlcore: wlcore@2 { 728 compatible = "ti,wl1807"; 729 reg = <2>; 730 pinctrl-names = "default"; 731 pinctrl-0 = <&wifi_wlirq_pins_default>; 732 interrupt-parent = <&main_gpio0>; 733 interrupts = <41 IRQ_TYPE_EDGE_FALLING>; 734 }; 735}; 736 737&main_uart0 { 738 pinctrl-names = "default"; 739 pinctrl-0 = <&console_pins_default>; 740 status = "okay"; 741}; 742 743&main_uart1 { 744 /* Main UART1 is used by TIFS firmware */ 745 status = "reserved"; 746}; 747 748&main_uart5 { 749 pinctrl-names = "default"; 750 pinctrl-0 = <&mikrobus_uart_pins_default>; 751 status = "okay"; 752}; 753 754&main_uart6 { 755 pinctrl-names = "default"; 756 pinctrl-0 = <&wifi_debug_uart_pins_default>; 757 status = "okay"; 758}; 759