blob: 854c13e3e6c0d072a23d00b88d387e679b2ffe09 [file] [log] [blame]
Magnus Damm3cc828f2013-03-29 17:49:37 +09001/*
2 * Device Tree Source for the Lager board
3 *
Sergei Shtylyovda4ea952014-02-20 02:22:31 +03004 * Copyright (C) 2013-2014 Renesas Solutions Corp.
5 * Copyright (C) 2014 Cogent Embedded, Inc.
Magnus Damm3cc828f2013-03-29 17:49:37 +09006 *
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/;
Laurent Pinchart31c46cb2013-11-09 13:23:53 +010013#include "r8a7790.dtsi"
Laurent Pinchart39fa5112013-12-11 15:13:47 +010014#include <dt-bindings/gpio/gpio.h>
Magnus Dammf7dcd382014-03-18 21:57:48 +090015#include <dt-bindings/input/input.h>
Magnus Damm3cc828f2013-03-29 17:49:37 +090016
17/ {
18 model = "Lager";
19 compatible = "renesas,lager", "renesas,r8a7790";
20
Laurent Pinchart4e9c4872014-04-30 02:31:45 +020021 aliases {
22 serial6 = &scif0;
23 serial7 = &scif1;
24 };
25
Magnus Damm3cc828f2013-03-29 17:49:37 +090026 chosen {
Simon Hormandcbbbaf2013-08-06 16:50:11 +090027 bootargs = "console=ttySC6,115200 ignore_loglevel rw root=/dev/nfs ip=dhcp";
Geert Uytterhoevencf855812014-10-03 17:11:40 +020028 stdout-path = &scifa0;
Magnus Damm3cc828f2013-03-29 17:49:37 +090029 };
30
31 memory@40000000 {
32 device_type = "memory";
Magnus Damm7b16c612014-06-06 15:40:26 +090033 reg = <0 0x40000000 0 0x40000000>;
Magnus Damm3cc828f2013-03-29 17:49:37 +090034 };
35
Simon Horman126f9982014-09-03 09:49:01 +090036 memory@140000000 {
Magnus Damm62bc32a2013-10-31 12:21:41 +090037 device_type = "memory";
Magnus Damm7b16c612014-06-06 15:40:26 +090038 reg = <1 0x40000000 0 0xc0000000>;
Magnus Damm62bc32a2013-10-31 12:21:41 +090039 };
40
Magnus Damm3cc828f2013-03-29 17:49:37 +090041 lbsc {
42 #address-cells = <1>;
43 #size-cells = <1>;
44 };
Laurent Pinchart39fa5112013-12-11 15:13:47 +010045
Magnus Dammf7dcd382014-03-18 21:57:48 +090046 gpio_keys {
47 compatible = "gpio-keys";
48
49 button@1 {
50 linux,code = <KEY_1>;
51 label = "SW2-1";
52 gpio-key,wakeup;
53 debounce-interval = <20>;
54 gpios = <&gpio1 14 GPIO_ACTIVE_LOW>;
55 };
56 button@2 {
57 linux,code = <KEY_2>;
58 label = "SW2-2";
59 gpio-key,wakeup;
60 debounce-interval = <20>;
61 gpios = <&gpio1 24 GPIO_ACTIVE_LOW>;
62 };
63 button@3 {
64 linux,code = <KEY_3>;
65 label = "SW2-3";
66 gpio-key,wakeup;
67 debounce-interval = <20>;
68 gpios = <&gpio1 26 GPIO_ACTIVE_LOW>;
69 };
70 button@4 {
71 linux,code = <KEY_4>;
72 label = "SW2-4";
73 gpio-key,wakeup;
74 debounce-interval = <20>;
75 gpios = <&gpio1 28 GPIO_ACTIVE_LOW>;
76 };
77 };
78
Laurent Pinchart39fa5112013-12-11 15:13:47 +010079 leds {
80 compatible = "gpio-leds";
81 led6 {
82 gpios = <&gpio4 22 GPIO_ACTIVE_HIGH>;
83 };
84 led7 {
85 gpios = <&gpio4 23 GPIO_ACTIVE_HIGH>;
86 };
87 led8 {
88 gpios = <&gpio5 17 GPIO_ACTIVE_HIGH>;
89 };
90 };
91
92 fixedregulator3v3: fixedregulator@0 {
93 compatible = "regulator-fixed";
94 regulator-name = "fixed-3.3V";
95 regulator-min-microvolt = <3300000>;
96 regulator-max-microvolt = <3300000>;
97 regulator-boot-on;
98 regulator-always-on;
99 };
Kuninori Morimotoc6119942014-02-12 21:43:19 -0800100
101 vcc_sdhi0: regulator@1 {
102 compatible = "regulator-fixed";
103
104 regulator-name = "SDHI0 Vcc";
105 regulator-min-microvolt = <3300000>;
106 regulator-max-microvolt = <3300000>;
107
108 gpio = <&gpio5 24 GPIO_ACTIVE_HIGH>;
109 enable-active-high;
110 };
111
112 vccq_sdhi0: regulator@2 {
113 compatible = "regulator-gpio";
114
115 regulator-name = "SDHI0 VccQ";
116 regulator-min-microvolt = <1800000>;
117 regulator-max-microvolt = <3300000>;
118
119 gpios = <&gpio5 29 GPIO_ACTIVE_HIGH>;
120 gpios-states = <1>;
121 states = <3300000 1
122 1800000 0>;
123 };
124
125 vcc_sdhi2: regulator@3 {
126 compatible = "regulator-fixed";
127
128 regulator-name = "SDHI2 Vcc";
129 regulator-min-microvolt = <3300000>;
130 regulator-max-microvolt = <3300000>;
131
132 gpio = <&gpio5 25 GPIO_ACTIVE_HIGH>;
133 enable-active-high;
134 };
135
136 vccq_sdhi2: regulator@4 {
137 compatible = "regulator-gpio";
138
139 regulator-name = "SDHI2 VccQ";
140 regulator-min-microvolt = <1800000>;
141 regulator-max-microvolt = <3300000>;
142
143 gpios = <&gpio5 30 GPIO_ACTIVE_HIGH>;
144 gpios-states = <1>;
145 states = <3300000 1
146 1800000 0>;
147 };
Laurent Pinchart39fa5112013-12-11 15:13:47 +0100148};
149
Laurent Pinchart62e43052013-12-11 15:13:49 +0100150&extal_clk {
151 clock-frequency = <20000000>;
152};
153
Laurent Pinchart39fa5112013-12-11 15:13:47 +0100154&pfc {
Laurent Pinchart4e9c4872014-04-30 02:31:45 +0200155 pinctrl-0 = <&du_pins>;
Laurent Pinchart39fa5112013-12-11 15:13:47 +0100156 pinctrl-names = "default";
157
Laurent Pinchart3024f502014-02-16 22:31:59 +0100158 du_pins: du {
159 renesas,groups = "du_rgb666", "du_sync_1", "du_clk_out_0";
160 renesas,function = "du";
161 };
162
Laurent Pinchart39fa5112013-12-11 15:13:47 +0100163 scif0_pins: serial0 {
164 renesas,groups = "scif0_data";
165 renesas,function = "scif0";
166 };
167
Sergei Shtylyovda4ea952014-02-20 02:22:31 +0300168 ether_pins: ether {
169 renesas,groups = "eth_link", "eth_mdio", "eth_rmii";
170 renesas,function = "eth";
171 };
172
173 phy1_pins: phy1 {
174 renesas,groups = "intc_irq0";
175 renesas,function = "intc";
176 };
177
Laurent Pinchart39fa5112013-12-11 15:13:47 +0100178 scif1_pins: serial1 {
179 renesas,groups = "scif1_data";
180 renesas,function = "scif1";
181 };
182
Kuninori Morimotoc6119942014-02-12 21:43:19 -0800183 sdhi0_pins: sd0 {
Rob Taylorb08eed02014-04-07 20:16:52 +0100184 renesas,groups = "sdhi0_data4", "sdhi0_ctrl";
Kuninori Morimotoc6119942014-02-12 21:43:19 -0800185 renesas,function = "sdhi0";
186 };
187
188 sdhi2_pins: sd2 {
Rob Taylorb08eed02014-04-07 20:16:52 +0100189 renesas,groups = "sdhi2_data4", "sdhi2_ctrl";
Kuninori Morimotoc6119942014-02-12 21:43:19 -0800190 renesas,function = "sdhi2";
191 };
192
Laurent Pinchart39fa5112013-12-11 15:13:47 +0100193 mmc1_pins: mmc1 {
194 renesas,groups = "mmc1_data8", "mmc1_ctrl";
195 renesas,function = "mmc1";
196 };
Geert Uytterhoeven9fe7c4f2014-02-10 11:47:30 +0100197
Geert Uytterhoevenfad6d452014-02-25 11:30:13 +0100198 qspi_pins: spi0 {
Geert Uytterhoeven9fe7c4f2014-02-10 11:47:30 +0100199 renesas,groups = "qspi_ctrl", "qspi_data4";
200 renesas,function = "qspi";
201 };
Geert Uytterhoevenb0403b92014-02-25 11:30:17 +0100202
203 msiof1_pins: spi2 {
204 renesas,groups = "msiof1_clk", "msiof1_sync", "msiof1_rx",
205 "msiof1_tx";
206 renesas,function = "msiof1";
207 };
Benoit Cousson05f72e02014-06-03 21:02:12 +0900208
Wolfram Sangcb9a2b12014-07-10 12:50:56 +0200209 iic1_pins: iic1 {
210 renesas,groups = "iic1";
211 renesas,function = "iic1";
Simon Hormand90bf602014-06-06 16:11:00 +0900212 };
213
Wolfram Sangcb9a2b12014-07-10 12:50:56 +0200214 iic2_pins: iic2 {
215 renesas,groups = "iic2";
216 renesas,function = "iic2";
Simon Hormand90bf602014-06-06 16:11:00 +0900217 };
218
Khiem Nguyen5179ffd2014-07-04 09:19:51 +0900219 iic3_pins: iic3 {
220 renesas,groups = "iic3";
221 renesas,function = "iic3";
Benoit Cousson05f72e02014-06-03 21:02:12 +0900222 };
Ben Dooksd8584662014-06-24 22:02:21 +0400223
224 usb0_pins: usb0 {
225 renesas,groups = "usb0";
226 renesas,function = "usb0";
227 };
228
229 usb1_pins: usb1 {
230 renesas,groups = "usb1";
231 renesas,function = "usb1";
232 };
233
234 usb2_pins: usb2 {
235 renesas,groups = "usb2";
236 renesas,function = "usb2";
237 };
Ben Dooksd594c972014-08-13 00:18:26 +0400238
239 vin1_pins: vin {
240 renesas,groups = "vin1_data8", "vin1_clk";
241 renesas,function = "vin1";
242 };
Laurent Pinchart39fa5112013-12-11 15:13:47 +0100243};
244
Sergei Shtylyovda4ea952014-02-20 02:22:31 +0300245&ether {
246 pinctrl-0 = <&ether_pins &phy1_pins>;
247 pinctrl-names = "default";
248
249 phy-handle = <&phy1>;
250 renesas,ether-link-active-low;
251 status = "ok";
252
253 phy1: ethernet-phy@1 {
254 reg = <1>;
255 interrupt-parent = <&irqc0>;
256 interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
Simon Horman1c47a6a2014-04-08 09:21:35 +0900257 micrel,led-mode = <1>;
Sergei Shtylyovda4ea952014-02-20 02:22:31 +0300258 };
259};
260
Laurent Pinchart247fd5e2014-07-09 15:12:41 +0200261&cmt0 {
262 status = "ok";
263};
264
Laurent Pinchart39fa5112013-12-11 15:13:47 +0100265&mmcif1 {
266 pinctrl-0 = <&mmc1_pins>;
267 pinctrl-names = "default";
268
269 vmmc-supply = <&fixedregulator3v3>;
270 bus-width = <8>;
271 non-removable;
272 status = "okay";
Magnus Damm3cc828f2013-03-29 17:49:37 +0900273};
Valentine Barshakc6181b92014-01-14 21:05:31 +0400274
275&sata1 {
276 status = "okay";
277};
Geert Uytterhoeven9fe7c4f2014-02-10 11:47:30 +0100278
Geert Uytterhoevenfad6d452014-02-25 11:30:13 +0100279&qspi {
Geert Uytterhoeven9fe7c4f2014-02-10 11:47:30 +0100280 pinctrl-0 = <&qspi_pins>;
281 pinctrl-names = "default";
282
283 status = "okay";
284
285 flash: flash@0 {
286 #address-cells = <1>;
287 #size-cells = <1>;
288 compatible = "spansion,s25fl512s";
289 reg = <0>;
290 spi-max-frequency = <30000000>;
Geert Uytterhoeven9909d2c2014-04-14 19:36:00 +0200291 spi-tx-bus-width = <4>;
292 spi-rx-bus-width = <4>;
Geert Uytterhoeven9fe7c4f2014-02-10 11:47:30 +0100293 m25p,fast-read;
294
295 partition@0 {
296 label = "loader";
297 reg = <0x00000000 0x00040000>;
298 read-only;
299 };
300 partition@40000 {
301 label = "user";
302 reg = <0x00040000 0x00400000>;
303 read-only;
304 };
305 partition@440000 {
306 label = "flash";
307 reg = <0x00440000 0x03bc0000>;
308 };
309 };
310};
Kuninori Morimotoc6119942014-02-12 21:43:19 -0800311
Laurent Pinchart4e9c4872014-04-30 02:31:45 +0200312&scif0 {
313 pinctrl-0 = <&scif0_pins>;
314 pinctrl-names = "default";
315
316 status = "okay";
317};
318
319&scif1 {
320 pinctrl-0 = <&scif1_pins>;
321 pinctrl-names = "default";
322
323 status = "okay";
324};
325
Geert Uytterhoevenb0403b92014-02-25 11:30:17 +0100326&msiof1 {
327 pinctrl-0 = <&msiof1_pins>;
328 pinctrl-names = "default";
329
330 status = "okay";
331
332 pmic: pmic@0 {
333 compatible = "renesas,r2a11302ft";
334 reg = <0>;
335 spi-max-frequency = <6000000>;
336 spi-cpol;
337 spi-cpha;
338 };
Geert Uytterhoevenb0403b92014-02-25 11:30:17 +0100339};
340
Kuninori Morimotoc6119942014-02-12 21:43:19 -0800341&sdhi0 {
342 pinctrl-0 = <&sdhi0_pins>;
343 pinctrl-names = "default";
344
345 vmmc-supply = <&vcc_sdhi0>;
346 vqmmc-supply = <&vccq_sdhi0>;
347 cd-gpios = <&gpio3 6 GPIO_ACTIVE_LOW>;
348 status = "okay";
349};
350
351&sdhi2 {
352 pinctrl-0 = <&sdhi2_pins>;
353 pinctrl-names = "default";
354
355 vmmc-supply = <&vcc_sdhi2>;
356 vqmmc-supply = <&vccq_sdhi2>;
357 cd-gpios = <&gpio3 22 GPIO_ACTIVE_LOW>;
358 status = "okay";
359};
Benoit Cousson05f72e02014-06-03 21:02:12 +0900360
Benoit Coussonb989e132014-06-03 21:02:24 +0900361&cpu0 {
362 cpu0-supply = <&vdd_dvfs>;
363};
Ben Dookse489c2a2014-02-12 17:04:33 +0000364
Wolfram Sangcb9a2b12014-07-10 12:50:56 +0200365&iic0 {
Ben Dookse489c2a2014-02-12 17:04:33 +0000366 status = "ok";
367};
368
Wolfram Sangcb9a2b12014-07-10 12:50:56 +0200369&iic1 {
Ben Dookse489c2a2014-02-12 17:04:33 +0000370 status = "ok";
Wolfram Sangcb9a2b12014-07-10 12:50:56 +0200371 pinctrl-0 = <&iic1_pins>;
Ben Dookse1a2c4e2014-02-12 17:04:34 +0000372 pinctrl-names = "default";
Ben Dookse489c2a2014-02-12 17:04:33 +0000373};
374
Wolfram Sangcb9a2b12014-07-10 12:50:56 +0200375&iic2 {
Ben Dookse489c2a2014-02-12 17:04:33 +0000376 status = "ok";
Wolfram Sangcb9a2b12014-07-10 12:50:56 +0200377 pinctrl-0 = <&iic2_pins>;
Ben Dookse1a2c4e2014-02-12 17:04:34 +0000378 pinctrl-names = "default";
Ben Dooksd594c972014-08-13 00:18:26 +0400379
380 composite-in@20 {
381 compatible = "adi,adv7180";
382 reg = <0x20>;
383 remote = <&vin1>;
384
385 port {
386 adv7180: endpoint {
387 bus-width = <8>;
388 remote-endpoint = <&vin1ep0>;
389 };
390 };
391 };
Ben Dookse489c2a2014-02-12 17:04:33 +0000392};
393
Khiem Nguyen5179ffd2014-07-04 09:19:51 +0900394&iic3 {
Simon Hormanaca4ec42014-06-09 11:09:44 +0900395 pinctrl-names = "default";
Khiem Nguyen5179ffd2014-07-04 09:19:51 +0900396 pinctrl-0 = <&iic3_pins>;
Simon Hormanaca4ec42014-06-09 11:09:44 +0900397 status = "okay";
398
399 vdd_dvfs: regulator@68 {
Steve Twissbd597f42014-08-22 15:26:55 +0100400 compatible = "dlg,da9210";
Simon Hormanaca4ec42014-06-09 11:09:44 +0900401 reg = <0x68>;
402
403 regulator-min-microvolt = <1000000>;
404 regulator-max-microvolt = <1000000>;
405 regulator-boot-on;
406 regulator-always-on;
407 };
Ben Dookse489c2a2014-02-12 17:04:33 +0000408};
Ben Dooksd8584662014-06-24 22:02:21 +0400409
410&pci0 {
411 status = "okay";
412 pinctrl-0 = <&usb0_pins>;
413 pinctrl-names = "default";
414};
415
416&pci1 {
417 status = "okay";
418 pinctrl-0 = <&usb1_pins>;
419 pinctrl-names = "default";
420};
421
422&pci2 {
423 status = "okay";
424 pinctrl-0 = <&usb2_pins>;
425 pinctrl-names = "default";
426};
Ben Dooksd594c972014-08-13 00:18:26 +0400427
428/* composite video input */
429&vin1 {
430 pinctrl-0 = <&vin1_pins>;
431 pinctrl-names = "default";
432
433 status = "ok";
434
435 port {
436 #address-cells = <1>;
437 #size-cells = <0>;
438
439 vin1ep0: endpoint {
440 remote-endpoint = <&adv7180>;
441 bus-width = <8>;
442 };
443 };
444};