xref: /freebsd/sys/contrib/device-tree/src/arm64/renesas/gray-hawk-single.dtsi (revision 833e5d42ab135b0238e61c5b3c19b8619677cbfa)
1*833e5d42SEmmanuel Vadot// SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2*833e5d42SEmmanuel Vadot/*
3*833e5d42SEmmanuel Vadot * Device Tree Source for the Gray Hawk Single board
4*833e5d42SEmmanuel Vadot *
5*833e5d42SEmmanuel Vadot * Copyright (C) 2023 Renesas Electronics Corp.
6*833e5d42SEmmanuel Vadot * Copyright (C) 2024-2025 Glider bv
7*833e5d42SEmmanuel Vadot */
8*833e5d42SEmmanuel Vadot/*
9*833e5d42SEmmanuel Vadot * [How to use Sound]
10*833e5d42SEmmanuel Vadot *
11*833e5d42SEmmanuel Vadot * Because R-Car V4M has only 1 SSI, it cannot handle both Playback/Capture
12*833e5d42SEmmanuel Vadot * at the same time. You need to switch the direction which is controlled
13*833e5d42SEmmanuel Vadot * by the GP0_01 pin via amixer.
14*833e5d42SEmmanuel Vadot *
15*833e5d42SEmmanuel Vadot * Playback (CN9500)
16*833e5d42SEmmanuel Vadot *	> amixer set "MUX" "Playback"	// for GP0_01
17*833e5d42SEmmanuel Vadot *	> amixer set "DAC 1" 85%
18*833e5d42SEmmanuel Vadot *	> aplay xxx.wav
19*833e5d42SEmmanuel Vadot *
20*833e5d42SEmmanuel Vadot * Capture (CN9501)
21*833e5d42SEmmanuel Vadot *	> amixer set "MUX" "Capture"	// for GP0_01
22*833e5d42SEmmanuel Vadot *	> amixer set "Mic 1" 80%
23*833e5d42SEmmanuel Vadot *	> amixer set "ADC 1" on
24*833e5d42SEmmanuel Vadot *	> amixer set 'ADC 1' 80%
25*833e5d42SEmmanuel Vadot *	> arecord xxx hoge.wav
26*833e5d42SEmmanuel Vadot */
27*833e5d42SEmmanuel Vadot
28*833e5d42SEmmanuel Vadot#include <dt-bindings/gpio/gpio.h>
29*833e5d42SEmmanuel Vadot#include <dt-bindings/input/input.h>
30*833e5d42SEmmanuel Vadot#include <dt-bindings/leds/common.h>
31*833e5d42SEmmanuel Vadot#include <dt-bindings/media/video-interfaces.h>
32*833e5d42SEmmanuel Vadot
33*833e5d42SEmmanuel Vadot/ {
34*833e5d42SEmmanuel Vadot	model = "Renesas Gray Hawk Single board";
35*833e5d42SEmmanuel Vadot	compatible = "renesas,gray-hawk-single";
36*833e5d42SEmmanuel Vadot
37*833e5d42SEmmanuel Vadot	aliases {
38*833e5d42SEmmanuel Vadot		i2c0 = &i2c0;
39*833e5d42SEmmanuel Vadot		i2c1 = &i2c1;
40*833e5d42SEmmanuel Vadot		i2c2 = &i2c2;
41*833e5d42SEmmanuel Vadot		i2c3 = &i2c3;
42*833e5d42SEmmanuel Vadot		serial0 = &hscif0;
43*833e5d42SEmmanuel Vadot		serial1 = &hscif2;
44*833e5d42SEmmanuel Vadot		ethernet0 = &avb0;
45*833e5d42SEmmanuel Vadot		ethernet1 = &avb1;
46*833e5d42SEmmanuel Vadot		ethernet2 = &avb2;
47*833e5d42SEmmanuel Vadot	};
48*833e5d42SEmmanuel Vadot
49*833e5d42SEmmanuel Vadot	can_transceiver0: can-phy0 {
50*833e5d42SEmmanuel Vadot		compatible = "nxp,tjr1443";
51*833e5d42SEmmanuel Vadot		#phy-cells = <0>;
52*833e5d42SEmmanuel Vadot		enable-gpios = <&gpio1 3 GPIO_ACTIVE_HIGH>;
53*833e5d42SEmmanuel Vadot		max-bitrate = <5000000>;
54*833e5d42SEmmanuel Vadot	};
55*833e5d42SEmmanuel Vadot
56*833e5d42SEmmanuel Vadot	chosen {
57*833e5d42SEmmanuel Vadot		bootargs = "ignore_loglevel rw root=/dev/nfs ip=on";
58*833e5d42SEmmanuel Vadot		stdout-path = "serial0:921600n8";
59*833e5d42SEmmanuel Vadot	};
60*833e5d42SEmmanuel Vadot
61*833e5d42SEmmanuel Vadot	sn65dsi86_refclk: clk-x6 {
62*833e5d42SEmmanuel Vadot		compatible = "fixed-clock";
63*833e5d42SEmmanuel Vadot		#clock-cells = <0>;
64*833e5d42SEmmanuel Vadot		clock-frequency = <38400000>;
65*833e5d42SEmmanuel Vadot	};
66*833e5d42SEmmanuel Vadot
67*833e5d42SEmmanuel Vadot	keys {
68*833e5d42SEmmanuel Vadot		compatible = "gpio-keys";
69*833e5d42SEmmanuel Vadot
70*833e5d42SEmmanuel Vadot		pinctrl-0 = <&keys_pins>;
71*833e5d42SEmmanuel Vadot		pinctrl-names = "default";
72*833e5d42SEmmanuel Vadot
73*833e5d42SEmmanuel Vadot		key-1 {
74*833e5d42SEmmanuel Vadot			gpios = <&gpio5 0 GPIO_ACTIVE_LOW>;
75*833e5d42SEmmanuel Vadot			linux,code = <KEY_1>;
76*833e5d42SEmmanuel Vadot			label = "SW47";
77*833e5d42SEmmanuel Vadot			wakeup-source;
78*833e5d42SEmmanuel Vadot			debounce-interval = <20>;
79*833e5d42SEmmanuel Vadot		};
80*833e5d42SEmmanuel Vadot
81*833e5d42SEmmanuel Vadot		key-2 {
82*833e5d42SEmmanuel Vadot			gpios = <&gpio5 1 GPIO_ACTIVE_LOW>;
83*833e5d42SEmmanuel Vadot			linux,code = <KEY_2>;
84*833e5d42SEmmanuel Vadot			label = "SW48";
85*833e5d42SEmmanuel Vadot			wakeup-source;
86*833e5d42SEmmanuel Vadot			debounce-interval = <20>;
87*833e5d42SEmmanuel Vadot		};
88*833e5d42SEmmanuel Vadot
89*833e5d42SEmmanuel Vadot		key-3 {
90*833e5d42SEmmanuel Vadot			gpios = <&gpio5 2 GPIO_ACTIVE_LOW>;
91*833e5d42SEmmanuel Vadot			linux,code = <KEY_3>;
92*833e5d42SEmmanuel Vadot			label = "SW49";
93*833e5d42SEmmanuel Vadot			wakeup-source;
94*833e5d42SEmmanuel Vadot			debounce-interval = <20>;
95*833e5d42SEmmanuel Vadot		};
96*833e5d42SEmmanuel Vadot	};
97*833e5d42SEmmanuel Vadot
98*833e5d42SEmmanuel Vadot	leds {
99*833e5d42SEmmanuel Vadot		compatible = "gpio-leds";
100*833e5d42SEmmanuel Vadot
101*833e5d42SEmmanuel Vadot		led-1 {
102*833e5d42SEmmanuel Vadot			gpios = <&gpio7 0 GPIO_ACTIVE_HIGH>;
103*833e5d42SEmmanuel Vadot			color = <LED_COLOR_ID_GREEN>;
104*833e5d42SEmmanuel Vadot			function = LED_FUNCTION_INDICATOR;
105*833e5d42SEmmanuel Vadot			function-enumerator = <1>;
106*833e5d42SEmmanuel Vadot		};
107*833e5d42SEmmanuel Vadot
108*833e5d42SEmmanuel Vadot		led-2 {
109*833e5d42SEmmanuel Vadot			gpios = <&gpio7 1 GPIO_ACTIVE_HIGH>;
110*833e5d42SEmmanuel Vadot			color = <LED_COLOR_ID_GREEN>;
111*833e5d42SEmmanuel Vadot			function = LED_FUNCTION_INDICATOR;
112*833e5d42SEmmanuel Vadot			function-enumerator = <2>;
113*833e5d42SEmmanuel Vadot		};
114*833e5d42SEmmanuel Vadot
115*833e5d42SEmmanuel Vadot		led-3 {
116*833e5d42SEmmanuel Vadot			gpios = <&gpio7 2 GPIO_ACTIVE_HIGH>;
117*833e5d42SEmmanuel Vadot			color = <LED_COLOR_ID_GREEN>;
118*833e5d42SEmmanuel Vadot			function = LED_FUNCTION_INDICATOR;
119*833e5d42SEmmanuel Vadot			function-enumerator = <3>;
120*833e5d42SEmmanuel Vadot		};
121*833e5d42SEmmanuel Vadot	};
122*833e5d42SEmmanuel Vadot
123*833e5d42SEmmanuel Vadot	memory@48000000 {
124*833e5d42SEmmanuel Vadot		device_type = "memory";
125*833e5d42SEmmanuel Vadot		/* first 128MB is reserved for secure area. */
126*833e5d42SEmmanuel Vadot		reg = <0x0 0x48000000 0x0 0x78000000>;
127*833e5d42SEmmanuel Vadot	};
128*833e5d42SEmmanuel Vadot
129*833e5d42SEmmanuel Vadot	memory@480000000 {
130*833e5d42SEmmanuel Vadot		device_type = "memory";
131*833e5d42SEmmanuel Vadot		reg = <0x4 0x80000000 0x1 0x80000000>;
132*833e5d42SEmmanuel Vadot	};
133*833e5d42SEmmanuel Vadot
134*833e5d42SEmmanuel Vadot	pcie_clk: clk-9fgv0841-pci {
135*833e5d42SEmmanuel Vadot		compatible = "fixed-clock";
136*833e5d42SEmmanuel Vadot		clock-frequency = <100000000>;
137*833e5d42SEmmanuel Vadot		#clock-cells = <0>;
138*833e5d42SEmmanuel Vadot	};
139*833e5d42SEmmanuel Vadot
140*833e5d42SEmmanuel Vadot	mini-dp-con {
141*833e5d42SEmmanuel Vadot		compatible = "dp-connector";
142*833e5d42SEmmanuel Vadot		label = "CN5";
143*833e5d42SEmmanuel Vadot		type = "mini";
144*833e5d42SEmmanuel Vadot
145*833e5d42SEmmanuel Vadot		port {
146*833e5d42SEmmanuel Vadot			mini_dp_con_in: endpoint {
147*833e5d42SEmmanuel Vadot				remote-endpoint = <&sn65dsi86_out0>;
148*833e5d42SEmmanuel Vadot			};
149*833e5d42SEmmanuel Vadot		};
150*833e5d42SEmmanuel Vadot	};
151*833e5d42SEmmanuel Vadot
152*833e5d42SEmmanuel Vadot	reg_1p2v: regulator-1p2v {
153*833e5d42SEmmanuel Vadot		compatible = "regulator-fixed";
154*833e5d42SEmmanuel Vadot		regulator-name = "fixed-1.2V";
155*833e5d42SEmmanuel Vadot		regulator-min-microvolt = <1200000>;
156*833e5d42SEmmanuel Vadot		regulator-max-microvolt = <1200000>;
157*833e5d42SEmmanuel Vadot		regulator-boot-on;
158*833e5d42SEmmanuel Vadot		regulator-always-on;
159*833e5d42SEmmanuel Vadot	};
160*833e5d42SEmmanuel Vadot
161*833e5d42SEmmanuel Vadot	reg_1p8v: regulator-1p8v {
162*833e5d42SEmmanuel Vadot		compatible = "regulator-fixed";
163*833e5d42SEmmanuel Vadot		regulator-name = "fixed-1.8V";
164*833e5d42SEmmanuel Vadot		regulator-min-microvolt = <1800000>;
165*833e5d42SEmmanuel Vadot		regulator-max-microvolt = <1800000>;
166*833e5d42SEmmanuel Vadot		regulator-boot-on;
167*833e5d42SEmmanuel Vadot		regulator-always-on;
168*833e5d42SEmmanuel Vadot	};
169*833e5d42SEmmanuel Vadot
170*833e5d42SEmmanuel Vadot	reg_3p3v: regulator-3p3v {
171*833e5d42SEmmanuel Vadot		compatible = "regulator-fixed";
172*833e5d42SEmmanuel Vadot		regulator-name = "fixed-3.3V";
173*833e5d42SEmmanuel Vadot		regulator-min-microvolt = <3300000>;
174*833e5d42SEmmanuel Vadot		regulator-max-microvolt = <3300000>;
175*833e5d42SEmmanuel Vadot		regulator-boot-on;
176*833e5d42SEmmanuel Vadot		regulator-always-on;
177*833e5d42SEmmanuel Vadot	};
178*833e5d42SEmmanuel Vadot
179*833e5d42SEmmanuel Vadot	sound_mux: sound-mux {
180*833e5d42SEmmanuel Vadot		compatible = "simple-audio-mux";
181*833e5d42SEmmanuel Vadot		mux-gpios = <&gpio0 1 GPIO_ACTIVE_HIGH>;
182*833e5d42SEmmanuel Vadot		state-labels = "Playback", "Capture";
183*833e5d42SEmmanuel Vadot	};
184*833e5d42SEmmanuel Vadot
185*833e5d42SEmmanuel Vadot	sound_card: sound {
186*833e5d42SEmmanuel Vadot		compatible = "audio-graph-card2";
187*833e5d42SEmmanuel Vadot		label = "rcar-sound";
188*833e5d42SEmmanuel Vadot		aux-devs = <&sound_mux>; // for GP0_01
189*833e5d42SEmmanuel Vadot
190*833e5d42SEmmanuel Vadot		links = <&rsnd_port>; // AK4619 Audio Codec
191*833e5d42SEmmanuel Vadot	};
192*833e5d42SEmmanuel Vadot};
193*833e5d42SEmmanuel Vadot
194*833e5d42SEmmanuel Vadot&audio_clkin {
195*833e5d42SEmmanuel Vadot	clock-frequency = <24576000>;
196*833e5d42SEmmanuel Vadot};
197*833e5d42SEmmanuel Vadot
198*833e5d42SEmmanuel Vadot&avb0 {
199*833e5d42SEmmanuel Vadot	pinctrl-0 = <&avb0_pins>;
200*833e5d42SEmmanuel Vadot	pinctrl-names = "default";
201*833e5d42SEmmanuel Vadot	phy-handle = <&avb0_phy>;
202*833e5d42SEmmanuel Vadot	tx-internal-delay-ps = <2000>;
203*833e5d42SEmmanuel Vadot	status = "okay";
204*833e5d42SEmmanuel Vadot
205*833e5d42SEmmanuel Vadot	mdio {
206*833e5d42SEmmanuel Vadot		#address-cells = <1>;
207*833e5d42SEmmanuel Vadot		#size-cells = <0>;
208*833e5d42SEmmanuel Vadot
209*833e5d42SEmmanuel Vadot		avb0_phy: ethernet-phy@0 {
210*833e5d42SEmmanuel Vadot			compatible = "ethernet-phy-id0022.1622",
211*833e5d42SEmmanuel Vadot				"ethernet-phy-ieee802.3-c22";
212*833e5d42SEmmanuel Vadot				rxc-skew-ps = <1500>;
213*833e5d42SEmmanuel Vadot				reg = <0>;
214*833e5d42SEmmanuel Vadot				interrupts-extended = <&gpio7 5 IRQ_TYPE_LEVEL_LOW>;
215*833e5d42SEmmanuel Vadot				reset-gpios = <&gpio7 10 GPIO_ACTIVE_LOW>;
216*833e5d42SEmmanuel Vadot		};
217*833e5d42SEmmanuel Vadot	};
218*833e5d42SEmmanuel Vadot};
219*833e5d42SEmmanuel Vadot
220*833e5d42SEmmanuel Vadot&avb1 {
221*833e5d42SEmmanuel Vadot	pinctrl-0 = <&avb1_pins>;
222*833e5d42SEmmanuel Vadot	pinctrl-names = "default";
223*833e5d42SEmmanuel Vadot	phy-handle = <&avb1_phy>;
224*833e5d42SEmmanuel Vadot	status = "okay";
225*833e5d42SEmmanuel Vadot
226*833e5d42SEmmanuel Vadot	mdio {
227*833e5d42SEmmanuel Vadot		#address-cells = <1>;
228*833e5d42SEmmanuel Vadot		#size-cells = <0>;
229*833e5d42SEmmanuel Vadot
230*833e5d42SEmmanuel Vadot		reset-gpios = <&gpio6 1 GPIO_ACTIVE_LOW>;
231*833e5d42SEmmanuel Vadot		reset-post-delay-us = <4000>;
232*833e5d42SEmmanuel Vadot
233*833e5d42SEmmanuel Vadot		avb1_phy: ethernet-phy@0 {
234*833e5d42SEmmanuel Vadot			compatible = "ethernet-phy-ieee802.3-c45";
235*833e5d42SEmmanuel Vadot			reg = <0>;
236*833e5d42SEmmanuel Vadot			interrupts-extended = <&gpio6 3 IRQ_TYPE_LEVEL_LOW>;
237*833e5d42SEmmanuel Vadot		};
238*833e5d42SEmmanuel Vadot	};
239*833e5d42SEmmanuel Vadot};
240*833e5d42SEmmanuel Vadot
241*833e5d42SEmmanuel Vadot&avb2 {
242*833e5d42SEmmanuel Vadot	pinctrl-0 = <&avb2_pins>;
243*833e5d42SEmmanuel Vadot	pinctrl-names = "default";
244*833e5d42SEmmanuel Vadot	phy-handle = <&avb2_phy>;
245*833e5d42SEmmanuel Vadot	status = "okay";
246*833e5d42SEmmanuel Vadot
247*833e5d42SEmmanuel Vadot	mdio {
248*833e5d42SEmmanuel Vadot		#address-cells = <1>;
249*833e5d42SEmmanuel Vadot		#size-cells = <0>;
250*833e5d42SEmmanuel Vadot
251*833e5d42SEmmanuel Vadot		reset-gpios = <&gpio5 5 GPIO_ACTIVE_LOW>;
252*833e5d42SEmmanuel Vadot		reset-post-delay-us = <4000>;
253*833e5d42SEmmanuel Vadot
254*833e5d42SEmmanuel Vadot		avb2_phy: ethernet-phy@0 {
255*833e5d42SEmmanuel Vadot			compatible = "ethernet-phy-ieee802.3-c45";
256*833e5d42SEmmanuel Vadot			reg = <0>;
257*833e5d42SEmmanuel Vadot			interrupts-extended = <&gpio5 4 IRQ_TYPE_LEVEL_LOW>;
258*833e5d42SEmmanuel Vadot		};
259*833e5d42SEmmanuel Vadot	};
260*833e5d42SEmmanuel Vadot};
261*833e5d42SEmmanuel Vadot
262*833e5d42SEmmanuel Vadot&can_clk {
263*833e5d42SEmmanuel Vadot	clock-frequency = <40000000>;
264*833e5d42SEmmanuel Vadot};
265*833e5d42SEmmanuel Vadot
266*833e5d42SEmmanuel Vadot&canfd {
267*833e5d42SEmmanuel Vadot	pinctrl-0 = <&canfd0_pins>, <&canfd1_pins>, <&can_clk_pins>;
268*833e5d42SEmmanuel Vadot	pinctrl-names = "default";
269*833e5d42SEmmanuel Vadot	status = "okay";
270*833e5d42SEmmanuel Vadot
271*833e5d42SEmmanuel Vadot	channel0 {
272*833e5d42SEmmanuel Vadot		status = "okay";
273*833e5d42SEmmanuel Vadot		phys = <&can_transceiver0>;
274*833e5d42SEmmanuel Vadot	};
275*833e5d42SEmmanuel Vadot
276*833e5d42SEmmanuel Vadot	channel1 {
277*833e5d42SEmmanuel Vadot		status = "okay";
278*833e5d42SEmmanuel Vadot	};
279*833e5d42SEmmanuel Vadot};
280*833e5d42SEmmanuel Vadot
281*833e5d42SEmmanuel Vadot&csi40 {
282*833e5d42SEmmanuel Vadot	status = "okay";
283*833e5d42SEmmanuel Vadot
284*833e5d42SEmmanuel Vadot	ports {
285*833e5d42SEmmanuel Vadot		#address-cells = <1>;
286*833e5d42SEmmanuel Vadot		#size-cells = <0>;
287*833e5d42SEmmanuel Vadot
288*833e5d42SEmmanuel Vadot		port@0 {
289*833e5d42SEmmanuel Vadot			reg = <0>;
290*833e5d42SEmmanuel Vadot
291*833e5d42SEmmanuel Vadot			csi40_in: endpoint {
292*833e5d42SEmmanuel Vadot				bus-type = <MEDIA_BUS_TYPE_CSI2_DPHY>;
293*833e5d42SEmmanuel Vadot				clock-lanes = <0>;
294*833e5d42SEmmanuel Vadot				data-lanes = <1 2 3 4>;
295*833e5d42SEmmanuel Vadot				remote-endpoint = <&max96724_out0>;
296*833e5d42SEmmanuel Vadot			};
297*833e5d42SEmmanuel Vadot		};
298*833e5d42SEmmanuel Vadot	};
299*833e5d42SEmmanuel Vadot};
300*833e5d42SEmmanuel Vadot
301*833e5d42SEmmanuel Vadot&csi41 {
302*833e5d42SEmmanuel Vadot	status = "okay";
303*833e5d42SEmmanuel Vadot
304*833e5d42SEmmanuel Vadot	ports {
305*833e5d42SEmmanuel Vadot		#address-cells = <1>;
306*833e5d42SEmmanuel Vadot		#size-cells = <0>;
307*833e5d42SEmmanuel Vadot
308*833e5d42SEmmanuel Vadot		port@0 {
309*833e5d42SEmmanuel Vadot			reg = <0>;
310*833e5d42SEmmanuel Vadot
311*833e5d42SEmmanuel Vadot			csi41_in: endpoint {
312*833e5d42SEmmanuel Vadot				bus-type = <MEDIA_BUS_TYPE_CSI2_DPHY>;
313*833e5d42SEmmanuel Vadot				clock-lanes = <0>;
314*833e5d42SEmmanuel Vadot				data-lanes = <1 2 3 4>;
315*833e5d42SEmmanuel Vadot				remote-endpoint = <&max96724_out1>;
316*833e5d42SEmmanuel Vadot			};
317*833e5d42SEmmanuel Vadot		};
318*833e5d42SEmmanuel Vadot	};
319*833e5d42SEmmanuel Vadot};
320*833e5d42SEmmanuel Vadot
321*833e5d42SEmmanuel Vadot&dsi0 {
322*833e5d42SEmmanuel Vadot	status = "okay";
323*833e5d42SEmmanuel Vadot
324*833e5d42SEmmanuel Vadot	ports {
325*833e5d42SEmmanuel Vadot		port@1 {
326*833e5d42SEmmanuel Vadot			reg = <1>;
327*833e5d42SEmmanuel Vadot
328*833e5d42SEmmanuel Vadot			dsi0_out: endpoint {
329*833e5d42SEmmanuel Vadot				remote-endpoint = <&sn65dsi86_in0>;
330*833e5d42SEmmanuel Vadot				data-lanes = <1 2 3 4>;
331*833e5d42SEmmanuel Vadot			};
332*833e5d42SEmmanuel Vadot		};
333*833e5d42SEmmanuel Vadot	};
334*833e5d42SEmmanuel Vadot};
335*833e5d42SEmmanuel Vadot
336*833e5d42SEmmanuel Vadot&du {
337*833e5d42SEmmanuel Vadot	status = "okay";
338*833e5d42SEmmanuel Vadot};
339*833e5d42SEmmanuel Vadot
340*833e5d42SEmmanuel Vadot&extal_clk {
341*833e5d42SEmmanuel Vadot	clock-frequency = <16666666>;
342*833e5d42SEmmanuel Vadot};
343*833e5d42SEmmanuel Vadot
344*833e5d42SEmmanuel Vadot&extalr_clk {
345*833e5d42SEmmanuel Vadot	clock-frequency = <32768>;
346*833e5d42SEmmanuel Vadot};
347*833e5d42SEmmanuel Vadot
348*833e5d42SEmmanuel Vadot&gpio1 {
349*833e5d42SEmmanuel Vadot	audio-power-hog {
350*833e5d42SEmmanuel Vadot		gpio-hog;
351*833e5d42SEmmanuel Vadot		gpios = <8 GPIO_ACTIVE_HIGH>;
352*833e5d42SEmmanuel Vadot		output-high;
353*833e5d42SEmmanuel Vadot		line-name = "Audio-Power";
354*833e5d42SEmmanuel Vadot	};
355*833e5d42SEmmanuel Vadot};
356*833e5d42SEmmanuel Vadot
357*833e5d42SEmmanuel Vadot&hscif0 {
358*833e5d42SEmmanuel Vadot	pinctrl-0 = <&hscif0_pins>;
359*833e5d42SEmmanuel Vadot	pinctrl-names = "default";
360*833e5d42SEmmanuel Vadot	bootph-all;
361*833e5d42SEmmanuel Vadot
362*833e5d42SEmmanuel Vadot	uart-has-rtscts;
363*833e5d42SEmmanuel Vadot	status = "okay";
364*833e5d42SEmmanuel Vadot};
365*833e5d42SEmmanuel Vadot
366*833e5d42SEmmanuel Vadot&hscif2 {
367*833e5d42SEmmanuel Vadot	pinctrl-0 = <&hscif2_pins>;
368*833e5d42SEmmanuel Vadot	pinctrl-names = "default";
369*833e5d42SEmmanuel Vadot
370*833e5d42SEmmanuel Vadot	uart-has-rtscts;
371*833e5d42SEmmanuel Vadot	status = "okay";
372*833e5d42SEmmanuel Vadot};
373*833e5d42SEmmanuel Vadot
374*833e5d42SEmmanuel Vadot&i2c0 {
375*833e5d42SEmmanuel Vadot	pinctrl-0 = <&i2c0_pins>;
376*833e5d42SEmmanuel Vadot	pinctrl-names = "default";
377*833e5d42SEmmanuel Vadot
378*833e5d42SEmmanuel Vadot	status = "okay";
379*833e5d42SEmmanuel Vadot	clock-frequency = <400000>;
380*833e5d42SEmmanuel Vadot
381*833e5d42SEmmanuel Vadot	io_expander_a: gpio@20 {
382*833e5d42SEmmanuel Vadot		compatible = "onnn,pca9654";
383*833e5d42SEmmanuel Vadot		reg = <0x20>;
384*833e5d42SEmmanuel Vadot		interrupts-extended = <&gpio0 0 IRQ_TYPE_LEVEL_LOW>;
385*833e5d42SEmmanuel Vadot		gpio-controller;
386*833e5d42SEmmanuel Vadot		#gpio-cells = <2>;
387*833e5d42SEmmanuel Vadot		interrupt-controller;
388*833e5d42SEmmanuel Vadot		#interrupt-cells = <2>;
389*833e5d42SEmmanuel Vadot	};
390*833e5d42SEmmanuel Vadot
391*833e5d42SEmmanuel Vadot	io_expander_b: gpio@21 {
392*833e5d42SEmmanuel Vadot		compatible = "onnn,pca9654";
393*833e5d42SEmmanuel Vadot		reg = <0x21>;
394*833e5d42SEmmanuel Vadot		gpio-controller;
395*833e5d42SEmmanuel Vadot		#gpio-cells = <2>;
396*833e5d42SEmmanuel Vadot	};
397*833e5d42SEmmanuel Vadot
398*833e5d42SEmmanuel Vadot	io_expander_c: gpio@22 {
399*833e5d42SEmmanuel Vadot		compatible = "onnn,pca9654";
400*833e5d42SEmmanuel Vadot		reg = <0x22>;
401*833e5d42SEmmanuel Vadot		gpio-controller;
402*833e5d42SEmmanuel Vadot		#gpio-cells = <2>;
403*833e5d42SEmmanuel Vadot	};
404*833e5d42SEmmanuel Vadot
405*833e5d42SEmmanuel Vadot	eeprom@50 {
406*833e5d42SEmmanuel Vadot		compatible = "rohm,br24g01", "atmel,24c01";
407*833e5d42SEmmanuel Vadot		label = "cpu-board";
408*833e5d42SEmmanuel Vadot		reg = <0x50>;
409*833e5d42SEmmanuel Vadot		pagesize = <8>;
410*833e5d42SEmmanuel Vadot	};
411*833e5d42SEmmanuel Vadot
412*833e5d42SEmmanuel Vadot	eeprom@51 {
413*833e5d42SEmmanuel Vadot		compatible = "rohm,br24g01", "atmel,24c01";
414*833e5d42SEmmanuel Vadot		label = "breakout-board";
415*833e5d42SEmmanuel Vadot		reg = <0x51>;
416*833e5d42SEmmanuel Vadot		pagesize = <8>;
417*833e5d42SEmmanuel Vadot	};
418*833e5d42SEmmanuel Vadot
419*833e5d42SEmmanuel Vadot	eeprom@52 {
420*833e5d42SEmmanuel Vadot		compatible = "rohm,br24g01", "atmel,24c01";
421*833e5d42SEmmanuel Vadot		label = "csi-dsi-sub-board-id";
422*833e5d42SEmmanuel Vadot		reg = <0x52>;
423*833e5d42SEmmanuel Vadot		pagesize = <8>;
424*833e5d42SEmmanuel Vadot	};
425*833e5d42SEmmanuel Vadot
426*833e5d42SEmmanuel Vadot	eeprom@53 {
427*833e5d42SEmmanuel Vadot		compatible = "rohm,br24g01", "atmel,24c01";
428*833e5d42SEmmanuel Vadot		label = "ethernet-sub-board-id";
429*833e5d42SEmmanuel Vadot		reg = <0x53>;
430*833e5d42SEmmanuel Vadot		pagesize = <8>;
431*833e5d42SEmmanuel Vadot	};
432*833e5d42SEmmanuel Vadot};
433*833e5d42SEmmanuel Vadot
434*833e5d42SEmmanuel Vadot&i2c1 {
435*833e5d42SEmmanuel Vadot	pinctrl-0 = <&i2c1_pins>;
436*833e5d42SEmmanuel Vadot	pinctrl-names = "default";
437*833e5d42SEmmanuel Vadot
438*833e5d42SEmmanuel Vadot	status = "okay";
439*833e5d42SEmmanuel Vadot	clock-frequency = <400000>;
440*833e5d42SEmmanuel Vadot
441*833e5d42SEmmanuel Vadot	bridge@2c {
442*833e5d42SEmmanuel Vadot		pinctrl-0 = <&irq0_pins>;
443*833e5d42SEmmanuel Vadot		pinctrl-names = "default";
444*833e5d42SEmmanuel Vadot
445*833e5d42SEmmanuel Vadot		compatible = "ti,sn65dsi86";
446*833e5d42SEmmanuel Vadot		reg = <0x2c>;
447*833e5d42SEmmanuel Vadot
448*833e5d42SEmmanuel Vadot		clocks = <&sn65dsi86_refclk>;
449*833e5d42SEmmanuel Vadot		clock-names = "refclk";
450*833e5d42SEmmanuel Vadot
451*833e5d42SEmmanuel Vadot		interrupts-extended = <&intc_ex 0 IRQ_TYPE_LEVEL_HIGH>;
452*833e5d42SEmmanuel Vadot
453*833e5d42SEmmanuel Vadot		enable-gpios = <&gpio1 26 GPIO_ACTIVE_HIGH>;
454*833e5d42SEmmanuel Vadot
455*833e5d42SEmmanuel Vadot		vccio-supply = <&reg_1p8v>;
456*833e5d42SEmmanuel Vadot		vpll-supply = <&reg_1p8v>;
457*833e5d42SEmmanuel Vadot		vcca-supply = <&reg_1p2v>;
458*833e5d42SEmmanuel Vadot		vcc-supply = <&reg_1p2v>;
459*833e5d42SEmmanuel Vadot
460*833e5d42SEmmanuel Vadot		ports {
461*833e5d42SEmmanuel Vadot			#address-cells = <1>;
462*833e5d42SEmmanuel Vadot			#size-cells = <0>;
463*833e5d42SEmmanuel Vadot
464*833e5d42SEmmanuel Vadot			port@0 {
465*833e5d42SEmmanuel Vadot				reg = <0>;
466*833e5d42SEmmanuel Vadot
467*833e5d42SEmmanuel Vadot				sn65dsi86_in0: endpoint {
468*833e5d42SEmmanuel Vadot					remote-endpoint = <&dsi0_out>;
469*833e5d42SEmmanuel Vadot				};
470*833e5d42SEmmanuel Vadot			};
471*833e5d42SEmmanuel Vadot
472*833e5d42SEmmanuel Vadot			port@1 {
473*833e5d42SEmmanuel Vadot				reg = <1>;
474*833e5d42SEmmanuel Vadot
475*833e5d42SEmmanuel Vadot				sn65dsi86_out0: endpoint {
476*833e5d42SEmmanuel Vadot					remote-endpoint = <&mini_dp_con_in>;
477*833e5d42SEmmanuel Vadot				};
478*833e5d42SEmmanuel Vadot			};
479*833e5d42SEmmanuel Vadot		};
480*833e5d42SEmmanuel Vadot	};
481*833e5d42SEmmanuel Vadot
482*833e5d42SEmmanuel Vadot	gmsl0: gmsl-deserializer@4e {
483*833e5d42SEmmanuel Vadot		compatible = "maxim,max96724";
484*833e5d42SEmmanuel Vadot		reg = <0x4e>;
485*833e5d42SEmmanuel Vadot		enable-gpios = <&io_expander_b 0 GPIO_ACTIVE_HIGH>;
486*833e5d42SEmmanuel Vadot
487*833e5d42SEmmanuel Vadot		ports {
488*833e5d42SEmmanuel Vadot			#address-cells = <1>;
489*833e5d42SEmmanuel Vadot			#size-cells = <0>;
490*833e5d42SEmmanuel Vadot
491*833e5d42SEmmanuel Vadot			port@4 {
492*833e5d42SEmmanuel Vadot				reg = <4>;
493*833e5d42SEmmanuel Vadot				max96724_out0: endpoint {
494*833e5d42SEmmanuel Vadot					bus-type = <MEDIA_BUS_TYPE_CSI2_DPHY>;
495*833e5d42SEmmanuel Vadot					clock-lanes = <0>;
496*833e5d42SEmmanuel Vadot					data-lanes = <1 2 3 4>;
497*833e5d42SEmmanuel Vadot					remote-endpoint = <&csi40_in>;
498*833e5d42SEmmanuel Vadot				};
499*833e5d42SEmmanuel Vadot			};
500*833e5d42SEmmanuel Vadot		};
501*833e5d42SEmmanuel Vadot	};
502*833e5d42SEmmanuel Vadot
503*833e5d42SEmmanuel Vadot	gmsl1: gmsl-deserializer@4f {
504*833e5d42SEmmanuel Vadot		compatible = "maxim,max96724";
505*833e5d42SEmmanuel Vadot		reg = <0x4f>;
506*833e5d42SEmmanuel Vadot		enable-gpios = <&io_expander_c 0 GPIO_ACTIVE_HIGH>;
507*833e5d42SEmmanuel Vadot
508*833e5d42SEmmanuel Vadot		ports {
509*833e5d42SEmmanuel Vadot			#address-cells = <1>;
510*833e5d42SEmmanuel Vadot			#size-cells = <0>;
511*833e5d42SEmmanuel Vadot
512*833e5d42SEmmanuel Vadot			port@4 {
513*833e5d42SEmmanuel Vadot				reg = <4>;
514*833e5d42SEmmanuel Vadot				max96724_out1: endpoint {
515*833e5d42SEmmanuel Vadot					bus-type = <MEDIA_BUS_TYPE_CSI2_DPHY>;
516*833e5d42SEmmanuel Vadot					clock-lanes = <0>;
517*833e5d42SEmmanuel Vadot					data-lanes = <1 2 3 4>;
518*833e5d42SEmmanuel Vadot					remote-endpoint = <&csi41_in>;
519*833e5d42SEmmanuel Vadot				};
520*833e5d42SEmmanuel Vadot			};
521*833e5d42SEmmanuel Vadot		};
522*833e5d42SEmmanuel Vadot	};
523*833e5d42SEmmanuel Vadot};
524*833e5d42SEmmanuel Vadot
525*833e5d42SEmmanuel Vadot&i2c3 {
526*833e5d42SEmmanuel Vadot	pinctrl-0 = <&i2c3_pins>;
527*833e5d42SEmmanuel Vadot	pinctrl-names = "default";
528*833e5d42SEmmanuel Vadot
529*833e5d42SEmmanuel Vadot	status = "okay";
530*833e5d42SEmmanuel Vadot	clock-frequency = <400000>;
531*833e5d42SEmmanuel Vadot
532*833e5d42SEmmanuel Vadot	codec@10 {
533*833e5d42SEmmanuel Vadot		compatible = "asahi-kasei,ak4619";
534*833e5d42SEmmanuel Vadot		reg = <0x10>;
535*833e5d42SEmmanuel Vadot
536*833e5d42SEmmanuel Vadot		clocks = <&rcar_sound>;
537*833e5d42SEmmanuel Vadot		clock-names = "mclk";
538*833e5d42SEmmanuel Vadot
539*833e5d42SEmmanuel Vadot		#sound-dai-cells = <0>;
540*833e5d42SEmmanuel Vadot		port {
541*833e5d42SEmmanuel Vadot			ak4619_endpoint: endpoint {
542*833e5d42SEmmanuel Vadot				remote-endpoint = <&rsnd_endpoint>;
543*833e5d42SEmmanuel Vadot			};
544*833e5d42SEmmanuel Vadot		};
545*833e5d42SEmmanuel Vadot	};
546*833e5d42SEmmanuel Vadot};
547*833e5d42SEmmanuel Vadot
548*833e5d42SEmmanuel Vadot&isp0 {
549*833e5d42SEmmanuel Vadot	status = "okay";
550*833e5d42SEmmanuel Vadot};
551*833e5d42SEmmanuel Vadot
552*833e5d42SEmmanuel Vadot&isp1 {
553*833e5d42SEmmanuel Vadot	status = "okay";
554*833e5d42SEmmanuel Vadot};
555*833e5d42SEmmanuel Vadot
556*833e5d42SEmmanuel Vadot&mmc0 {
557*833e5d42SEmmanuel Vadot	pinctrl-0 = <&mmc_pins>;
558*833e5d42SEmmanuel Vadot	pinctrl-1 = <&mmc_pins>;
559*833e5d42SEmmanuel Vadot	pinctrl-names = "default", "state_uhs";
560*833e5d42SEmmanuel Vadot
561*833e5d42SEmmanuel Vadot	vmmc-supply = <&reg_3p3v>;
562*833e5d42SEmmanuel Vadot	vqmmc-supply = <&reg_1p8v>;
563*833e5d42SEmmanuel Vadot	mmc-hs200-1_8v;
564*833e5d42SEmmanuel Vadot	mmc-hs400-1_8v;
565*833e5d42SEmmanuel Vadot	bus-width = <8>;
566*833e5d42SEmmanuel Vadot	no-sd;
567*833e5d42SEmmanuel Vadot	no-sdio;
568*833e5d42SEmmanuel Vadot	non-removable;
569*833e5d42SEmmanuel Vadot	full-pwr-cycle-in-suspend;
570*833e5d42SEmmanuel Vadot	status = "okay";
571*833e5d42SEmmanuel Vadot};
572*833e5d42SEmmanuel Vadot
573*833e5d42SEmmanuel Vadot&pcie0_clkref {
574*833e5d42SEmmanuel Vadot	compatible = "gpio-gate-clock";
575*833e5d42SEmmanuel Vadot	clocks = <&pcie_clk>;
576*833e5d42SEmmanuel Vadot	enable-gpios = <&gpio4 21 GPIO_ACTIVE_LOW>;
577*833e5d42SEmmanuel Vadot	/delete-property/ clock-frequency;
578*833e5d42SEmmanuel Vadot};
579*833e5d42SEmmanuel Vadot
580*833e5d42SEmmanuel Vadot&pciec0 {
581*833e5d42SEmmanuel Vadot	reset-gpios = <&io_expander_a 0 GPIO_ACTIVE_LOW>;
582*833e5d42SEmmanuel Vadot	status = "okay";
583*833e5d42SEmmanuel Vadot};
584*833e5d42SEmmanuel Vadot
585*833e5d42SEmmanuel Vadot&pfc {
586*833e5d42SEmmanuel Vadot	pinctrl-0 = <&scif_clk_pins>, <&scif_clk2_pins>;
587*833e5d42SEmmanuel Vadot	pinctrl-names = "default";
588*833e5d42SEmmanuel Vadot
589*833e5d42SEmmanuel Vadot	avb0_pins: avb0 {
590*833e5d42SEmmanuel Vadot		mux {
591*833e5d42SEmmanuel Vadot			groups = "avb0_link", "avb0_mdio", "avb0_rgmii",
592*833e5d42SEmmanuel Vadot				 "avb0_txcrefclk";
593*833e5d42SEmmanuel Vadot			function = "avb0";
594*833e5d42SEmmanuel Vadot		};
595*833e5d42SEmmanuel Vadot
596*833e5d42SEmmanuel Vadot		pins_mdio {
597*833e5d42SEmmanuel Vadot			groups = "avb0_mdio";
598*833e5d42SEmmanuel Vadot			drive-strength = <21>;
599*833e5d42SEmmanuel Vadot		};
600*833e5d42SEmmanuel Vadot
601*833e5d42SEmmanuel Vadot		pins_mii {
602*833e5d42SEmmanuel Vadot			groups = "avb0_rgmii";
603*833e5d42SEmmanuel Vadot			drive-strength = <21>;
604*833e5d42SEmmanuel Vadot		};
605*833e5d42SEmmanuel Vadot	};
606*833e5d42SEmmanuel Vadot
607*833e5d42SEmmanuel Vadot	avb1_pins: avb1 {
608*833e5d42SEmmanuel Vadot		mux {
609*833e5d42SEmmanuel Vadot			groups = "avb1_link", "avb1_mdio", "avb1_rgmii",
610*833e5d42SEmmanuel Vadot				 "avb1_txcrefclk";
611*833e5d42SEmmanuel Vadot			function = "avb1";
612*833e5d42SEmmanuel Vadot		};
613*833e5d42SEmmanuel Vadot
614*833e5d42SEmmanuel Vadot		link {
615*833e5d42SEmmanuel Vadot			groups = "avb1_link";
616*833e5d42SEmmanuel Vadot			bias-disable;
617*833e5d42SEmmanuel Vadot		};
618*833e5d42SEmmanuel Vadot
619*833e5d42SEmmanuel Vadot		mdio {
620*833e5d42SEmmanuel Vadot			groups = "avb1_mdio";
621*833e5d42SEmmanuel Vadot			drive-strength = <24>;
622*833e5d42SEmmanuel Vadot			bias-disable;
623*833e5d42SEmmanuel Vadot		};
624*833e5d42SEmmanuel Vadot
625*833e5d42SEmmanuel Vadot		rgmii {
626*833e5d42SEmmanuel Vadot			groups = "avb1_rgmii";
627*833e5d42SEmmanuel Vadot			drive-strength = <24>;
628*833e5d42SEmmanuel Vadot			bias-disable;
629*833e5d42SEmmanuel Vadot		};
630*833e5d42SEmmanuel Vadot	};
631*833e5d42SEmmanuel Vadot
632*833e5d42SEmmanuel Vadot	avb2_pins: avb2 {
633*833e5d42SEmmanuel Vadot		mux {
634*833e5d42SEmmanuel Vadot			groups = "avb2_link", "avb2_mdio", "avb2_rgmii",
635*833e5d42SEmmanuel Vadot				 "avb2_txcrefclk";
636*833e5d42SEmmanuel Vadot			function = "avb2";
637*833e5d42SEmmanuel Vadot		};
638*833e5d42SEmmanuel Vadot
639*833e5d42SEmmanuel Vadot		link {
640*833e5d42SEmmanuel Vadot			groups = "avb2_link";
641*833e5d42SEmmanuel Vadot			bias-disable;
642*833e5d42SEmmanuel Vadot		};
643*833e5d42SEmmanuel Vadot
644*833e5d42SEmmanuel Vadot		mdio {
645*833e5d42SEmmanuel Vadot			groups = "avb2_mdio";
646*833e5d42SEmmanuel Vadot			drive-strength = <24>;
647*833e5d42SEmmanuel Vadot			bias-disable;
648*833e5d42SEmmanuel Vadot		};
649*833e5d42SEmmanuel Vadot
650*833e5d42SEmmanuel Vadot		rgmii {
651*833e5d42SEmmanuel Vadot			groups = "avb2_rgmii";
652*833e5d42SEmmanuel Vadot			drive-strength = <24>;
653*833e5d42SEmmanuel Vadot			bias-disable;
654*833e5d42SEmmanuel Vadot		};
655*833e5d42SEmmanuel Vadot	};
656*833e5d42SEmmanuel Vadot
657*833e5d42SEmmanuel Vadot	can_clk_pins: can-clk {
658*833e5d42SEmmanuel Vadot		groups = "can_clk";
659*833e5d42SEmmanuel Vadot		function = "can_clk";
660*833e5d42SEmmanuel Vadot	};
661*833e5d42SEmmanuel Vadot
662*833e5d42SEmmanuel Vadot	canfd0_pins: canfd0 {
663*833e5d42SEmmanuel Vadot		groups = "canfd0_data";
664*833e5d42SEmmanuel Vadot		function = "canfd0";
665*833e5d42SEmmanuel Vadot	};
666*833e5d42SEmmanuel Vadot
667*833e5d42SEmmanuel Vadot	canfd1_pins: canfd1 {
668*833e5d42SEmmanuel Vadot		groups = "canfd1_data";
669*833e5d42SEmmanuel Vadot		function = "canfd1";
670*833e5d42SEmmanuel Vadot	};
671*833e5d42SEmmanuel Vadot
672*833e5d42SEmmanuel Vadot	hscif0_pins: hscif0 {
673*833e5d42SEmmanuel Vadot		groups = "hscif0_data", "hscif0_ctrl";
674*833e5d42SEmmanuel Vadot		function = "hscif0";
675*833e5d42SEmmanuel Vadot	};
676*833e5d42SEmmanuel Vadot
677*833e5d42SEmmanuel Vadot	hscif2_pins: hscif2 {
678*833e5d42SEmmanuel Vadot		groups = "hscif2_data", "hscif2_ctrl";
679*833e5d42SEmmanuel Vadot		function = "hscif2";
680*833e5d42SEmmanuel Vadot	};
681*833e5d42SEmmanuel Vadot
682*833e5d42SEmmanuel Vadot	i2c0_pins: i2c0 {
683*833e5d42SEmmanuel Vadot		groups = "i2c0";
684*833e5d42SEmmanuel Vadot		function = "i2c0";
685*833e5d42SEmmanuel Vadot	};
686*833e5d42SEmmanuel Vadot
687*833e5d42SEmmanuel Vadot	i2c1_pins: i2c1 {
688*833e5d42SEmmanuel Vadot		groups = "i2c1";
689*833e5d42SEmmanuel Vadot		function = "i2c1";
690*833e5d42SEmmanuel Vadot	};
691*833e5d42SEmmanuel Vadot
692*833e5d42SEmmanuel Vadot	i2c3_pins: i2c3 {
693*833e5d42SEmmanuel Vadot		groups = "i2c3";
694*833e5d42SEmmanuel Vadot		function = "i2c3";
695*833e5d42SEmmanuel Vadot	};
696*833e5d42SEmmanuel Vadot
697*833e5d42SEmmanuel Vadot	irq0_pins: irq0_pins {
698*833e5d42SEmmanuel Vadot		groups = "intc_ex_irq0_a";
699*833e5d42SEmmanuel Vadot		function = "intc_ex";
700*833e5d42SEmmanuel Vadot	};
701*833e5d42SEmmanuel Vadot
702*833e5d42SEmmanuel Vadot	keys_pins: keys {
703*833e5d42SEmmanuel Vadot		pins = "GP_5_0", "GP_5_1", "GP_5_2";
704*833e5d42SEmmanuel Vadot		bias-pull-up;
705*833e5d42SEmmanuel Vadot	};
706*833e5d42SEmmanuel Vadot
707*833e5d42SEmmanuel Vadot	mmc_pins: mmc {
708*833e5d42SEmmanuel Vadot		groups = "mmc_data8", "mmc_ctrl", "mmc_ds";
709*833e5d42SEmmanuel Vadot		function = "mmc";
710*833e5d42SEmmanuel Vadot		power-source = <1800>;
711*833e5d42SEmmanuel Vadot	};
712*833e5d42SEmmanuel Vadot
713*833e5d42SEmmanuel Vadot	qspi0_pins: qspi0 {
714*833e5d42SEmmanuel Vadot		groups = "qspi0_ctrl", "qspi0_data4";
715*833e5d42SEmmanuel Vadot		function = "qspi0";
716*833e5d42SEmmanuel Vadot	};
717*833e5d42SEmmanuel Vadot
718*833e5d42SEmmanuel Vadot	scif_clk_pins: scif-clk {
719*833e5d42SEmmanuel Vadot		groups = "scif_clk";
720*833e5d42SEmmanuel Vadot		function = "scif_clk";
721*833e5d42SEmmanuel Vadot	};
722*833e5d42SEmmanuel Vadot
723*833e5d42SEmmanuel Vadot	scif_clk2_pins: scif-clk2 {
724*833e5d42SEmmanuel Vadot		groups = "scif_clk2";
725*833e5d42SEmmanuel Vadot		function = "scif_clk2";
726*833e5d42SEmmanuel Vadot	};
727*833e5d42SEmmanuel Vadot
728*833e5d42SEmmanuel Vadot	sound_clk_pins: sound_clk {
729*833e5d42SEmmanuel Vadot		groups = "audio_clkin", "audio_clkout";
730*833e5d42SEmmanuel Vadot		function = "audio_clk";
731*833e5d42SEmmanuel Vadot	};
732*833e5d42SEmmanuel Vadot
733*833e5d42SEmmanuel Vadot	sound_pins: sound {
734*833e5d42SEmmanuel Vadot		groups = "ssi_ctrl", "ssi_data";
735*833e5d42SEmmanuel Vadot		function = "ssi";
736*833e5d42SEmmanuel Vadot	};
737*833e5d42SEmmanuel Vadot};
738*833e5d42SEmmanuel Vadot
739*833e5d42SEmmanuel Vadot&rcar_sound {
740*833e5d42SEmmanuel Vadot	pinctrl-0 = <&sound_clk_pins>, <&sound_pins>;
741*833e5d42SEmmanuel Vadot	pinctrl-names = "default";
742*833e5d42SEmmanuel Vadot
743*833e5d42SEmmanuel Vadot	status = "okay";
744*833e5d42SEmmanuel Vadot
745*833e5d42SEmmanuel Vadot	/* audio_clkout */
746*833e5d42SEmmanuel Vadot	clock-frequency = <12288000>;
747*833e5d42SEmmanuel Vadot
748*833e5d42SEmmanuel Vadot	ports {
749*833e5d42SEmmanuel Vadot		rsnd_port: port {
750*833e5d42SEmmanuel Vadot			rsnd_endpoint: endpoint {
751*833e5d42SEmmanuel Vadot				remote-endpoint = <&ak4619_endpoint>;
752*833e5d42SEmmanuel Vadot				bitclock-master;
753*833e5d42SEmmanuel Vadot				frame-master;
754*833e5d42SEmmanuel Vadot
755*833e5d42SEmmanuel Vadot				/* see above [How to use Sound] */
756*833e5d42SEmmanuel Vadot				playback = <&ssi0>;
757*833e5d42SEmmanuel Vadot				capture  = <&ssi0>;
758*833e5d42SEmmanuel Vadot			};
759*833e5d42SEmmanuel Vadot		};
760*833e5d42SEmmanuel Vadot	};
761*833e5d42SEmmanuel Vadot};
762*833e5d42SEmmanuel Vadot
763*833e5d42SEmmanuel Vadot&rpc {
764*833e5d42SEmmanuel Vadot	pinctrl-0 = <&qspi0_pins>;
765*833e5d42SEmmanuel Vadot	pinctrl-names = "default";
766*833e5d42SEmmanuel Vadot
767*833e5d42SEmmanuel Vadot	status = "okay";
768*833e5d42SEmmanuel Vadot
769*833e5d42SEmmanuel Vadot	flash@0 {
770*833e5d42SEmmanuel Vadot		compatible = "spansion,s25fs512s", "jedec,spi-nor";
771*833e5d42SEmmanuel Vadot		reg = <0>;
772*833e5d42SEmmanuel Vadot		spi-max-frequency = <40000000>;
773*833e5d42SEmmanuel Vadot		spi-rx-bus-width = <4>;
774*833e5d42SEmmanuel Vadot
775*833e5d42SEmmanuel Vadot		partitions {
776*833e5d42SEmmanuel Vadot			compatible = "fixed-partitions";
777*833e5d42SEmmanuel Vadot			#address-cells = <1>;
778*833e5d42SEmmanuel Vadot			#size-cells = <1>;
779*833e5d42SEmmanuel Vadot
780*833e5d42SEmmanuel Vadot			boot@0 {
781*833e5d42SEmmanuel Vadot				reg = <0x0 0x1200000>;
782*833e5d42SEmmanuel Vadot				read-only;
783*833e5d42SEmmanuel Vadot			};
784*833e5d42SEmmanuel Vadot			user@1200000 {
785*833e5d42SEmmanuel Vadot				reg = <0x1200000 0x2e00000>;
786*833e5d42SEmmanuel Vadot			};
787*833e5d42SEmmanuel Vadot		};
788*833e5d42SEmmanuel Vadot	};
789*833e5d42SEmmanuel Vadot};
790*833e5d42SEmmanuel Vadot
791*833e5d42SEmmanuel Vadot&rwdt {
792*833e5d42SEmmanuel Vadot	timeout-sec = <60>;
793*833e5d42SEmmanuel Vadot	status = "okay";
794*833e5d42SEmmanuel Vadot};
795*833e5d42SEmmanuel Vadot
796*833e5d42SEmmanuel Vadot&scif_clk {
797*833e5d42SEmmanuel Vadot	clock-frequency = <24000000>;
798*833e5d42SEmmanuel Vadot};
799*833e5d42SEmmanuel Vadot
800*833e5d42SEmmanuel Vadot&scif_clk2 {
801*833e5d42SEmmanuel Vadot	clock-frequency = <24000000>;
802*833e5d42SEmmanuel Vadot};
803*833e5d42SEmmanuel Vadot
804*833e5d42SEmmanuel Vadot&vin00 {
805*833e5d42SEmmanuel Vadot	status = "okay";
806*833e5d42SEmmanuel Vadot};
807*833e5d42SEmmanuel Vadot
808*833e5d42SEmmanuel Vadot&vin01 {
809*833e5d42SEmmanuel Vadot	status = "okay";
810*833e5d42SEmmanuel Vadot};
811*833e5d42SEmmanuel Vadot
812*833e5d42SEmmanuel Vadot&vin02 {
813*833e5d42SEmmanuel Vadot	status = "okay";
814*833e5d42SEmmanuel Vadot};
815*833e5d42SEmmanuel Vadot
816*833e5d42SEmmanuel Vadot&vin03 {
817*833e5d42SEmmanuel Vadot	status = "okay";
818*833e5d42SEmmanuel Vadot};
819*833e5d42SEmmanuel Vadot
820*833e5d42SEmmanuel Vadot&vin04 {
821*833e5d42SEmmanuel Vadot	status = "okay";
822*833e5d42SEmmanuel Vadot};
823*833e5d42SEmmanuel Vadot
824*833e5d42SEmmanuel Vadot&vin05 {
825*833e5d42SEmmanuel Vadot	status = "okay";
826*833e5d42SEmmanuel Vadot};
827*833e5d42SEmmanuel Vadot
828*833e5d42SEmmanuel Vadot&vin06 {
829*833e5d42SEmmanuel Vadot	status = "okay";
830*833e5d42SEmmanuel Vadot};
831*833e5d42SEmmanuel Vadot
832*833e5d42SEmmanuel Vadot&vin07 {
833*833e5d42SEmmanuel Vadot	status = "okay";
834*833e5d42SEmmanuel Vadot};
835*833e5d42SEmmanuel Vadot
836*833e5d42SEmmanuel Vadot&vin08 {
837*833e5d42SEmmanuel Vadot	status = "okay";
838*833e5d42SEmmanuel Vadot};
839*833e5d42SEmmanuel Vadot
840*833e5d42SEmmanuel Vadot&vin09 {
841*833e5d42SEmmanuel Vadot	status = "okay";
842*833e5d42SEmmanuel Vadot};
843*833e5d42SEmmanuel Vadot
844*833e5d42SEmmanuel Vadot&vin10 {
845*833e5d42SEmmanuel Vadot	status = "okay";
846*833e5d42SEmmanuel Vadot};
847*833e5d42SEmmanuel Vadot
848*833e5d42SEmmanuel Vadot&vin11 {
849*833e5d42SEmmanuel Vadot	status = "okay";
850*833e5d42SEmmanuel Vadot};
851*833e5d42SEmmanuel Vadot
852*833e5d42SEmmanuel Vadot&vin12 {
853*833e5d42SEmmanuel Vadot	status = "okay";
854*833e5d42SEmmanuel Vadot};
855*833e5d42SEmmanuel Vadot
856*833e5d42SEmmanuel Vadot&vin13 {
857*833e5d42SEmmanuel Vadot	status = "okay";
858*833e5d42SEmmanuel Vadot};
859*833e5d42SEmmanuel Vadot
860*833e5d42SEmmanuel Vadot&vin14 {
861*833e5d42SEmmanuel Vadot	status = "okay";
862*833e5d42SEmmanuel Vadot};
863*833e5d42SEmmanuel Vadot
864*833e5d42SEmmanuel Vadot&vin15 {
865*833e5d42SEmmanuel Vadot	status = "okay";
866*833e5d42SEmmanuel Vadot};
867