Merge tag 'media/v5.8-3' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab...
[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                 powerdown-gpios = <&gpio7 25 GPIO_ACTIVE_LOW>;
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
85                 port {
86                         panel_in: endpoint {
87                                 remote-endpoint = <&lvds_receiver_out>;
88                         };
89                 };
90         };
91
92         reg_1p5v: 1p5v {
93                 compatible = "regulator-fixed";
94                 regulator-name = "1P5V";
95                 regulator-min-microvolt = <1500000>;
96                 regulator-max-microvolt = <1500000>;
97                 regulator-always-on;
98         };
99
100         rsnd_sgtl5000: sound {
101                 compatible = "simple-audio-card";
102
103                 simple-audio-card,format = "i2s";
104                 simple-audio-card,bitclock-master = <&sndcodec>;
105                 simple-audio-card,frame-master = <&sndcodec>;
106
107                 sndcpu: simple-audio-card,cpu {
108                         sound-dai = <&rcar_sound>;
109                 };
110
111                 sndcodec: simple-audio-card,codec {
112                         sound-dai = <&sgtl5000>;
113                 };
114         };
115
116         vcc_sdhi1: regulator-vcc-sdhi1 {
117                 compatible = "regulator-fixed";
118
119                 regulator-name = "SDHI1 Vcc";
120                 regulator-min-microvolt = <3300000>;
121                 regulator-max-microvolt = <3300000>;
122
123                 gpio = <&gpio1 16 GPIO_ACTIVE_LOW>;
124         };
125
126         vccq_sdhi1: regulator-vccq-sdhi1 {
127                 compatible = "regulator-gpio";
128
129                 regulator-name = "SDHI1 VccQ";
130                 regulator-min-microvolt = <1800000>;
131                 regulator-max-microvolt = <3300000>;
132
133                 gpios = <&gpio2 30 GPIO_ACTIVE_HIGH>;
134                 gpios-states = <1>;
135                 states = <3300000 1>, <1800000 0>;
136         };
137 };
138
139 &avb {
140         pinctrl-0 = <&avb_pins>;
141         pinctrl-names = "default";
142
143         phy-handle = <&phy3>;
144         phy-mode = "gmii";
145         renesas,no-ether-link;
146         status = "okay";
147
148         phy3: ethernet-phy@3 {
149                 reg = <3>;
150                 micrel,led-mode = <1>;
151         };
152 };
153
154 &can0 {
155         pinctrl-0 = <&can0_pins>;
156         pinctrl-names = "default";
157
158         status = "okay";
159 };
160
161 &cmt0 {
162         status = "okay";
163 };
164
165 &du {
166         status = "okay";
167 };
168
169 &gpio2 {
170         touch-interrupt {
171                 gpio-hog;
172                 gpios = <12 GPIO_ACTIVE_LOW>;
173                 input;
174         };
175 };
176
177 &hsusb {
178         status = "okay";
179         pinctrl-0 = <&usb0_pins>;
180         pinctrl-names = "default";
181 };
182
183 &i2c2 {
184         pinctrl-0 = <&i2c2_pins>;
185         pinctrl-names = "default";
186
187         status = "okay";
188         clock-frequency = <400000>;
189
190         rtc@68 {
191                 compatible = "ti,bq32000";
192                 reg = <0x68>;
193         };
194
195         sgtl5000: codec@a {
196                 compatible = "fsl,sgtl5000";
197                 #sound-dai-cells = <0>;
198                 reg = <0x0a>;
199                 clocks = <&audio_clock>;
200                 VDDA-supply = <&reg_3p3v>;
201                 VDDIO-supply = <&reg_3p3v>;
202                 VDDD-supply = <&reg_1p5v>;
203         };
204
205         touch: touchpanel@38 {
206                 compatible = "edt,edt-ft5406";
207                 reg = <0x38>;
208                 interrupt-parent = <&gpio2>;
209                 interrupts = <12 IRQ_TYPE_EDGE_FALLING>;
210         };
211 };
212
213 &lvds0 {
214         status = "okay";
215
216         ports {
217                 port@1 {
218                         lvds0_out: endpoint {
219                                 remote-endpoint = <&lvds_receiver_in>;
220                         };
221                 };
222         };
223 };
224
225 &pci0 {
226         pinctrl-0 = <&usb0_pins>;
227         pinctrl-names = "default";
228 };
229
230 &pci1 {
231         status = "okay";
232         pinctrl-0 = <&usb1_pins>;
233         pinctrl-names = "default";
234 };
235
236 &pcie_bus_clk {
237         clock-frequency = <100000000>;
238 };
239
240 &pfc {
241         can0_pins: can0 {
242                 groups = "can0_data_d";
243                 function = "can0";
244         };
245
246         avb_pins: avb {
247                 groups = "avb_mdio", "avb_gmii";
248                 function = "avb";
249         };
250
251         i2c2_pins: i2c2 {
252                 groups = "i2c2";
253                 function = "i2c2";
254         };
255
256         pwm3_pins: pwm3 {
257                 groups = "pwm3";
258                 function = "pwm3";
259         };
260
261         scif0_pins: scif0 {
262                 groups = "scif0_data_d";
263                 function = "scif0";
264         };
265
266         scifb1_pins: scifb1 {
267                 groups = "scifb1_data_d", "scifb1_ctrl";
268                 function = "scifb1";
269         };
270
271         sdhi1_pins: sd1 {
272                 groups = "sdhi1_data4", "sdhi1_ctrl";
273                 function = "sdhi1";
274                 power-source = <3300>;
275         };
276
277         sdhi1_pins_uhs: sd1_uhs {
278                 groups = "sdhi1_data4", "sdhi1_ctrl";
279                 function = "sdhi1";
280                 power-source = <1800>;
281         };
282
283         sound_pins: sound {
284                 groups = "ssi0129_ctrl", "ssi0_data", "ssi1_data";
285                 function = "ssi";
286         };
287
288         usb0_pins: usb0 {
289                 groups = "usb0";
290                 function = "usb0";
291         };
292
293         usb1_pins: usb1 {
294                 groups = "usb1";
295                 function = "usb1";
296         };
297 };
298
299 &pwm3 {
300         pinctrl-0 = <&pwm3_pins>;
301         pinctrl-names = "default";
302         status = "okay";
303 };
304
305 &rcar_sound {
306         pinctrl-0 = <&sound_pins>;
307         pinctrl-names = "default";
308         status = "okay";
309
310         /* Single DAI */
311         #sound-dai-cells = <0>;
312
313         rcar_sound,dai {
314                 dai0 {
315                         playback = <&ssi1 &src3 &dvc1>;
316                         capture = <&ssi0 &src2 &dvc0>;
317                 };
318         };
319 };
320
321 &rwdt {
322         timeout-sec = <60>;
323         status = "okay";
324 };
325
326 &scif0 {
327         pinctrl-0 = <&scif0_pins>;
328         pinctrl-names = "default";
329
330         status = "okay";
331 };
332
333 &scifb1 {
334         pinctrl-0 = <&scifb1_pins>;
335         pinctrl-names = "default";
336
337         uart-has-rtscts;
338         status = "okay";
339 };
340
341 &sdhi1 {
342         pinctrl-0 = <&sdhi1_pins>;
343         pinctrl-1 = <&sdhi1_pins_uhs>;
344         pinctrl-names = "default", "state_uhs";
345
346         vmmc-supply = <&vcc_sdhi1>;
347         vqmmc-supply = <&vccq_sdhi1>;
348         cd-gpios = <&gpio6 14 GPIO_ACTIVE_LOW>;
349         wp-gpios = <&gpio6 15 GPIO_ACTIVE_HIGH>;
350         sd-uhs-sdr50;
351         status = "okay";
352 };
353
354 &ssi1 {
355         shared-pin;
356 };
357
358 &usbphy {
359         status = "okay";
360 };