Merge tag 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost
[linux-2.6-microblaze.git] / arch / arm / boot / dts / r8a7792-wheat.dts
1 // SPDX-License-Identifier: GPL-2.0
2 /*
3  * Device Tree Source for the Wheat board
4  *
5  * Copyright (C) 2016 Renesas Electronics Corporation
6  * Copyright (C) 2016 Cogent  Embedded, Inc.
7  */
8
9 /dts-v1/;
10 #include "r8a7792.dtsi"
11 #include <dt-bindings/gpio/gpio.h>
12 #include <dt-bindings/input/input.h>
13
14 / {
15         model = "Wheat";
16         compatible = "renesas,wheat", "renesas,r8a7792";
17
18         aliases {
19                 serial0 = &scif0;
20         };
21
22         chosen {
23                 bootargs = "ignore_loglevel rw root=/dev/nfs ip=on";
24                 stdout-path = "serial0:115200n8";
25         };
26
27         memory@40000000 {
28                 device_type = "memory";
29                 reg = <0 0x40000000 0 0x40000000>;
30         };
31
32         d3_3v: regulator-3v3 {
33                 compatible = "regulator-fixed";
34                 regulator-name = "D3.3V";
35                 regulator-min-microvolt = <3300000>;
36                 regulator-max-microvolt = <3300000>;
37                 regulator-boot-on;
38                 regulator-always-on;
39         };
40
41         ethernet@18000000 {
42                 compatible = "smsc,lan89218", "smsc,lan9115";
43                 reg = <0 0x18000000 0 0x100>;
44                 phy-mode = "mii";
45                 interrupt-parent = <&irqc>;
46                 interrupts = <0 IRQ_TYPE_EDGE_FALLING>;
47                 smsc,irq-push-pull;
48                 smsc,save-mac-address;
49                 reg-io-width = <4>;
50                 vddvario-supply = <&d3_3v>;
51                 vdd33a-supply = <&d3_3v>;
52
53                 pinctrl-0 = <&lan89218_pins>;
54                 pinctrl-names = "default";
55         };
56
57         keyboard {
58                 compatible = "gpio-keys";
59
60                 key-a {
61                         linux,code = <KEY_A>;
62                         label = "SW2";
63                         wakeup-source;
64                         debounce-interval = <20>;
65                         gpios = <&gpio3 20 GPIO_ACTIVE_LOW>;
66                 };
67                 key-b {
68                         linux,code = <KEY_B>;
69                         label = "SW3";
70                         wakeup-source;
71                         debounce-interval = <20>;
72                         gpios = <&gpio11 2 GPIO_ACTIVE_LOW>;
73                 };
74         };
75
76         vcc_sdhi0: regulator-vcc-sdhi0 {
77                 compatible = "regulator-fixed";
78
79                 regulator-name = "SDHI0 Vcc";
80                 regulator-min-microvolt = <3300000>;
81                 regulator-max-microvolt = <3300000>;
82
83                 gpio = <&gpio11 12 GPIO_ACTIVE_HIGH>;
84                 enable-active-high;
85         };
86
87         hdmi-out0 {
88                 compatible = "hdmi-connector";
89                 type = "a";
90
91                 port {
92                         hdmi_con0: endpoint {
93                                 remote-endpoint = <&adv7513_0_out>;
94                         };
95                 };
96         };
97
98         hdmi-out1 {
99                 compatible = "hdmi-connector";
100                 type = "a";
101
102                 port {
103                         hdmi_con1: endpoint {
104                                 remote-endpoint = <&adv7513_1_out>;
105                         };
106                 };
107         };
108
109         osc2_clk: osc2 {
110                 compatible = "fixed-clock";
111                 #clock-cells = <0>;
112                 clock-frequency = <74250000>;
113         };
114 };
115
116 &extal_clk {
117         clock-frequency = <20000000>;
118 };
119
120 &pfc {
121         scif0_pins: scif0 {
122                 groups = "scif0_data";
123                 function = "scif0";
124         };
125
126         lan89218_pins: lan89218 {
127                 intc {
128                         groups = "intc_irq0";
129                         function = "intc";
130                 };
131                 lbsc {
132                         groups = "lbsc_ex_cs0";
133                         function = "lbsc";
134                 };
135         };
136
137         can0_pins: can0 {
138                 groups = "can0_data";
139                 function = "can0";
140         };
141
142         can1_pins: can1 {
143                 groups = "can1_data";
144                 function = "can1";
145         };
146
147         sdhi0_pins: sdhi0 {
148                 groups = "sdhi0_data4", "sdhi0_ctrl";
149                 function = "sdhi0";
150         };
151
152         qspi_pins: qspi {
153                 groups = "qspi_ctrl", "qspi_data4";
154                 function = "qspi";
155         };
156
157         du0_pins: du0 {
158                 groups = "du0_rgb888", "du0_sync", "du0_disp";
159                 function = "du0";
160         };
161
162         du1_pins: du1 {
163                 groups = "du1_rgb666", "du1_sync", "du1_disp";
164                 function = "du1";
165         };
166 };
167
168 &rwdt {
169         timeout-sec = <60>;
170         status = "okay";
171 };
172
173 &scif0 {
174         pinctrl-0 = <&scif0_pins>;
175         pinctrl-names = "default";
176
177         status = "okay";
178 };
179
180 &can0 {
181         pinctrl-0 = <&can0_pins>;
182         pinctrl-names = "default";
183
184         status = "okay";
185 };
186
187 &can1 {
188         pinctrl-0 = <&can1_pins>;
189         pinctrl-names = "default";
190
191         status = "okay";
192 };
193
194 &sdhi0 {
195         pinctrl-0 = <&sdhi0_pins>;
196         pinctrl-names = "default";
197
198         vmmc-supply = <&vcc_sdhi0>;
199         cd-gpios = <&gpio11 11 GPIO_ACTIVE_LOW>;
200         status = "okay";
201 };
202
203 &qspi {
204         pinctrl-0 = <&qspi_pins>;
205         pinctrl-names = "default";
206         status = "okay";
207
208         flash@0 {
209                 compatible = "spansion,s25fl512s", "jedec,spi-nor";
210                 reg = <0>;
211                 spi-max-frequency = <30000000>;
212                 spi-tx-bus-width = <4>;
213                 spi-rx-bus-width = <4>;
214                 spi-cpol;
215                 spi-cpha;
216                 m25p,fast-read;
217
218                 partitions {
219                         compatible = "fixed-partitions";
220                         #address-cells = <1>;
221                         #size-cells = <1>;
222
223                         partition@0 {
224                                 label = "loader";
225                                 reg = <0x00000000 0x00040000>;
226                                 read-only;
227                         };
228                         partition@40000 {
229                                 label = "user";
230                                 reg = <0x00040000 0x00400000>;
231                                 read-only;
232                         };
233                         partition@440000 {
234                                 label = "flash";
235                                 reg = <0x00440000 0x03bc0000>;
236                         };
237                 };
238         };
239 };
240
241 &i2c4 {
242         status = "okay";
243         clock-frequency = <400000>;
244
245         /*
246          * The adv75xx resets its addresses to defaults during low power mode.
247          * Because we have two ADV7513 devices on the same bus, we must change
248          * both of them away from the defaults so that they do not conflict.
249          */
250         hdmi@3d {
251                 compatible = "adi,adv7513";
252                 reg = <0x3d>, <0x4d>, <0x2d>, <0x5d>;
253                 reg-names = "main", "edid", "cec", "packet";
254
255                 adi,input-depth = <8>;
256                 adi,input-colorspace = "rgb";
257                 adi,input-clock = "1x";
258
259                 ports {
260                         #address-cells = <1>;
261                         #size-cells = <0>;
262
263                         port@0 {
264                                 reg = <0>;
265                                 adv7513_0_in: endpoint {
266                                         remote-endpoint = <&du_out_rgb0>;
267                                 };
268                         };
269
270                         port@1 {
271                                 reg = <1>;
272                                 adv7513_0_out: endpoint {
273                                         remote-endpoint = <&hdmi_con0>;
274                                 };
275                         };
276                 };
277         };
278
279         hdmi@39 {
280                 compatible = "adi,adv7513";
281                 reg = <0x39>, <0x49>, <0x29>, <0x59>;
282                 reg-names = "main", "edid", "cec", "packet";
283
284                 adi,input-depth = <8>;
285                 adi,input-colorspace = "rgb";
286                 adi,input-clock = "1x";
287
288                 ports {
289                         #address-cells = <1>;
290                         #size-cells = <0>;
291
292                         port@0 {
293                                 reg = <0>;
294                                 adv7513_1_in: endpoint {
295                                         remote-endpoint = <&du_out_rgb1>;
296                                 };
297                         };
298
299                         port@1 {
300                                 reg = <1>;
301                                 adv7513_1_out: endpoint {
302                                         remote-endpoint = <&hdmi_con1>;
303                                 };
304                         };
305                 };
306         };
307 };
308
309 &du {
310         pinctrl-0 = <&du0_pins>, <&du1_pins>;
311         pinctrl-names = "default";
312
313         clocks = <&cpg CPG_MOD 724>, <&cpg CPG_MOD 723>, <&osc2_clk>;
314         clock-names = "du.0", "du.1", "dclkin.0";
315         status = "okay";
316
317         ports {
318                 port@0 {
319                         endpoint {
320                                 remote-endpoint = <&adv7513_0_in>;
321                         };
322                 };
323                 port@1 {
324                         endpoint {
325                                 remote-endpoint = <&adv7513_1_in>;
326                         };
327                 };
328         };
329 };