GNU Linux-libre 6.1.90-gnu
[releases.git] / arch / arm64 / boot / dts / renesas / hihope-common.dtsi
1 // SPDX-License-Identifier: GPL-2.0
2 /*
3  * Device Tree Source for the HiHope RZ/G2H Rev.4.0 and
4  * HiHope RZ/G2[MN] Rev.[2.0/3.0/4.0] main board common parts
5  *
6  * Copyright (C) 2019 Renesas Electronics Corp.
7  */
8
9 #include <dt-bindings/gpio/gpio.h>
10
11 / {
12         aliases {
13                 i2c0 = &i2c0;
14                 i2c1 = &i2c1;
15                 i2c2 = &i2c2;
16                 i2c3 = &i2c3;
17                 i2c4 = &i2c4;
18                 i2c5 = &i2c5;
19                 i2c6 = &i2c6;
20                 i2c7 = &iic_pmic;
21                 serial0 = &scif2;
22                 serial1 = &hscif0;
23                 mmc0 = &sdhi3;
24                 mmc1 = &sdhi0;
25                 mmc2 = &sdhi2;
26         };
27
28         chosen {
29                 bootargs = "ignore_loglevel";
30                 stdout-path = "serial0:115200n8";
31         };
32
33         hdmi0-out {
34                 compatible = "hdmi-connector";
35                 type = "a";
36
37                 port {
38                         hdmi0_con: endpoint {
39                                 remote-endpoint = <&rcar_dw_hdmi0_out>;
40                         };
41                 };
42         };
43
44         leds {
45                 compatible = "gpio-leds";
46
47                 led1 {
48                         gpios = <&gpio6 12 GPIO_ACTIVE_HIGH>;
49                 };
50
51                 led2 {
52                         gpios = <&gpio6 13 GPIO_ACTIVE_HIGH>;
53                 };
54
55                 led3 {
56                         gpios = <&gpio0  0 GPIO_ACTIVE_HIGH>;
57                 };
58
59                 led4 {
60                         gpios = <&gpio6 11 GPIO_ACTIVE_HIGH>;
61                 };
62         };
63
64         reg_1p8v: regulator-1p8v {
65                 compatible = "regulator-fixed";
66                 regulator-name = "fixed-1.8V";
67                 regulator-min-microvolt = <1800000>;
68                 regulator-max-microvolt = <1800000>;
69                 regulator-boot-on;
70                 regulator-always-on;
71         };
72
73         reg_3p3v: regulator-3p3v {
74                 compatible = "regulator-fixed";
75                 regulator-name = "fixed-3.3V";
76                 regulator-min-microvolt = <3300000>;
77                 regulator-max-microvolt = <3300000>;
78                 regulator-boot-on;
79                 regulator-always-on;
80         };
81
82         sound_card: sound {
83                 compatible = "audio-graph-card";
84
85                 label = "rcar-sound";
86
87                 dais = <&rsnd_port>;
88         };
89
90         vbus0_usb2: regulator-vbus0-usb2 {
91                 compatible = "regulator-fixed";
92
93                 regulator-name = "USB20_VBUS0";
94                 regulator-min-microvolt = <5000000>;
95                 regulator-max-microvolt = <5000000>;
96
97                 gpio = <&gpio6 16 GPIO_ACTIVE_HIGH>;
98                 enable-active-high;
99         };
100
101         vccq_sdhi0: regulator-vccq-sdhi0 {
102                 compatible = "regulator-gpio";
103
104                 regulator-name = "SDHI0 VccQ";
105                 regulator-min-microvolt = <1800000>;
106                 regulator-max-microvolt = <3300000>;
107
108                 gpios = <&gpio6 30 GPIO_ACTIVE_HIGH>;
109                 gpios-states = <1>;
110                 states = <3300000 1>, <1800000 0>;
111         };
112
113         x302_clk: x302-clock {
114                 compatible = "fixed-clock";
115                 #clock-cells = <0>;
116                 clock-frequency = <33000000>;
117         };
118
119         x304_clk: x304-clock {
120                 compatible = "fixed-clock";
121                 #clock-cells = <0>;
122                 clock-frequency = <25000000>;
123         };
124 };
125
126 &audio_clk_a {
127         clock-frequency = <22579200>;
128 };
129
130 &du {
131         status = "okay";
132 };
133
134 &ehci0 {
135         status = "okay";
136 };
137
138 &ehci1 {
139         status = "okay";
140 };
141
142 &extal_clk {
143         clock-frequency = <16666666>;
144 };
145
146 &extalr_clk {
147         clock-frequency = <32768>;
148 };
149
150 &gpio6 {
151         usb1-reset-hog {
152                 gpio-hog;
153                 gpios = <10 GPIO_ACTIVE_LOW>;
154                 output-low;
155                 line-name = "usb1-reset";
156         };
157 };
158
159 &hdmi0 {
160         status = "okay";
161
162         ports {
163                 port@1 {
164                         reg = <1>;
165                         rcar_dw_hdmi0_out: endpoint {
166                                 remote-endpoint = <&hdmi0_con>;
167                         };
168                 };
169                 port@2 {
170                         reg = <2>;
171                         dw_hdmi0_snd_in: endpoint {
172                                 remote-endpoint = <&rsnd_endpoint>;
173                         };
174                 };
175         };
176 };
177
178 &hscif0 {
179         pinctrl-0 = <&hscif0_pins>;
180         pinctrl-names = "default";
181
182         uart-has-rtscts;
183         status = "okay";
184 };
185
186 &hsusb {
187         dr_mode = "otg";
188         status = "okay";
189 };
190
191 &i2c4 {
192         clock-frequency = <400000>;
193         status = "okay";
194
195         versaclock5: clock-generator@6a {
196                 compatible = "idt,5p49v5923";
197                 reg = <0x6a>;
198                 #clock-cells = <1>;
199                 clocks = <&x304_clk>;
200                 clock-names = "xin";
201         };
202 };
203
204 &ohci0 {
205         status = "okay";
206 };
207
208 &ohci1 {
209         status = "okay";
210 };
211
212 &pcie_bus_clk {
213         clock-frequency = <100000000>;
214 };
215
216 &pfc {
217         pinctrl-0 = <&scif_clk_pins>;
218         pinctrl-names = "default";
219
220         hscif0_pins: hscif0 {
221                 groups = "hscif0_data", "hscif0_ctrl";
222                 function = "hscif0";
223         };
224
225         scif2_pins: scif2 {
226                 groups = "scif2_data_a";
227                 function = "scif2";
228         };
229
230         scif_clk_pins: scif_clk {
231                 groups = "scif_clk_a";
232                 function = "scif_clk";
233         };
234
235         sdhi0_pins: sd0 {
236                 groups = "sdhi0_data4", "sdhi0_ctrl";
237                 function = "sdhi0";
238                 power-source = <3300>;
239         };
240
241         sdhi0_pins_uhs: sd0_uhs {
242                 groups = "sdhi0_data4", "sdhi0_ctrl";
243                 function = "sdhi0";
244                 power-source = <1800>;
245         };
246
247         sdhi2_pins: sd2 {
248                 groups = "sdhi2_data4", "sdhi2_ctrl";
249                 function = "sdhi2";
250                 power-source = <1800>;
251         };
252
253         sdhi3_pins: sd3 {
254                 groups = "sdhi3_data8", "sdhi3_ctrl", "sdhi3_ds";
255                 function = "sdhi3";
256                 power-source = <1800>;
257         };
258
259         usb0_pins: usb0 {
260                 groups = "usb0";
261                 function = "usb0";
262         };
263
264         usb1_pins: usb1 {
265                 mux {
266                         groups = "usb1";
267                         function = "usb1";
268                 };
269
270                 ovc {
271                         pins = "GP_6_27";
272                         bias-pull-up;
273                 };
274         };
275
276         usb30_pins: usb30 {
277                 groups = "usb30";
278                 function = "usb30";
279         };
280 };
281
282 &rwdt {
283         timeout-sec = <60>;
284         status = "okay";
285 };
286
287 &scif2 {
288         pinctrl-0 = <&scif2_pins>;
289         pinctrl-names = "default";
290
291         status = "okay";
292 };
293
294 &scif_clk {
295         clock-frequency = <14745600>;
296 };
297
298 &sdhi0 {
299         pinctrl-0 = <&sdhi0_pins>;
300         pinctrl-1 = <&sdhi0_pins_uhs>;
301         pinctrl-names = "default", "state_uhs";
302
303         vmmc-supply = <&reg_3p3v>;
304         vqmmc-supply = <&vccq_sdhi0>;
305         cd-gpios = <&gpio3 12 GPIO_ACTIVE_LOW>;
306         bus-width = <4>;
307         sd-uhs-sdr50;
308         sd-uhs-sdr104;
309         status = "okay";
310 };
311
312 &sdhi2 {
313         status = "okay";
314         pinctrl-0 = <&sdhi2_pins>;
315         pinctrl-names = "default";
316
317         vmmc-supply = <&wlan_en_reg>;
318         bus-width = <4>;
319         non-removable;
320         cap-power-off-card;
321         keep-power-in-suspend;
322
323         #address-cells = <1>;
324         #size-cells = <0>;
325         wlcore: wlcore@2 {
326                 compatible = "ti,wl1837";
327                 reg = <2>;
328                 interrupt-parent = <&gpio2>;
329                 interrupts = <5 IRQ_TYPE_LEVEL_HIGH>;
330         };
331 };
332
333 &sdhi3 {
334         pinctrl-0 = <&sdhi3_pins>;
335         pinctrl-1 = <&sdhi3_pins>;
336         pinctrl-names = "default", "state_uhs";
337
338         vmmc-supply = <&reg_3p3v>;
339         vqmmc-supply = <&reg_1p8v>;
340         bus-width = <8>;
341         mmc-hs200-1_8v;
342         no-sd;
343         no-sdio;
344         non-removable;
345         fixed-emmc-driver-type = <1>;
346         status = "okay";
347 };
348
349 &usb_extal_clk {
350         clock-frequency = <50000000>;
351 };
352
353 &usb2_phy0 {
354         pinctrl-0 = <&usb0_pins>;
355         pinctrl-names = "default";
356
357         vbus-supply = <&vbus0_usb2>;
358         status = "okay";
359 };
360
361 &usb2_phy1 {
362         pinctrl-0 = <&usb1_pins>;
363         pinctrl-names = "default";
364
365         status = "okay";
366 };
367
368 &usb3_peri0 {
369         phys = <&usb3_phy0>;
370         phy-names = "usb";
371
372         companion = <&xhci0>;
373
374         status = "okay";
375 };
376
377 &usb3_phy0 {
378         status = "okay";
379 };
380
381 &usb3s0_clk {
382         clock-frequency = <100000000>;
383 };
384
385 &xhci0 {
386         pinctrl-0 = <&usb30_pins>;
387         pinctrl-names = "default";
388
389         status = "okay";
390 };