Merge branch 'topic/nhlt' into for-next
[linux-2.6-microblaze.git] / arch / arm / boot / dts / r8a77470-iwg23s-sbc.dts
1 // SPDX-License-Identifier: GPL-2.0
2 /*
3  * Device Tree Source for the iWave-RZ/G1C single board computer
4  *
5  * Copyright (C) 2018 Renesas Electronics Corp.
6  */
7
8 /dts-v1/;
9 #include <dt-bindings/gpio/gpio.h>
10 #include "r8a77470.dtsi"
11 / {
12         model = "iWave iW-RainboW-G23S single board computer based on RZ/G1C";
13         compatible = "iwave,g23s", "renesas,r8a77470";
14
15         aliases {
16                 ethernet0 = &avb;
17                 serial1 = &scif1;
18         };
19
20         chosen {
21                 bootargs = "ignore_loglevel rw root=/dev/nfs ip=on";
22                 stdout-path = "serial1:115200n8";
23         };
24
25         hdmi-out {
26                 compatible = "hdmi-connector";
27                 type = "a";
28
29                 port {
30                         hdmi_con: endpoint {
31                                 remote-endpoint = <&bridge_out>;
32                         };
33                 };
34         };
35
36         memory@40000000 {
37                 device_type = "memory";
38                 reg = <0 0x40000000 0 0x20000000>;
39         };
40
41         reg_1p8v: reg-1p8v {
42                 compatible = "regulator-fixed";
43                 regulator-name = "fixed-1.8V";
44                 regulator-min-microvolt = <1800000>;
45                 regulator-max-microvolt = <1800000>;
46                 regulator-boot-on;
47                 regulator-always-on;
48         };
49
50         reg_3p3v: reg-3p3v {
51                 compatible = "regulator-fixed";
52                 regulator-name = "fixed-3.3V";
53                 regulator-min-microvolt = <3300000>;
54                 regulator-max-microvolt = <3300000>;
55                 regulator-boot-on;
56                 regulator-always-on;
57         };
58
59         vccq_sdhi2: regulator-vccq-sdhi2 {
60                 compatible = "regulator-gpio";
61
62                 regulator-name = "SDHI2 VccQ";
63                 regulator-min-microvolt = <1800000>;
64                 regulator-max-microvolt = <3300000>;
65
66                 gpios = <&gpio2 24 GPIO_ACTIVE_HIGH>;
67                 gpios-states = <1>;
68                 states = <3300000 1>, <1800000 0>;
69         };
70 };
71
72 &avb {
73         pinctrl-0 = <&avb_pins>;
74         pinctrl-names = "default";
75
76         phy-handle = <&phy3>;
77         phy-mode = "gmii";
78         renesas,no-ether-link;
79         status = "okay";
80
81         phy3: ethernet-phy@3 {
82                 reg = <3>;
83                 interrupt-parent = <&gpio5>;
84                 interrupts = <16 IRQ_TYPE_LEVEL_LOW>;
85                 micrel,led-mode = <1>;
86         };
87 };
88
89 &cmt0 {
90         status = "okay";
91 };
92
93 &du {
94         pinctrl-0 = <&du0_pins>;
95         pinctrl-names = "default";
96
97         status = "okay";
98
99         ports {
100                 port@0 {
101                         endpoint {
102                                 remote-endpoint = <&bridge_in>;
103                         };
104                 };
105         };
106 };
107
108 &ehci1 {
109         status = "okay";
110 };
111
112 &extal_clk {
113         clock-frequency = <20000000>;
114 };
115
116 &gpio2 {
117         interrupt-fixup {
118                 gpio-hog;
119                 gpios = <29 GPIO_ACTIVE_HIGH>;
120                 line-name = "hdmi-hpd-int";
121                 input;
122         };
123 };
124
125 &hsusb0 {
126         status = "okay";
127 };
128
129 &i2c3 {
130         pinctrl-0 = <&i2c3_pins>;
131         pinctrl-names = "default";
132
133         status = "okay";
134         clock-frequency = <400000>;
135
136         rtc@51 {
137                 compatible = "nxp,pcf85263";
138                 reg = <0x51>;
139         };
140 };
141
142 &i2c4 {
143         pinctrl-0 = <&i2c4_pins>;
144         pinctrl-names = "default";
145
146         status = "okay";
147         clock-frequency = <100000>;
148
149         hdmi@39 {
150                 compatible = "sil,sii9022";
151                 reg = <0x39>;
152                 interrupt-parent = <&gpio2>;
153                 interrupts = <29 IRQ_TYPE_LEVEL_LOW>;
154
155                 ports {
156                         #address-cells = <1>;
157                         #size-cells = <0>;
158
159                         port@0 {
160                                 reg = <0>;
161                                 bridge_in: endpoint {
162                                         remote-endpoint = <&du_out_rgb0>;
163                                 };
164                         };
165
166                         port@1 {
167                                 reg = <1>;
168                                 bridge_out: endpoint {
169                                         remote-endpoint = <&hdmi_con>;
170                                 };
171                         };
172                 };
173         };
174 };
175
176 &ohci1 {
177         status = "okay";
178 };
179
180 &pfc {
181         avb_pins: avb {
182                 groups = "avb_mdio", "avb_gmii_tx_rx";
183                 function = "avb";
184         };
185
186         du0_pins: du0 {
187                 groups = "du0_rgb888", "du0_sync", "du0_disp", "du0_clk0_out";
188                 function = "du0";
189         };
190
191         i2c4_pins: i2c4 {
192                 groups = "i2c4_e";
193                 function = "i2c4";
194         };
195
196         i2c3_pins: i2c3 {
197                 groups = "i2c3_c";
198                 function = "i2c3";
199         };
200
201         mmc_pins_uhs: mmc_uhs {
202                 groups = "mmc_data8", "mmc_ctrl";
203                 function = "mmc";
204                 power-source = <1800>;
205         };
206
207         qspi0_pins: qspi0 {
208                 groups = "qspi0_ctrl", "qspi0_data2";
209                 function = "qspi0";
210         };
211
212         scif1_pins: scif1 {
213                 groups = "scif1_data_b";
214                 function = "scif1";
215         };
216
217         sdhi2_pins: sd2 {
218                 groups = "sdhi2_data4", "sdhi2_ctrl";
219                 function = "sdhi2";
220                 power-source = <3300>;
221         };
222
223         sdhi2_pins_uhs: sd2_uhs {
224                 groups = "sdhi2_data4", "sdhi2_ctrl";
225                 function = "sdhi2";
226                 power-source = <1800>;
227         };
228
229         usb0_pins: usb0 {
230                 groups = "usb0";
231                 function = "usb0";
232         };
233
234         usb1_pins: usb1 {
235                 groups = "usb1";
236                 function = "usb1";
237         };
238 };
239
240 &qspi0 {
241         pinctrl-0 = <&qspi0_pins>;
242         pinctrl-names = "default";
243
244         status = "okay";
245
246         /* WARNING - This device contains the bootloader. Handle with care. */
247         flash: flash@0 {
248                 #address-cells = <1>;
249                 #size-cells = <1>;
250                 compatible = "issi,is25lp016d", "jedec,spi-nor";
251                 reg = <0>;
252                 spi-max-frequency = <133000000>;
253                 spi-tx-bus-width = <1>;
254                 spi-rx-bus-width = <1>;
255                 m25p,fast-read;
256                 spi-cpol;
257                 spi-cpha;
258         };
259 };
260
261 &rwdt {
262         timeout-sec = <60>;
263         status = "okay";
264 };
265
266 &scif1 {
267         pinctrl-0 = <&scif1_pins>;
268         pinctrl-names = "default";
269
270         status = "okay";
271 };
272
273 &sdhi1 {
274         pinctrl-0 = <&mmc_pins_uhs>;
275         pinctrl-names = "state_uhs";
276
277         vmmc-supply = <&reg_3p3v>;
278         vqmmc-supply = <&reg_1p8v>;
279         bus-width = <8>;
280         mmc-hs200-1_8v;
281         non-removable;
282         fixed-emmc-driver-type = <1>;
283         status = "okay";
284 };
285
286 &sdhi2 {
287         pinctrl-0 = <&sdhi2_pins>;
288         pinctrl-1 = <&sdhi2_pins_uhs>;
289         pinctrl-names = "default", "state_uhs";
290
291         vmmc-supply = <&reg_3p3v>;
292         vqmmc-supply = <&vccq_sdhi2>;
293         bus-width = <4>;
294         cd-gpios = <&gpio4 20 GPIO_ACTIVE_LOW>;
295         sd-uhs-sdr50;
296         status = "okay";
297 };
298
299 &usb2_phy0 {
300         status = "okay";
301 };
302
303 &usb2_phy1 {
304         status = "okay";
305 };
306
307 &usbphy0 {
308         pinctrl-0 = <&usb0_pins>;
309         pinctrl-names = "default";
310
311         status = "okay";
312 };
313
314 &usbphy1 {
315         pinctrl-0 = <&usb1_pins>;
316         pinctrl-names = "default";
317
318         status = "okay";
319 };