blob: 4351c5a02fa596de7f4bfc09489199a64f4f4b02 [file] [log] [blame]
Tom Rini53633a82024-02-29 12:33:36 -05001// 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};