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	reg_1p5v: 1p5v {
50		compatible = "regulator-fixed";
51		regulator-name = "1P5V";
52		regulator-min-microvolt = <1500000>;
53		regulator-max-microvolt = <1500000>;
54		regulator-always-on;
55	};
56
57	rsnd_sgtl5000: sound {
58		compatible = "simple-audio-card";
59
60		simple-audio-card,format = "i2s";
61		simple-audio-card,bitclock-master = <&sndcodec>;
62		simple-audio-card,frame-master = <&sndcodec>;
63
64		sndcpu: simple-audio-card,cpu {
65			sound-dai = <&rcar_sound>;
66		};
67
68		sndcodec: simple-audio-card,codec {
69			sound-dai = <&sgtl5000>;
70		};
71	};
72
73	vcc_sdhi1: regulator-vcc-sdhi1 {
74		compatible = "regulator-fixed";
75
76		regulator-name = "SDHI1 Vcc";
77		regulator-min-microvolt = <3300000>;
78		regulator-max-microvolt = <3300000>;
79
80		gpio = <&gpio1 16 GPIO_ACTIVE_LOW>;
81	};
82
83	vccq_sdhi1: regulator-vccq-sdhi1 {
84		compatible = "regulator-gpio";
85
86		regulator-name = "SDHI1 VccQ";
87		regulator-min-microvolt = <1800000>;
88		regulator-max-microvolt = <3300000>;
89
90		gpios = <&gpio2 30 GPIO_ACTIVE_HIGH>;
91		gpios-states = <1>;
92		states = <3300000 1
93			  1800000 0>;
94	};
95};
96
97&avb {
98	pinctrl-0 = <&avb_pins>;
99	pinctrl-names = "default";
100
101	phy-handle = <&phy3>;
102	phy-mode = "gmii";
103	renesas,no-ether-link;
104	status = "okay";
105
106	phy3: ethernet-phy@3 {
107		reg = <3>;
108		micrel,led-mode = <1>;
109	};
110};
111
112&can0 {
113	pinctrl-0 = <&can0_pins>;
114	pinctrl-names = "default";
115
116	status = "okay";
117};
118
119&cmt0 {
120	status = "okay";
121};
122
123&hsusb {
124	status = "okay";
125	pinctrl-0 = <&usb0_pins>;
126	pinctrl-names = "default";
127};
128
129&i2c2 {
130	pinctrl-0 = <&i2c2_pins>;
131	pinctrl-names = "default";
132
133	status = "okay";
134	clock-frequency = <400000>;
135
136	rtc@68 {
137		compatible = "ti,bq32000";
138		reg = <0x68>;
139	};
140
141	sgtl5000: codec@a {
142		compatible = "fsl,sgtl5000";
143		#sound-dai-cells = <0>;
144		reg = <0x0a>;
145		clocks = <&audio_clock>;
146		VDDA-supply = <&reg_3p3v>;
147		VDDIO-supply = <&reg_3p3v>;
148		VDDD-supply = <&reg_1p5v>;
149	};
150};
151
152&pci0 {
153	pinctrl-0 = <&usb0_pins>;
154	pinctrl-names = "default";
155};
156
157&pci1 {
158	status = "okay";
159	pinctrl-0 = <&usb1_pins>;
160	pinctrl-names = "default";
161};
162
163&pcie_bus_clk {
164	clock-frequency = <100000000>;
165};
166
167&pfc {
168	can0_pins: can0 {
169		groups = "can0_data_d";
170		function = "can0";
171	};
172
173	avb_pins: avb {
174		groups = "avb_mdio", "avb_gmii";
175		function = "avb";
176	};
177
178	i2c2_pins: i2c2 {
179		groups = "i2c2";
180		function = "i2c2";
181	};
182
183	scif0_pins: scif0 {
184		groups = "scif0_data_d";
185		function = "scif0";
186	};
187
188	scifb1_pins: scifb1 {
189		groups = "scifb1_data_d", "scifb1_ctrl";
190		function = "scifb1";
191	};
192
193	sdhi1_pins: sd1 {
194		groups = "sdhi1_data4", "sdhi1_ctrl";
195		function = "sdhi1";
196		power-source = <3300>;
197	};
198
199	sdhi1_pins_uhs: sd1_uhs {
200		groups = "sdhi1_data4", "sdhi1_ctrl";
201		function = "sdhi1";
202		power-source = <1800>;
203	};
204
205	sound_pins: sound {
206		groups = "ssi0129_ctrl", "ssi0_data", "ssi1_data";
207		function = "ssi";
208	};
209
210	usb0_pins: usb0 {
211		groups = "usb0";
212		function = "usb0";
213	};
214
215	usb1_pins: usb1 {
216		groups = "usb1";
217		function = "usb1";
218	};
219};
220
221&rcar_sound {
222	pinctrl-0 = <&sound_pins>;
223	pinctrl-names = "default";
224	status = "okay";
225
226	/* Single DAI */
227	#sound-dai-cells = <0>;
228
229	rcar_sound,dai {
230		dai0 {
231			playback = <&ssi1 &src3 &dvc1>;
232			capture = <&ssi0 &src2 &dvc0>;
233		};
234	};
235};
236
237&rwdt {
238	timeout-sec = <60>;
239	status = "okay";
240};
241
242&scif0 {
243	pinctrl-0 = <&scif0_pins>;
244	pinctrl-names = "default";
245
246	status = "okay";
247};
248
249&scifb1 {
250	pinctrl-0 = <&scifb1_pins>;
251	pinctrl-names = "default";
252
253	uart-has-rtscts;
254	status = "okay";
255};
256
257&sdhi1 {
258	pinctrl-0 = <&sdhi1_pins>;
259	pinctrl-1 = <&sdhi1_pins_uhs>;
260	pinctrl-names = "default", "state_uhs";
261
262	vmmc-supply = <&vcc_sdhi1>;
263	vqmmc-supply = <&vccq_sdhi1>;
264	cd-gpios = <&gpio6 14 GPIO_ACTIVE_LOW>;
265	wp-gpios = <&gpio6 15 GPIO_ACTIVE_HIGH>;
266	sd-uhs-sdr50;
267	status = "okay";
268};
269
270&ssi1 {
271	shared-pin;
272};
273
274&usbphy {
275	status = "okay";
276};
277