1// SPDX-License-Identifier: GPL-2.0-only OR MIT
2/*
3 * Device Tree file for the J722S EVM
4 * Copyright (C) 2024 Texas Instruments Incorporated - https://www.ti.com/
5 *
6 * Schematics: https://www.ti.com/lit/zip/sprr495
7 */
8
9/dts-v1/;
10
11#include <dt-bindings/net/ti-dp83867.h>
12#include <dt-bindings/phy/phy.h>
13#include "k3-j722s.dtsi"
14#include "k3-serdes.h"
15
16/ {
17	compatible = "ti,j722s-evm", "ti,j722s";
18	model = "Texas Instruments J722S EVM";
19
20	aliases {
21		serial0 = &wkup_uart0;
22		serial2 = &main_uart0;
23		serial3 = &main_uart5;
24		mmc0 = &sdhci0;
25		mmc1 = &sdhci1;
26	};
27
28	chosen {
29		stdout-path = &main_uart0;
30	};
31
32	memory@80000000 {
33		/* 8G RAM */
34		reg = <0x00000000 0x80000000 0x00000000 0x80000000>,
35		      <0x00000008 0x80000000 0x00000001 0x80000000>;
36		device_type = "memory";
37		bootph-pre-ram;
38	};
39
40	reserved_memory: reserved-memory {
41		#address-cells = <2>;
42		#size-cells = <2>;
43		ranges;
44
45		secure_tfa_ddr: tfa@9e780000 {
46			reg = <0x00 0x9e780000 0x00 0x80000>;
47			no-map;
48		};
49
50		secure_ddr: optee@9e800000 {
51			reg = <0x00 0x9e800000 0x00 0x01800000>;
52			no-map;
53		};
54
55		wkup_r5fss0_core0_dma_memory_region: r5f-dma-memory@a0000000 {
56			compatible = "shared-dma-pool";
57			reg = <0x00 0xa0000000 0x00 0x100000>;
58			no-map;
59		};
60
61		wkup_r5fss0_core0_memory_region: r5f-memory@a0100000 {
62			compatible = "shared-dma-pool";
63			reg = <0x00 0xa0100000 0x00 0xf00000>;
64			no-map;
65		};
66
67		mcu_r5fss0_core0_dma_memory_region: mcu-r5fss-dma-memory-region@a1000000 {
68			compatible = "shared-dma-pool";
69			reg = <0x00 0xa1000000 0x00 0x100000>;
70			no-map;
71		};
72
73		mcu_r5fss0_core0_memory_region: mcu-r5fss-memory-region@a1100000 {
74			compatible = "shared-dma-pool";
75			reg = <0x00 0xa1100000 0x00 0xf00000>;
76			no-map;
77		};
78
79		main_r5fss0_core0_dma_memory_region: main-r5fss-dma-memory-region@a2000000 {
80			compatible = "shared-dma-pool";
81			reg = <0x00 0xa2000000 0x00 0x100000>;
82			no-map;
83		};
84
85		main_r5fss0_core0_memory_region: main-r5fss-memory-region@a2100000 {
86			compatible = "shared-dma-pool";
87			reg = <0x00 0xa2100000 0x00 0xf00000>;
88			no-map;
89		};
90
91		c7x_0_dma_memory_region: c7x-dma-memory@a3000000 {
92			compatible = "shared-dma-pool";
93			reg = <0x00 0xa3000000 0x00 0x100000>;
94			no-map;
95		};
96
97		c7x_0_memory_region: c7x-memory@a3100000 {
98			compatible = "shared-dma-pool";
99			reg = <0x00 0xa3100000 0x00 0xf00000>;
100			no-map;
101		};
102
103		c7x_1_dma_memory_region: c7x-dma-memory@a4000000 {
104			compatible = "shared-dma-pool";
105			reg = <0x00 0xa4000000 0x00 0x100000>;
106			no-map;
107		};
108
109		c7x_1_memory_region: c7x-memory@a4100000 {
110			compatible = "shared-dma-pool";
111			reg = <0x00 0xa4100000 0x00 0xf00000>;
112			no-map;
113		};
114
115		rtos_ipc_memory_region: ipc-memories@a5000000 {
116			reg = <0x00 0xa5000000 0x00 0x1c00000>;
117			alignment = <0x1000>;
118			no-map;
119		};
120	};
121
122	vmain_pd: regulator-0 {
123		/* TPS65988 PD CONTROLLER OUTPUT */
124		compatible = "regulator-fixed";
125		regulator-name = "vmain_pd";
126		regulator-min-microvolt = <5000000>;
127		regulator-max-microvolt = <5000000>;
128		regulator-always-on;
129		regulator-boot-on;
130		bootph-all;
131	};
132
133	vsys_5v0: regulator-vsys5v0 {
134		/* Output of LM5140 */
135		compatible = "regulator-fixed";
136		regulator-name = "vsys_5v0";
137		regulator-min-microvolt = <5000000>;
138		regulator-max-microvolt = <5000000>;
139		vin-supply = <&vmain_pd>;
140		regulator-always-on;
141		regulator-boot-on;
142	};
143
144	vdd_mmc1: regulator-mmc1 {
145		/* TPS22918DBVR */
146		compatible = "regulator-fixed";
147		regulator-name = "vdd_mmc1";
148		regulator-min-microvolt = <3300000>;
149		regulator-max-microvolt = <3300000>;
150		regulator-boot-on;
151		enable-active-high;
152		gpio = <&exp1 15 GPIO_ACTIVE_HIGH>;
153		bootph-all;
154	};
155
156	vdd_sd_dv: regulator-TLV71033 {
157		compatible = "regulator-gpio";
158		regulator-name = "tlv71033";
159		pinctrl-names = "default";
160		pinctrl-0 = <&vdd_sd_dv_pins_default>;
161		regulator-min-microvolt = <1800000>;
162		regulator-max-microvolt = <3300000>;
163		regulator-boot-on;
164		vin-supply = <&vsys_5v0>;
165		gpios = <&main_gpio0 70 GPIO_ACTIVE_HIGH>;
166		states = <1800000 0x0>,
167			 <3300000 0x1>;
168	};
169
170	vsys_io_3v3: regulator-vsys-io-3v3 {
171		compatible = "regulator-fixed";
172		regulator-name = "vsys_io_3v3";
173		regulator-min-microvolt = <3300000>;
174		regulator-max-microvolt = <3300000>;
175		regulator-always-on;
176		regulator-boot-on;
177	};
178
179	vsys_io_1v8: regulator-vsys-io-1v8 {
180		compatible = "regulator-fixed";
181		regulator-name = "vsys_io_1v8";
182		regulator-min-microvolt = <1800000>;
183		regulator-max-microvolt = <1800000>;
184		regulator-always-on;
185		regulator-boot-on;
186	};
187
188	vsys_io_1v2: regulator-vsys-io-1v2 {
189		compatible = "regulator-fixed";
190		regulator-name = "vsys_io_1v2";
191		regulator-min-microvolt = <1200000>;
192		regulator-max-microvolt = <1200000>;
193		regulator-always-on;
194		regulator-boot-on;
195	};
196
197	codec_audio: sound {
198		compatible = "simple-audio-card";
199		simple-audio-card,name = "J722S-EVM";
200		simple-audio-card,widgets =
201			"Headphone",	"Headphone Jack",
202			"Line",		"Line In",
203			"Microphone",	"Microphone Jack";
204		simple-audio-card,routing =
205			"Headphone Jack",	"HPLOUT",
206			"Headphone Jack",	"HPROUT",
207			"LINE1L",		"Line In",
208			"LINE1R",		"Line In",
209			"MIC3R",		"Microphone Jack",
210			"Microphone Jack",	"Mic Bias";
211		simple-audio-card,format = "dsp_b";
212		simple-audio-card,bitclock-master = <&sound_master>;
213		simple-audio-card,frame-master = <&sound_master>;
214		simple-audio-card,bitclock-inversion;
215
216		simple-audio-card,cpu {
217			sound-dai = <&mcasp1>;
218		};
219
220		sound_master: simple-audio-card,codec {
221			sound-dai = <&tlv320aic3106>;
222			clocks = <&audio_refclk1>;
223		};
224	};
225
226	transceiver0: can-phy0 {
227		compatible = "ti,tcan1042";
228		#phy-cells = <0>;
229		max-bitrate = <5000000>;
230		pinctrl-names = "default";
231		pinctrl-0 = <&mcu_mcan0_gpio_pins_default>;
232		standby-gpios = <&mcu_gpio0 12 GPIO_ACTIVE_HIGH>;
233	};
234
235	transceiver1: can-phy1 {
236		compatible = "ti,tcan1042";
237		#phy-cells = <0>;
238		max-bitrate = <5000000>;
239	};
240
241	transceiver2: can-phy2 {
242		compatible = "ti,tcan1042";
243		#phy-cells = <0>;
244		max-bitrate = <5000000>;
245		standby-gpios = <&exp1 17 GPIO_ACTIVE_HIGH>;
246	};
247};
248
249&main_pmx0 {
250
251	main_mcan0_pins_default: main-mcan0-default-pins {
252		pinctrl-single,pins = <
253			J722S_IOPAD(0x1dc, PIN_INPUT, 0) /* (C22) MCAN0_RX */
254			J722S_IOPAD(0x1d8, PIN_OUTPUT, 0) /*(D22) MCAN0_TX */
255		>;
256	};
257
258	main_i2c0_pins_default: main-i2c0-default-pins {
259		pinctrl-single,pins = <
260			J722S_IOPAD(0x01e0, PIN_INPUT_PULLUP, 0) /* (D23) I2C0_SCL */
261			J722S_IOPAD(0x01e4, PIN_INPUT_PULLUP, 0) /* (B22) I2C0_SDA */
262		>;
263		bootph-all;
264	};
265
266	main_uart0_pins_default: main-uart0-default-pins {
267		pinctrl-single,pins = <
268			J722S_IOPAD(0x01c8, PIN_INPUT, 0)	/* (A22) UART0_RXD */
269			J722S_IOPAD(0x01cc, PIN_OUTPUT, 0)	/* (B22) UART0_TXD */
270		>;
271		bootph-all;
272	};
273
274	main_uart5_pins_default: main-uart5-default-pins {
275		pinctrl-single,pins = <
276			J722S_IOPAD(0x0108, PIN_INPUT, 3)       /* (J27) UART5_RXD */
277			J722S_IOPAD(0x010c, PIN_OUTPUT, 3)      /* (H27) UART5_TXD */
278		>;
279	};
280
281	vdd_sd_dv_pins_default: vdd-sd-dv-default-pins {
282		pinctrl-single,pins = <
283			J722S_IOPAD(0x0120, PIN_INPUT, 7) /* (F27) MMC2_CMD.GPIO0_70 */
284		>;
285		bootph-all;
286	};
287
288	main_mmc1_pins_default: main-mmc1-default-pins {
289		pinctrl-single,pins = <
290			J722S_IOPAD(0x023c, PIN_INPUT, 0) /* (H22) MMC1_CMD */
291			J722S_IOPAD(0x0234, PIN_OUTPUT, 0) /* (H24) MMC1_CLK */
292			J722S_IOPAD(0x0230, PIN_INPUT, 0) /* (H23) MMC1_DAT0 */
293			J722S_IOPAD(0x022c, PIN_INPUT_PULLUP, 0) /* (H20) MMC1_DAT1 */
294			J722S_IOPAD(0x0228, PIN_INPUT_PULLUP, 0) /* (J23) MMC1_DAT2 */
295			J722S_IOPAD(0x0224, PIN_INPUT_PULLUP, 0) /* (H25) MMC1_DAT3 */
296			J722S_IOPAD(0x0240, PIN_INPUT, 0) /* (B24) MMC1_SDCD */
297		>;
298		bootph-all;
299	};
300
301	mdio_pins_default: mdio-default-pins {
302		pinctrl-single,pins = <
303			J722S_IOPAD(0x0160, PIN_OUTPUT, 0) /* (AC24) MDIO0_MDC */
304			J722S_IOPAD(0x015c, PIN_INPUT, 0) /* (AD25) MDIO0_MDIO */
305		>;
306	};
307
308	ospi0_pins_default: ospi0-default-pins {
309		pinctrl-single,pins = <
310			J722S_IOPAD(0x0000, PIN_OUTPUT, 0) /* (L24) OSPI0_CLK */
311			J722S_IOPAD(0x002c, PIN_OUTPUT, 0) /* (K26) OSPI0_CSn0 */
312			J722S_IOPAD(0x000c, PIN_INPUT, 0) /* (K27) OSPI0_D0 */
313			J722S_IOPAD(0x0010, PIN_INPUT, 0) /* (L27) OSPI0_D1 */
314			J722S_IOPAD(0x0014, PIN_INPUT, 0) /* (L26) OSPI0_D2 */
315			J722S_IOPAD(0x0018, PIN_INPUT, 0) /* (L25) OSPI0_D3 */
316			J722S_IOPAD(0x001c, PIN_INPUT, 0) /* (L21) OSPI0_D4 */
317			J722S_IOPAD(0x0020, PIN_INPUT, 0) /* (M26) OSPI0_D5 */
318			J722S_IOPAD(0x0024, PIN_INPUT, 0) /* (N27) OSPI0_D6 */
319			J722S_IOPAD(0x0028, PIN_INPUT, 0) /* (M27) OSPI0_D7 */
320			J722S_IOPAD(0x0008, PIN_INPUT, 0) /* (L22) OSPI0_DQS */
321		>;
322		bootph-all;
323	};
324
325	rgmii1_pins_default: rgmii1-default-pins {
326		pinctrl-single,pins = <
327			J722S_IOPAD(0x014c, PIN_INPUT, 0) /* (AC25) RGMII1_RD0 */
328			J722S_IOPAD(0x0150, PIN_INPUT, 0) /* (AD27) RGMII1_RD1 */
329			J722S_IOPAD(0x0154, PIN_INPUT, 0) /* (AE24) RGMII1_RD2 */
330			J722S_IOPAD(0x0158, PIN_INPUT, 0) /* (AE26) RGMII1_RD3 */
331			J722S_IOPAD(0x0148, PIN_INPUT, 0) /* (AE27) RGMII1_RXC */
332			J722S_IOPAD(0x0144, PIN_INPUT, 0) /* (AD23) RGMII1_RX_CTL */
333			J722S_IOPAD(0x0134, PIN_OUTPUT, 0) /* (AF27) RGMII1_TD0 */
334			J722S_IOPAD(0x0138, PIN_OUTPUT, 0) /* (AE23) RGMII1_TD1 */
335			J722S_IOPAD(0x013c, PIN_OUTPUT, 0) /* (AG25) RGMII1_TD2 */
336			J722S_IOPAD(0x0140, PIN_OUTPUT, 0) /* (AF24) RGMII1_TD3 */
337			J722S_IOPAD(0x0130, PIN_OUTPUT, 0) /* (AG26) RGMII1_TXC */
338			J722S_IOPAD(0x012c, PIN_OUTPUT, 0) /* (AF25) RGMII1_TX_CTL */
339		>;
340	};
341
342	main_usb1_pins_default: main-usb1-default-pins {
343		pinctrl-single,pins = <
344			J722S_IOPAD(0x0258, PIN_INPUT, 0) /* (B27) USB1_DRVVBUS */
345		>;
346	};
347
348	main_mcasp1_pins_default: main-mcasp1-default-pins {
349		pinctrl-single,pins = <
350			J722S_IOPAD(0x0090, PIN_INPUT, 2) /* (P27) GPMC0_BE0n_CLE.MCASP1_ACLKX */
351			J722S_IOPAD(0x0098, PIN_INPUT, 2) /* (V21) GPMC0_WAIT0.MCASP1_AFSX */
352			J722S_IOPAD(0x008c, PIN_OUTPUT, 2) /* (N23) GPMC0_WEn.MCASP1_AXR0 */
353			J722S_IOPAD(0x0084, PIN_INPUT, 2) /* (N21) GPMC0_ADVn_ALE.MCASP1_AXR2 */
354		>;
355	};
356
357	audio_ext_refclk1_pins_default: audio-ext-refclk1-default-pins {
358		pinctrl-single,pins = <
359			J722S_IOPAD(0x00a0, PIN_OUTPUT, 1) /* (N24) GPMC0_WPn.AUDIO_EXT_REFCLK1 */
360		>;
361	};
362
363	pmic_irq_pins_default: pmic-irq-default-pins {
364		pinctrl-single,pins = <
365			J722S_IOPAD(0x030, PIN_INPUT, 7) /* (K23) GPIO0_12 */
366		>;
367	};
368
369};
370
371&cpsw3g {
372	status = "okay";
373	pinctrl-names = "default";
374	pinctrl-0 = <&rgmii1_pins_default>;
375};
376
377&cpsw3g_mdio {
378	status = "okay";
379	pinctrl-names = "default";
380	pinctrl-0 = <&mdio_pins_default>;
381
382	cpsw3g_phy0: ethernet-phy@0 {
383		reg = <0>;
384		ti,rx-internal-delay = <DP83867_RGMIIDCTL_2_00_NS>;
385		ti,fifo-depth = <DP83867_PHYCR_FIFO_DEPTH_4_B_NIB>;
386		ti,min-output-impedance;
387	};
388};
389
390&cpsw_port1 {
391	phy-mode = "rgmii-rxid";
392	phy-handle = <&cpsw3g_phy0>;
393	status = "okay";
394};
395
396&main_gpio1 {
397	status = "okay";
398};
399
400&main_uart0 {
401	pinctrl-names = "default";
402	pinctrl-0 = <&main_uart0_pins_default>;
403	status = "okay";
404	bootph-all;
405};
406
407&main_uart5 {
408	/* MAIN UART 5 is used by System firmware */
409	pinctrl-names = "default";
410	pinctrl-0 = <&main_uart5_pins_default>;
411	status = "reserved";
412};
413
414&mcu_pmx0 {
415
416	mcu_i2c0_pins_default: mcu-i2c0-default-pins {
417		pinctrl-single,pins = <
418			J722S_MCU_IOPAD(0x048, PIN_INPUT, 0) /* (E11) MCU_I2C0_SDA */
419			J722S_MCU_IOPAD(0x044, PIN_INPUT, 0) /* (B13) MCU_I2C0_SCL */
420		>;
421	};
422
423	mcu_mcan0_pins_default: mcu-mcan0-default-pins {
424		pinctrl-single,pins = <
425			J722S_MCU_IOPAD(0x038, PIN_INPUT, 0) /* (D8) MCU_MCAN0_RX */
426			J722S_MCU_IOPAD(0x034, PIN_OUTPUT, 0) /* (B2) MCU_MCAN0_TX */
427		>;
428	};
429
430	mcu_mcan1_pins_default: mcu-mcan1-default-pins {
431		pinctrl-single,pins = <
432			J722S_MCU_IOPAD(0x040, PIN_INPUT, 0) /* (B1) MCU_MCAN1_RX */
433			J722S_MCU_IOPAD(0x03C, PIN_OUTPUT, 0) /*(C1) MCU_MCAN1_TX */
434		>;
435	};
436
437	mcu_mcan0_gpio_pins_default: mcu-mcan0-gpio-default-pins {
438		pinctrl-single,pins = <
439			J722S_MCU_IOPAD(0x0030, PIN_OUTPUT, 7) /* (C3) MCU_GPIO0_12 */
440		>;
441	};
442
443	wkup_uart0_pins_default: wkup-uart0-default-pins {
444		pinctrl-single,pins = <
445			J722S_MCU_IOPAD(0x02c, PIN_INPUT, 0)	/* (C7) WKUP_UART0_CTSn */
446			J722S_MCU_IOPAD(0x030, PIN_OUTPUT, 0)	/* (C6) WKUP_UART0_RTSn */
447			J722S_MCU_IOPAD(0x024, PIN_INPUT, 0)	/* (D8) WKUP_UART0_RXD */
448			J722S_MCU_IOPAD(0x028, PIN_OUTPUT, 0)	/* (D7) WKUP_UART0_TXD */
449		>;
450		bootph-all;
451	};
452
453	wkup_i2c0_pins_default: wkup-i2c0-default-pins {
454		pinctrl-single,pins = <
455			J722S_MCU_IOPAD(0x04c, PIN_INPUT_PULLUP, 0)	/* (C7) WKUP_I2C0_SCL */
456			J722S_MCU_IOPAD(0x050, PIN_INPUT_PULLUP, 0)	/* (C6) WKUP_I2C1_SDA */
457		>;
458		bootph-all;
459	};
460};
461
462&wkup_uart0 {
463	/* WKUP UART0 is used by Device Manager firmware */
464	pinctrl-names = "default";
465	pinctrl-0 = <&wkup_uart0_pins_default>;
466	status = "reserved";
467	bootph-all;
468};
469
470&wkup_i2c0 {
471	pinctrl-names = "default";
472	pinctrl-0 = <&wkup_i2c0_pins_default>;
473	clock-frequency = <400000>;
474	status = "okay";
475	bootph-all;
476
477	tps65224: pmic@48 {
478		compatible = "ti,tps65224-q1";
479		reg = <0x48>;
480		pinctrl-names = "default";
481		pinctrl-0 = <&pmic_irq_pins_default>;
482		interrupt-parent = <&main_gpio0>;
483		interrupts = <0 IRQ_TYPE_EDGE_FALLING>;
484		ti,primary-pmic;
485
486		gpio-controller;
487		#gpio-cells = <2>;
488
489		buck12-supply = <&vsys_io_3v3>;
490		buck3-supply = <&vsys_io_3v3>;
491		buck4-supply = <&vsys_io_3v3>;
492
493		ldo1-supply = <&vsys_io_3v3>;
494		ldo2-supply = <&vsys_io_3v3>;
495		ldo3-supply = <&vsys_io_3v3>;
496
497		regulators {
498
499			buck1: buck1 {
500				regulator-name = "vcc1v8_io_buck1";
501				regulator-min-microvolt = <1800000>;
502				regulator-max-microvolt = <1800000>;
503				regulator-boot-on;
504				regulator-always-on;
505				bootph-all;
506			};
507
508			buck2: buck2 {
509				regulator-name = "vcc1v1_ddr_buck2";
510				regulator-min-microvolt = <1100000>;
511				regulator-max-microvolt = <1100000>;
512				regulator-boot-on;
513				regulator-always-on;
514			};
515
516			buck3: buck3 {
517				regulator-name = "vcc0v85_ram_buck3";
518				regulator-min-microvolt = <850000>;
519				regulator-max-microvolt = <850000>;
520				regulator-boot-on;
521				regulator-always-on;
522			};
523
524			buck4: buck4 {
525				regulator-name = "vcc0v75_ioret_buck4";
526				regulator-min-microvolt = <750000>;
527				regulator-max-microvolt = <750000>;
528				regulator-boot-on;
529				regulator-always-on;
530			};
531
532			ldo1: ldo1 {
533				regulator-name = "vdda1v8_pll_ldo1";
534				regulator-min-microvolt = <1800000>;
535				regulator-max-microvolt = <1800000>;
536				regulator-boot-on;
537				regulator-always-on;
538			};
539
540			ldo2: ldo2 {
541				regulator-name = "dvdd3v3_ldo2";
542				regulator-min-microvolt = <3300000>;
543				regulator-max-microvolt = <3300000>;
544				regulator-boot-on;
545				regulator-always-on;
546			};
547
548			ldo3: ldo3 {
549				regulator-name = "vdd1v85_phy_ldo3";
550				regulator-min-microvolt = <1800000>;
551				regulator-max-microvolt = <1800000>;
552				regulator-boot-on;
553				regulator-always-on;
554			};
555	       };
556	};
557};
558
559&k3_clks {
560	/* Configure AUDIO_EXT_REFCLK1 pin as output */
561	pinctrl-names = "default";
562	pinctrl-0 = <&audio_ext_refclk1_pins_default>;
563};
564
565&main_i2c0 {
566	pinctrl-names = "default";
567	pinctrl-0 = <&main_i2c0_pins_default>;
568	clock-frequency = <400000>;
569	status = "okay";
570	bootph-all;
571
572	exp1: gpio@23 {
573		compatible = "ti,tca6424";
574		reg = <0x23>;
575		gpio-controller;
576		#gpio-cells = <2>;
577		gpio-line-names = "TRC_MUX_SEL", "OSPI/ONAND_MUX_SEL",
578				  "MCASP1_FET_SEL", "CTRL_PM_I2C_OE#",
579				  "CSI_VIO_SEL", "USB2.0_MUX_SEL",
580				  "CSI01_MUX_SEL_2", "CSI23_MUX_SEL_2",
581				  "LMK1_OE1", "LMK1_OE0",
582				  "LMK2_OE0", "LMK2_OE1",
583				  "GPIO_RGMII1_RST#", "GPIO_AUD_RSTn",
584				  "GPIO_eMMC_RSTn", "GPIO_uSD_PWR_EN",
585				  "USER_LED2", "MCAN0_STB",
586				  "PCIe0_1L_RC_RSTz", "PCIe0_1L_PRSNT#",
587				  "ENET1_EXP_SPARE2", "ENET1_EXP_PWRDN",
588				  "PD_I2ENET1_I2CMUX_SELC_IRQ", "ENET1_EXP_RESETZ";
589
590		p05-hog {
591			/* P05 - USB2.0_MUX_SEL */
592			gpio-hog;
593			gpios = <5 GPIO_ACTIVE_LOW>;
594			output-high;
595		};
596
597		p01_hog: p01-hog {
598			/* P01 - TRC_MUX_SEL */
599			gpio-hog;
600			gpios = <0 GPIO_ACTIVE_HIGH>;
601			output-low;
602			line-name = "TRC_MUX_SEL";
603		};
604
605		p02_hog: p02-hog {
606			/* P02 - MCASP1_FET_SEL */
607			gpio-hog;
608			gpios = <2 GPIO_ACTIVE_HIGH>;
609			output-high;
610			line-name = "MCASP1_FET_SEL";
611		};
612
613		p13_hog: p13-hog {
614			/* P13 - GPIO_AUD_RSTn */
615			gpio-hog;
616			gpios = <13 GPIO_ACTIVE_HIGH>;
617			output-high;
618			line-name = "GPIO_AUD_RSTn";
619		};
620	};
621
622	tlv320aic3106: audio-codec@1b {
623		#sound-dai-cells = <0>;
624		compatible = "ti,tlv320aic3106";
625		reg = <0x1b>;
626		ai3x-micbias-vg = <1>;  /* 2.0V */
627		AVDD-supply = <&vsys_io_3v3>;
628		IOVDD-supply = <&vsys_io_3v3>;
629		DRVDD-supply = <&vsys_io_3v3>;
630		DVDD-supply = <&vsys_io_1v8>;
631	};
632};
633
634&ospi0 {
635	pinctrl-names = "default";
636	pinctrl-0 = <&ospi0_pins_default>;
637	status = "okay";
638
639	flash@0 {
640		compatible = "jedec,spi-nor";
641		reg = <0x0>;
642		spi-tx-bus-width = <8>;
643		spi-rx-bus-width = <8>;
644		spi-max-frequency = <25000000>;
645		cdns,tshsl-ns = <60>;
646		cdns,tsd2d-ns = <60>;
647		cdns,tchsh-ns = <60>;
648		cdns,tslch-ns = <60>;
649		cdns,read-delay = <4>;
650		bootph-all;
651
652		partitions {
653			compatible = "fixed-partitions";
654			#address-cells = <1>;
655			#size-cells = <1>;
656
657			partition@0 {
658				label = "ospi.tiboot3";
659				reg = <0x00 0x80000>;
660			};
661
662			partition@80000 {
663				label = "ospi.tispl";
664				reg = <0x80000 0x200000>;
665			};
666
667			partition@280000 {
668				label = "ospi.u-boot";
669				reg = <0x280000 0x400000>;
670			};
671
672			partition@680000 {
673				label = "ospi.env";
674				reg = <0x680000 0x40000>;
675			};
676
677			partition@6c0000 {
678				label = "ospi.env.backup";
679				reg = <0x6c0000 0x40000>;
680			};
681
682			partition@800000 {
683				label = "ospi.rootfs";
684				reg = <0x800000 0x37c0000>;
685			};
686
687			partition@3fc0000 {
688				label = "ospi.phypattern";
689				reg = <0x3fc0000 0x40000>;
690			};
691		};
692	};
693
694};
695
696&sdhci0 {
697	disable-wp;
698	bootph-all;
699	ti,driver-strength-ohm = <50>;
700	status = "okay";
701};
702
703&sdhci1 {
704	/* SD/MMC */
705	vmmc-supply = <&vdd_mmc1>;
706	vqmmc-supply = <&vdd_sd_dv>;
707	pinctrl-names = "default";
708	pinctrl-0 = <&main_mmc1_pins_default>;
709	ti,driver-strength-ohm = <50>;
710	disable-wp;
711	status = "okay";
712	bootph-all;
713};
714
715&mailbox0_cluster0 {
716	status = "okay";
717
718	mbox_wkup_r5_0: mbox-wkup-r5-0 {
719		ti,mbox-rx = <0 0 0>;
720		ti,mbox-tx = <1 0 0>;
721	};
722};
723
724&mailbox0_cluster1 {
725	status = "okay";
726
727	mbox_mcu_r5_0: mbox-mcu-r5-0 {
728		ti,mbox-rx = <0 0 0>;
729		ti,mbox-tx = <1 0 0>;
730	};
731};
732
733&mailbox0_cluster2 {
734	status = "okay";
735
736	mbox_c7x_0: mbox-c7x-0 {
737		ti,mbox-rx = <0 0 0>;
738		ti,mbox-tx = <1 0 0>;
739	};
740};
741
742&mailbox0_cluster3 {
743	status = "okay";
744
745	mbox_main_r5_0: mbox-main-r5-0 {
746		ti,mbox-rx = <0 0 0>;
747		ti,mbox-tx = <1 0 0>;
748	};
749
750	mbox_c7x_1: mbox-c7x-1 {
751		ti,mbox-rx = <2 0 0>;
752		ti,mbox-tx = <3 0 0>;
753	};
754};
755
756/* Timers are used by Remoteproc firmware */
757&main_timer0 {
758	status = "reserved";
759};
760
761&main_timer1 {
762	status = "reserved";
763};
764
765&main_timer2 {
766	status = "reserved";
767};
768
769&wkup_r5fss0 {
770	status = "okay";
771};
772
773&wkup_r5fss0_core0 {
774	mboxes = <&mailbox0_cluster0 &mbox_wkup_r5_0>;
775	memory-region = <&wkup_r5fss0_core0_dma_memory_region>,
776			<&wkup_r5fss0_core0_memory_region>;
777};
778
779&mcu_r5fss0 {
780	status = "okay";
781};
782
783&mcu_r5fss0_core0 {
784	mboxes = <&mailbox0_cluster1 &mbox_mcu_r5_0>;
785	memory-region = <&mcu_r5fss0_core0_dma_memory_region>,
786			<&mcu_r5fss0_core0_memory_region>;
787};
788
789&main_r5fss0 {
790	status = "okay";
791};
792
793&main_r5fss0_core0 {
794	mboxes = <&mailbox0_cluster3 &mbox_main_r5_0>;
795	memory-region = <&main_r5fss0_core0_dma_memory_region>,
796			<&main_r5fss0_core0_memory_region>;
797};
798
799&c7x_0 {
800	mboxes = <&mailbox0_cluster2 &mbox_c7x_0>;
801	memory-region = <&c7x_0_dma_memory_region>,
802			<&c7x_0_memory_region>;
803	status = "okay";
804};
805
806&c7x_1 {
807	mboxes = <&mailbox0_cluster3 &mbox_c7x_1>;
808	memory-region = <&c7x_1_dma_memory_region>,
809			<&c7x_1_memory_region>;
810	status = "okay";
811};
812
813&serdes_ln_ctrl {
814	idle-states = <J722S_SERDES0_LANE0_USB>,
815		      <J722S_SERDES1_LANE0_PCIE0_LANE0>;
816};
817
818&serdes0 {
819	status = "okay";
820	serdes0_usb_link: phy@0 {
821		reg = <0>;
822		cdns,num-lanes = <1>;
823		#phy-cells = <0>;
824		cdns,phy-type = <PHY_TYPE_USB3>;
825		resets = <&serdes_wiz0 1>;
826	};
827};
828
829&serdes1 {
830	status = "okay";
831	serdes1_pcie_link: phy@0 {
832		reg = <0>;
833		cdns,num-lanes = <1>;
834		#phy-cells = <0>;
835		cdns,phy-type = <PHY_TYPE_PCIE>;
836		resets = <&serdes_wiz1 1>;
837	};
838};
839
840&pcie0_rc {
841	reset-gpios = <&exp1 18 GPIO_ACTIVE_HIGH>;
842	phys = <&serdes1_pcie_link>;
843	phy-names = "pcie-phy";
844	status = "okay";
845};
846
847&usbss0 {
848	ti,vbus-divider;
849	status = "okay";
850};
851
852&usb0 {
853	dr_mode = "otg";
854	usb-role-switch;
855};
856
857&usbss1 {
858	pinctrl-names = "default";
859	pinctrl-0 = <&main_usb1_pins_default>;
860	ti,vbus-divider;
861	status = "okay";
862};
863
864&usb1 {
865	dr_mode = "host";
866	maximum-speed = "super-speed";
867	phys = <&serdes0_usb_link>;
868	phy-names = "cdns3,usb3-phy";
869};
870
871&mcasp1 {
872	status = "okay";
873	#sound-dai-cells = <0>;
874	pinctrl-names = "default";
875	pinctrl-0 = <&main_mcasp1_pins_default>;
876	op-mode = <0>; /* MCASP_IIS_MODE */
877	tdm-slots = <2>;
878	serial-dir = < /* 0: INACTIVE, 1: TX, 2: RX */
879	       1 0 2 0
880	       0 0 0 0
881	       0 0 0 0
882	       0 0 0 0
883	>;
884};
885
886&mcu_mcan0 {
887	pinctrl-names = "default";
888	pinctrl-0 = <&mcu_mcan0_pins_default>;
889	phys = <&transceiver0>;
890	status = "okay";
891};
892
893&mcu_mcan1 {
894	pinctrl-names = "default";
895	pinctrl-0 = <&mcu_mcan1_pins_default>;
896	phys = <&transceiver1>;
897	status = "okay";
898};
899
900&main_mcan0 {
901	pinctrl-names = "default";
902	pinctrl-0 = <&main_mcan0_pins_default>;
903	phys = <&transceiver2>;
904	status = "okay";
905};
906
907&mcu_gpio0 {
908	status = "okay";
909};
910
911&mcu_i2c0 {
912	pinctrl-names = "default";
913	pinctrl-0 = <&mcu_i2c0_pins_default>;
914	clock-frequency = <400000>;
915	status = "okay";
916};
917