xref: /OK3568_Linux_fs/kernel/arch/arm64/boot/dts/renesas/r8a77995-draak.dts (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun// SPDX-License-Identifier: GPL-2.0
2*4882a593Smuzhiyun/*
3*4882a593Smuzhiyun * Device Tree Source for the Draak board
4*4882a593Smuzhiyun *
5*4882a593Smuzhiyun * Copyright (C) 2016-2018 Renesas Electronics Corp.
6*4882a593Smuzhiyun * Copyright (C) 2017 Glider bvba
7*4882a593Smuzhiyun */
8*4882a593Smuzhiyun
9*4882a593Smuzhiyun/dts-v1/;
10*4882a593Smuzhiyun#include "r8a77995.dtsi"
11*4882a593Smuzhiyun#include <dt-bindings/gpio/gpio.h>
12*4882a593Smuzhiyun
13*4882a593Smuzhiyun/ {
14*4882a593Smuzhiyun	model = "Renesas Draak board based on r8a77995";
15*4882a593Smuzhiyun	compatible = "renesas,draak", "renesas,r8a77995";
16*4882a593Smuzhiyun
17*4882a593Smuzhiyun	aliases {
18*4882a593Smuzhiyun		serial0 = &scif2;
19*4882a593Smuzhiyun		ethernet0 = &avb;
20*4882a593Smuzhiyun	};
21*4882a593Smuzhiyun
22*4882a593Smuzhiyun	backlight: backlight {
23*4882a593Smuzhiyun		compatible = "pwm-backlight";
24*4882a593Smuzhiyun		pwms = <&pwm1 0 50000>;
25*4882a593Smuzhiyun
26*4882a593Smuzhiyun		brightness-levels = <512 511 505 494 473 440 392 327 241 133 0>;
27*4882a593Smuzhiyun		default-brightness-level = <10>;
28*4882a593Smuzhiyun
29*4882a593Smuzhiyun		power-supply = <&reg_12p0v>;
30*4882a593Smuzhiyun		enable-gpios = <&gpio4 0 GPIO_ACTIVE_HIGH>;
31*4882a593Smuzhiyun	};
32*4882a593Smuzhiyun
33*4882a593Smuzhiyun	chosen {
34*4882a593Smuzhiyun		bootargs = "ignore_loglevel rw root=/dev/nfs ip=on";
35*4882a593Smuzhiyun		stdout-path = "serial0:115200n8";
36*4882a593Smuzhiyun	};
37*4882a593Smuzhiyun
38*4882a593Smuzhiyun	composite-in {
39*4882a593Smuzhiyun		compatible = "composite-video-connector";
40*4882a593Smuzhiyun
41*4882a593Smuzhiyun		port {
42*4882a593Smuzhiyun			composite_con_in: endpoint {
43*4882a593Smuzhiyun				remote-endpoint = <&adv7180_in>;
44*4882a593Smuzhiyun			};
45*4882a593Smuzhiyun		};
46*4882a593Smuzhiyun	};
47*4882a593Smuzhiyun
48*4882a593Smuzhiyun	hdmi-in {
49*4882a593Smuzhiyun		compatible = "hdmi-connector";
50*4882a593Smuzhiyun		type = "a";
51*4882a593Smuzhiyun
52*4882a593Smuzhiyun		port {
53*4882a593Smuzhiyun			hdmi_con_in: endpoint {
54*4882a593Smuzhiyun				remote-endpoint = <&adv7612_in>;
55*4882a593Smuzhiyun			};
56*4882a593Smuzhiyun		};
57*4882a593Smuzhiyun	};
58*4882a593Smuzhiyun
59*4882a593Smuzhiyun	hdmi-out {
60*4882a593Smuzhiyun		compatible = "hdmi-connector";
61*4882a593Smuzhiyun		type = "a";
62*4882a593Smuzhiyun
63*4882a593Smuzhiyun		port {
64*4882a593Smuzhiyun			hdmi_con_out: endpoint {
65*4882a593Smuzhiyun				remote-endpoint = <&adv7511_out>;
66*4882a593Smuzhiyun			};
67*4882a593Smuzhiyun		};
68*4882a593Smuzhiyun	};
69*4882a593Smuzhiyun
70*4882a593Smuzhiyun	lvds-decoder {
71*4882a593Smuzhiyun		compatible = "thine,thc63lvd1024";
72*4882a593Smuzhiyun		vcc-supply = <&reg_3p3v>;
73*4882a593Smuzhiyun
74*4882a593Smuzhiyun		ports {
75*4882a593Smuzhiyun			#address-cells = <1>;
76*4882a593Smuzhiyun			#size-cells = <0>;
77*4882a593Smuzhiyun
78*4882a593Smuzhiyun			port@0 {
79*4882a593Smuzhiyun				reg = <0>;
80*4882a593Smuzhiyun				thc63lvd1024_in: endpoint {
81*4882a593Smuzhiyun					remote-endpoint = <&lvds0_out>;
82*4882a593Smuzhiyun				};
83*4882a593Smuzhiyun			};
84*4882a593Smuzhiyun
85*4882a593Smuzhiyun			port@2 {
86*4882a593Smuzhiyun				reg = <2>;
87*4882a593Smuzhiyun				thc63lvd1024_out: endpoint {
88*4882a593Smuzhiyun					remote-endpoint = <&adv7511_in>;
89*4882a593Smuzhiyun				};
90*4882a593Smuzhiyun			};
91*4882a593Smuzhiyun		};
92*4882a593Smuzhiyun	};
93*4882a593Smuzhiyun
94*4882a593Smuzhiyun	memory@48000000 {
95*4882a593Smuzhiyun		device_type = "memory";
96*4882a593Smuzhiyun		/* first 128MB is reserved for secure area. */
97*4882a593Smuzhiyun		reg = <0x0 0x48000000 0x0 0x18000000>;
98*4882a593Smuzhiyun	};
99*4882a593Smuzhiyun
100*4882a593Smuzhiyun	reg_1p8v: regulator-1p8v {
101*4882a593Smuzhiyun		compatible = "regulator-fixed";
102*4882a593Smuzhiyun		regulator-name = "fixed-1.8V";
103*4882a593Smuzhiyun		regulator-min-microvolt = <1800000>;
104*4882a593Smuzhiyun		regulator-max-microvolt = <1800000>;
105*4882a593Smuzhiyun		regulator-boot-on;
106*4882a593Smuzhiyun		regulator-always-on;
107*4882a593Smuzhiyun	};
108*4882a593Smuzhiyun
109*4882a593Smuzhiyun	reg_3p3v: regulator-3p3v {
110*4882a593Smuzhiyun		compatible = "regulator-fixed";
111*4882a593Smuzhiyun		regulator-name = "fixed-3.3V";
112*4882a593Smuzhiyun		regulator-min-microvolt = <3300000>;
113*4882a593Smuzhiyun		regulator-max-microvolt = <3300000>;
114*4882a593Smuzhiyun		regulator-boot-on;
115*4882a593Smuzhiyun		regulator-always-on;
116*4882a593Smuzhiyun	};
117*4882a593Smuzhiyun
118*4882a593Smuzhiyun	reg_12p0v: regulator-12p0v {
119*4882a593Smuzhiyun		compatible = "regulator-fixed";
120*4882a593Smuzhiyun		regulator-name = "D12.0V";
121*4882a593Smuzhiyun		regulator-min-microvolt = <12000000>;
122*4882a593Smuzhiyun		regulator-max-microvolt = <12000000>;
123*4882a593Smuzhiyun		regulator-boot-on;
124*4882a593Smuzhiyun		regulator-always-on;
125*4882a593Smuzhiyun	};
126*4882a593Smuzhiyun
127*4882a593Smuzhiyun	vga {
128*4882a593Smuzhiyun		compatible = "vga-connector";
129*4882a593Smuzhiyun
130*4882a593Smuzhiyun		port {
131*4882a593Smuzhiyun			vga_in: endpoint {
132*4882a593Smuzhiyun				remote-endpoint = <&adv7123_out>;
133*4882a593Smuzhiyun			};
134*4882a593Smuzhiyun		};
135*4882a593Smuzhiyun	};
136*4882a593Smuzhiyun
137*4882a593Smuzhiyun	vga-encoder {
138*4882a593Smuzhiyun		compatible = "adi,adv7123";
139*4882a593Smuzhiyun
140*4882a593Smuzhiyun		ports {
141*4882a593Smuzhiyun			#address-cells = <1>;
142*4882a593Smuzhiyun			#size-cells = <0>;
143*4882a593Smuzhiyun
144*4882a593Smuzhiyun			port@0 {
145*4882a593Smuzhiyun				reg = <0>;
146*4882a593Smuzhiyun				adv7123_in: endpoint {
147*4882a593Smuzhiyun					remote-endpoint = <&du_out_rgb>;
148*4882a593Smuzhiyun				};
149*4882a593Smuzhiyun			};
150*4882a593Smuzhiyun			port@1 {
151*4882a593Smuzhiyun				reg = <1>;
152*4882a593Smuzhiyun				adv7123_out: endpoint {
153*4882a593Smuzhiyun					remote-endpoint = <&vga_in>;
154*4882a593Smuzhiyun				};
155*4882a593Smuzhiyun			};
156*4882a593Smuzhiyun		};
157*4882a593Smuzhiyun	};
158*4882a593Smuzhiyun
159*4882a593Smuzhiyun	x12_clk: x12 {
160*4882a593Smuzhiyun		compatible = "fixed-clock";
161*4882a593Smuzhiyun		#clock-cells = <0>;
162*4882a593Smuzhiyun		clock-frequency = <74250000>;
163*4882a593Smuzhiyun	};
164*4882a593Smuzhiyun};
165*4882a593Smuzhiyun
166*4882a593Smuzhiyun&avb {
167*4882a593Smuzhiyun	pinctrl-0 = <&avb0_pins>;
168*4882a593Smuzhiyun	pinctrl-names = "default";
169*4882a593Smuzhiyun	renesas,no-ether-link;
170*4882a593Smuzhiyun	phy-handle = <&phy0>;
171*4882a593Smuzhiyun	status = "okay";
172*4882a593Smuzhiyun
173*4882a593Smuzhiyun	phy0: ethernet-phy@0 {
174*4882a593Smuzhiyun		rxc-skew-ps = <1500>;
175*4882a593Smuzhiyun		reg = <0>;
176*4882a593Smuzhiyun		interrupt-parent = <&gpio5>;
177*4882a593Smuzhiyun		interrupts = <19 IRQ_TYPE_LEVEL_LOW>;
178*4882a593Smuzhiyun		/*
179*4882a593Smuzhiyun		 * TX clock internal delay mode is required for reliable
180*4882a593Smuzhiyun		 * 1Gbps communication using the KSZ9031RNX phy present on
181*4882a593Smuzhiyun		 * the Draak board, however, TX clock internal delay mode
182*4882a593Smuzhiyun		 * isn't supported on r8a77995.  Thus, limit speed to
183*4882a593Smuzhiyun		 * 100Mbps for reliable communication.
184*4882a593Smuzhiyun		 */
185*4882a593Smuzhiyun		max-speed = <100>;
186*4882a593Smuzhiyun	};
187*4882a593Smuzhiyun};
188*4882a593Smuzhiyun
189*4882a593Smuzhiyun&can0 {
190*4882a593Smuzhiyun	pinctrl-0 = <&can0_pins>;
191*4882a593Smuzhiyun	pinctrl-names = "default";
192*4882a593Smuzhiyun	status = "okay";
193*4882a593Smuzhiyun};
194*4882a593Smuzhiyun
195*4882a593Smuzhiyun&can1 {
196*4882a593Smuzhiyun	pinctrl-0 = <&can1_pins>;
197*4882a593Smuzhiyun	pinctrl-names = "default";
198*4882a593Smuzhiyun	status = "okay";
199*4882a593Smuzhiyun};
200*4882a593Smuzhiyun
201*4882a593Smuzhiyun&du {
202*4882a593Smuzhiyun	pinctrl-0 = <&du_pins>;
203*4882a593Smuzhiyun	pinctrl-names = "default";
204*4882a593Smuzhiyun	status = "okay";
205*4882a593Smuzhiyun
206*4882a593Smuzhiyun	clocks = <&cpg CPG_MOD 724>,
207*4882a593Smuzhiyun		 <&cpg CPG_MOD 723>,
208*4882a593Smuzhiyun		 <&x12_clk>;
209*4882a593Smuzhiyun	clock-names = "du.0", "du.1", "dclkin.0";
210*4882a593Smuzhiyun
211*4882a593Smuzhiyun	ports {
212*4882a593Smuzhiyun		port@0 {
213*4882a593Smuzhiyun			endpoint {
214*4882a593Smuzhiyun				remote-endpoint = <&adv7123_in>;
215*4882a593Smuzhiyun			};
216*4882a593Smuzhiyun		};
217*4882a593Smuzhiyun	};
218*4882a593Smuzhiyun};
219*4882a593Smuzhiyun
220*4882a593Smuzhiyun&ehci0 {
221*4882a593Smuzhiyun	dr_mode = "host";
222*4882a593Smuzhiyun	status = "okay";
223*4882a593Smuzhiyun};
224*4882a593Smuzhiyun
225*4882a593Smuzhiyun&extal_clk {
226*4882a593Smuzhiyun	clock-frequency = <48000000>;
227*4882a593Smuzhiyun};
228*4882a593Smuzhiyun
229*4882a593Smuzhiyun&hsusb {
230*4882a593Smuzhiyun	dr_mode = "host";
231*4882a593Smuzhiyun	status = "okay";
232*4882a593Smuzhiyun};
233*4882a593Smuzhiyun
234*4882a593Smuzhiyun&i2c0 {
235*4882a593Smuzhiyun	pinctrl-0 = <&i2c0_pins>;
236*4882a593Smuzhiyun	pinctrl-names = "default";
237*4882a593Smuzhiyun	status = "okay";
238*4882a593Smuzhiyun
239*4882a593Smuzhiyun	composite-in@20 {
240*4882a593Smuzhiyun		compatible = "adi,adv7180cp";
241*4882a593Smuzhiyun		reg = <0x20>;
242*4882a593Smuzhiyun
243*4882a593Smuzhiyun		ports {
244*4882a593Smuzhiyun			#address-cells = <1>;
245*4882a593Smuzhiyun			#size-cells = <0>;
246*4882a593Smuzhiyun
247*4882a593Smuzhiyun			port@0 {
248*4882a593Smuzhiyun				reg = <0>;
249*4882a593Smuzhiyun				adv7180_in: endpoint {
250*4882a593Smuzhiyun					remote-endpoint = <&composite_con_in>;
251*4882a593Smuzhiyun				};
252*4882a593Smuzhiyun			};
253*4882a593Smuzhiyun
254*4882a593Smuzhiyun			port@3 {
255*4882a593Smuzhiyun				reg = <3>;
256*4882a593Smuzhiyun
257*4882a593Smuzhiyun				/*
258*4882a593Smuzhiyun				 * The VIN4 video input path is shared between
259*4882a593Smuzhiyun				 * CVBS and HDMI inputs through SW[49-53]
260*4882a593Smuzhiyun				 * switches.
261*4882a593Smuzhiyun				 *
262*4882a593Smuzhiyun				 * CVBS is the default selection, link it to
263*4882a593Smuzhiyun				 * VIN4 here.
264*4882a593Smuzhiyun				 */
265*4882a593Smuzhiyun				adv7180_out: endpoint {
266*4882a593Smuzhiyun					remote-endpoint = <&vin4_in>;
267*4882a593Smuzhiyun				};
268*4882a593Smuzhiyun			};
269*4882a593Smuzhiyun		};
270*4882a593Smuzhiyun
271*4882a593Smuzhiyun	};
272*4882a593Smuzhiyun
273*4882a593Smuzhiyun	hdmi-encoder@39 {
274*4882a593Smuzhiyun		compatible = "adi,adv7511w";
275*4882a593Smuzhiyun		reg = <0x39>, <0x3f>, <0x3c>, <0x38>;
276*4882a593Smuzhiyun		reg-names = "main", "edid", "cec", "packet";
277*4882a593Smuzhiyun		interrupt-parent = <&gpio1>;
278*4882a593Smuzhiyun		interrupts = <28 IRQ_TYPE_LEVEL_LOW>;
279*4882a593Smuzhiyun
280*4882a593Smuzhiyun		adi,input-depth = <8>;
281*4882a593Smuzhiyun		adi,input-colorspace = "rgb";
282*4882a593Smuzhiyun		adi,input-clock = "1x";
283*4882a593Smuzhiyun
284*4882a593Smuzhiyun		ports {
285*4882a593Smuzhiyun			#address-cells = <1>;
286*4882a593Smuzhiyun			#size-cells = <0>;
287*4882a593Smuzhiyun
288*4882a593Smuzhiyun			port@0 {
289*4882a593Smuzhiyun				reg = <0>;
290*4882a593Smuzhiyun				adv7511_in: endpoint {
291*4882a593Smuzhiyun					remote-endpoint = <&thc63lvd1024_out>;
292*4882a593Smuzhiyun				};
293*4882a593Smuzhiyun			};
294*4882a593Smuzhiyun
295*4882a593Smuzhiyun			port@1 {
296*4882a593Smuzhiyun				reg = <1>;
297*4882a593Smuzhiyun				adv7511_out: endpoint {
298*4882a593Smuzhiyun					remote-endpoint = <&hdmi_con_out>;
299*4882a593Smuzhiyun				};
300*4882a593Smuzhiyun			};
301*4882a593Smuzhiyun		};
302*4882a593Smuzhiyun	};
303*4882a593Smuzhiyun
304*4882a593Smuzhiyun	hdmi-decoder@4c {
305*4882a593Smuzhiyun		compatible = "adi,adv7612";
306*4882a593Smuzhiyun		reg = <0x4c>;
307*4882a593Smuzhiyun		default-input = <0>;
308*4882a593Smuzhiyun
309*4882a593Smuzhiyun		ports {
310*4882a593Smuzhiyun			#address-cells = <1>;
311*4882a593Smuzhiyun			#size-cells = <0>;
312*4882a593Smuzhiyun
313*4882a593Smuzhiyun			port@0 {
314*4882a593Smuzhiyun				reg = <0>;
315*4882a593Smuzhiyun
316*4882a593Smuzhiyun				adv7612_in: endpoint {
317*4882a593Smuzhiyun					remote-endpoint = <&hdmi_con_in>;
318*4882a593Smuzhiyun				};
319*4882a593Smuzhiyun			};
320*4882a593Smuzhiyun
321*4882a593Smuzhiyun			port@2 {
322*4882a593Smuzhiyun				reg = <2>;
323*4882a593Smuzhiyun
324*4882a593Smuzhiyun				/*
325*4882a593Smuzhiyun				 * The VIN4 video input path is shared between
326*4882a593Smuzhiyun				 * CVBS and HDMI inputs through SW[49-53]
327*4882a593Smuzhiyun				 * switches.
328*4882a593Smuzhiyun				 *
329*4882a593Smuzhiyun				 * CVBS is the default selection, leave HDMI
330*4882a593Smuzhiyun				 * not connected here.
331*4882a593Smuzhiyun				 */
332*4882a593Smuzhiyun				adv7612_out: endpoint {
333*4882a593Smuzhiyun					pclk-sample = <0>;
334*4882a593Smuzhiyun					hsync-active = <0>;
335*4882a593Smuzhiyun					vsync-active = <0>;
336*4882a593Smuzhiyun				};
337*4882a593Smuzhiyun			};
338*4882a593Smuzhiyun		};
339*4882a593Smuzhiyun	};
340*4882a593Smuzhiyun
341*4882a593Smuzhiyun	eeprom@50 {
342*4882a593Smuzhiyun		compatible = "rohm,br24t01", "atmel,24c01";
343*4882a593Smuzhiyun		reg = <0x50>;
344*4882a593Smuzhiyun		pagesize = <8>;
345*4882a593Smuzhiyun	};
346*4882a593Smuzhiyun};
347*4882a593Smuzhiyun
348*4882a593Smuzhiyun&i2c1 {
349*4882a593Smuzhiyun	pinctrl-0 = <&i2c1_pins>;
350*4882a593Smuzhiyun	pinctrl-names = "default";
351*4882a593Smuzhiyun	status = "okay";
352*4882a593Smuzhiyun};
353*4882a593Smuzhiyun
354*4882a593Smuzhiyun&lvds0 {
355*4882a593Smuzhiyun	status = "okay";
356*4882a593Smuzhiyun
357*4882a593Smuzhiyun	clocks = <&cpg CPG_MOD 727>,
358*4882a593Smuzhiyun		 <&x12_clk>,
359*4882a593Smuzhiyun		 <&extal_clk>;
360*4882a593Smuzhiyun	clock-names = "fck", "dclkin.0", "extal";
361*4882a593Smuzhiyun
362*4882a593Smuzhiyun	ports {
363*4882a593Smuzhiyun		port@1 {
364*4882a593Smuzhiyun			lvds0_out: endpoint {
365*4882a593Smuzhiyun				remote-endpoint = <&thc63lvd1024_in>;
366*4882a593Smuzhiyun			};
367*4882a593Smuzhiyun		};
368*4882a593Smuzhiyun	};
369*4882a593Smuzhiyun};
370*4882a593Smuzhiyun
371*4882a593Smuzhiyun&lvds1 {
372*4882a593Smuzhiyun	/*
373*4882a593Smuzhiyun	 * Even though the LVDS1 output is not connected, the encoder must be
374*4882a593Smuzhiyun	 * enabled to supply a pixel clock to the DU for the DPAD output when
375*4882a593Smuzhiyun	 * LVDS0 is in use.
376*4882a593Smuzhiyun	 */
377*4882a593Smuzhiyun	status = "okay";
378*4882a593Smuzhiyun
379*4882a593Smuzhiyun	clocks = <&cpg CPG_MOD 727>,
380*4882a593Smuzhiyun		 <&x12_clk>,
381*4882a593Smuzhiyun		 <&extal_clk>;
382*4882a593Smuzhiyun	clock-names = "fck", "dclkin.0", "extal";
383*4882a593Smuzhiyun};
384*4882a593Smuzhiyun
385*4882a593Smuzhiyun&ohci0 {
386*4882a593Smuzhiyun	dr_mode = "host";
387*4882a593Smuzhiyun	status = "okay";
388*4882a593Smuzhiyun};
389*4882a593Smuzhiyun
390*4882a593Smuzhiyun&pfc {
391*4882a593Smuzhiyun	avb0_pins: avb {
392*4882a593Smuzhiyun		groups = "avb0_link", "avb0_mdio", "avb0_mii";
393*4882a593Smuzhiyun		function = "avb0";
394*4882a593Smuzhiyun	};
395*4882a593Smuzhiyun
396*4882a593Smuzhiyun	can0_pins: can0 {
397*4882a593Smuzhiyun		groups = "can0_data_a";
398*4882a593Smuzhiyun		function = "can0";
399*4882a593Smuzhiyun	};
400*4882a593Smuzhiyun
401*4882a593Smuzhiyun	can1_pins: can1 {
402*4882a593Smuzhiyun		groups = "can1_data_a";
403*4882a593Smuzhiyun		function = "can1";
404*4882a593Smuzhiyun	};
405*4882a593Smuzhiyun
406*4882a593Smuzhiyun	du_pins: du {
407*4882a593Smuzhiyun		groups = "du_rgb888", "du_sync", "du_disp", "du_clk_out_0";
408*4882a593Smuzhiyun		function = "du";
409*4882a593Smuzhiyun	};
410*4882a593Smuzhiyun
411*4882a593Smuzhiyun	i2c0_pins: i2c0 {
412*4882a593Smuzhiyun		groups = "i2c0";
413*4882a593Smuzhiyun		function = "i2c0";
414*4882a593Smuzhiyun	};
415*4882a593Smuzhiyun
416*4882a593Smuzhiyun	i2c1_pins: i2c1 {
417*4882a593Smuzhiyun		groups = "i2c1";
418*4882a593Smuzhiyun		function = "i2c1";
419*4882a593Smuzhiyun	};
420*4882a593Smuzhiyun
421*4882a593Smuzhiyun	pwm0_pins: pwm0 {
422*4882a593Smuzhiyun		groups = "pwm0_c";
423*4882a593Smuzhiyun		function = "pwm0";
424*4882a593Smuzhiyun	};
425*4882a593Smuzhiyun
426*4882a593Smuzhiyun	pwm1_pins: pwm1 {
427*4882a593Smuzhiyun		groups = "pwm1_c";
428*4882a593Smuzhiyun		function = "pwm1";
429*4882a593Smuzhiyun	};
430*4882a593Smuzhiyun
431*4882a593Smuzhiyun	scif2_pins: scif2 {
432*4882a593Smuzhiyun		groups = "scif2_data";
433*4882a593Smuzhiyun		function = "scif2";
434*4882a593Smuzhiyun	};
435*4882a593Smuzhiyun
436*4882a593Smuzhiyun	sdhi2_pins: sd2 {
437*4882a593Smuzhiyun		groups = "mmc_data8", "mmc_ctrl";
438*4882a593Smuzhiyun		function = "mmc";
439*4882a593Smuzhiyun		power-source = <1800>;
440*4882a593Smuzhiyun	};
441*4882a593Smuzhiyun
442*4882a593Smuzhiyun	sdhi2_pins_uhs: sd2_uhs {
443*4882a593Smuzhiyun		groups = "mmc_data8", "mmc_ctrl";
444*4882a593Smuzhiyun		function = "mmc";
445*4882a593Smuzhiyun		power-source = <1800>;
446*4882a593Smuzhiyun	};
447*4882a593Smuzhiyun
448*4882a593Smuzhiyun	usb0_pins: usb0 {
449*4882a593Smuzhiyun		groups = "usb0";
450*4882a593Smuzhiyun		function = "usb0";
451*4882a593Smuzhiyun	};
452*4882a593Smuzhiyun
453*4882a593Smuzhiyun	vin4_pins_cvbs: vin4 {
454*4882a593Smuzhiyun		groups = "vin4_data8", "vin4_sync", "vin4_clk";
455*4882a593Smuzhiyun		function = "vin4";
456*4882a593Smuzhiyun	};
457*4882a593Smuzhiyun};
458*4882a593Smuzhiyun
459*4882a593Smuzhiyun&pwm0 {
460*4882a593Smuzhiyun	pinctrl-0 = <&pwm0_pins>;
461*4882a593Smuzhiyun	pinctrl-names = "default";
462*4882a593Smuzhiyun
463*4882a593Smuzhiyun	status = "okay";
464*4882a593Smuzhiyun};
465*4882a593Smuzhiyun
466*4882a593Smuzhiyun&pwm1 {
467*4882a593Smuzhiyun	pinctrl-0 = <&pwm1_pins>;
468*4882a593Smuzhiyun	pinctrl-names = "default";
469*4882a593Smuzhiyun
470*4882a593Smuzhiyun	status = "okay";
471*4882a593Smuzhiyun};
472*4882a593Smuzhiyun
473*4882a593Smuzhiyun&rwdt {
474*4882a593Smuzhiyun	timeout-sec = <60>;
475*4882a593Smuzhiyun	status = "okay";
476*4882a593Smuzhiyun};
477*4882a593Smuzhiyun
478*4882a593Smuzhiyun&scif2 {
479*4882a593Smuzhiyun	pinctrl-0 = <&scif2_pins>;
480*4882a593Smuzhiyun	pinctrl-names = "default";
481*4882a593Smuzhiyun
482*4882a593Smuzhiyun	status = "okay";
483*4882a593Smuzhiyun};
484*4882a593Smuzhiyun
485*4882a593Smuzhiyun&sdhi2 {
486*4882a593Smuzhiyun	/* used for on-board eMMC */
487*4882a593Smuzhiyun	pinctrl-0 = <&sdhi2_pins>;
488*4882a593Smuzhiyun	pinctrl-1 = <&sdhi2_pins_uhs>;
489*4882a593Smuzhiyun	pinctrl-names = "default", "state_uhs";
490*4882a593Smuzhiyun
491*4882a593Smuzhiyun	vmmc-supply = <&reg_3p3v>;
492*4882a593Smuzhiyun	vqmmc-supply = <&reg_1p8v>;
493*4882a593Smuzhiyun	bus-width = <8>;
494*4882a593Smuzhiyun	mmc-hs200-1_8v;
495*4882a593Smuzhiyun	non-removable;
496*4882a593Smuzhiyun	status = "okay";
497*4882a593Smuzhiyun};
498*4882a593Smuzhiyun
499*4882a593Smuzhiyun&usb2_phy0 {
500*4882a593Smuzhiyun	pinctrl-0 = <&usb0_pins>;
501*4882a593Smuzhiyun	pinctrl-names = "default";
502*4882a593Smuzhiyun
503*4882a593Smuzhiyun	renesas,no-otg-pins;
504*4882a593Smuzhiyun	status = "okay";
505*4882a593Smuzhiyun};
506*4882a593Smuzhiyun
507*4882a593Smuzhiyun&vin4 {
508*4882a593Smuzhiyun	pinctrl-0 = <&vin4_pins_cvbs>;
509*4882a593Smuzhiyun	pinctrl-names = "default";
510*4882a593Smuzhiyun
511*4882a593Smuzhiyun	status = "okay";
512*4882a593Smuzhiyun
513*4882a593Smuzhiyun	ports {
514*4882a593Smuzhiyun		port {
515*4882a593Smuzhiyun			vin4_in: endpoint {
516*4882a593Smuzhiyun				remote-endpoint = <&adv7180_out>;
517*4882a593Smuzhiyun			};
518*4882a593Smuzhiyun		};
519*4882a593Smuzhiyun	};
520*4882a593Smuzhiyun};
521