1// SPDX-License-Identifier: GPL-2.0 2/* 3 * Copyright (C) 2019 Texas Instruments Incorporated - http://www.ti.com/ 4 */ 5 6/dts-v1/; 7 8#include "k3-j721e-som-p0.dtsi" 9#include <dt-bindings/gpio/gpio.h> 10#include <dt-bindings/input/input.h> 11 12/ { 13 chosen { 14 stdout-path = "serial2:115200n8"; 15 bootargs = "console=ttyS2,115200n8 earlycon=ns16550a,mmio32,0x02800000"; 16 }; 17 18 gpio_keys: gpio-keys { 19 compatible = "gpio-keys"; 20 autorepeat; 21 pinctrl-names = "default"; 22 pinctrl-0 = <&sw10_button_pins_default &sw11_button_pins_default>; 23 24 sw10: sw10 { 25 label = "GPIO Key USER1"; 26 linux,code = <BTN_0>; 27 gpios = <&main_gpio0 0 GPIO_ACTIVE_LOW>; 28 }; 29 30 sw11: sw11 { 31 label = "GPIO Key USER2"; 32 linux,code = <BTN_1>; 33 gpios = <&wkup_gpio0 7 GPIO_ACTIVE_LOW>; 34 }; 35 }; 36}; 37 38&main_pmx0 { 39 sw10_button_pins_default: sw10_button_pins_default { 40 pinctrl-single,pins = < 41 J721E_IOPAD(0x0, PIN_INPUT, 7) /* (AC18) EXTINTn.GPIO0_0 */ 42 >; 43 }; 44 45 main_mmc1_pins_default: main_mmc1_pins_default { 46 pinctrl-single,pins = < 47 J721E_IOPAD(0x254, PIN_INPUT, 0) /* (R29) MMC1_CMD */ 48 J721E_IOPAD(0x250, PIN_INPUT, 0) /* (P25) MMC1_CLK */ 49 J721E_IOPAD(0x2ac, PIN_INPUT, 0) /* (P25) MMC1_CLKLB */ 50 J721E_IOPAD(0x24c, PIN_INPUT, 0) /* (R24) MMC1_DAT0 */ 51 J721E_IOPAD(0x248, PIN_INPUT, 0) /* (P24) MMC1_DAT1 */ 52 J721E_IOPAD(0x244, PIN_INPUT, 0) /* (R25) MMC1_DAT2 */ 53 J721E_IOPAD(0x240, PIN_INPUT, 0) /* (R26) MMC1_DAT3 */ 54 J721E_IOPAD(0x258, PIN_INPUT, 0) /* (P23) MMC1_SDCD */ 55 J721E_IOPAD(0x25c, PIN_INPUT, 0) /* (R28) MMC1_SDWP */ 56 >; 57 }; 58 59 main_usbss0_pins_default: main_usbss0_pins_default { 60 pinctrl-single,pins = < 61 J721E_IOPAD(0x290, PIN_OUTPUT, 0) /* (U6) USB0_DRVVBUS */ 62 >; 63 }; 64 65 main_usbss1_pins_default: main_usbss1_pins_default { 66 pinctrl-single,pins = < 67 J721E_IOPAD(0x214, PIN_OUTPUT, 4) /* (V4) MCAN1_TX.USB1_DRVVBUS */ 68 >; 69 }; 70 71 main_i2c1_exp4_pins_default: main-i2c1-exp4-pins-default { 72 pinctrl-single,pins = < 73 J721E_IOPAD(0x230, PIN_INPUT, 7) /* (U2) ECAP0_IN_APWM_OUT.GPIO1_11 */ 74 >; 75 }; 76 77 main_i2c0_pins_default: main-i2c0-pins-default { 78 pinctrl-single,pins = < 79 J721E_IOPAD(0x220, PIN_INPUT_PULLUP, 0) /* (AC5) I2C0_SCL */ 80 J721E_IOPAD(0x224, PIN_INPUT_PULLUP, 0) /* (AA5) I2C0_SDA */ 81 >; 82 }; 83 84 main_i2c1_pins_default: main-i2c1-pins-default { 85 pinctrl-single,pins = < 86 J721E_IOPAD(0x228, PIN_INPUT_PULLUP, 0) /* (Y6) I2C1_SCL */ 87 J721E_IOPAD(0x22c, PIN_INPUT_PULLUP, 0) /* (AA6) I2C1_SDA */ 88 >; 89 }; 90 91 main_i2c3_pins_default: main-i2c3-pins-default { 92 pinctrl-single,pins = < 93 J721E_IOPAD(0x270, PIN_INPUT_PULLUP, 4) /* (T26) MMC2_CLK.I2C3_SCL */ 94 J721E_IOPAD(0x274, PIN_INPUT_PULLUP, 4) /* (T25) MMC2_CMD.I2C3_SDA */ 95 >; 96 }; 97 98 main_i2c6_pins_default: main-i2c6-pins-default { 99 pinctrl-single,pins = < 100 J721E_IOPAD(0x1d0, PIN_INPUT_PULLUP, 2) /* (AA3) SPI0_D1.I2C6_SCL */ 101 J721E_IOPAD(0x1e4, PIN_INPUT_PULLUP, 2) /* (Y2) SPI1_D1.I2C6_SDA */ 102 >; 103 }; 104 105 main_i2c1_exp4_pins_default: main-i2c1-exp4-pins-default { 106 pinctrl-single,pins = < 107 J721E_IOPAD(0x230, PIN_INPUT, 7) /* (U2) ECAP0_IN_APWM_OUT.GPIO1_11 */ 108 >; 109 }; 110}; 111 112&wkup_pmx0 { 113 sw11_button_pins_default: sw11_button_pins_default { 114 pinctrl-single,pins = < 115 J721E_WKUP_IOPAD(0xcc, PIN_INPUT, 7) /* (G28) WKUP_GPIO0_7 */ 116 >; 117 }; 118 119 mcu_fss0_ospi1_pins_default: mcu-fss0-ospi1-pins-default { 120 pinctrl-single,pins = < 121 J721E_WKUP_IOPAD(0x34, PIN_OUTPUT, 0) /* (F22) MCU_OSPI1_CLK */ 122 J721E_WKUP_IOPAD(0x50, PIN_OUTPUT, 0) /* (C22) MCU_OSPI1_CSn0 */ 123 J721E_WKUP_IOPAD(0x40, PIN_INPUT, 0) /* (D22) MCU_OSPI1_D0 */ 124 J721E_WKUP_IOPAD(0x44, PIN_INPUT, 0) /* (G22) MCU_OSPI1_D1 */ 125 J721E_WKUP_IOPAD(0x48, PIN_INPUT, 0) /* (D23) MCU_OSPI1_D2 */ 126 J721E_WKUP_IOPAD(0x4c, PIN_INPUT, 0) /* (C23) MCU_OSPI1_D3 */ 127 J721E_WKUP_IOPAD(0x3c, PIN_INPUT, 0) /* (B23) MCU_OSPI1_DQS */ 128 J721E_WKUP_IOPAD(0x38, PIN_INPUT, 0) /* (A23) MCU_OSPI1_LBCLKO */ 129 >; 130 }; 131}; 132 133&wkup_uart0 { 134 /* Wakeup UART is used by System firmware */ 135 status = "disabled"; 136}; 137 138&main_uart0 { 139 power-domains = <&k3_pds 146 TI_SCI_PD_SHARED>; 140}; 141 142&main_uart3 { 143 /* UART not brought out */ 144 status = "disabled"; 145}; 146 147&main_uart5 { 148 /* UART not brought out */ 149 status = "disabled"; 150}; 151 152&main_uart6 { 153 /* UART not brought out */ 154 status = "disabled"; 155}; 156 157&main_uart7 { 158 /* UART not brought out */ 159 status = "disabled"; 160}; 161 162&main_uart8 { 163 /* UART not brought out */ 164 status = "disabled"; 165}; 166 167&main_uart9 { 168 /* UART not brought out */ 169 status = "disabled"; 170}; 171 172&main_gpio2 { 173 status = "disabled"; 174}; 175 176&main_gpio3 { 177 status = "disabled"; 178}; 179 180&main_gpio4 { 181 status = "disabled"; 182}; 183 184&main_gpio5 { 185 status = "disabled"; 186}; 187 188&main_gpio6 { 189 status = "disabled"; 190}; 191 192&main_gpio7 { 193 status = "disabled"; 194}; 195 196&wkup_gpio1 { 197 status = "disabled"; 198}; 199 200&mailbox0_cluster0 { 201 interrupts = <214 0>; 202 203 mbox_mcu_r5fss0_core0: mbox-mcu-r5fss0-core0 { 204 ti,mbox-rx = <0 0 0>; 205 ti,mbox-tx = <1 0 0>; 206 }; 207 208 mbox_mcu_r5fss0_core1: mbox-mcu-r5fss0-core1 { 209 ti,mbox-rx = <2 0 0>; 210 ti,mbox-tx = <3 0 0>; 211 }; 212}; 213 214&mailbox0_cluster1 { 215 interrupts = <215 0>; 216 217 mbox_main_r5fss0_core0: mbox-main-r5fss0-core0 { 218 ti,mbox-rx = <0 0 0>; 219 ti,mbox-tx = <1 0 0>; 220 }; 221 222 mbox_main_r5fss0_core1: mbox-main-r5fss0-core1 { 223 ti,mbox-rx = <2 0 0>; 224 ti,mbox-tx = <3 0 0>; 225 }; 226}; 227 228&mailbox0_cluster2 { 229 interrupts = <216 0>; 230 231 mbox_main_r5fss1_core0: mbox-main-r5fss1-core0 { 232 ti,mbox-rx = <0 0 0>; 233 ti,mbox-tx = <1 0 0>; 234 }; 235 236 mbox_main_r5fss1_core1: mbox-main-r5fss1-core1 { 237 ti,mbox-rx = <2 0 0>; 238 ti,mbox-tx = <3 0 0>; 239 }; 240}; 241 242&mailbox0_cluster3 { 243 interrupts = <217 0>; 244 245 mbox_c66_0: mbox-c66-0 { 246 ti,mbox-rx = <0 0 0>; 247 ti,mbox-tx = <1 0 0>; 248 }; 249 250 mbox_c66_1: mbox-c66-1 { 251 ti,mbox-rx = <2 0 0>; 252 ti,mbox-tx = <3 0 0>; 253 }; 254}; 255 256&mailbox0_cluster4 { 257 interrupts = <218 0>; 258 259 mbox_c71_0: mbox-c71-0 { 260 ti,mbox-rx = <0 0 0>; 261 ti,mbox-tx = <1 0 0>; 262 }; 263}; 264 265&mailbox0_cluster5 { 266 status = "disabled"; 267}; 268 269&mailbox0_cluster6 { 270 status = "disabled"; 271}; 272 273&mailbox0_cluster7 { 274 status = "disabled"; 275}; 276 277&mailbox0_cluster8 { 278 status = "disabled"; 279}; 280 281&mailbox0_cluster9 { 282 status = "disabled"; 283}; 284 285&mailbox0_cluster10 { 286 status = "disabled"; 287}; 288 289&mailbox0_cluster11 { 290 status = "disabled"; 291}; 292 293&main_sdhci0 { 294 /* eMMC */ 295 non-removable; 296 ti,driver-strength-ohm = <50>; 297 disable-wp; 298}; 299 300&main_sdhci1 { 301 /* SD/MMC */ 302 pinctrl-names = "default"; 303 pinctrl-0 = <&main_mmc1_pins_default>; 304 ti,driver-strength-ohm = <50>; 305 disable-wp; 306}; 307 308&main_sdhci2 { 309 /* Unused */ 310 status = "disabled"; 311}; 312 313&usbss0 { 314 pinctrl-names = "default"; 315 pinctrl-0 = <&main_usbss0_pins_default>; 316 ti,usb2-only; 317 ti,vbus-divider; 318}; 319 320&usb0 { 321 dr_mode = "otg"; 322 maximum-speed = "high-speed"; 323}; 324 325&usbss1 { 326 pinctrl-names = "default"; 327 pinctrl-0 = <&main_usbss1_pins_default>; 328 ti,usb2-only; 329}; 330 331&usb1 { 332 dr_mode = "host"; 333 maximum-speed = "high-speed"; 334}; 335 336&ospi1 { 337 pinctrl-names = "default"; 338 pinctrl-0 = <&mcu_fss0_ospi1_pins_default>; 339 340 flash@0{ 341 compatible = "jedec,spi-nor"; 342 reg = <0x0>; 343 spi-tx-bus-width = <1>; 344 spi-rx-bus-width = <4>; 345 spi-max-frequency = <40000000>; 346 cdns,tshsl-ns = <60>; 347 cdns,tsd2d-ns = <60>; 348 cdns,tchsh-ns = <60>; 349 cdns,tslch-ns = <60>; 350 cdns,read-delay = <2>; 351 #address-cells = <1>; 352 #size-cells = <1>; 353 }; 354}; 355 356&tscadc0 { 357 adc { 358 ti,adc-channels = <0 1 2 3 4 5 6 7>; 359 }; 360}; 361 362&tscadc1 { 363 adc { 364 ti,adc-channels = <0 1 2 3 4 5 6 7>; 365 }; 366}; 367 368&main_i2c0 { 369 pinctrl-names = "default"; 370 pinctrl-0 = <&main_i2c0_pins_default>; 371 clock-frequency = <400000>; 372 373 exp1: gpio@20 { 374 compatible = "ti,tca6416"; 375 reg = <0x20>; 376 gpio-controller; 377 #gpio-cells = <2>; 378 }; 379 380 exp2: gpio@22 { 381 compatible = "ti,tca6424"; 382 reg = <0x22>; 383 gpio-controller; 384 #gpio-cells = <2>; 385 }; 386}; 387 388&main_i2c1 { 389 pinctrl-names = "default"; 390 pinctrl-0 = <&main_i2c1_pins_default>; 391 clock-frequency = <400000>; 392 393 exp4: gpio@20 { 394 compatible = "ti,tca6408"; 395 reg = <0x20>; 396 gpio-controller; 397 #gpio-cells = <2>; 398 pinctrl-names = "default"; 399 pinctrl-0 = <&main_i2c1_exp4_pins_default>; 400 interrupt-parent = <&main_gpio1>; 401 interrupts = <11 IRQ_TYPE_EDGE_FALLING>; 402 interrupt-controller; 403 #interrupt-cells = <2>; 404 }; 405}; 406 407&main_i2c3 { 408 pinctrl-names = "default"; 409 pinctrl-0 = <&main_i2c3_pins_default>; 410 clock-frequency = <400000>; 411 412 exp3: gpio@20 { 413 compatible = "ti,tca6408"; 414 reg = <0x20>; 415 gpio-controller; 416 #gpio-cells = <2>; 417 }; 418}; 419 420&main_i2c6 { 421 pinctrl-names = "default"; 422 pinctrl-0 = <&main_i2c6_pins_default>; 423 clock-frequency = <400000>; 424 425 exp5: gpio@20 { 426 compatible = "ti,tca6408"; 427 reg = <0x20>; 428 gpio-controller; 429 #gpio-cells = <2>; 430 }; 431}; 432