1// SPDX-License-Identifier: GPL-2.0
2/*
3 * Copyright (c) Siemens AG, 2018-2021
4 *
5 * Authors:
6 *   Le Jin <le.jin@siemens.com>
7 *   Jan Kiszka <jan.kiszka@siemens.com>
8 *
9 * Common bits of the IOT2050 Basic and Advanced variants, PG1 and PG2
10 */
11
12#include "k3-am654.dtsi"
13#include <dt-bindings/phy/phy.h>
14
15/ {
16	aliases {
17		spi0 = &mcu_spi0;
18		mmc0 = &sdhci1;
19		mmc1 = &sdhci0;
20	};
21
22	chosen {
23		stdout-path = "serial3:115200n8";
24	};
25
26	reserved-memory {
27		#address-cells = <2>;
28		#size-cells = <2>;
29		ranges;
30
31		secure_ddr: secure-ddr@9e800000 {
32			reg = <0 0x9e800000 0 0x01800000>; /* for OP-TEE */
33			alignment = <0x1000>;
34			no-map;
35		};
36
37		mcu_r5fss0_core0_dma_memory_region: r5f-dma-memory@a0000000 {
38			compatible = "shared-dma-pool";
39			reg = <0 0xa0000000 0 0x100000>;
40			no-map;
41		};
42
43		mcu_r5fss0_core0_memory_region: r5f-memory@a0100000 {
44			compatible = "shared-dma-pool";
45			reg = <0 0xa0100000 0 0xf00000>;
46			no-map;
47		};
48
49		mcu_r5fss0_core1_dma_memory_region: r5f-dma-memory@a1000000 {
50			compatible = "shared-dma-pool";
51			reg = <0 0xa1000000 0 0x100000>;
52			no-map;
53		};
54
55		mcu_r5fss0_core1_memory_region: r5f-memory@a1100000 {
56			compatible = "shared-dma-pool";
57			reg = <0 0xa1100000 0 0xf00000>;
58			no-map;
59		};
60
61		rtos_ipc_memory_region: ipc-memories@a2000000 {
62			reg = <0x00 0xa2000000 0x00 0x00200000>;
63			alignment = <0x1000>;
64			no-map;
65		};
66	};
67
68	leds {
69		compatible = "gpio-leds";
70		pinctrl-names = "default";
71		pinctrl-0 = <&leds_pins_default>;
72
73		status-led-red {
74			gpios = <&wkup_gpio0 32 GPIO_ACTIVE_HIGH>;
75			panic-indicator;
76		};
77
78		status-led-green {
79			gpios = <&wkup_gpio0 24 GPIO_ACTIVE_HIGH>;
80		};
81
82		user-led1-red {
83			gpios = <&pcal9535_3 14 GPIO_ACTIVE_HIGH>;
84		};
85
86		user-led1-green {
87			gpios = <&pcal9535_2 15 GPIO_ACTIVE_HIGH>;
88		};
89
90		user-led2-red {
91			gpios = <&wkup_gpio0 17 GPIO_ACTIVE_HIGH>;
92		};
93
94		user-led2-green {
95			gpios = <&wkup_gpio0 22 GPIO_ACTIVE_HIGH>;
96		};
97	};
98
99	dp_refclk: clock {
100		compatible = "fixed-clock";
101		#clock-cells = <0>;
102		clock-frequency = <19200000>;
103	};
104};
105
106&wkup_pmx0 {
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)
113		>;
114	};
115
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)
122		>;
123	};
124
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)
129		>;
130	};
131
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)
136		>;
137	};
138
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)
145		>;
146	};
147
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)
154		>;
155	};
156
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)
169		>;
170	};
171
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)
184		>;
185	};
186
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)
197		>;
198	};
199
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)
210		>;
211	};
212
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)
223		>;
224	};
225
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)
230		>;
231	};
232};
233
234&main_pmx0 {
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 */
241		>;
242	};
243
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 */
248		>;
249	};
250
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 */
261		>;
262	};
263
264	usb0_pins_default: usb0-default-pins {
265		pinctrl-single,pins = <
266			AM65X_IOPAD(0x02bc, PIN_OUTPUT, 0)  /* (AD9) USB0_DRVVBUS */
267		>;
268	};
269
270	usb1_pins_default: usb1-default-pins {
271		pinctrl-single,pins = <
272			AM65X_IOPAD(0x02c0, PIN_OUTPUT, 0)  /* (AC8) USB1_DRVVBUS */
273		>;
274	};
275
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 */
284		>;
285	};
286
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 */
317		>;
318	};
319
320	dp_pins_default: dp-default-pins {
321		pinctrl-single,pins = <
322			AM65X_IOPAD(0x0078, PIN_OUTPUT, 7)  /* (AF18) DP rst_n */
323		>;
324	};
325
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 */
330		>;
331	};
332};
333
334&main_pmx1 {
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 */
339		>;
340	};
341
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 */
346		>;
347	};
348
349	ecap0_pins_default: ecap0-default-pins {
350		pinctrl-single,pins = <
351			AM65X_IOPAD(0x0010, PIN_INPUT,  0)  /* (D21) ECAP0_IN_APWM_OUT */
352		>;
353	};
354};
355
356&wkup_uart0 {
357	/* Wakeup UART is used by System firmware */
358	status = "reserved";
359};
360
361&main_uart1 {
362	status = "okay";
363	pinctrl-names = "default";
364	pinctrl-0 = <&main_uart1_pins_default>;
365};
366
367&mcu_uart0 {
368	status = "okay";
369	pinctrl-names = "default";
370	pinctrl-0 = <&arduino_uart_pins_default>;
371};
372
373&main_gpio0 {
374	pinctrl-names = "default";
375	pinctrl-0 = <&arduino_io_d4_to_d9_pins_default>;
376	gpio-line-names =
377		"main_gpio0-base", "", "", "", "", "", "", "", "", "",
378		"", "", "", "", "", "", "", "", "", "",
379		"", "", "", "", "", "", "", "", "", "",
380		"", "", "", "IO4", "", "IO5", "", "", "IO6", "",
381		"", "", "", "IO7", "", "", "", "", "IO8", "",
382		"", "IO9";
383};
384
385&wkup_gpio0 {
386	pinctrl-names = "default";
387	pinctrl-0 =
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>;
393	gpio-line-names =
394		/* 0..9 */
395		"wkup_gpio0-base", "", "", "", "UART0-mode1", "UART0-mode0",
396		"UART0-enable", "UART0-terminate", "", "WIFI-disable",
397		/* 10..19 */
398		"", "", "", "", "", "", "", "", "", "",
399		/* 20..29 */
400		"", "A4A5-I2C-mux", "", "", "", "USER-button", "", "", "","IO0",
401		/* 30..39 */
402		"IO1", "IO2", "", "IO3", "IO17-direction", "A5",
403		"IO16-direction", "IO15-direction", "IO14-direction", "A3",
404		/* 40..49 */
405		"", "IO18-direction", "A4", "A2", "A1", "A0", "", "", "IO13",
406		"IO11",
407		/* 50..51 */
408		"IO12", "IO10";
409};
410
411&wkup_i2c0 {
412	status = "okay";
413	pinctrl-names = "default";
414	pinctrl-0 = <&wkup_i2c0_pins_default>;
415	clock-frequency = <400000>;
416};
417
418&mcu_i2c0 {
419	status = "okay";
420	pinctrl-names = "default";
421	pinctrl-0 = <&mcu_i2c0_pins_default>;
422	clock-frequency = <400000>;
423
424	psu: regulator@60 {
425		compatible = "ti,tps62363";
426		reg = <0x60>;
427		regulator-name = "tps62363-vout";
428		regulator-min-microvolt = <500000>;
429		regulator-max-microvolt = <1500000>;
430		regulator-boot-on;
431		ti,vsel0-state-high;
432		ti,vsel1-state-high;
433		ti,enable-vout-discharge;
434	};
435
436	/* D4200 */
437	pcal9535_1: gpio@20 {
438		compatible = "nxp,pcal9535";
439		reg = <0x20>;
440		#gpio-cells = <2>;
441		gpio-controller;
442		gpio-line-names =
443			"A0-pull", "A1-pull", "A2-pull", "A3-pull", "A4-pull",
444			"A5-pull", "", "",
445			"IO14-enable", "IO15-enable", "IO16-enable",
446			"IO17-enable", "IO18-enable", "IO19-enable";
447	};
448
449	/* D4201 */
450	pcal9535_2: gpio@21 {
451		compatible = "nxp,pcal9535";
452		reg = <0x21>;
453		#gpio-cells = <2>;
454		gpio-controller;
455		gpio-line-names =
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",
461			"IO19-direction";
462	};
463
464	/* D4202 */
465	pcal9535_3: gpio@25 {
466		compatible = "nxp,pcal9535";
467		reg = <0x25>;
468		#gpio-cells = <2>;
469		gpio-controller;
470		gpio-line-names =
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";
475	};
476};
477
478&main_i2c0 {
479	status = "okay";
480	pinctrl-names = "default";
481	pinctrl-0 = <&main_i2c0_pins_default>;
482	clock-frequency = <400000>;
483
484	rtc: rtc@51 {
485		compatible = "nxp,pcf8563";
486		reg = <0x51>;
487	};
488
489	eeprom: eeprom@54 {
490		compatible = "atmel,24c08";
491		reg = <0x54>;
492		pagesize = <16>;
493	};
494};
495
496&main_i2c1 {
497	status = "okay";
498	pinctrl-names = "default";
499	pinctrl-0 = <&main_i2c1_pins_default>;
500	clock-frequency = <400000>;
501};
502
503&main_i2c2 {
504	status = "okay";
505	pinctrl-names = "default";
506	pinctrl-0 = <&main_i2c2_pins_default>;
507	clock-frequency = <400000>;
508};
509
510&main_i2c3 {
511	status = "okay";
512	pinctrl-names = "default";
513	pinctrl-0 = <&main_i2c3_pins_default>;
514	clock-frequency = <400000>;
515
516	#address-cells = <1>;
517	#size-cells = <0>;
518
519	edp-bridge@f {
520		compatible = "toshiba,tc358767";
521		reg = <0x0f>;
522		pinctrl-names = "default";
523		pinctrl-0 = <&dp_pins_default>;
524		reset-gpios = <&main_gpio0 30 GPIO_ACTIVE_HIGH>;
525
526		clock-names = "ref";
527		clocks = <&dp_refclk>;
528
529		toshiba,hpd-pin = <0>;
530
531		ports {
532			#address-cells = <1>;
533			#size-cells = <0>;
534
535			port@1 {
536				reg = <1>;
537
538				bridge_in: endpoint {
539					remote-endpoint = <&dpi_out>;
540				};
541			};
542		};
543	};
544};
545
546&mcu_cpsw {
547	status = "disabled";
548};
549
550&ecap0 {
551	status = "okay";
552	pinctrl-names = "default";
553	pinctrl-0 = <&ecap0_pins_default>;
554};
555
556&sdhci1 {
557	pinctrl-names = "default";
558	pinctrl-0 = <&main_mmc1_pins_default>;
559	ti,driver-strength-ohm = <50>;
560	disable-wp;
561};
562
563&usb0 {
564	pinctrl-names = "default";
565	pinctrl-0 = <&usb0_pins_default>;
566	dr_mode = "host";
567};
568
569&usb1 {
570	pinctrl-names = "default";
571	pinctrl-0 = <&usb1_pins_default>;
572	dr_mode = "host";
573};
574
575&mcu_spi0 {
576	status = "okay";
577	pinctrl-names = "default";
578	pinctrl-0 = <&mcu_spi0_pins_default>;
579
580	#address-cells = <1>;
581	#size-cells = <0>;
582	ti,pindir-d0-out-d1-in;
583};
584
585&tscadc1 {
586	status = "okay";
587	adc {
588		ti,adc-channels = <0 1 2 3 4 5>;
589	};
590};
591
592&ospi0 {
593	status = "okay";
594	pinctrl-names = "default";
595	pinctrl-0 = <&mcu_fss0_ospi0_pins_default>;
596
597	flash@0 {
598		compatible = "jedec,spi-nor";
599		reg = <0x0>;
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>;
608
609		partitions {
610			compatible = "fixed-partitions";
611			#address-cells = <1>;
612			#size-cells = <1>;
613
614			seboot@0 {
615				label = "seboot";
616				reg = <0x0 0x180000>; /* 1.5M */
617			};
618
619			tispl@180000 {
620				label = "tispl";
621				reg = <0x180000 0x200000>; /* 2M */
622			};
623
624			u-boot@380000 {
625				label = "u-boot";
626				reg = <0x380000 0x300000>; /* 3M */
627			};
628
629			env@680000 {
630				label = "env";
631				reg = <0x680000 0x20000>; /* 128K */
632			};
633
634			env-backup@6a0000 {
635				label = "env.backup";
636				reg = <0x6a0000 0x20000>; /* 128K */
637			};
638
639			otpcmd@6c0000 {
640				label = "otpcmd";
641				reg = <0x6c0000 0x10000>; /* 64K */
642			};
643
644			unused@6d0000 {
645				label = "unused";
646				reg = <0x6d0000 0x7b0000>; /* 7872K */
647			};
648
649			seboot-backup@e80000 {
650				label = "seboot.backup";
651				reg = <0xe80000 0x180000>; /* 1.5M */
652			};
653		};
654	};
655};
656
657&dss {
658	pinctrl-names = "default";
659	pinctrl-0 = <&dss_vout1_pins_default>;
660
661	assigned-clocks = <&k3_clks 67 2>;
662	assigned-clock-parents = <&k3_clks 67 5>;
663};
664
665&dss_ports {
666	#address-cells = <1>;
667	#size-cells = <0>;
668	port@1 {
669		reg = <1>;
670
671		dpi_out: endpoint {
672			remote-endpoint = <&bridge_in>;
673		};
674	};
675};
676
677&pcie1_rc {
678	status = "okay";
679	pinctrl-names = "default";
680	pinctrl-0 = <&minipcie_pins_default>;
681
682	num-lanes = <1>;
683	phys = <&serdes1 PHY_TYPE_PCIE 0>;
684	phy-names = "pcie-phy0";
685	reset-gpios = <&wkup_gpio0 27 GPIO_ACTIVE_HIGH>;
686};
687
688&mailbox0_cluster0 {
689	status = "okay";
690	interrupts = <436>;
691
692	mbox_mcu_r5fss0_core0: mbox-mcu-r5fss0-core0 {
693		ti,mbox-tx = <1 0 0>;
694		ti,mbox-rx = <0 0 0>;
695	};
696};
697
698&mailbox0_cluster1 {
699	status = "okay";
700	interrupts = <432>;
701
702	mbox_mcu_r5fss0_core1: mbox-mcu-r5fss0-core1 {
703		ti,mbox-tx = <1 0 0>;
704		ti,mbox-rx = <0 0 0>;
705	};
706};
707
708&mcu_r5fss0_core0 {
709	memory-region = <&mcu_r5fss0_core0_dma_memory_region>,
710			<&mcu_r5fss0_core0_memory_region>;
711	mboxes = <&mailbox0_cluster0>, <&mbox_mcu_r5fss0_core0>;
712};
713
714&mcu_r5fss0_core1 {
715	memory-region = <&mcu_r5fss0_core1_dma_memory_region>,
716			<&mcu_r5fss0_core1_memory_region>;
717	mboxes = <&mailbox0_cluster1>, <&mbox_mcu_r5fss0_core1>;
718};
719