blob: 32757caa258410125a9d10e43e098ec2cd9efa92 [file] [log] [blame]
Wolfram Sangcdbfaf62018-06-11 23:49:36 +09001// SPDX-License-Identifier: GPL-2.0
Magnus Damme6bf7052012-05-14 19:54:41 +09002/*
3 * Device Tree Source for the armadillo 800 eva board
4 *
5 * Copyright (C) 2012 Renesas Solutions Corp.
Magnus Damme6bf7052012-05-14 19:54:41 +09006 */
7
8/dts-v1/;
Laurent Pinchart31c46cb2013-11-09 13:23:53 +01009#include "r8a7740.dtsi"
Magnus Damm25aa7ba2014-08-28 12:34:51 +090010#include <dt-bindings/gpio/gpio.h>
11#include <dt-bindings/input/input.h>
12#include <dt-bindings/interrupt-controller/irq.h>
13#include <dt-bindings/pwm/pwm.h>
Magnus Damme6bf7052012-05-14 19:54:41 +090014
15/ {
16 model = "armadillo 800 eva";
Magnus Damm25aa7ba2014-08-28 12:34:51 +090017 compatible = "renesas,armadillo800eva", "renesas,r8a7740";
18
19 aliases {
Geert Uytterhoeven1403e382016-06-14 16:15:20 +020020 serial0 = &scifa1;
Magnus Damm25aa7ba2014-08-28 12:34:51 +090021 };
Magnus Damme6bf7052012-05-14 19:54:41 +090022
Simon Hormanf90755d2012-12-15 12:02:11 +090023 chosen {
Geert Uytterhoeven1403e382016-06-14 16:15:20 +020024 bootargs = "earlyprintk ignore_loglevel root=/dev/nfs ip=dhcp rw";
25 stdout-path = "serial0:115200n8";
Simon Hormanf90755d2012-12-15 12:02:11 +090026 };
27
Geert Uytterhoevenc9c3b7c2016-05-20 09:10:02 +020028 memory@40000000 {
Magnus Damme6bf7052012-05-14 19:54:41 +090029 device_type = "memory";
30 reg = <0x40000000 0x20000000>;
31 };
Magnus Damm25aa7ba2014-08-28 12:34:51 +090032
Geert Uytterhoevenc9c3b7c2016-05-20 09:10:02 +020033 reg_3p3v: regulator-3p3v {
Magnus Damm25aa7ba2014-08-28 12:34:51 +090034 compatible = "regulator-fixed";
35 regulator-name = "fixed-3.3V";
36 regulator-min-microvolt = <3300000>;
37 regulator-max-microvolt = <3300000>;
38 regulator-always-on;
39 regulator-boot-on;
40 };
41
Geert Uytterhoevenc9c3b7c2016-05-20 09:10:02 +020042 vcc_sdhi0: regulator-vcc-sdhi0 {
Magnus Damm25aa7ba2014-08-28 12:34:51 +090043 compatible = "regulator-fixed";
44
45 regulator-name = "SDHI0 Vcc";
46 regulator-min-microvolt = <3300000>;
47 regulator-max-microvolt = <3300000>;
48
49 gpio = <&pfc 75 GPIO_ACTIVE_HIGH>;
50 enable-active-high;
51 };
52
Geert Uytterhoevenc9c3b7c2016-05-20 09:10:02 +020053 vccq_sdhi0: regulator-vccq-sdhi0 {
Magnus Damm25aa7ba2014-08-28 12:34:51 +090054 compatible = "regulator-gpio";
55
56 regulator-name = "SDHI0 VccQ";
57 regulator-min-microvolt = <1800000>;
58 regulator-max-microvolt = <3300000>;
59 vin-supply = <&vcc_sdhi0>;
60
61 enable-gpio = <&pfc 74 GPIO_ACTIVE_HIGH>;
62 gpios = <&pfc 17 GPIO_ACTIVE_HIGH>;
63 states = <3300000 0
64 1800000 1>;
65
66 enable-active-high;
67 };
68
Geert Uytterhoevenc9c3b7c2016-05-20 09:10:02 +020069 reg_5p0v: regulator-5p0v {
Magnus Damm25aa7ba2014-08-28 12:34:51 +090070 compatible = "regulator-fixed";
71 regulator-name = "fixed-5.0V";
72 regulator-min-microvolt = <5000000>;
73 regulator-max-microvolt = <5000000>;
74 regulator-always-on;
75 regulator-boot-on;
76 };
77
Simon Horman04a56562014-11-12 17:59:34 +090078 keyboard {
Magnus Damm25aa7ba2014-08-28 12:34:51 +090079 compatible = "gpio-keys";
80
81 power-key {
82 gpios = <&pfc 99 GPIO_ACTIVE_LOW>;
83 linux,code = <KEY_POWER>;
84 label = "SW3";
Sudeep Holla0cc16882015-10-21 11:10:11 +010085 wakeup-source;
Magnus Damm25aa7ba2014-08-28 12:34:51 +090086 };
87
88 back-key {
89 gpios = <&pfc 100 GPIO_ACTIVE_LOW>;
90 linux,code = <KEY_BACK>;
91 label = "SW4";
92 };
93
94 menu-key {
95 gpios = <&pfc 97 GPIO_ACTIVE_LOW>;
96 linux,code = <KEY_MENU>;
97 label = "SW5";
98 };
99
100 home-key {
101 gpios = <&pfc 98 GPIO_ACTIVE_LOW>;
102 linux,code = <KEY_HOME>;
103 label = "SW6";
104 };
105 };
106
107 leds {
108 compatible = "gpio-leds";
109 led3 {
110 gpios = <&pfc 102 GPIO_ACTIVE_HIGH>;
111 label = "LED3";
112 };
113 led4 {
114 gpios = <&pfc 111 GPIO_ACTIVE_HIGH>;
115 label = "LED4";
116 };
117 led5 {
118 gpios = <&pfc 110 GPIO_ACTIVE_HIGH>;
119 label = "LED5";
120 };
121 led6 {
122 gpios = <&pfc 177 GPIO_ACTIVE_HIGH>;
123 label = "LED6";
124 };
125 };
126
Geert Uytterhoevenc9c3b7c2016-05-20 09:10:02 +0200127 i2c2: i2c-2 {
Magnus Damm25aa7ba2014-08-28 12:34:51 +0900128 #address-cells = <1>;
129 #size-cells = <0>;
130 compatible = "i2c-gpio";
Geert Uytterhoeven4f1cfdc2017-11-30 13:57:23 +0100131 sda-gpios = <&pfc 208 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
132 scl-gpios = <&pfc 91 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
Magnus Damm25aa7ba2014-08-28 12:34:51 +0900133 i2c-gpio,delay-us = <5>;
134 };
135
136 backlight {
137 compatible = "pwm-backlight";
138 pwms = <&tpu 2 33333 PWM_POLARITY_INVERTED>;
139 brightness-levels = <0 1 2 4 8 16 32 64 128 255>;
140 default-brightness-level = <9>;
141 pinctrl-0 = <&backlight_pins>;
142 pinctrl-names = "default";
143 power-supply = <&reg_5p0v>;
144 enable-gpios = <&pfc 61 GPIO_ACTIVE_HIGH>;
145 };
146
147 sound {
148 compatible = "simple-audio-card";
149
150 simple-audio-card,format = "i2s";
151
152 simple-audio-card,cpu {
153 sound-dai = <&sh_fsi2 0>;
154 bitclock-inversion;
155 };
156
157 simple-audio-card,codec {
158 sound-dai = <&wm8978>;
159 bitclock-master;
160 frame-master;
161 system-clock-frequency = <12288000>;
162 };
163 };
164};
165
166&ether {
167 pinctrl-0 = <&ether_pins>;
168 pinctrl-names = "default";
169
170 phy-handle = <&phy0>;
Geert Uytterhoeven16d3b882014-12-09 12:25:00 +0100171 status = "okay";
Magnus Damm25aa7ba2014-08-28 12:34:51 +0900172
173 phy0: ethernet-phy@0 {
174 reg = <0>;
175 };
176};
177
178&extal1_clk {
Geert Uytterhoevenc61f30a2015-12-18 11:51:36 +0100179 clock-frequency = <24000000>;
Magnus Damm25aa7ba2014-08-28 12:34:51 +0900180};
181&extal2_clk {
182 clock-frequency = <48000000>;
183};
184&fsibck_clk {
185 clock-frequency = <12288000>;
186};
187&cpg_clocks {
188 renesas,mode = <0x05>; /* MD_CK0 | MD_CK2 */
189};
190
191&cmt1 {
Geert Uytterhoeven16d3b882014-12-09 12:25:00 +0100192 status = "okay";
Magnus Damm25aa7ba2014-08-28 12:34:51 +0900193};
194
195&i2c0 {
196 status = "okay";
197 touchscreen@55 {
198 compatible = "sitronix,st1232";
199 reg = <0x55>;
200 interrupt-parent = <&irqpin1>;
201 interrupts = <2 IRQ_TYPE_LEVEL_LOW>;
202 pinctrl-0 = <&st1232_pins>;
203 pinctrl-names = "default";
204 gpios = <&pfc 166 GPIO_ACTIVE_LOW>;
205 };
206
Geert Uytterhoeven92d24342015-04-27 14:55:32 +0200207 wm8978: codec@1a {
Magnus Damm25aa7ba2014-08-28 12:34:51 +0900208 #sound-dai-cells = <0>;
209 compatible = "wlf,wm8978";
210 reg = <0x1a>;
211 };
212};
213
214&i2c2 {
215 status = "okay";
216 rtc@30 {
217 compatible = "sii,s35390a";
218 reg = <0x30>;
219 };
220};
221
222&pfc {
Geert Uytterhoevenffd2f9a2015-06-17 10:38:56 +0200223 pinctrl-0 = <&lcd0_pins>;
224 pinctrl-names = "default";
225
Magnus Damm25aa7ba2014-08-28 12:34:51 +0900226 ether_pins: ether {
Simon Horman1ba1e262016-03-18 07:53:17 +0900227 groups = "gether_mii", "gether_int";
228 function = "gether";
Magnus Damm25aa7ba2014-08-28 12:34:51 +0900229 };
230
Geert Uytterhoeven94667b12016-06-10 15:00:49 +0200231 scifa1_pins: scifa1 {
Simon Horman1ba1e262016-03-18 07:53:17 +0900232 groups = "scifa1_data";
233 function = "scifa1";
Magnus Damm25aa7ba2014-08-28 12:34:51 +0900234 };
235
236 st1232_pins: touchscreen {
Simon Horman1ba1e262016-03-18 07:53:17 +0900237 groups = "intc_irq10";
238 function = "intc";
Magnus Damm25aa7ba2014-08-28 12:34:51 +0900239 };
240
241 backlight_pins: backlight {
Simon Horman1ba1e262016-03-18 07:53:17 +0900242 groups = "tpu0_to2_1";
243 function = "tpu0";
Magnus Damm25aa7ba2014-08-28 12:34:51 +0900244 };
245
246 mmc0_pins: mmc0 {
Simon Horman1ba1e262016-03-18 07:53:17 +0900247 groups = "mmc0_data8_1", "mmc0_ctrl_1";
248 function = "mmc0";
Magnus Damm25aa7ba2014-08-28 12:34:51 +0900249 };
250
251 sdhi0_pins: sd0 {
Simon Horman1ba1e262016-03-18 07:53:17 +0900252 groups = "sdhi0_data4", "sdhi0_ctrl", "sdhi0_wp";
253 function = "sdhi0";
Magnus Damm25aa7ba2014-08-28 12:34:51 +0900254 };
255
256 fsia_pins: sounda {
Simon Horman1ba1e262016-03-18 07:53:17 +0900257 groups = "fsia_sclk_in", "fsia_mclk_out",
258 "fsia_data_in_1", "fsia_data_out_0";
259 function = "fsia";
Magnus Damm25aa7ba2014-08-28 12:34:51 +0900260 };
Geert Uytterhoevenffd2f9a2015-06-17 10:38:56 +0200261
262 lcd0_pins: lcd0 {
Simon Horman1ba1e262016-03-18 07:53:17 +0900263 groups = "lcd0_data24_0", "lcd0_lclk_1", "lcd0_sync";
264 function = "lcd0";
Geert Uytterhoeven13132b32017-06-01 12:27:00 +0200265 };
Geert Uytterhoevenffd2f9a2015-06-17 10:38:56 +0200266
Geert Uytterhoeven13132b32017-06-01 12:27:00 +0200267 lcd0_mux {
Geert Uytterhoevenffd2f9a2015-06-17 10:38:56 +0200268 /* DBGMD/LCDC0/FSIA MUX */
269 gpio-hog;
270 gpios = <176 0>;
271 output-high;
272 };
Magnus Damm25aa7ba2014-08-28 12:34:51 +0900273};
274
275&tpu {
276 status = "okay";
277};
278
279&mmcif0 {
280 pinctrl-0 = <&mmc0_pins>;
281 pinctrl-names = "default";
282
283 vmmc-supply = <&reg_3p3v>;
284 bus-width = <8>;
285 non-removable;
286 status = "okay";
287};
288
289&scifa1 {
290 pinctrl-0 = <&scifa1_pins>;
291 pinctrl-names = "default";
292
293 status = "okay";
294};
295
296&sdhi0 {
297 pinctrl-0 = <&sdhi0_pins>;
298 pinctrl-names = "default";
299
300 vmmc-supply = <&vcc_sdhi0>;
301 vqmmc-supply = <&vccq_sdhi0>;
302 bus-width = <4>;
303 cd-gpios = <&pfc 167 GPIO_ACTIVE_LOW>;
304 status = "okay";
305};
306
307&sh_fsi2 {
308 pinctrl-0 = <&fsia_pins>;
309 pinctrl-names = "default";
310
311 status = "okay";
Magnus Damme6bf7052012-05-14 19:54:41 +0900312};
Geert Uytterhoevendf211022014-10-22 11:38:29 +0200313
314&tmu0 {
315 status = "okay";
316};