1 // SPDX-License-Identifier: GPL-2.0
3 * Copyright (c) Siemens AG, 2018-2021
6 * Le Jin <le.jin@siemens.com>
7 * Jan Kiszka <jan.kiszk@siemens.com>
9 * Common bits of the IOT2050 Basic and Advanced variants
14 #include "k3-am654.dtsi"
15 #include <dt-bindings/phy/phy.h>
23 stdout-path = "serial3:115200n8";
24 bootargs = "earlycon=ns16550a,mmio32,0x02810000";
32 secure_ddr: secure-ddr@9e800000 {
33 reg = <0 0x9e800000 0 0x01800000>; /* for OP-TEE */
38 mcu_r5fss0_core0_dma_memory_region: r5f-dma-memory@a0000000 {
39 compatible = "shared-dma-pool";
40 reg = <0 0xa0000000 0 0x100000>;
44 mcu_r5fss0_core0_memory_region: r5f-memory@a0100000 {
45 compatible = "shared-dma-pool";
46 reg = <0 0xa0100000 0 0xf00000>;
50 mcu_r5fss0_core1_dma_memory_region: r5f-dma-memory@a1000000 {
51 compatible = "shared-dma-pool";
52 reg = <0 0xa1000000 0 0x100000>;
56 mcu_r5fss0_core1_memory_region: r5f-memory@a1100000 {
57 compatible = "shared-dma-pool";
58 reg = <0 0xa1100000 0 0xf00000>;
62 rtos_ipc_memory_region: ipc-memories@a2000000 {
63 reg = <0x00 0xa2000000 0x00 0x00200000>;
70 compatible = "gpio-leds";
71 pinctrl-names = "default";
72 pinctrl-0 = <&leds_pins_default>;
75 gpios = <&wkup_gpio0 32 GPIO_ACTIVE_HIGH>;
80 gpios = <&wkup_gpio0 24 GPIO_ACTIVE_HIGH>;
84 gpios = <&pcal9535_3 14 GPIO_ACTIVE_HIGH>;
88 gpios = <&pcal9535_2 15 GPIO_ACTIVE_HIGH>;
92 gpios = <&wkup_gpio0 17 GPIO_ACTIVE_HIGH>;
96 gpios = <&wkup_gpio0 22 GPIO_ACTIVE_HIGH>;
101 compatible = "fixed-clock";
103 clock-frequency = <19200000>;
108 wkup_i2c0_pins_default: wkup-i2c0-pins-default {
109 pinctrl-single,pins = <
110 /* (AC7) WKUP_I2C0_SCL */
111 AM65X_WKUP_IOPAD(0x00e0, PIN_INPUT, 0)
112 /* (AD6) WKUP_I2C0_SDA */
113 AM65X_WKUP_IOPAD(0x00e4, PIN_INPUT, 0)
117 mcu_i2c0_pins_default: mcu-i2c0-pins-default {
118 pinctrl-single,pins = <
119 /* (AD8) MCU_I2C0_SCL */
120 AM65X_WKUP_IOPAD(0x00e8, PIN_INPUT, 0)
121 /* (AD7) MCU_I2C0_SDA */
122 AM65X_WKUP_IOPAD(0x00ec, PIN_INPUT, 0)
126 arduino_i2c_aio_switch_pins_default: arduino-i2c-aio-switch-pins-default {
127 pinctrl-single,pins = <
128 /* (R2) WKUP_GPIO0_21 */
129 AM65X_WKUP_IOPAD(0x0024, PIN_OUTPUT, 7)
133 push_button_pins_default: push-button-pins-default {
134 pinctrl-single,pins = <
135 /* (T1) MCU_OSPI1_CLK.WKUP_GPIO0_25 */
136 AM65X_WKUP_IOPAD(0x0034, PIN_INPUT, 7)
140 arduino_uart_pins_default: arduino-uart-pins-default {
141 pinctrl-single,pins = <
142 /* (P4) MCU_UART0_RXD */
143 AM65X_WKUP_IOPAD(0x0044, PIN_INPUT, 4)
144 /* (P5) MCU_UART0_TXD */
145 AM65X_WKUP_IOPAD(0x0048, PIN_OUTPUT, 4)
149 arduino_io_d2_to_d3_pins_default: arduino-io-d2-to-d3-pins-default {
150 pinctrl-single,pins = <
151 /* (P1) WKUP_GPIO0_31 */
152 AM65X_WKUP_IOPAD(0x004C, PIN_OUTPUT, 7)
153 /* (N3) WKUP_GPIO0_33 */
154 AM65X_WKUP_IOPAD(0x0054, PIN_OUTPUT, 7)
158 arduino_io_oe_pins_default: arduino-io-oe-pins-default {
159 pinctrl-single,pins = <
160 /* (N4) WKUP_GPIO0_34 */
161 AM65X_WKUP_IOPAD(0x0058, PIN_OUTPUT, 7)
162 /* (M2) WKUP_GPIO0_36 */
163 AM65X_WKUP_IOPAD(0x0060, PIN_OUTPUT, 7)
164 /* (M3) WKUP_GPIO0_37 */
165 AM65X_WKUP_IOPAD(0x0064, PIN_OUTPUT, 7)
166 /* (M4) WKUP_GPIO0_38 */
167 AM65X_WKUP_IOPAD(0x0068, PIN_OUTPUT, 7)
168 /* (M1) WKUP_GPIO0_41 */
169 AM65X_WKUP_IOPAD(0x0074, PIN_OUTPUT, 7)
173 mcu_fss0_ospi0_pins_default: mcu-fss0-ospi0-pins-default {
174 pinctrl-single,pins = <
175 /* (V1) MCU_OSPI0_CLK */
176 AM65X_WKUP_IOPAD(0x0000, PIN_OUTPUT, 0)
177 /* (U2) MCU_OSPI0_DQS */
178 AM65X_WKUP_IOPAD(0x0008, PIN_INPUT, 0)
179 /* (U4) MCU_OSPI0_D0 */
180 AM65X_WKUP_IOPAD(0x000c, PIN_INPUT, 0)
181 /* (U5) MCU_OSPI0_D1 */
182 AM65X_WKUP_IOPAD(0x0010, PIN_INPUT, 0)
183 /* (R4) MCU_OSPI0_CSn0 */
184 AM65X_WKUP_IOPAD(0x002c, PIN_OUTPUT, 0)
188 db9_com_mode_pins_default: db9-com-mode-pins-default {
189 pinctrl-single,pins = <
190 /* (AD3) WKUP_GPIO0_5, used as uart0 mode 0 */
191 AM65X_WKUP_IOPAD(0x00c4, PIN_OUTPUT, 7)
192 /* (AC3) WKUP_GPIO0_4, used as uart0 mode 1 */
193 AM65X_WKUP_IOPAD(0x00c0, PIN_OUTPUT, 7)
194 /* (AC1) WKUP_GPIO0_7, used as uart0 term */
195 AM65X_WKUP_IOPAD(0x00cc, PIN_OUTPUT, 7)
196 /* (AC2) WKUP_GPIO0_6, used as uart0 en */
197 AM65X_WKUP_IOPAD(0x00c8, PIN_OUTPUT, 7)
201 leds_pins_default: leds-pins-default {
202 pinctrl-single,pins = <
203 /* (T2) WKUP_GPIO0_17, used as user led1 red */
204 AM65X_WKUP_IOPAD(0x0014, PIN_OUTPUT, 7)
205 /* (R3) WKUP_GPIO0_22, used as user led1 green */
206 AM65X_WKUP_IOPAD(0x0028, PIN_OUTPUT, 7)
207 /* (R5) WKUP_GPIO0_24, used as status led red */
208 AM65X_WKUP_IOPAD(0x0030, PIN_OUTPUT, 7)
209 /* (N2) WKUP_GPIO0_32, used as status led green */
210 AM65X_WKUP_IOPAD(0x0050, PIN_OUTPUT, 7)
214 mcu_spi0_pins_default: mcu-spi0-pins-default {
215 pinctrl-single,pins = <
216 /* (Y1) MCU_SPI0_CLK */
217 AM65X_WKUP_IOPAD(0x0090, PIN_INPUT, 0)
218 /* (Y3) MCU_SPI0_D0 */
219 AM65X_WKUP_IOPAD(0x0094, PIN_INPUT, 0)
220 /* (Y2) MCU_SPI0_D1 */
221 AM65X_WKUP_IOPAD(0x0098, PIN_INPUT, 0)
222 /* (Y4) MCU_SPI0_CS0 */
223 AM65X_WKUP_IOPAD(0x009c, PIN_OUTPUT, 0)
227 minipcie_pins_default: minipcie-pins-default {
228 pinctrl-single,pins = <
229 /* (P2) MCU_OSPI1_DQS.WKUP_GPIO0_27 */
230 AM65X_WKUP_IOPAD(0x003C, PIN_OUTPUT, 7)
236 main_uart1_pins_default: main-uart1-pins-default {
237 pinctrl-single,pins = <
238 AM65X_IOPAD(0x0174, PIN_INPUT, 6) /* (AE23) UART1_RXD */
239 AM65X_IOPAD(0x014c, PIN_OUTPUT, 6) /* (AD23) UART1_TXD */
240 AM65X_IOPAD(0x0178, PIN_INPUT, 6) /* (AD22) UART1_CTSn */
241 AM65X_IOPAD(0x017c, PIN_OUTPUT, 6) /* (AC21) UART1_RTSn */
245 main_i2c3_pins_default: main-i2c3-pins-default {
246 pinctrl-single,pins = <
247 AM65X_IOPAD(0x01c0, PIN_INPUT, 2) /* (AF13) I2C3_SCL */
248 AM65X_IOPAD(0x01d4, PIN_INPUT, 2) /* (AG12) I2C3_SDA */
252 main_mmc1_pins_default: main-mmc1-pins-default {
253 pinctrl-single,pins = <
254 AM65X_IOPAD(0x02d4, PIN_INPUT_PULLDOWN, 0) /* (C27) MMC1_CLK */
255 AM65X_IOPAD(0x02d8, PIN_INPUT_PULLUP, 0) /* (C28) MMC1_CMD */
256 AM65X_IOPAD(0x02d0, PIN_INPUT_PULLUP, 0) /* (D28) MMC1_DAT0 */
257 AM65X_IOPAD(0x02cc, PIN_INPUT_PULLUP, 0) /* (E27) MMC1_DAT1 */
258 AM65X_IOPAD(0x02c8, PIN_INPUT_PULLUP, 0) /* (D26) MMC1_DAT2 */
259 AM65X_IOPAD(0x02c4, PIN_INPUT_PULLUP, 0) /* (D27) MMC1_DAT3 */
260 AM65X_IOPAD(0x02dc, PIN_INPUT_PULLUP, 0) /* (B24) MMC1_SDCD */
261 AM65X_IOPAD(0x02e0, PIN_INPUT_PULLUP, 0) /* (C24) MMC1_SDWP */
265 usb0_pins_default: usb0-pins-default {
266 pinctrl-single,pins = <
267 AM65X_IOPAD(0x02bc, PIN_OUTPUT, 0) /* (AD9) USB0_DRVVBUS */
271 usb1_pins_default: usb1-pins-default {
272 pinctrl-single,pins = <
273 AM65X_IOPAD(0x02c0, PIN_OUTPUT, 0) /* (AC8) USB1_DRVVBUS */
277 arduino_io_d4_to_d9_pins_default: arduino-io-d4-to-d9-pins-default {
278 pinctrl-single,pins = <
279 AM65X_IOPAD(0x0084, PIN_OUTPUT, 7) /* (AG18) GPIO0_33 */
280 AM65X_IOPAD(0x008C, PIN_OUTPUT, 7) /* (AF17) GPIO0_35 */
281 AM65X_IOPAD(0x0098, PIN_OUTPUT, 7) /* (AH16) GPIO0_38 */
282 AM65X_IOPAD(0x00AC, PIN_OUTPUT, 7) /* (AH15) GPIO0_43 */
283 AM65X_IOPAD(0x00C0, PIN_OUTPUT, 7) /* (AG15) GPIO0_48 */
284 AM65X_IOPAD(0x00CC, PIN_OUTPUT, 7) /* (AD15) GPIO0_51 */
288 dss_vout1_pins_default: dss-vout1-pins-default {
289 pinctrl-single,pins = <
290 AM65X_IOPAD(0x0000, PIN_OUTPUT, 1) /* VOUT1_DATA0 */
291 AM65X_IOPAD(0x0004, PIN_OUTPUT, 1) /* VOUT1_DATA1 */
292 AM65X_IOPAD(0x0008, PIN_OUTPUT, 1) /* VOUT1_DATA2 */
293 AM65X_IOPAD(0x000c, PIN_OUTPUT, 1) /* VOUT1_DATA3 */
294 AM65X_IOPAD(0x0010, PIN_OUTPUT, 1) /* VOUT1_DATA4 */
295 AM65X_IOPAD(0x0014, PIN_OUTPUT, 1) /* VOUT1_DATA5 */
296 AM65X_IOPAD(0x0018, PIN_OUTPUT, 1) /* VOUT1_DATA6 */
297 AM65X_IOPAD(0x001c, PIN_OUTPUT, 1) /* VOUT1_DATA7 */
298 AM65X_IOPAD(0x0020, PIN_OUTPUT, 1) /* VOUT1_DATA8 */
299 AM65X_IOPAD(0x0024, PIN_OUTPUT, 1) /* VOUT1_DATA9 */
300 AM65X_IOPAD(0x0028, PIN_OUTPUT, 1) /* VOUT1_DATA10 */
301 AM65X_IOPAD(0x002c, PIN_OUTPUT, 1) /* VOUT1_DATA11 */
302 AM65X_IOPAD(0x0030, PIN_OUTPUT, 1) /* VOUT1_DATA12 */
303 AM65X_IOPAD(0x0034, PIN_OUTPUT, 1) /* VOUT1_DATA13 */
304 AM65X_IOPAD(0x0038, PIN_OUTPUT, 1) /* VOUT1_DATA14 */
305 AM65X_IOPAD(0x003c, PIN_OUTPUT, 1) /* VOUT1_DATA15 */
306 AM65X_IOPAD(0x0040, PIN_OUTPUT, 1) /* VOUT1_DATA16 */
307 AM65X_IOPAD(0x0044, PIN_OUTPUT, 1) /* VOUT1_DATA17 */
308 AM65X_IOPAD(0x0048, PIN_OUTPUT, 1) /* VOUT1_DATA18 */
309 AM65X_IOPAD(0x004c, PIN_OUTPUT, 1) /* VOUT1_DATA19 */
310 AM65X_IOPAD(0x0050, PIN_OUTPUT, 1) /* VOUT1_DATA20 */
311 AM65X_IOPAD(0x0054, PIN_OUTPUT, 1) /* VOUT1_DATA21 */
312 AM65X_IOPAD(0x0058, PIN_OUTPUT, 1) /* VOUT1_DATA22 */
313 AM65X_IOPAD(0x005c, PIN_OUTPUT, 1) /* VOUT1_DATA23 */
314 AM65X_IOPAD(0x0060, PIN_OUTPUT, 1) /* VOUT1_VSYNC */
315 AM65X_IOPAD(0x0064, PIN_OUTPUT, 1) /* VOUT1_HSYNC */
316 AM65X_IOPAD(0x0068, PIN_OUTPUT, 1) /* VOUT1_PCLK */
317 AM65X_IOPAD(0x006c, PIN_OUTPUT, 1) /* VOUT1_DE */
321 dp_pins_default: dp-pins-default {
322 pinctrl-single,pins = <
323 AM65X_IOPAD(0x0078, PIN_OUTPUT, 7) /* (AF18) DP rst_n */
327 main_i2c2_pins_default: main-i2c2-pins-default {
328 pinctrl-single,pins = <
329 AM65X_IOPAD(0x0074, PIN_INPUT, 5) /* (T27) I2C2_SCL */
330 AM65X_IOPAD(0x0070, PIN_INPUT, 5) /* (R25) I2C2_SDA */
336 main_i2c0_pins_default: main-i2c0-pins-default {
337 pinctrl-single,pins = <
338 AM65X_IOPAD(0x0000, PIN_INPUT, 0) /* (D20) I2C0_SCL */
339 AM65X_IOPAD(0x0004, PIN_INPUT, 0) /* (C21) I2C0_SDA */
343 main_i2c1_pins_default: main-i2c1-pins-default {
344 pinctrl-single,pins = <
345 AM65X_IOPAD(0x0008, PIN_INPUT, 0) /* (B21) I2C1_SCL */
346 AM65X_IOPAD(0x000c, PIN_INPUT, 0) /* (E21) I2C1_SDA */
350 ecap0_pins_default: ecap0-pins-default {
351 pinctrl-single,pins = <
352 AM65X_IOPAD(0x0010, PIN_INPUT, 0) /* (D21) ECAP0_IN_APWM_OUT */
358 /* Wakeup UART is used by System firmware */
363 pinctrl-names = "default";
364 pinctrl-0 = <&main_uart1_pins_default>;
372 pinctrl-names = "default";
373 pinctrl-0 = <&arduino_uart_pins_default>;
377 pinctrl-names = "default";
378 pinctrl-0 = <&arduino_io_d4_to_d9_pins_default>;
380 "main_gpio0-base", "", "", "", "", "", "", "", "", "",
381 "", "", "", "", "", "", "", "", "", "",
382 "", "", "", "", "", "", "", "", "", "",
383 "", "", "", "IO4", "", "IO5", "", "", "IO6", "",
384 "", "", "", "IO7", "", "", "", "", "IO8", "",
389 pinctrl-names = "default";
391 &arduino_io_d2_to_d3_pins_default
392 &arduino_i2c_aio_switch_pins_default
393 &arduino_io_oe_pins_default
394 &push_button_pins_default
395 &db9_com_mode_pins_default
399 "wkup_gpio0-base", "", "", "", "UART0-mode1", "UART0-mode0",
400 "UART0-enable", "UART0-terminate", "", "WIFI-disable",
402 "", "", "", "", "", "", "", "", "", "",
404 "", "A4A5-I2C-mux", "", "", "", "USER-button", "", "", "","IO0",
406 "IO1", "IO2", "", "IO3", "IO17-direction", "A5",
407 "IO16-direction", "IO15-direction", "IO14-direction", "A3",
409 "", "IO18-direction", "A4", "A2", "A1", "A0", "", "", "IO13",
416 pinctrl-names = "default";
417 pinctrl-0 = <&wkup_i2c0_pins_default>;
418 clock-frequency = <400000>;
422 pinctrl-names = "default";
423 pinctrl-0 = <&mcu_i2c0_pins_default>;
424 clock-frequency = <400000>;
427 compatible = "ti,tps62363";
429 regulator-name = "tps62363-vout";
430 regulator-min-microvolt = <500000>;
431 regulator-max-microvolt = <1500000>;
435 ti,enable-vout-discharge;
439 pcal9535_1: gpio@20 {
440 compatible = "nxp,pcal9535";
445 "A0-pull", "A1-pull", "A2-pull", "A3-pull", "A4-pull",
447 "IO14-enable", "IO15-enable", "IO16-enable",
448 "IO17-enable", "IO18-enable", "IO19-enable";
452 pcal9535_2: gpio@21 {
453 compatible = "nxp,pcal9535";
458 "IO0-direction", "IO1-direction", "IO2-direction",
459 "IO3-direction", "IO4-direction", "IO5-direction",
460 "IO6-direction", "IO7-direction",
461 "IO8-direction", "IO9-direction", "IO10-direction",
462 "IO11-direction", "IO12-direction", "IO13-direction",
467 pcal9535_3: gpio@25 {
468 compatible = "nxp,pcal9535";
473 "IO0-pull", "IO1-pull", "IO2-pull", "IO3-pull",
474 "IO4-pull", "IO5-pull", "IO6-pull", "IO7-pull",
475 "IO8-pull", "IO9-pull", "IO10-pull", "IO11-pull",
476 "IO12-pull", "IO13-pull";
481 pinctrl-names = "default";
482 pinctrl-0 = <&main_i2c0_pins_default>;
483 clock-frequency = <400000>;
486 compatible = "nxp,pcf8563";
491 compatible = "atmel,24c08";
498 pinctrl-names = "default";
499 pinctrl-0 = <&main_i2c1_pins_default>;
500 clock-frequency = <400000>;
504 pinctrl-names = "default";
505 pinctrl-0 = <&main_i2c2_pins_default>;
506 clock-frequency = <400000>;
510 pinctrl-names = "default";
511 pinctrl-0 = <&main_i2c3_pins_default>;
512 clock-frequency = <400000>;
514 #address-cells = <1>;
518 compatible = "toshiba,tc358767";
520 pinctrl-names = "default";
521 pinctrl-0 = <&dp_pins_default>;
522 reset-gpios = <&main_gpio0 30 GPIO_ACTIVE_HIGH>;
525 clocks = <&dp_refclk>;
527 toshiba,hpd-pin = <0>;
530 #address-cells = <1>;
536 bridge_in: endpoint {
537 remote-endpoint = <&dpi_out>;
549 pinctrl-names = "default";
550 pinctrl-0 = <&ecap0_pins_default>;
554 pinctrl-names = "default";
555 pinctrl-0 = <&main_mmc1_pins_default>;
556 ti,driver-strength-ohm = <50>;
562 pinctrl-names = "default";
563 pinctrl-0 = <&usb0_pins_default>;
568 pinctrl-names = "default";
569 pinctrl-0 = <&usb1_pins_default>;
574 pinctrl-names = "default";
575 pinctrl-0 = <&mcu_spi0_pins_default>;
577 #address-cells = <1>;
579 ti,pindir-d0-out-d1-in;
588 ti,adc-channels = <0 1 2 3 4 5>;
593 pinctrl-names = "default";
594 pinctrl-0 = <&mcu_fss0_ospi0_pins_default>;
597 compatible = "jedec,spi-nor";
599 spi-tx-bus-width = <1>;
600 spi-rx-bus-width = <1>;
601 spi-max-frequency = <50000000>;
602 cdns,tshsl-ns = <60>;
603 cdns,tsd2d-ns = <60>;
604 cdns,tchsh-ns = <60>;
605 cdns,tslch-ns = <60>;
606 cdns,read-delay = <2>;
607 #address-cells = <1>;
613 pinctrl-names = "default";
614 pinctrl-0 = <&dss_vout1_pins_default>;
616 assigned-clocks = <&k3_clks 67 2>;
617 assigned-clock-parents = <&k3_clks 67 5>;
621 #address-cells = <1>;
627 remote-endpoint = <&bridge_in>;
645 pinctrl-names = "default";
646 pinctrl-0 = <&minipcie_pins_default>;
649 phys = <&serdes1 PHY_TYPE_PCIE 0>;
650 phy-names = "pcie-phy0";
651 reset-gpios = <&wkup_gpio0 27 GPIO_ACTIVE_HIGH>;
698 &mailbox0_cluster10 {
702 &mailbox0_cluster11 {