1724ba675SRob Herring// SPDX-License-Identifier: GPL-2.0
2724ba675SRob Herring/*
3724ba675SRob Herring * Device Tree Source for the armadillo 800 eva board
4724ba675SRob Herring *
5724ba675SRob Herring * Copyright (C) 2012 Renesas Solutions Corp.
6724ba675SRob Herring */
7724ba675SRob Herring
8724ba675SRob Herring/dts-v1/;
9724ba675SRob Herring#include "r8a7740.dtsi"
10724ba675SRob Herring#include <dt-bindings/gpio/gpio.h>
11724ba675SRob Herring#include <dt-bindings/input/input.h>
12724ba675SRob Herring#include <dt-bindings/interrupt-controller/irq.h>
13724ba675SRob Herring#include <dt-bindings/pwm/pwm.h>
14724ba675SRob Herring
15724ba675SRob Herring/ {
16724ba675SRob Herring	model = "armadillo 800 eva";
17724ba675SRob Herring	compatible = "renesas,armadillo800eva", "renesas,r8a7740";
18724ba675SRob Herring
19724ba675SRob Herring	aliases {
20724ba675SRob Herring		serial0 = &scifa1;
21724ba675SRob Herring	};
22724ba675SRob Herring
23724ba675SRob Herring	chosen {
24724ba675SRob Herring		bootargs = "earlyprintk ignore_loglevel root=/dev/nfs ip=on rw";
25724ba675SRob Herring		stdout-path = "serial0:115200n8";
26724ba675SRob Herring	};
27724ba675SRob Herring
28724ba675SRob Herring	memory@40000000 {
29724ba675SRob Herring		device_type = "memory";
30724ba675SRob Herring		reg = <0x40000000 0x20000000>;
31724ba675SRob Herring	};
32724ba675SRob Herring
33724ba675SRob Herring	reg_3p3v: regulator-3p3v {
34724ba675SRob Herring		compatible = "regulator-fixed";
35724ba675SRob Herring		regulator-name = "fixed-3.3V";
36724ba675SRob Herring		regulator-min-microvolt = <3300000>;
37724ba675SRob Herring		regulator-max-microvolt = <3300000>;
38724ba675SRob Herring		regulator-always-on;
39724ba675SRob Herring		regulator-boot-on;
40724ba675SRob Herring	};
41724ba675SRob Herring
42724ba675SRob Herring	vcc_sdhi0: regulator-vcc-sdhi0 {
43724ba675SRob Herring		compatible = "regulator-fixed";
44724ba675SRob Herring
45724ba675SRob Herring		regulator-name = "SDHI0 Vcc";
46724ba675SRob Herring		regulator-min-microvolt = <3300000>;
47724ba675SRob Herring		regulator-max-microvolt = <3300000>;
48724ba675SRob Herring
49724ba675SRob Herring		gpio = <&pfc 75 GPIO_ACTIVE_HIGH>;
50724ba675SRob Herring		enable-active-high;
51724ba675SRob Herring	};
52724ba675SRob Herring
53724ba675SRob Herring	vccq_sdhi0: regulator-vccq-sdhi0 {
54724ba675SRob Herring		compatible = "regulator-gpio";
55724ba675SRob Herring
56724ba675SRob Herring		regulator-name = "SDHI0 VccQ";
57724ba675SRob Herring		regulator-min-microvolt = <1800000>;
58724ba675SRob Herring		regulator-max-microvolt = <3300000>;
59724ba675SRob Herring		vin-supply = <&vcc_sdhi0>;
60724ba675SRob Herring
61*47d7c25aSKrzysztof Kozlowski		enable-gpios = <&pfc 74 GPIO_ACTIVE_HIGH>;
62724ba675SRob Herring		gpios = <&pfc 17 GPIO_ACTIVE_HIGH>;
63724ba675SRob Herring		states = <3300000 0>, <1800000 1>;
64724ba675SRob Herring
65724ba675SRob Herring		enable-active-high;
66724ba675SRob Herring	};
67724ba675SRob Herring
68724ba675SRob Herring	reg_5p0v: regulator-5p0v {
69724ba675SRob Herring		compatible = "regulator-fixed";
70724ba675SRob Herring		regulator-name = "fixed-5.0V";
71724ba675SRob Herring		regulator-min-microvolt = <5000000>;
72724ba675SRob Herring		regulator-max-microvolt = <5000000>;
73724ba675SRob Herring		regulator-always-on;
74724ba675SRob Herring		regulator-boot-on;
75724ba675SRob Herring	};
76724ba675SRob Herring
77724ba675SRob Herring	keyboard {
78724ba675SRob Herring		compatible = "gpio-keys";
79724ba675SRob Herring
80724ba675SRob Herring		power-key {
81724ba675SRob Herring			gpios = <&pfc 99 GPIO_ACTIVE_LOW>;
82724ba675SRob Herring			linux,code = <KEY_POWER>;
83724ba675SRob Herring			label = "SW3";
84724ba675SRob Herring			wakeup-source;
85724ba675SRob Herring		};
86724ba675SRob Herring
87724ba675SRob Herring		back-key {
88724ba675SRob Herring			gpios = <&pfc 100 GPIO_ACTIVE_LOW>;
89724ba675SRob Herring			linux,code = <KEY_BACK>;
90724ba675SRob Herring			label = "SW4";
91724ba675SRob Herring		};
92724ba675SRob Herring
93724ba675SRob Herring		menu-key {
94724ba675SRob Herring			gpios = <&pfc 97 GPIO_ACTIVE_LOW>;
95724ba675SRob Herring			linux,code = <KEY_MENU>;
96724ba675SRob Herring			label = "SW5";
97724ba675SRob Herring		};
98724ba675SRob Herring
99724ba675SRob Herring		home-key {
100724ba675SRob Herring			gpios = <&pfc 98 GPIO_ACTIVE_LOW>;
101724ba675SRob Herring			linux,code = <KEY_HOME>;
102724ba675SRob Herring			label = "SW6";
103724ba675SRob Herring		};
104724ba675SRob Herring	};
105724ba675SRob Herring
106724ba675SRob Herring	leds {
107724ba675SRob Herring		compatible = "gpio-leds";
108724ba675SRob Herring		led3 {
109724ba675SRob Herring			gpios = <&pfc 102 GPIO_ACTIVE_HIGH>;
110724ba675SRob Herring			label = "LED3";
111724ba675SRob Herring		};
112724ba675SRob Herring		led4 {
113724ba675SRob Herring			gpios = <&pfc 111 GPIO_ACTIVE_HIGH>;
114724ba675SRob Herring			label = "LED4";
115724ba675SRob Herring		};
116724ba675SRob Herring		led5 {
117724ba675SRob Herring			gpios = <&pfc 110 GPIO_ACTIVE_HIGH>;
118724ba675SRob Herring			label = "LED5";
119724ba675SRob Herring		};
120724ba675SRob Herring		led6 {
121724ba675SRob Herring			gpios = <&pfc 177 GPIO_ACTIVE_HIGH>;
122724ba675SRob Herring			label = "LED6";
123724ba675SRob Herring		};
124724ba675SRob Herring	};
125724ba675SRob Herring
126724ba675SRob Herring	i2c2: i2c-2 {
127724ba675SRob Herring		#address-cells = <1>;
128724ba675SRob Herring		#size-cells = <0>;
129724ba675SRob Herring		compatible = "i2c-gpio";
130724ba675SRob Herring		sda-gpios = <&pfc 208 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
131724ba675SRob Herring		scl-gpios = <&pfc 91 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
132724ba675SRob Herring		i2c-gpio,delay-us = <5>;
133724ba675SRob Herring	};
134724ba675SRob Herring
135724ba675SRob Herring	backlight {
136724ba675SRob Herring		compatible = "pwm-backlight";
137724ba675SRob Herring		pwms = <&tpu 2 33333 PWM_POLARITY_INVERTED>;
138724ba675SRob Herring		brightness-levels = <0 1 2 4 8 16 32 64 128 255>;
139724ba675SRob Herring		default-brightness-level = <9>;
140724ba675SRob Herring		pinctrl-0 = <&backlight_pins>;
141724ba675SRob Herring		pinctrl-names = "default";
142724ba675SRob Herring		power-supply = <&reg_5p0v>;
143724ba675SRob Herring		enable-gpios = <&pfc 61 GPIO_ACTIVE_HIGH>;
144724ba675SRob Herring	};
145724ba675SRob Herring
146724ba675SRob Herring	sound {
147724ba675SRob Herring		compatible = "simple-audio-card";
148724ba675SRob Herring
149724ba675SRob Herring		simple-audio-card,format = "i2s";
150724ba675SRob Herring
151724ba675SRob Herring		simple-audio-card,cpu {
152724ba675SRob Herring			sound-dai = <&sh_fsi2 0>;
153724ba675SRob Herring			bitclock-inversion;
154724ba675SRob Herring		};
155724ba675SRob Herring
156724ba675SRob Herring		simple-audio-card,codec {
157724ba675SRob Herring			sound-dai = <&wm8978>;
158724ba675SRob Herring			bitclock-master;
159724ba675SRob Herring			frame-master;
160724ba675SRob Herring			system-clock-frequency = <12288000>;
161724ba675SRob Herring		};
162724ba675SRob Herring	};
163724ba675SRob Herring};
164724ba675SRob Herring
165724ba675SRob Herring&ether {
166724ba675SRob Herring	pinctrl-0 = <&ether_pins>;
167724ba675SRob Herring	pinctrl-names = "default";
168724ba675SRob Herring
169724ba675SRob Herring	phy-handle = <&phy0>;
170724ba675SRob Herring	status = "okay";
171724ba675SRob Herring
172724ba675SRob Herring	phy0: ethernet-phy@0 {
173724ba675SRob Herring		compatible = "ethernet-phy-id0007.c0f1",
174724ba675SRob Herring			     "ethernet-phy-ieee802.3-c22";
175724ba675SRob Herring		reg = <0>;
176724ba675SRob Herring		reset-gpios = <&pfc 18 GPIO_ACTIVE_LOW>;
177724ba675SRob Herring	};
178724ba675SRob Herring};
179724ba675SRob Herring
180724ba675SRob Herring&extal1_clk {
181724ba675SRob Herring	clock-frequency = <24000000>;
182724ba675SRob Herring};
183724ba675SRob Herring&extal2_clk {
184724ba675SRob Herring	clock-frequency = <48000000>;
185724ba675SRob Herring};
186724ba675SRob Herring&fsibck_clk {
187724ba675SRob Herring	clock-frequency = <12288000>;
188724ba675SRob Herring};
189724ba675SRob Herring&cpg_clocks {
190724ba675SRob Herring	renesas,mode = <0x05>; /* MD_CK0 | MD_CK2 */
191724ba675SRob Herring};
192724ba675SRob Herring
193724ba675SRob Herring&cmt1 {
194724ba675SRob Herring	status = "okay";
195724ba675SRob Herring};
196724ba675SRob Herring
197724ba675SRob Herring&i2c0 {
198724ba675SRob Herring	status = "okay";
199724ba675SRob Herring
200724ba675SRob Herring	wm8978: codec@1a {
201724ba675SRob Herring		#sound-dai-cells = <0>;
202724ba675SRob Herring		compatible = "wlf,wm8978";
203724ba675SRob Herring		reg = <0x1a>;
204724ba675SRob Herring	};
205724ba675SRob Herring
206724ba675SRob Herring	eeprom@50 {
207724ba675SRob Herring		compatible = "st,24c01", "atmel,24c01";
208724ba675SRob Herring		reg = <0x50>;
209724ba675SRob Herring		pagesize = <16>;
210724ba675SRob Herring	};
211724ba675SRob Herring
212724ba675SRob Herring	touchscreen@55 {
213724ba675SRob Herring		compatible = "sitronix,st1232";
214724ba675SRob Herring		reg = <0x55>;
215724ba675SRob Herring		interrupt-parent = <&irqpin1>;
216724ba675SRob Herring		interrupts = <2 IRQ_TYPE_LEVEL_LOW>;
217724ba675SRob Herring		pinctrl-0 = <&st1232_pins>;
218724ba675SRob Herring		pinctrl-names = "default";
219724ba675SRob Herring		gpios = <&pfc 166 GPIO_ACTIVE_LOW>;
220724ba675SRob Herring	};
221724ba675SRob Herring};
222724ba675SRob Herring
223724ba675SRob Herring&i2c2 {
224724ba675SRob Herring	status = "okay";
225724ba675SRob Herring	rtc@30 {
226724ba675SRob Herring		compatible = "sii,s35390a";
227724ba675SRob Herring		reg = <0x30>;
228724ba675SRob Herring	};
229724ba675SRob Herring};
230724ba675SRob Herring
231724ba675SRob Herring&pfc {
232724ba675SRob Herring	pinctrl-0 = <&lcd0_pins>;
233724ba675SRob Herring	pinctrl-names = "default";
234724ba675SRob Herring
235724ba675SRob Herring	ether_pins: ether {
236724ba675SRob Herring		groups = "gether_mii", "gether_int";
237724ba675SRob Herring		function = "gether";
238724ba675SRob Herring	};
239724ba675SRob Herring
240724ba675SRob Herring	scifa1_pins: scifa1 {
241724ba675SRob Herring		groups = "scifa1_data";
242724ba675SRob Herring		function = "scifa1";
243724ba675SRob Herring	};
244724ba675SRob Herring
245724ba675SRob Herring	st1232_pins: touchscreen {
246724ba675SRob Herring		groups = "intc_irq10";
247724ba675SRob Herring		function = "intc";
248724ba675SRob Herring	};
249724ba675SRob Herring
250724ba675SRob Herring	backlight_pins: backlight {
251724ba675SRob Herring		groups = "tpu0_to2_1";
252724ba675SRob Herring		function = "tpu0";
253724ba675SRob Herring	};
254724ba675SRob Herring
255724ba675SRob Herring	mmc0_pins: mmc0 {
256724ba675SRob Herring		groups = "mmc0_data8_1", "mmc0_ctrl_1";
257724ba675SRob Herring		function = "mmc0";
258724ba675SRob Herring	};
259724ba675SRob Herring
260724ba675SRob Herring	sdhi0_pins: sd0 {
261724ba675SRob Herring		groups = "sdhi0_data4", "sdhi0_ctrl", "sdhi0_wp";
262724ba675SRob Herring		function = "sdhi0";
263724ba675SRob Herring	};
264724ba675SRob Herring
265724ba675SRob Herring	fsia_pins: sounda {
266724ba675SRob Herring		groups = "fsia_sclk_in", "fsia_mclk_out",
267724ba675SRob Herring			 "fsia_data_in_1", "fsia_data_out_0";
268724ba675SRob Herring		function = "fsia";
269724ba675SRob Herring	};
270724ba675SRob Herring
271724ba675SRob Herring	lcd0_pins: lcd0 {
272724ba675SRob Herring		groups = "lcd0_data24_0", "lcd0_lclk_1", "lcd0_sync";
273724ba675SRob Herring		function = "lcd0";
274724ba675SRob Herring	};
275724ba675SRob Herring
276724ba675SRob Herring	lcd0-mux-hog {
277724ba675SRob Herring		/* DBGMD/LCDC0/FSIA MUX */
278724ba675SRob Herring		gpio-hog;
279724ba675SRob Herring		gpios = <176 0>;
280724ba675SRob Herring		output-high;
281724ba675SRob Herring	};
282724ba675SRob Herring};
283724ba675SRob Herring
284724ba675SRob Herring&tpu {
285724ba675SRob Herring	status = "okay";
286724ba675SRob Herring};
287724ba675SRob Herring
288724ba675SRob Herring&mmcif0 {
289724ba675SRob Herring	pinctrl-0 = <&mmc0_pins>;
290724ba675SRob Herring	pinctrl-names = "default";
291724ba675SRob Herring
292724ba675SRob Herring	vmmc-supply = <&reg_3p3v>;
293724ba675SRob Herring	bus-width = <8>;
294724ba675SRob Herring	non-removable;
295724ba675SRob Herring	status = "okay";
296724ba675SRob Herring};
297724ba675SRob Herring
298724ba675SRob Herring&scifa1 {
299724ba675SRob Herring	pinctrl-0 = <&scifa1_pins>;
300724ba675SRob Herring	pinctrl-names = "default";
301724ba675SRob Herring
302724ba675SRob Herring	status = "okay";
303724ba675SRob Herring};
304724ba675SRob Herring
305724ba675SRob Herring&sdhi0 {
306724ba675SRob Herring	pinctrl-0 = <&sdhi0_pins>;
307724ba675SRob Herring	pinctrl-names = "default";
308724ba675SRob Herring
309724ba675SRob Herring	vmmc-supply = <&vcc_sdhi0>;
310724ba675SRob Herring	vqmmc-supply = <&vccq_sdhi0>;
311724ba675SRob Herring	bus-width = <4>;
312724ba675SRob Herring	cd-gpios = <&pfc 167 GPIO_ACTIVE_LOW>;
313724ba675SRob Herring	status = "okay";
314724ba675SRob Herring};
315724ba675SRob Herring
316724ba675SRob Herring&sh_fsi2 {
317724ba675SRob Herring	pinctrl-0 = <&fsia_pins>;
318724ba675SRob Herring	pinctrl-names = "default";
319724ba675SRob Herring
320724ba675SRob Herring	status = "okay";
321724ba675SRob Herring};
322724ba675SRob Herring
323724ba675SRob Herring&tmu0 {
324724ba675SRob Herring	status = "okay";
325724ba675SRob Herring};
326