Merge tag 'armsoc-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc
[sfrench/cifs-2.6.git] / arch / arm / boot / dts / r8a7745-iwg22d-sodimm.dts
1 // SPDX-License-Identifier: GPL-2.0
2 /*
3  * Device Tree Source for the iWave-RZG1E SODIMM 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 /dts-v1/;
32 #include "r8a7745-iwg22m.dtsi"
33
34 / {
35         model = "iWave Systems RainboW-G22D-SODIMM board based on RZ/G1E";
36         compatible = "iwave,g22d", "iwave,g22m", "renesas,r8a7745";
37
38         aliases {
39                 ethernet0 = &avb;
40                 serial3 = &scif4;
41                 serial5 = &hscif1;
42         };
43
44         chosen {
45                 bootargs = "ignore_loglevel rw root=/dev/nfs ip=on";
46                 stdout-path = "serial3:115200n8";
47         };
48
49         audio_clock: audio_clock {
50                 compatible = "fixed-clock";
51                 #clock-cells = <0>;
52                 clock-frequency = <26000000>;
53         };
54
55         rsnd_sgtl5000: sound {
56                 compatible = "simple-audio-card";
57                 simple-audio-card,format = "i2s";
58                 simple-audio-card,bitclock-master = <&sndcodec>;
59                 simple-audio-card,frame-master = <&sndcodec>;
60
61                 sndcpu: simple-audio-card,cpu {
62                         sound-dai = <&rcar_sound>;
63                 };
64
65                 sndcodec: simple-audio-card,codec {
66                         sound-dai = <&sgtl5000>;
67                 };
68         };
69
70         vccq_sdhi0: regulator-vccq-sdhi0 {
71                 compatible = "regulator-gpio";
72
73                 regulator-name = "SDHI0 VccQ";
74                 regulator-min-microvolt = <1800000>;
75                 regulator-max-microvolt = <3300000>;
76
77                 gpios = <&gpio0 20 GPIO_ACTIVE_LOW>;
78                 gpios-states = <1>;
79                 states = <3300000 1
80                           1800000 0>;
81         };
82 };
83
84 &avb {
85         pinctrl-0 = <&avb_pins>;
86         pinctrl-names = "default";
87
88         phy-handle = <&phy3>;
89         phy-mode = "gmii";
90         renesas,no-ether-link;
91         status = "okay";
92
93         phy3: ethernet-phy@3 {
94         /*
95          * On some older versions of the platform (before R4.0) the phy address
96          * may be 1 or 3. The address is fixed to 3 for R4.0 onwards.
97          */
98                 reg = <3>;
99                 micrel,led-mode = <1>;
100         };
101 };
102
103 &can0 {
104         pinctrl-0 = <&can0_pins>;
105         pinctrl-names = "default";
106
107         status = "okay";
108 };
109
110 &hscif1 {
111         pinctrl-0 = <&hscif1_pins>;
112         pinctrl-names = "default";
113
114         uart-has-rtscts;
115         status = "okay";
116 };
117
118 &hsusb {
119         status = "okay";
120         pinctrl-0 = <&usb0_pins>;
121         pinctrl-names = "default";
122 };
123
124 &i2c5 {
125         pinctrl-0 = <&i2c5_pins>;
126         pinctrl-names = "default";
127
128         status = "okay";
129         clock-frequency = <400000>;
130
131         sgtl5000: codec@a {
132                 compatible = "fsl,sgtl5000";
133                 #sound-dai-cells = <0>;
134                 reg = <0x0a>;
135                 clocks = <&audio_clock>;
136                 VDDA-supply = <&reg_3p3v>;
137                 VDDIO-supply = <&reg_3p3v>;
138         };
139 };
140
141 &pci1 {
142         status = "okay";
143         pinctrl-0 = <&usb1_pins>;
144         pinctrl-names = "default";
145 };
146
147 &pfc {
148         avb_pins: avb {
149                 groups = "avb_mdio", "avb_gmii";
150                 function = "avb";
151         };
152
153         can0_pins: can0 {
154                 groups = "can0_data";
155                 function = "can0";
156         };
157
158         hscif1_pins: hscif1 {
159                 groups = "hscif1_data", "hscif1_ctrl";
160                 function = "hscif1";
161         };
162
163         i2c5_pins: i2c5 {
164                 groups = "i2c5_b";
165                 function = "i2c5";
166         };
167
168         scif4_pins: scif4 {
169                 groups = "scif4_data_b";
170                 function = "scif4";
171         };
172
173         sdhi0_pins: sd0 {
174                 groups = "sdhi0_data4", "sdhi0_ctrl";
175                 function = "sdhi0";
176                 power-source = <3300>;
177         };
178
179         sound_pins: sound {
180                 groups = "ssi34_ctrl", "ssi3_data", "ssi4_data";
181                 function = "ssi";
182         };
183
184         usb0_pins: usb0 {
185                 groups = "usb0";
186                 function = "usb0";
187         };
188
189         usb1_pins: usb1 {
190                 groups = "usb1";
191                 function = "usb1";
192         };
193 };
194
195 &rcar_sound {
196         pinctrl-0 = <&sound_pins>;
197         pinctrl-names = "default";
198         status = "okay";
199
200         /* Single DAI */
201
202         #sound-dai-cells = <0>;
203
204         rcar_sound,dai {
205                 dai0 {
206                         playback = <&ssi3 &src3 &dvc0>;
207                         capture = <&ssi4 &src4 &dvc1>;
208                 };
209         };
210 };
211
212 &scif4 {
213         pinctrl-0 = <&scif4_pins>;
214         pinctrl-names = "default";
215
216         status = "okay";
217 };
218
219 &sdhi0 {
220         pinctrl-0 = <&sdhi0_pins>;
221         pinctrl-names = "default";
222
223         vmmc-supply = <&reg_3p3v>;
224         vqmmc-supply = <&vccq_sdhi0>;
225         cd-gpios = <&gpio6 6 GPIO_ACTIVE_LOW>;
226         status = "okay";
227 };
228
229 &ssi4 {
230         shared-pin;
231 };
232
233 &usbphy {
234         status = "okay";
235 };