1*724ba675SRob Herring// SPDX-License-Identifier: GPL-2.0
2*724ba675SRob Herring/*
3*724ba675SRob Herring * Device Tree Source for the iWave-RZ/G1M/G1N Qseven carrier board
4*724ba675SRob Herring *
5*724ba675SRob Herring * Copyright (C) 2017 Renesas Electronics Corp.
6*724ba675SRob Herring */
7*724ba675SRob Herring
8*724ba675SRob Herring/*
9*724ba675SRob Herring * SSI-SGTL5000
10*724ba675SRob Herring *
11*724ba675SRob Herring * This command is required when Playback/Capture
12*724ba675SRob Herring *
13*724ba675SRob Herring *      amixer set "DVC Out" 100%
14*724ba675SRob Herring *      amixer set "DVC In" 100%
15*724ba675SRob Herring *
16*724ba675SRob Herring * You can use Mute
17*724ba675SRob Herring *
18*724ba675SRob Herring *      amixer set "DVC Out Mute" on
19*724ba675SRob Herring *      amixer set "DVC In Mute" on
20*724ba675SRob Herring *
21*724ba675SRob Herring * You can use Volume Ramp
22*724ba675SRob Herring *
23*724ba675SRob Herring *      amixer set "DVC Out Ramp Up Rate"   "0.125 dB/64 steps"
24*724ba675SRob Herring *      amixer set "DVC Out Ramp Down Rate" "0.125 dB/512 steps"
25*724ba675SRob Herring *      amixer set "DVC Out Ramp" on
26*724ba675SRob Herring *      aplay xxx.wav &
27*724ba675SRob Herring *      amixer set "DVC Out"  80%  // Volume Down
28*724ba675SRob Herring *      amixer set "DVC Out" 100%  // Volume Up
29*724ba675SRob Herring */
30*724ba675SRob Herring
31*724ba675SRob Herring/ {
32*724ba675SRob Herring	aliases {
33*724ba675SRob Herring		serial0 = &scif0;
34*724ba675SRob Herring		serial3 = &scifb1;
35*724ba675SRob Herring		ethernet0 = &avb;
36*724ba675SRob Herring	};
37*724ba675SRob Herring
38*724ba675SRob Herring	chosen {
39*724ba675SRob Herring		bootargs = "ignore_loglevel rw root=/dev/nfs ip=dhcp";
40*724ba675SRob Herring		stdout-path = "serial0:115200n8";
41*724ba675SRob Herring	};
42*724ba675SRob Herring
43*724ba675SRob Herring	audio_clock: audio_clock {
44*724ba675SRob Herring		compatible = "fixed-clock";
45*724ba675SRob Herring		#clock-cells = <0>;
46*724ba675SRob Herring		clock-frequency = <26000000>;
47*724ba675SRob Herring	};
48*724ba675SRob Herring
49*724ba675SRob Herring	lcd_backlight: backlight {
50*724ba675SRob Herring		compatible = "pwm-backlight";
51*724ba675SRob Herring
52*724ba675SRob Herring		pwms = <&pwm3 0 5000000>;
53*724ba675SRob Herring		brightness-levels = <0 4 8 16 32 64 128 255>;
54*724ba675SRob Herring		default-brightness-level = <7>;
55*724ba675SRob Herring		enable-gpios = <&gpio5 14 GPIO_ACTIVE_HIGH>;
56*724ba675SRob Herring	};
57*724ba675SRob Herring
58*724ba675SRob Herring	lvds-receiver {
59*724ba675SRob Herring		compatible = "ti,ds90cf384a", "lvds-decoder";
60*724ba675SRob Herring		power-supply = <&vcc_3v3_tft1>;
61*724ba675SRob Herring
62*724ba675SRob Herring		ports {
63*724ba675SRob Herring			#address-cells = <1>;
64*724ba675SRob Herring			#size-cells = <0>;
65*724ba675SRob Herring
66*724ba675SRob Herring			port@0 {
67*724ba675SRob Herring				reg = <0>;
68*724ba675SRob Herring				lvds_receiver_in: endpoint {
69*724ba675SRob Herring					remote-endpoint = <&lvds0_out>;
70*724ba675SRob Herring				};
71*724ba675SRob Herring			};
72*724ba675SRob Herring			port@1 {
73*724ba675SRob Herring				reg = <1>;
74*724ba675SRob Herring				lvds_receiver_out: endpoint {
75*724ba675SRob Herring					remote-endpoint = <&panel_in>;
76*724ba675SRob Herring				};
77*724ba675SRob Herring			};
78*724ba675SRob Herring		};
79*724ba675SRob Herring	};
80*724ba675SRob Herring
81*724ba675SRob Herring	panel {
82*724ba675SRob Herring		compatible = "edt,etm0700g0dh6";
83*724ba675SRob Herring		backlight = <&lcd_backlight>;
84*724ba675SRob Herring		power-supply = <&vcc_3v3_tft1>;
85*724ba675SRob Herring
86*724ba675SRob Herring		port {
87*724ba675SRob Herring			panel_in: endpoint {
88*724ba675SRob Herring				remote-endpoint = <&lvds_receiver_out>;
89*724ba675SRob Herring			};
90*724ba675SRob Herring		};
91*724ba675SRob Herring	};
92*724ba675SRob Herring
93*724ba675SRob Herring	reg_1p5v: 1p5v {
94*724ba675SRob Herring		compatible = "regulator-fixed";
95*724ba675SRob Herring		regulator-name = "1P5V";
96*724ba675SRob Herring		regulator-min-microvolt = <1500000>;
97*724ba675SRob Herring		regulator-max-microvolt = <1500000>;
98*724ba675SRob Herring		regulator-always-on;
99*724ba675SRob Herring	};
100*724ba675SRob Herring
101*724ba675SRob Herring	rsnd_sgtl5000: sound {
102*724ba675SRob Herring		compatible = "simple-audio-card";
103*724ba675SRob Herring
104*724ba675SRob Herring		simple-audio-card,format = "i2s";
105*724ba675SRob Herring		simple-audio-card,bitclock-master = <&sndcodec>;
106*724ba675SRob Herring		simple-audio-card,frame-master = <&sndcodec>;
107*724ba675SRob Herring
108*724ba675SRob Herring		sndcpu: simple-audio-card,cpu {
109*724ba675SRob Herring			sound-dai = <&rcar_sound>;
110*724ba675SRob Herring		};
111*724ba675SRob Herring
112*724ba675SRob Herring		sndcodec: simple-audio-card,codec {
113*724ba675SRob Herring			sound-dai = <&sgtl5000>;
114*724ba675SRob Herring		};
115*724ba675SRob Herring	};
116*724ba675SRob Herring
117*724ba675SRob Herring	vcc_3v3_tft1: regulator-panel {
118*724ba675SRob Herring		compatible = "regulator-fixed";
119*724ba675SRob Herring
120*724ba675SRob Herring		regulator-name = "vcc-3v3-tft1";
121*724ba675SRob Herring		regulator-min-microvolt = <3300000>;
122*724ba675SRob Herring		regulator-max-microvolt = <3300000>;
123*724ba675SRob Herring		enable-active-high;
124*724ba675SRob Herring		startup-delay-us = <500>;
125*724ba675SRob Herring		gpio = <&gpio7 25 GPIO_ACTIVE_HIGH>;
126*724ba675SRob Herring	};
127*724ba675SRob Herring
128*724ba675SRob Herring	vcc_sdhi1: regulator-vcc-sdhi1 {
129*724ba675SRob Herring		compatible = "regulator-fixed";
130*724ba675SRob Herring
131*724ba675SRob Herring		regulator-name = "SDHI1 Vcc";
132*724ba675SRob Herring		regulator-min-microvolt = <3300000>;
133*724ba675SRob Herring		regulator-max-microvolt = <3300000>;
134*724ba675SRob Herring
135*724ba675SRob Herring		gpio = <&gpio1 16 GPIO_ACTIVE_LOW>;
136*724ba675SRob Herring	};
137*724ba675SRob Herring
138*724ba675SRob Herring	vccq_sdhi1: regulator-vccq-sdhi1 {
139*724ba675SRob Herring		compatible = "regulator-gpio";
140*724ba675SRob Herring
141*724ba675SRob Herring		regulator-name = "SDHI1 VccQ";
142*724ba675SRob Herring		regulator-min-microvolt = <1800000>;
143*724ba675SRob Herring		regulator-max-microvolt = <3300000>;
144*724ba675SRob Herring
145*724ba675SRob Herring		gpios = <&gpio2 30 GPIO_ACTIVE_HIGH>;
146*724ba675SRob Herring		gpios-states = <1>;
147*724ba675SRob Herring		states = <3300000 1>, <1800000 0>;
148*724ba675SRob Herring	};
149*724ba675SRob Herring};
150*724ba675SRob Herring
151*724ba675SRob Herring&avb {
152*724ba675SRob Herring	pinctrl-0 = <&avb_pins>;
153*724ba675SRob Herring	pinctrl-names = "default";
154*724ba675SRob Herring
155*724ba675SRob Herring	phy-handle = <&phy3>;
156*724ba675SRob Herring	phy-mode = "gmii";
157*724ba675SRob Herring	renesas,no-ether-link;
158*724ba675SRob Herring	status = "okay";
159*724ba675SRob Herring
160*724ba675SRob Herring	phy3: ethernet-phy@3 {
161*724ba675SRob Herring		compatible = "ethernet-phy-id0022.1622",
162*724ba675SRob Herring			     "ethernet-phy-ieee802.3-c22";
163*724ba675SRob Herring		reg = <3>;
164*724ba675SRob Herring		micrel,led-mode = <1>;
165*724ba675SRob Herring	};
166*724ba675SRob Herring};
167*724ba675SRob Herring
168*724ba675SRob Herring&can0 {
169*724ba675SRob Herring	pinctrl-0 = <&can0_pins>;
170*724ba675SRob Herring	pinctrl-names = "default";
171*724ba675SRob Herring
172*724ba675SRob Herring	status = "okay";
173*724ba675SRob Herring};
174*724ba675SRob Herring
175*724ba675SRob Herring&cmt0 {
176*724ba675SRob Herring	status = "okay";
177*724ba675SRob Herring};
178*724ba675SRob Herring
179*724ba675SRob Herring&du {
180*724ba675SRob Herring	status = "okay";
181*724ba675SRob Herring};
182*724ba675SRob Herring
183*724ba675SRob Herring&gpio2 {
184*724ba675SRob Herring	touch-interrupt-hog {
185*724ba675SRob Herring		gpio-hog;
186*724ba675SRob Herring		gpios = <12 GPIO_ACTIVE_LOW>;
187*724ba675SRob Herring		input;
188*724ba675SRob Herring	};
189*724ba675SRob Herring};
190*724ba675SRob Herring
191*724ba675SRob Herring&hsusb {
192*724ba675SRob Herring	status = "okay";
193*724ba675SRob Herring	pinctrl-0 = <&usb0_pins>;
194*724ba675SRob Herring	pinctrl-names = "default";
195*724ba675SRob Herring};
196*724ba675SRob Herring
197*724ba675SRob Herring&i2c2 {
198*724ba675SRob Herring	pinctrl-0 = <&i2c2_pins>;
199*724ba675SRob Herring	pinctrl-names = "default";
200*724ba675SRob Herring
201*724ba675SRob Herring	status = "okay";
202*724ba675SRob Herring	clock-frequency = <400000>;
203*724ba675SRob Herring
204*724ba675SRob Herring	rtc@68 {
205*724ba675SRob Herring		compatible = "ti,bq32000";
206*724ba675SRob Herring		reg = <0x68>;
207*724ba675SRob Herring	};
208*724ba675SRob Herring
209*724ba675SRob Herring	sgtl5000: codec@a {
210*724ba675SRob Herring		compatible = "fsl,sgtl5000";
211*724ba675SRob Herring		#sound-dai-cells = <0>;
212*724ba675SRob Herring		reg = <0x0a>;
213*724ba675SRob Herring		clocks = <&audio_clock>;
214*724ba675SRob Herring		VDDA-supply = <&reg_3p3v>;
215*724ba675SRob Herring		VDDIO-supply = <&reg_3p3v>;
216*724ba675SRob Herring		VDDD-supply = <&reg_1p5v>;
217*724ba675SRob Herring	};
218*724ba675SRob Herring
219*724ba675SRob Herring	touch: touchpanel@38 {
220*724ba675SRob Herring		compatible = "edt,edt-ft5406";
221*724ba675SRob Herring		reg = <0x38>;
222*724ba675SRob Herring		interrupt-parent = <&gpio2>;
223*724ba675SRob Herring		interrupts = <12 IRQ_TYPE_EDGE_FALLING>;
224*724ba675SRob Herring		vcc-supply = <&vcc_3v3_tft1>;
225*724ba675SRob Herring	};
226*724ba675SRob Herring};
227*724ba675SRob Herring
228*724ba675SRob Herring&lvds0 {
229*724ba675SRob Herring	status = "okay";
230*724ba675SRob Herring
231*724ba675SRob Herring	ports {
232*724ba675SRob Herring		port@1 {
233*724ba675SRob Herring			lvds0_out: endpoint {
234*724ba675SRob Herring				remote-endpoint = <&lvds_receiver_in>;
235*724ba675SRob Herring			};
236*724ba675SRob Herring		};
237*724ba675SRob Herring	};
238*724ba675SRob Herring};
239*724ba675SRob Herring
240*724ba675SRob Herring&pci0 {
241*724ba675SRob Herring	pinctrl-0 = <&usb0_pins>;
242*724ba675SRob Herring	pinctrl-names = "default";
243*724ba675SRob Herring};
244*724ba675SRob Herring
245*724ba675SRob Herring&pci1 {
246*724ba675SRob Herring	status = "okay";
247*724ba675SRob Herring	pinctrl-0 = <&usb1_pins>;
248*724ba675SRob Herring	pinctrl-names = "default";
249*724ba675SRob Herring};
250*724ba675SRob Herring
251*724ba675SRob Herring&pcie_bus_clk {
252*724ba675SRob Herring	clock-frequency = <100000000>;
253*724ba675SRob Herring};
254*724ba675SRob Herring
255*724ba675SRob Herring&pfc {
256*724ba675SRob Herring	can0_pins: can0 {
257*724ba675SRob Herring		groups = "can0_data_d";
258*724ba675SRob Herring		function = "can0";
259*724ba675SRob Herring	};
260*724ba675SRob Herring
261*724ba675SRob Herring	avb_pins: avb {
262*724ba675SRob Herring		groups = "avb_mdio", "avb_gmii";
263*724ba675SRob Herring		function = "avb";
264*724ba675SRob Herring	};
265*724ba675SRob Herring
266*724ba675SRob Herring	i2c2_pins: i2c2 {
267*724ba675SRob Herring		groups = "i2c2";
268*724ba675SRob Herring		function = "i2c2";
269*724ba675SRob Herring	};
270*724ba675SRob Herring
271*724ba675SRob Herring	pwm3_pins: pwm3 {
272*724ba675SRob Herring		groups = "pwm3";
273*724ba675SRob Herring		function = "pwm3";
274*724ba675SRob Herring	};
275*724ba675SRob Herring
276*724ba675SRob Herring	scif0_pins: scif0 {
277*724ba675SRob Herring		groups = "scif0_data_d";
278*724ba675SRob Herring		function = "scif0";
279*724ba675SRob Herring	};
280*724ba675SRob Herring
281*724ba675SRob Herring	scifb1_pins: scifb1 {
282*724ba675SRob Herring		groups = "scifb1_data_d", "scifb1_ctrl";
283*724ba675SRob Herring		function = "scifb1";
284*724ba675SRob Herring	};
285*724ba675SRob Herring
286*724ba675SRob Herring	sdhi1_pins: sd1 {
287*724ba675SRob Herring		groups = "sdhi1_data4", "sdhi1_ctrl";
288*724ba675SRob Herring		function = "sdhi1";
289*724ba675SRob Herring		power-source = <3300>;
290*724ba675SRob Herring	};
291*724ba675SRob Herring
292*724ba675SRob Herring	sdhi1_pins_uhs: sd1_uhs {
293*724ba675SRob Herring		groups = "sdhi1_data4", "sdhi1_ctrl";
294*724ba675SRob Herring		function = "sdhi1";
295*724ba675SRob Herring		power-source = <1800>;
296*724ba675SRob Herring	};
297*724ba675SRob Herring
298*724ba675SRob Herring	sound_pins: sound {
299*724ba675SRob Herring		groups = "ssi0129_ctrl", "ssi0_data", "ssi1_data";
300*724ba675SRob Herring		function = "ssi";
301*724ba675SRob Herring	};
302*724ba675SRob Herring
303*724ba675SRob Herring	usb0_pins: usb0 {
304*724ba675SRob Herring		groups = "usb0";
305*724ba675SRob Herring		function = "usb0";
306*724ba675SRob Herring	};
307*724ba675SRob Herring
308*724ba675SRob Herring	usb1_pins: usb1 {
309*724ba675SRob Herring		groups = "usb1";
310*724ba675SRob Herring		function = "usb1";
311*724ba675SRob Herring	};
312*724ba675SRob Herring};
313*724ba675SRob Herring
314*724ba675SRob Herring&pwm3 {
315*724ba675SRob Herring	pinctrl-0 = <&pwm3_pins>;
316*724ba675SRob Herring	pinctrl-names = "default";
317*724ba675SRob Herring	status = "okay";
318*724ba675SRob Herring};
319*724ba675SRob Herring
320*724ba675SRob Herring&rcar_sound {
321*724ba675SRob Herring	pinctrl-0 = <&sound_pins>;
322*724ba675SRob Herring	pinctrl-names = "default";
323*724ba675SRob Herring	status = "okay";
324*724ba675SRob Herring
325*724ba675SRob Herring	/* Single DAI */
326*724ba675SRob Herring	#sound-dai-cells = <0>;
327*724ba675SRob Herring
328*724ba675SRob Herring	rcar_sound,dai {
329*724ba675SRob Herring		dai0 {
330*724ba675SRob Herring			playback = <&ssi1>, <&src3>, <&dvc1>;
331*724ba675SRob Herring			capture = <&ssi0>, <&src2>, <&dvc0>;
332*724ba675SRob Herring		};
333*724ba675SRob Herring	};
334*724ba675SRob Herring};
335*724ba675SRob Herring
336*724ba675SRob Herring&rwdt {
337*724ba675SRob Herring	timeout-sec = <60>;
338*724ba675SRob Herring	status = "okay";
339*724ba675SRob Herring};
340*724ba675SRob Herring
341*724ba675SRob Herring&scif0 {
342*724ba675SRob Herring	pinctrl-0 = <&scif0_pins>;
343*724ba675SRob Herring	pinctrl-names = "default";
344*724ba675SRob Herring
345*724ba675SRob Herring	status = "okay";
346*724ba675SRob Herring};
347*724ba675SRob Herring
348*724ba675SRob Herring&scifb1 {
349*724ba675SRob Herring	pinctrl-0 = <&scifb1_pins>;
350*724ba675SRob Herring	pinctrl-names = "default";
351*724ba675SRob Herring
352*724ba675SRob Herring	uart-has-rtscts;
353*724ba675SRob Herring	status = "okay";
354*724ba675SRob Herring};
355*724ba675SRob Herring
356*724ba675SRob Herring&sdhi1 {
357*724ba675SRob Herring	pinctrl-0 = <&sdhi1_pins>;
358*724ba675SRob Herring	pinctrl-1 = <&sdhi1_pins_uhs>;
359*724ba675SRob Herring	pinctrl-names = "default", "state_uhs";
360*724ba675SRob Herring
361*724ba675SRob Herring	vmmc-supply = <&vcc_sdhi1>;
362*724ba675SRob Herring	vqmmc-supply = <&vccq_sdhi1>;
363*724ba675SRob Herring	cd-gpios = <&gpio6 14 GPIO_ACTIVE_LOW>;
364*724ba675SRob Herring	wp-gpios = <&gpio6 15 GPIO_ACTIVE_HIGH>;
365*724ba675SRob Herring	sd-uhs-sdr50;
366*724ba675SRob Herring	status = "okay";
367*724ba675SRob Herring};
368*724ba675SRob Herring
369*724ba675SRob Herring&ssi1 {
370*724ba675SRob Herring	shared-pin;
371*724ba675SRob Herring};
372*724ba675SRob Herring
373*724ba675SRob Herring&usbphy {
374*724ba675SRob Herring	status = "okay";
375*724ba675SRob Herring};
376