GNU Linux-libre 4.19.264-gnu1
[releases.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         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 &hsusb {
120         status = "okay";
121         pinctrl-0 = <&usb0_pins>;
122         pinctrl-names = "default";
123 };
124
125 &i2c2 {
126         pinctrl-0 = <&i2c2_pins>;
127         pinctrl-names = "default";
128
129         status = "okay";
130         clock-frequency = <400000>;
131
132         rtc@68 {
133                 compatible = "ti,bq32000";
134                 reg = <0x68>;
135         };
136
137         sgtl5000: codec@a {
138                 compatible = "fsl,sgtl5000";
139                 #sound-dai-cells = <0>;
140                 reg = <0x0a>;
141                 clocks = <&audio_clock>;
142                 VDDA-supply = <&reg_3p3v>;
143                 VDDIO-supply = <&reg_3p3v>;
144                 VDDD-supply = <&reg_1p5v>;
145         };
146 };
147
148 &pci0 {
149         pinctrl-0 = <&usb0_pins>;
150         pinctrl-names = "default";
151 };
152
153 &pci1 {
154         status = "okay";
155         pinctrl-0 = <&usb1_pins>;
156         pinctrl-names = "default";
157 };
158
159 &pcie_bus_clk {
160         clock-frequency = <100000000>;
161 };
162
163 &pciec {
164         status = "okay";
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 &scif0 {
238         pinctrl-0 = <&scif0_pins>;
239         pinctrl-names = "default";
240
241         status = "okay";
242 };
243
244 &scifb1 {
245         pinctrl-0 = <&scifb1_pins>;
246         pinctrl-names = "default";
247
248         uart-has-rtscts;
249         status = "okay";
250 };
251
252 &sdhi1 {
253         pinctrl-0 = <&sdhi1_pins>;
254         pinctrl-1 = <&sdhi1_pins_uhs>;
255         pinctrl-names = "default", "state_uhs";
256
257         vmmc-supply = <&vcc_sdhi1>;
258         vqmmc-supply = <&vccq_sdhi1>;
259         cd-gpios = <&gpio6 14 GPIO_ACTIVE_LOW>;
260         wp-gpios = <&gpio6 15 GPIO_ACTIVE_HIGH>;
261         sd-uhs-sdr50;
262         status = "okay";
263 };
264
265 &ssi1 {
266         shared-pin;
267 };
268
269 &usbphy {
270         status = "okay";
271 };