blob: d960c2767f61bf0b8ef2da2ce44bc73e9ad766eb [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 {
Magnus Damm07d2bf92019-05-18 19:03:57 +090024 bootargs = "earlyprintk ignore_loglevel root=/dev/nfs ip=on rw";
Geert Uytterhoeven1403e382016-06-14 16:15:20 +020025 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>;
Geert Uytterhoeven8a481af2019-12-13 17:41:08 +010063 states = <3300000 0>, <1800000 1>;
Magnus Damm25aa7ba2014-08-28 12:34:51 +090064
65 enable-active-high;
66 };
67
Geert Uytterhoevenc9c3b7c2016-05-20 09:10:02 +020068 reg_5p0v: regulator-5p0v {
Magnus Damm25aa7ba2014-08-28 12:34:51 +090069 compatible = "regulator-fixed";
70 regulator-name = "fixed-5.0V";
71 regulator-min-microvolt = <5000000>;
72 regulator-max-microvolt = <5000000>;
73 regulator-always-on;
74 regulator-boot-on;
75 };
76
Simon Horman04a56562014-11-12 17:59:34 +090077 keyboard {
Magnus Damm25aa7ba2014-08-28 12:34:51 +090078 compatible = "gpio-keys";
79
80 power-key {
81 gpios = <&pfc 99 GPIO_ACTIVE_LOW>;
82 linux,code = <KEY_POWER>;
83 label = "SW3";
Sudeep Holla0cc16882015-10-21 11:10:11 +010084 wakeup-source;
Magnus Damm25aa7ba2014-08-28 12:34:51 +090085 };
86
87 back-key {
88 gpios = <&pfc 100 GPIO_ACTIVE_LOW>;
89 linux,code = <KEY_BACK>;
90 label = "SW4";
91 };
92
93 menu-key {
94 gpios = <&pfc 97 GPIO_ACTIVE_LOW>;
95 linux,code = <KEY_MENU>;
96 label = "SW5";
97 };
98
99 home-key {
100 gpios = <&pfc 98 GPIO_ACTIVE_LOW>;
101 linux,code = <KEY_HOME>;
102 label = "SW6";
103 };
104 };
105
106 leds {
107 compatible = "gpio-leds";
108 led3 {
109 gpios = <&pfc 102 GPIO_ACTIVE_HIGH>;
110 label = "LED3";
111 };
112 led4 {
113 gpios = <&pfc 111 GPIO_ACTIVE_HIGH>;
114 label = "LED4";
115 };
116 led5 {
117 gpios = <&pfc 110 GPIO_ACTIVE_HIGH>;
118 label = "LED5";
119 };
120 led6 {
121 gpios = <&pfc 177 GPIO_ACTIVE_HIGH>;
122 label = "LED6";
123 };
124 };
125
Geert Uytterhoevenc9c3b7c2016-05-20 09:10:02 +0200126 i2c2: i2c-2 {
Magnus Damm25aa7ba2014-08-28 12:34:51 +0900127 #address-cells = <1>;
128 #size-cells = <0>;
129 compatible = "i2c-gpio";
Geert Uytterhoeven4f1cfdc2017-11-30 13:57:23 +0100130 sda-gpios = <&pfc 208 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
131 scl-gpios = <&pfc 91 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
Magnus Damm25aa7ba2014-08-28 12:34:51 +0900132 i2c-gpio,delay-us = <5>;
133 };
134
135 backlight {
136 compatible = "pwm-backlight";
137 pwms = <&tpu 2 33333 PWM_POLARITY_INVERTED>;
138 brightness-levels = <0 1 2 4 8 16 32 64 128 255>;
139 default-brightness-level = <9>;
140 pinctrl-0 = <&backlight_pins>;
141 pinctrl-names = "default";
142 power-supply = <&reg_5p0v>;
143 enable-gpios = <&pfc 61 GPIO_ACTIVE_HIGH>;
144 };
145
146 sound {
147 compatible = "simple-audio-card";
148
149 simple-audio-card,format = "i2s";
150
151 simple-audio-card,cpu {
152 sound-dai = <&sh_fsi2 0>;
153 bitclock-inversion;
154 };
155
156 simple-audio-card,codec {
157 sound-dai = <&wm8978>;
158 bitclock-master;
159 frame-master;
160 system-clock-frequency = <12288000>;
161 };
162 };
163};
164
165&ether {
166 pinctrl-0 = <&ether_pins>;
167 pinctrl-names = "default";
168
169 phy-handle = <&phy0>;
Geert Uytterhoeven16d3b882014-12-09 12:25:00 +0100170 status = "okay";
Magnus Damm25aa7ba2014-08-28 12:34:51 +0900171
172 phy0: ethernet-phy@0 {
173 reg = <0>;
174 };
175};
176
177&extal1_clk {
Geert Uytterhoevenc61f30a2015-12-18 11:51:36 +0100178 clock-frequency = <24000000>;
Magnus Damm25aa7ba2014-08-28 12:34:51 +0900179};
180&extal2_clk {
181 clock-frequency = <48000000>;
182};
183&fsibck_clk {
184 clock-frequency = <12288000>;
185};
186&cpg_clocks {
187 renesas,mode = <0x05>; /* MD_CK0 | MD_CK2 */
188};
189
190&cmt1 {
Geert Uytterhoeven16d3b882014-12-09 12:25:00 +0100191 status = "okay";
Magnus Damm25aa7ba2014-08-28 12:34:51 +0900192};
193
194&i2c0 {
195 status = "okay";
196 touchscreen@55 {
197 compatible = "sitronix,st1232";
198 reg = <0x55>;
199 interrupt-parent = <&irqpin1>;
200 interrupts = <2 IRQ_TYPE_LEVEL_LOW>;
201 pinctrl-0 = <&st1232_pins>;
202 pinctrl-names = "default";
203 gpios = <&pfc 166 GPIO_ACTIVE_LOW>;
204 };
205
Geert Uytterhoeven92d24342015-04-27 14:55:32 +0200206 wm8978: codec@1a {
Magnus Damm25aa7ba2014-08-28 12:34:51 +0900207 #sound-dai-cells = <0>;
208 compatible = "wlf,wm8978";
209 reg = <0x1a>;
210 };
211};
212
213&i2c2 {
214 status = "okay";
215 rtc@30 {
216 compatible = "sii,s35390a";
217 reg = <0x30>;
218 };
219};
220
221&pfc {
Geert Uytterhoevenffd2f9a2015-06-17 10:38:56 +0200222 pinctrl-0 = <&lcd0_pins>;
223 pinctrl-names = "default";
224
Magnus Damm25aa7ba2014-08-28 12:34:51 +0900225 ether_pins: ether {
Simon Horman1ba1e262016-03-18 07:53:17 +0900226 groups = "gether_mii", "gether_int";
227 function = "gether";
Magnus Damm25aa7ba2014-08-28 12:34:51 +0900228 };
229
Geert Uytterhoeven94667b12016-06-10 15:00:49 +0200230 scifa1_pins: scifa1 {
Simon Horman1ba1e262016-03-18 07:53:17 +0900231 groups = "scifa1_data";
232 function = "scifa1";
Magnus Damm25aa7ba2014-08-28 12:34:51 +0900233 };
234
235 st1232_pins: touchscreen {
Simon Horman1ba1e262016-03-18 07:53:17 +0900236 groups = "intc_irq10";
237 function = "intc";
Magnus Damm25aa7ba2014-08-28 12:34:51 +0900238 };
239
240 backlight_pins: backlight {
Simon Horman1ba1e262016-03-18 07:53:17 +0900241 groups = "tpu0_to2_1";
242 function = "tpu0";
Magnus Damm25aa7ba2014-08-28 12:34:51 +0900243 };
244
245 mmc0_pins: mmc0 {
Simon Horman1ba1e262016-03-18 07:53:17 +0900246 groups = "mmc0_data8_1", "mmc0_ctrl_1";
247 function = "mmc0";
Magnus Damm25aa7ba2014-08-28 12:34:51 +0900248 };
249
250 sdhi0_pins: sd0 {
Simon Horman1ba1e262016-03-18 07:53:17 +0900251 groups = "sdhi0_data4", "sdhi0_ctrl", "sdhi0_wp";
252 function = "sdhi0";
Magnus Damm25aa7ba2014-08-28 12:34:51 +0900253 };
254
255 fsia_pins: sounda {
Simon Horman1ba1e262016-03-18 07:53:17 +0900256 groups = "fsia_sclk_in", "fsia_mclk_out",
257 "fsia_data_in_1", "fsia_data_out_0";
258 function = "fsia";
Magnus Damm25aa7ba2014-08-28 12:34:51 +0900259 };
Geert Uytterhoevenffd2f9a2015-06-17 10:38:56 +0200260
261 lcd0_pins: lcd0 {
Simon Horman1ba1e262016-03-18 07:53:17 +0900262 groups = "lcd0_data24_0", "lcd0_lclk_1", "lcd0_sync";
263 function = "lcd0";
Geert Uytterhoeven13132b32017-06-01 12:27:00 +0200264 };
Geert Uytterhoevenffd2f9a2015-06-17 10:38:56 +0200265
Geert Uytterhoeven13132b32017-06-01 12:27:00 +0200266 lcd0_mux {
Geert Uytterhoevenffd2f9a2015-06-17 10:38:56 +0200267 /* DBGMD/LCDC0/FSIA MUX */
268 gpio-hog;
269 gpios = <176 0>;
270 output-high;
271 };
Magnus Damm25aa7ba2014-08-28 12:34:51 +0900272};
273
274&tpu {
275 status = "okay";
276};
277
278&mmcif0 {
279 pinctrl-0 = <&mmc0_pins>;
280 pinctrl-names = "default";
281
282 vmmc-supply = <&reg_3p3v>;
283 bus-width = <8>;
284 non-removable;
285 status = "okay";
286};
287
288&scifa1 {
289 pinctrl-0 = <&scifa1_pins>;
290 pinctrl-names = "default";
291
292 status = "okay";
293};
294
295&sdhi0 {
296 pinctrl-0 = <&sdhi0_pins>;
297 pinctrl-names = "default";
298
299 vmmc-supply = <&vcc_sdhi0>;
300 vqmmc-supply = <&vccq_sdhi0>;
301 bus-width = <4>;
302 cd-gpios = <&pfc 167 GPIO_ACTIVE_LOW>;
303 status = "okay";
304};
305
306&sh_fsi2 {
307 pinctrl-0 = <&fsia_pins>;
308 pinctrl-names = "default";
309
310 status = "okay";
Magnus Damme6bf7052012-05-14 19:54:41 +0900311};
Geert Uytterhoevendf211022014-10-22 11:38:29 +0200312
313&tmu0 {
314 status = "okay";
315};