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