ARM: dts: armada388-clearfog: enable spi flash
[linux-2.6-block.git] / arch / arm / boot / dts / r8a7792-wheat.dts
CommitLineData
5f45cec4
SS
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"
0c157ad2 14#include <dt-bindings/gpio/gpio.h>
fa8f4aba 15#include <dt-bindings/input/input.h>
5f45cec4
SS
16
17/ {
18 model = "Wheat";
19 compatible = "renesas,wheat", "renesas,r8a7792";
20
21 aliases {
22 serial0 = &scif0;
23 };
24
25 chosen {
1d9a17dd 26 bootargs = "ignore_loglevel rw root=/dev/nfs ip=dhcp";
5f45cec4
SS
27 stdout-path = "serial0:115200n8";
28 };
29
30 memory@40000000 {
31 device_type = "memory";
32 reg = <0 0x40000000 0 0x40000000>;
33 };
1d9a17dd
SS
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 };
0c157ad2 59
fa8f4aba
SS
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
0c157ad2
SS
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 };
f6eea82a
SS
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 };
5f45cec4
SS
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 };
1d9a17dd
SS
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 };
4ea71e6d
SS
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 };
0c157ad2
SS
149
150 sdhi0_pins: sdhi0 {
151 groups = "sdhi0_data4", "sdhi0_ctrl";
152 function = "sdhi0";
153 };
e678114f
SS
154
155 qspi_pins: qspi {
156 groups = "qspi_ctrl", "qspi_data4";
157 function = "qspi";
158 };
f6eea82a
SS
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 };
5f45cec4
SS
169};
170
9a3b0ade
GU
171&rwdt {
172 timeout-sec = <60>;
173 status = "okay";
174};
175
5f45cec4
SS
176&scif0 {
177 pinctrl-0 = <&scif0_pins>;
178 pinctrl-names = "default";
179
180 status = "okay";
181};
4ea71e6d
SS
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};
0c157ad2
SS
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};
e678114f
SS
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};
f6eea82a
SS
243
244&i2c4 {
245 status = "okay";
246 clock-frequency = <400000>;
247
1d26a521
KB
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 */
f6eea82a
SS
253 hdmi@3d {
254 compatible = "adi,adv7513";
1d26a521
KB
255 reg = <0x3d>, <0x2d>, <0x4d>, <0x5d>;
256 reg-names = "main", "cec", "edid", "packet";
f6eea82a
SS
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";
1d26a521
KB
286 reg = <0x39>, <0x29>, <0x49>, <0x59>;
287 reg-names = "main", "cec", "edid", "packet";
f6eea82a
SS
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
762dbc44 320 clocks = <&cpg CPG_MOD 724>, <&cpg CPG_MOD 723>, <&osc2_clk>;
f6eea82a
SS
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};