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