xref: /linux/arch/arm/boot/dts/renesas/iwg20d-q7-common.dtsi (revision 7f71507851fc7764b36a3221839607d3a45c2025)
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		interrupts-extended = <&gpio2 12 IRQ_TYPE_EDGE_FALLING>;
223		vcc-supply = <&vcc_3v3_tft1>;
224	};
225};
226
227&lvds0 {
228	status = "okay";
229
230	ports {
231		port@1 {
232			lvds0_out: endpoint {
233				remote-endpoint = <&lvds_receiver_in>;
234			};
235		};
236	};
237};
238
239&pci0 {
240	pinctrl-0 = <&usb0_pins>;
241	pinctrl-names = "default";
242};
243
244&pci1 {
245	status = "okay";
246	pinctrl-0 = <&usb1_pins>;
247	pinctrl-names = "default";
248};
249
250&pcie_bus_clk {
251	clock-frequency = <100000000>;
252};
253
254&pfc {
255	can0_pins: can0 {
256		groups = "can0_data_d";
257		function = "can0";
258	};
259
260	avb_pins: avb {
261		groups = "avb_mdio", "avb_gmii";
262		function = "avb";
263	};
264
265	i2c2_pins: i2c2 {
266		groups = "i2c2";
267		function = "i2c2";
268	};
269
270	pwm3_pins: pwm3 {
271		groups = "pwm3";
272		function = "pwm3";
273	};
274
275	scif0_pins: scif0 {
276		groups = "scif0_data_d";
277		function = "scif0";
278	};
279
280	scifb1_pins: scifb1 {
281		groups = "scifb1_data_d", "scifb1_ctrl";
282		function = "scifb1";
283	};
284
285	sdhi1_pins: sd1 {
286		groups = "sdhi1_data4", "sdhi1_ctrl";
287		function = "sdhi1";
288		power-source = <3300>;
289	};
290
291	sdhi1_pins_uhs: sd1_uhs {
292		groups = "sdhi1_data4", "sdhi1_ctrl";
293		function = "sdhi1";
294		power-source = <1800>;
295	};
296
297	sound_pins: sound {
298		groups = "ssi0129_ctrl", "ssi0_data", "ssi1_data";
299		function = "ssi";
300	};
301
302	usb0_pins: usb0 {
303		groups = "usb0";
304		function = "usb0";
305	};
306
307	usb1_pins: usb1 {
308		groups = "usb1";
309		function = "usb1";
310	};
311};
312
313&pwm3 {
314	pinctrl-0 = <&pwm3_pins>;
315	pinctrl-names = "default";
316	status = "okay";
317};
318
319&rcar_sound {
320	pinctrl-0 = <&sound_pins>;
321	pinctrl-names = "default";
322	status = "okay";
323
324	/* Single DAI */
325	#sound-dai-cells = <0>;
326
327	rcar_sound,dai {
328		dai0 {
329			playback = <&ssi1>, <&src3>, <&dvc1>;
330			capture = <&ssi0>, <&src2>, <&dvc0>;
331		};
332	};
333};
334
335&rwdt {
336	timeout-sec = <60>;
337	status = "okay";
338};
339
340&scif0 {
341	pinctrl-0 = <&scif0_pins>;
342	pinctrl-names = "default";
343
344	status = "okay";
345};
346
347&scifb1 {
348	pinctrl-0 = <&scifb1_pins>;
349	pinctrl-names = "default";
350
351	uart-has-rtscts;
352	status = "okay";
353};
354
355&sdhi1 {
356	pinctrl-0 = <&sdhi1_pins>;
357	pinctrl-1 = <&sdhi1_pins_uhs>;
358	pinctrl-names = "default", "state_uhs";
359
360	vmmc-supply = <&vcc_sdhi1>;
361	vqmmc-supply = <&vccq_sdhi1>;
362	cd-gpios = <&gpio6 14 GPIO_ACTIVE_LOW>;
363	wp-gpios = <&gpio6 15 GPIO_ACTIVE_HIGH>;
364	sd-uhs-sdr50;
365	status = "okay";
366};
367
368&ssi1 {
369	shared-pin;
370};
371
372&usbphy {
373	status = "okay";
374};
375