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.kiszka@siemens.com>
9 * Common bits of the IOT2050 Basic and Advanced variants, PG1 and PG2
12 #include "k3-am654.dtsi"
13 #include <dt-bindings/phy/phy.h>
23 stdout-path = "serial3:115200n8";
31 secure_ddr: secure-ddr@9e800000 {
32 reg = <0 0x9e800000 0 0x01800000>; /* for OP-TEE */
37 mcu_r5fss0_core0_dma_memory_region: r5f-dma-memory@a0000000 {
38 compatible = "shared-dma-pool";
39 reg = <0 0xa0000000 0 0x100000>;
43 mcu_r5fss0_core0_memory_region: r5f-memory@a0100000 {
44 compatible = "shared-dma-pool";
45 reg = <0 0xa0100000 0 0xf00000>;
49 mcu_r5fss0_core1_dma_memory_region: r5f-dma-memory@a1000000 {
50 compatible = "shared-dma-pool";
51 reg = <0 0xa1000000 0 0x100000>;
55 mcu_r5fss0_core1_memory_region: r5f-memory@a1100000 {
56 compatible = "shared-dma-pool";
57 reg = <0 0xa1100000 0 0xf00000>;
61 rtos_ipc_memory_region: ipc-memories@a2000000 {
62 reg = <0x00 0xa2000000 0x00 0x00200000>;
69 compatible = "gpio-leds";
70 pinctrl-names = "default";
71 pinctrl-0 = <&leds_pins_default>;
74 gpios = <&wkup_gpio0 32 GPIO_ACTIVE_HIGH>;
79 gpios = <&wkup_gpio0 24 GPIO_ACTIVE_HIGH>;
83 gpios = <&pcal9535_3 14 GPIO_ACTIVE_HIGH>;
87 gpios = <&pcal9535_2 15 GPIO_ACTIVE_HIGH>;
91 gpios = <&wkup_gpio0 17 GPIO_ACTIVE_HIGH>;
95 gpios = <&wkup_gpio0 22 GPIO_ACTIVE_HIGH>;
100 compatible = "fixed-clock";
102 clock-frequency = <19200000>;
107 wkup_i2c0_pins_default: wkup-i2c0-default-pins {
108 pinctrl-single,pins = <
109 /* (AC7) WKUP_I2C0_SCL */
110 AM65X_WKUP_IOPAD(0x00e0, PIN_INPUT, 0)
111 /* (AD6) WKUP_I2C0_SDA */
112 AM65X_WKUP_IOPAD(0x00e4, PIN_INPUT, 0)
116 mcu_i2c0_pins_default: mcu-i2c0-default-pins {
117 pinctrl-single,pins = <
118 /* (AD8) MCU_I2C0_SCL */
119 AM65X_WKUP_IOPAD(0x00e8, PIN_INPUT, 0)
120 /* (AD7) MCU_I2C0_SDA */
121 AM65X_WKUP_IOPAD(0x00ec, PIN_INPUT, 0)
125 arduino_i2c_aio_switch_pins_default: arduino-i2c-aio-switch-default-pins {
126 pinctrl-single,pins = <
127 /* (R2) WKUP_GPIO0_21 */
128 AM65X_WKUP_IOPAD(0x0024, PIN_OUTPUT, 7)
132 push_button_pins_default: push-button-default-pins {
133 pinctrl-single,pins = <
134 /* (T1) MCU_OSPI1_CLK.WKUP_GPIO0_25 */
135 AM65X_WKUP_IOPAD(0x0034, PIN_INPUT, 7)
139 arduino_uart_pins_default: arduino-uart-default-pins {
140 pinctrl-single,pins = <
141 /* (P4) MCU_UART0_RXD */
142 AM65X_WKUP_IOPAD(0x0044, PIN_INPUT, 4)
143 /* (P5) MCU_UART0_TXD */
144 AM65X_WKUP_IOPAD(0x0048, PIN_OUTPUT, 4)
148 arduino_io_d2_to_d3_pins_default: arduino-io-d2-to-d3-default-pins {
149 pinctrl-single,pins = <
150 /* (P1) WKUP_GPIO0_31 */
151 AM65X_WKUP_IOPAD(0x004C, PIN_OUTPUT, 7)
152 /* (N3) WKUP_GPIO0_33 */
153 AM65X_WKUP_IOPAD(0x0054, PIN_OUTPUT, 7)
157 arduino_io_oe_pins_default: arduino-io-oe-default-pins {
158 pinctrl-single,pins = <
159 /* (N4) WKUP_GPIO0_34 */
160 AM65X_WKUP_IOPAD(0x0058, PIN_OUTPUT, 7)
161 /* (M2) WKUP_GPIO0_36 */
162 AM65X_WKUP_IOPAD(0x0060, PIN_OUTPUT, 7)
163 /* (M3) WKUP_GPIO0_37 */
164 AM65X_WKUP_IOPAD(0x0064, PIN_OUTPUT, 7)
165 /* (M4) WKUP_GPIO0_38 */
166 AM65X_WKUP_IOPAD(0x0068, PIN_OUTPUT, 7)
167 /* (M1) WKUP_GPIO0_41 */
168 AM65X_WKUP_IOPAD(0x0074, PIN_OUTPUT, 7)
172 mcu_fss0_ospi0_pins_default: mcu-fss0-ospi0-default-pins {
173 pinctrl-single,pins = <
174 /* (V1) MCU_OSPI0_CLK */
175 AM65X_WKUP_IOPAD(0x0000, PIN_OUTPUT, 0)
176 /* (U2) MCU_OSPI0_DQS */
177 AM65X_WKUP_IOPAD(0x0008, PIN_INPUT, 0)
178 /* (U4) MCU_OSPI0_D0 */
179 AM65X_WKUP_IOPAD(0x000c, PIN_INPUT, 0)
180 /* (U5) MCU_OSPI0_D1 */
181 AM65X_WKUP_IOPAD(0x0010, PIN_INPUT, 0)
182 /* (R4) MCU_OSPI0_CSn0 */
183 AM65X_WKUP_IOPAD(0x002c, PIN_OUTPUT, 0)
187 db9_com_mode_pins_default: db9-com-mode-default-pins {
188 pinctrl-single,pins = <
189 /* (AD3) WKUP_GPIO0_5, used as uart0 mode 0 */
190 AM65X_WKUP_IOPAD(0x00c4, PIN_OUTPUT, 7)
191 /* (AC3) WKUP_GPIO0_4, used as uart0 mode 1 */
192 AM65X_WKUP_IOPAD(0x00c0, PIN_OUTPUT, 7)
193 /* (AC1) WKUP_GPIO0_7, used as uart0 term */
194 AM65X_WKUP_IOPAD(0x00cc, PIN_OUTPUT, 7)
195 /* (AC2) WKUP_GPIO0_6, used as uart0 en */
196 AM65X_WKUP_IOPAD(0x00c8, PIN_OUTPUT, 7)
200 leds_pins_default: leds-default-pins {
201 pinctrl-single,pins = <
202 /* (T2) WKUP_GPIO0_17, used as user led1 red */
203 AM65X_WKUP_IOPAD(0x0014, PIN_OUTPUT, 7)
204 /* (R3) WKUP_GPIO0_22, used as user led1 green */
205 AM65X_WKUP_IOPAD(0x0028, PIN_OUTPUT, 7)
206 /* (R5) WKUP_GPIO0_24, used as status led red */
207 AM65X_WKUP_IOPAD(0x0030, PIN_OUTPUT, 7)
208 /* (N2) WKUP_GPIO0_32, used as status led green */
209 AM65X_WKUP_IOPAD(0x0050, PIN_OUTPUT, 7)
213 mcu_spi0_pins_default: mcu-spi0-default-pins {
214 pinctrl-single,pins = <
215 /* (Y1) MCU_SPI0_CLK */
216 AM65X_WKUP_IOPAD(0x0090, PIN_INPUT, 0)
217 /* (Y3) MCU_SPI0_D0 */
218 AM65X_WKUP_IOPAD(0x0094, PIN_INPUT, 0)
219 /* (Y2) MCU_SPI0_D1 */
220 AM65X_WKUP_IOPAD(0x0098, PIN_INPUT, 0)
221 /* (Y4) MCU_SPI0_CS0 */
222 AM65X_WKUP_IOPAD(0x009c, PIN_OUTPUT, 0)
226 minipcie_pins_default: minipcie-default-pins {
227 pinctrl-single,pins = <
228 /* (P2) MCU_OSPI1_DQS.WKUP_GPIO0_27 */
229 AM65X_WKUP_IOPAD(0x003C, PIN_OUTPUT, 7)
235 main_uart1_pins_default: main-uart1-default-pins {
236 pinctrl-single,pins = <
237 AM65X_IOPAD(0x0174, PIN_INPUT, 6) /* (AE23) UART1_RXD */
238 AM65X_IOPAD(0x014c, PIN_OUTPUT, 6) /* (AD23) UART1_TXD */
239 AM65X_IOPAD(0x0178, PIN_INPUT, 6) /* (AD22) UART1_CTSn */
240 AM65X_IOPAD(0x017c, PIN_OUTPUT, 6) /* (AC21) UART1_RTSn */
244 main_i2c3_pins_default: main-i2c3-default-pins {
245 pinctrl-single,pins = <
246 AM65X_IOPAD(0x01c0, PIN_INPUT, 2) /* (AF13) I2C3_SCL */
247 AM65X_IOPAD(0x01d4, PIN_INPUT, 2) /* (AG12) I2C3_SDA */
251 main_mmc1_pins_default: main-mmc1-default-pins {
252 pinctrl-single,pins = <
253 AM65X_IOPAD(0x02d4, PIN_INPUT_PULLDOWN, 0) /* (C27) MMC1_CLK */
254 AM65X_IOPAD(0x02d8, PIN_INPUT_PULLUP, 0) /* (C28) MMC1_CMD */
255 AM65X_IOPAD(0x02d0, PIN_INPUT_PULLUP, 0) /* (D28) MMC1_DAT0 */
256 AM65X_IOPAD(0x02cc, PIN_INPUT_PULLUP, 0) /* (E27) MMC1_DAT1 */
257 AM65X_IOPAD(0x02c8, PIN_INPUT_PULLUP, 0) /* (D26) MMC1_DAT2 */
258 AM65X_IOPAD(0x02c4, PIN_INPUT_PULLUP, 0) /* (D27) MMC1_DAT3 */
259 AM65X_IOPAD(0x02dc, PIN_INPUT_PULLUP, 0) /* (B24) MMC1_SDCD */
260 AM65X_IOPAD(0x02e0, PIN_INPUT_PULLUP, 0) /* (C24) MMC1_SDWP */
264 usb0_pins_default: usb0-default-pins {
265 pinctrl-single,pins = <
266 AM65X_IOPAD(0x02bc, PIN_OUTPUT, 0) /* (AD9) USB0_DRVVBUS */
270 usb1_pins_default: usb1-default-pins {
271 pinctrl-single,pins = <
272 AM65X_IOPAD(0x02c0, PIN_OUTPUT, 0) /* (AC8) USB1_DRVVBUS */
276 arduino_io_d4_to_d9_pins_default: arduino-io-d4-to-d9-default-pins {
277 pinctrl-single,pins = <
278 AM65X_IOPAD(0x0084, PIN_OUTPUT, 7) /* (AG18) GPIO0_33 */
279 AM65X_IOPAD(0x008C, PIN_OUTPUT, 7) /* (AF17) GPIO0_35 */
280 AM65X_IOPAD(0x0098, PIN_OUTPUT, 7) /* (AH16) GPIO0_38 */
281 AM65X_IOPAD(0x00AC, PIN_OUTPUT, 7) /* (AH15) GPIO0_43 */
282 AM65X_IOPAD(0x00C0, PIN_OUTPUT, 7) /* (AG15) GPIO0_48 */
283 AM65X_IOPAD(0x00CC, PIN_OUTPUT, 7) /* (AD15) GPIO0_51 */
287 dss_vout1_pins_default: dss-vout1-default-pins {
288 pinctrl-single,pins = <
289 AM65X_IOPAD(0x0000, PIN_OUTPUT, 1) /* VOUT1_DATA0 */
290 AM65X_IOPAD(0x0004, PIN_OUTPUT, 1) /* VOUT1_DATA1 */
291 AM65X_IOPAD(0x0008, PIN_OUTPUT, 1) /* VOUT1_DATA2 */
292 AM65X_IOPAD(0x000c, PIN_OUTPUT, 1) /* VOUT1_DATA3 */
293 AM65X_IOPAD(0x0010, PIN_OUTPUT, 1) /* VOUT1_DATA4 */
294 AM65X_IOPAD(0x0014, PIN_OUTPUT, 1) /* VOUT1_DATA5 */
295 AM65X_IOPAD(0x0018, PIN_OUTPUT, 1) /* VOUT1_DATA6 */
296 AM65X_IOPAD(0x001c, PIN_OUTPUT, 1) /* VOUT1_DATA7 */
297 AM65X_IOPAD(0x0020, PIN_OUTPUT, 1) /* VOUT1_DATA8 */
298 AM65X_IOPAD(0x0024, PIN_OUTPUT, 1) /* VOUT1_DATA9 */
299 AM65X_IOPAD(0x0028, PIN_OUTPUT, 1) /* VOUT1_DATA10 */
300 AM65X_IOPAD(0x002c, PIN_OUTPUT, 1) /* VOUT1_DATA11 */
301 AM65X_IOPAD(0x0030, PIN_OUTPUT, 1) /* VOUT1_DATA12 */
302 AM65X_IOPAD(0x0034, PIN_OUTPUT, 1) /* VOUT1_DATA13 */
303 AM65X_IOPAD(0x0038, PIN_OUTPUT, 1) /* VOUT1_DATA14 */
304 AM65X_IOPAD(0x003c, PIN_OUTPUT, 1) /* VOUT1_DATA15 */
305 AM65X_IOPAD(0x0040, PIN_OUTPUT, 1) /* VOUT1_DATA16 */
306 AM65X_IOPAD(0x0044, PIN_OUTPUT, 1) /* VOUT1_DATA17 */
307 AM65X_IOPAD(0x0048, PIN_OUTPUT, 1) /* VOUT1_DATA18 */
308 AM65X_IOPAD(0x004c, PIN_OUTPUT, 1) /* VOUT1_DATA19 */
309 AM65X_IOPAD(0x0050, PIN_OUTPUT, 1) /* VOUT1_DATA20 */
310 AM65X_IOPAD(0x0054, PIN_OUTPUT, 1) /* VOUT1_DATA21 */
311 AM65X_IOPAD(0x0058, PIN_OUTPUT, 1) /* VOUT1_DATA22 */
312 AM65X_IOPAD(0x005c, PIN_OUTPUT, 1) /* VOUT1_DATA23 */
313 AM65X_IOPAD(0x0060, PIN_OUTPUT, 1) /* VOUT1_VSYNC */
314 AM65X_IOPAD(0x0064, PIN_OUTPUT, 1) /* VOUT1_HSYNC */
315 AM65X_IOPAD(0x0068, PIN_OUTPUT, 1) /* VOUT1_PCLK */
316 AM65X_IOPAD(0x006c, PIN_OUTPUT, 1) /* VOUT1_DE */
320 dp_pins_default: dp-default-pins {
321 pinctrl-single,pins = <
322 AM65X_IOPAD(0x0078, PIN_OUTPUT, 7) /* (AF18) DP rst_n */
326 main_i2c2_pins_default: main-i2c2-default-pins {
327 pinctrl-single,pins = <
328 AM65X_IOPAD(0x0074, PIN_INPUT, 5) /* (T27) I2C2_SCL */
329 AM65X_IOPAD(0x0070, PIN_INPUT, 5) /* (R25) I2C2_SDA */
335 main_i2c0_pins_default: main-i2c0-default-pins {
336 pinctrl-single,pins = <
337 AM65X_IOPAD(0x0000, PIN_INPUT, 0) /* (D20) I2C0_SCL */
338 AM65X_IOPAD(0x0004, PIN_INPUT, 0) /* (C21) I2C0_SDA */
342 main_i2c1_pins_default: main-i2c1-default-pins {
343 pinctrl-single,pins = <
344 AM65X_IOPAD(0x0008, PIN_INPUT, 0) /* (B21) I2C1_SCL */
345 AM65X_IOPAD(0x000c, PIN_INPUT, 0) /* (E21) I2C1_SDA */
349 ecap0_pins_default: ecap0-default-pins {
350 pinctrl-single,pins = <
351 AM65X_IOPAD(0x0010, PIN_INPUT, 0) /* (D21) ECAP0_IN_APWM_OUT */
357 /* Wakeup UART is used by System firmware */
363 pinctrl-names = "default";
364 pinctrl-0 = <&main_uart1_pins_default>;
369 pinctrl-names = "default";
370 pinctrl-0 = <&arduino_uart_pins_default>;
374 pinctrl-names = "default";
375 pinctrl-0 = <&arduino_io_d4_to_d9_pins_default>;
377 "main_gpio0-base", "", "", "", "", "", "", "", "", "",
378 "", "", "", "", "", "", "", "", "", "",
379 "", "", "", "", "", "", "", "", "", "",
380 "", "", "", "IO4", "", "IO5", "", "", "IO6", "",
381 "", "", "", "IO7", "", "", "", "", "IO8", "",
386 pinctrl-names = "default";
388 <&arduino_io_d2_to_d3_pins_default>,
389 <&arduino_i2c_aio_switch_pins_default>,
390 <&arduino_io_oe_pins_default>,
391 <&push_button_pins_default>,
392 <&db9_com_mode_pins_default>;
395 "wkup_gpio0-base", "", "", "", "UART0-mode1", "UART0-mode0",
396 "UART0-enable", "UART0-terminate", "", "WIFI-disable",
398 "", "", "", "", "", "", "", "", "", "",
400 "", "A4A5-I2C-mux", "", "", "", "USER-button", "", "", "","IO0",
402 "IO1", "IO2", "", "IO3", "IO17-direction", "A5",
403 "IO16-direction", "IO15-direction", "IO14-direction", "A3",
405 "", "IO18-direction", "A4", "A2", "A1", "A0", "", "", "IO13",
413 pinctrl-names = "default";
414 pinctrl-0 = <&wkup_i2c0_pins_default>;
415 clock-frequency = <400000>;
420 pinctrl-names = "default";
421 pinctrl-0 = <&mcu_i2c0_pins_default>;
422 clock-frequency = <400000>;
425 compatible = "ti,tps62363";
427 regulator-name = "tps62363-vout";
428 regulator-min-microvolt = <500000>;
429 regulator-max-microvolt = <1500000>;
433 ti,enable-vout-discharge;
437 pcal9535_1: gpio@20 {
438 compatible = "nxp,pcal9535";
443 "A0-pull", "A1-pull", "A2-pull", "A3-pull", "A4-pull",
445 "IO14-enable", "IO15-enable", "IO16-enable",
446 "IO17-enable", "IO18-enable", "IO19-enable";
450 pcal9535_2: gpio@21 {
451 compatible = "nxp,pcal9535";
456 "IO0-direction", "IO1-direction", "IO2-direction",
457 "IO3-direction", "IO4-direction", "IO5-direction",
458 "IO6-direction", "IO7-direction",
459 "IO8-direction", "IO9-direction", "IO10-direction",
460 "IO11-direction", "IO12-direction", "IO13-direction",
465 pcal9535_3: gpio@25 {
466 compatible = "nxp,pcal9535";
471 "IO0-pull", "IO1-pull", "IO2-pull", "IO3-pull",
472 "IO4-pull", "IO5-pull", "IO6-pull", "IO7-pull",
473 "IO8-pull", "IO9-pull", "IO10-pull", "IO11-pull",
474 "IO12-pull", "IO13-pull";
480 pinctrl-names = "default";
481 pinctrl-0 = <&main_i2c0_pins_default>;
482 clock-frequency = <400000>;
485 compatible = "nxp,pcf8563";
490 compatible = "atmel,24c08";
498 pinctrl-names = "default";
499 pinctrl-0 = <&main_i2c1_pins_default>;
500 clock-frequency = <400000>;
505 pinctrl-names = "default";
506 pinctrl-0 = <&main_i2c2_pins_default>;
507 clock-frequency = <400000>;
512 pinctrl-names = "default";
513 pinctrl-0 = <&main_i2c3_pins_default>;
514 clock-frequency = <400000>;
516 #address-cells = <1>;
520 compatible = "toshiba,tc358767";
522 pinctrl-names = "default";
523 pinctrl-0 = <&dp_pins_default>;
524 reset-gpios = <&main_gpio0 30 GPIO_ACTIVE_HIGH>;
527 clocks = <&dp_refclk>;
529 toshiba,hpd-pin = <0>;
532 #address-cells = <1>;
538 bridge_in: endpoint {
539 remote-endpoint = <&dpi_out>;
552 pinctrl-names = "default";
553 pinctrl-0 = <&ecap0_pins_default>;
557 pinctrl-names = "default";
558 pinctrl-0 = <&main_mmc1_pins_default>;
559 ti,driver-strength-ohm = <50>;
564 pinctrl-names = "default";
565 pinctrl-0 = <&usb0_pins_default>;
570 pinctrl-names = "default";
571 pinctrl-0 = <&usb1_pins_default>;
577 pinctrl-names = "default";
578 pinctrl-0 = <&mcu_spi0_pins_default>;
580 #address-cells = <1>;
582 ti,pindir-d0-out-d1-in;
588 ti,adc-channels = <0 1 2 3 4 5>;
594 pinctrl-names = "default";
595 pinctrl-0 = <&mcu_fss0_ospi0_pins_default>;
598 compatible = "jedec,spi-nor";
600 spi-tx-bus-width = <1>;
601 spi-rx-bus-width = <1>;
602 spi-max-frequency = <50000000>;
603 cdns,tshsl-ns = <60>;
604 cdns,tsd2d-ns = <60>;
605 cdns,tchsh-ns = <60>;
606 cdns,tslch-ns = <60>;
607 cdns,read-delay = <2>;
610 compatible = "fixed-partitions";
611 #address-cells = <1>;
616 reg = <0x0 0x180000>; /* 1.5M */
621 reg = <0x180000 0x200000>; /* 2M */
626 reg = <0x380000 0x300000>; /* 3M */
631 reg = <0x680000 0x20000>; /* 128K */
635 label = "env.backup";
636 reg = <0x6a0000 0x20000>; /* 128K */
641 reg = <0x6c0000 0x10000>; /* 64K */
646 reg = <0x6d0000 0x7b0000>; /* 7872K */
649 seboot-backup@e80000 {
650 label = "seboot.backup";
651 reg = <0xe80000 0x180000>; /* 1.5M */
658 pinctrl-names = "default";
659 pinctrl-0 = <&dss_vout1_pins_default>;
661 assigned-clocks = <&k3_clks 67 2>;
662 assigned-clock-parents = <&k3_clks 67 5>;
666 #address-cells = <1>;
672 remote-endpoint = <&bridge_in>;
679 pinctrl-names = "default";
680 pinctrl-0 = <&minipcie_pins_default>;
683 phys = <&serdes1 PHY_TYPE_PCIE 0>;
684 phy-names = "pcie-phy0";
685 reset-gpios = <&wkup_gpio0 27 GPIO_ACTIVE_HIGH>;
692 mbox_mcu_r5fss0_core0: mbox-mcu-r5fss0-core0 {
693 ti,mbox-tx = <1 0 0>;
694 ti,mbox-rx = <0 0 0>;
702 mbox_mcu_r5fss0_core1: mbox-mcu-r5fss0-core1 {
703 ti,mbox-tx = <1 0 0>;
704 ti,mbox-rx = <0 0 0>;
709 memory-region = <&mcu_r5fss0_core0_dma_memory_region>,
710 <&mcu_r5fss0_core0_memory_region>;
711 mboxes = <&mailbox0_cluster0>, <&mbox_mcu_r5fss0_core0>;
715 memory-region = <&mcu_r5fss0_core1_dma_memory_region>,
716 <&mcu_r5fss0_core1_memory_region>;
717 mboxes = <&mailbox0_cluster1>, <&mbox_mcu_r5fss0_core1>;