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