Merge tag 'dma-mapping-5.13' of git://git.infradead.org/users/hch/dma-mapping
[linux-2.6-microblaze.git] / arch / arm / boot / dts / iwg20d-q7-common.dtsi
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 0>;
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                 reg = <3>;
162                 micrel,led-mode = <1>;
163         };
164 };
165
166 &can0 {
167         pinctrl-0 = <&can0_pins>;
168         pinctrl-names = "default";
169
170         status = "okay";
171 };
172
173 &cmt0 {
174         status = "okay";
175 };
176
177 &du {
178         status = "okay";
179 };
180
181 &gpio2 {
182         touch-interrupt {
183                 gpio-hog;
184                 gpios = <12 GPIO_ACTIVE_LOW>;
185                 input;
186         };
187 };
188
189 &hsusb {
190         status = "okay";
191         pinctrl-0 = <&usb0_pins>;
192         pinctrl-names = "default";
193 };
194
195 &i2c2 {
196         pinctrl-0 = <&i2c2_pins>;
197         pinctrl-names = "default";
198
199         status = "okay";
200         clock-frequency = <400000>;
201
202         rtc@68 {
203                 compatible = "ti,bq32000";
204                 reg = <0x68>;
205         };
206
207         sgtl5000: codec@a {
208                 compatible = "fsl,sgtl5000";
209                 #sound-dai-cells = <0>;
210                 reg = <0x0a>;
211                 clocks = <&audio_clock>;
212                 VDDA-supply = <&reg_3p3v>;
213                 VDDIO-supply = <&reg_3p3v>;
214                 VDDD-supply = <&reg_1p5v>;
215         };
216
217         touch: touchpanel@38 {
218                 compatible = "edt,edt-ft5406";
219                 reg = <0x38>;
220                 interrupt-parent = <&gpio2>;
221                 interrupts = <12 IRQ_TYPE_EDGE_FALLING>;
222                 vcc-supply = <&vcc_3v3_tft1>;
223         };
224 };
225
226 &lvds0 {
227         status = "okay";
228
229         ports {
230                 port@1 {
231                         lvds0_out: endpoint {
232                                 remote-endpoint = <&lvds_receiver_in>;
233                         };
234                 };
235         };
236 };
237
238 &pci0 {
239         pinctrl-0 = <&usb0_pins>;
240         pinctrl-names = "default";
241 };
242
243 &pci1 {
244         status = "okay";
245         pinctrl-0 = <&usb1_pins>;
246         pinctrl-names = "default";
247 };
248
249 &pcie_bus_clk {
250         clock-frequency = <100000000>;
251 };
252
253 &pfc {
254         can0_pins: can0 {
255                 groups = "can0_data_d";
256                 function = "can0";
257         };
258
259         avb_pins: avb {
260                 groups = "avb_mdio", "avb_gmii";
261                 function = "avb";
262         };
263
264         i2c2_pins: i2c2 {
265                 groups = "i2c2";
266                 function = "i2c2";
267         };
268
269         pwm3_pins: pwm3 {
270                 groups = "pwm3";
271                 function = "pwm3";
272         };
273
274         scif0_pins: scif0 {
275                 groups = "scif0_data_d";
276                 function = "scif0";
277         };
278
279         scifb1_pins: scifb1 {
280                 groups = "scifb1_data_d", "scifb1_ctrl";
281                 function = "scifb1";
282         };
283
284         sdhi1_pins: sd1 {
285                 groups = "sdhi1_data4", "sdhi1_ctrl";
286                 function = "sdhi1";
287                 power-source = <3300>;
288         };
289
290         sdhi1_pins_uhs: sd1_uhs {
291                 groups = "sdhi1_data4", "sdhi1_ctrl";
292                 function = "sdhi1";
293                 power-source = <1800>;
294         };
295
296         sound_pins: sound {
297                 groups = "ssi0129_ctrl", "ssi0_data", "ssi1_data";
298                 function = "ssi";
299         };
300
301         usb0_pins: usb0 {
302                 groups = "usb0";
303                 function = "usb0";
304         };
305
306         usb1_pins: usb1 {
307                 groups = "usb1";
308                 function = "usb1";
309         };
310 };
311
312 &pwm3 {
313         pinctrl-0 = <&pwm3_pins>;
314         pinctrl-names = "default";
315         status = "okay";
316 };
317
318 &rcar_sound {
319         pinctrl-0 = <&sound_pins>;
320         pinctrl-names = "default";
321         status = "okay";
322
323         /* Single DAI */
324         #sound-dai-cells = <0>;
325
326         rcar_sound,dai {
327                 dai0 {
328                         playback = <&ssi1>, <&src3>, <&dvc1>;
329                         capture = <&ssi0>, <&src2>, <&dvc0>;
330                 };
331         };
332 };
333
334 &rwdt {
335         timeout-sec = <60>;
336         status = "okay";
337 };
338
339 &scif0 {
340         pinctrl-0 = <&scif0_pins>;
341         pinctrl-names = "default";
342
343         status = "okay";
344 };
345
346 &scifb1 {
347         pinctrl-0 = <&scifb1_pins>;
348         pinctrl-names = "default";
349
350         uart-has-rtscts;
351         status = "okay";
352 };
353
354 &sdhi1 {
355         pinctrl-0 = <&sdhi1_pins>;
356         pinctrl-1 = <&sdhi1_pins_uhs>;
357         pinctrl-names = "default", "state_uhs";
358
359         vmmc-supply = <&vcc_sdhi1>;
360         vqmmc-supply = <&vccq_sdhi1>;
361         cd-gpios = <&gpio6 14 GPIO_ACTIVE_LOW>;
362         wp-gpios = <&gpio6 15 GPIO_ACTIVE_HIGH>;
363         sd-uhs-sdr50;
364         status = "okay";
365 };
366
367 &ssi1 {
368         shared-pin;
369 };
370
371 &usbphy {
372         status = "okay";
373 };