Robert Nelson | 0c24aad | 2023-08-25 13:03:03 -0500 | [diff] [blame] | 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 | }; |