xref: /OK3568_Linux_fs/kernel/scripts/dtc/include-prefixes/arm/r8a7740-armadillo800eva.dts (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun// SPDX-License-Identifier: GPL-2.0
2*4882a593Smuzhiyun/*
3*4882a593Smuzhiyun * Device Tree Source for the armadillo 800 eva board
4*4882a593Smuzhiyun *
5*4882a593Smuzhiyun * Copyright (C) 2012 Renesas Solutions Corp.
6*4882a593Smuzhiyun */
7*4882a593Smuzhiyun
8*4882a593Smuzhiyun/dts-v1/;
9*4882a593Smuzhiyun#include "r8a7740.dtsi"
10*4882a593Smuzhiyun#include <dt-bindings/gpio/gpio.h>
11*4882a593Smuzhiyun#include <dt-bindings/input/input.h>
12*4882a593Smuzhiyun#include <dt-bindings/interrupt-controller/irq.h>
13*4882a593Smuzhiyun#include <dt-bindings/pwm/pwm.h>
14*4882a593Smuzhiyun
15*4882a593Smuzhiyun/ {
16*4882a593Smuzhiyun	model = "armadillo 800 eva";
17*4882a593Smuzhiyun	compatible = "renesas,armadillo800eva", "renesas,r8a7740";
18*4882a593Smuzhiyun
19*4882a593Smuzhiyun	aliases {
20*4882a593Smuzhiyun		serial0 = &scifa1;
21*4882a593Smuzhiyun	};
22*4882a593Smuzhiyun
23*4882a593Smuzhiyun	chosen {
24*4882a593Smuzhiyun		bootargs = "earlyprintk ignore_loglevel root=/dev/nfs ip=on rw";
25*4882a593Smuzhiyun		stdout-path = "serial0:115200n8";
26*4882a593Smuzhiyun	};
27*4882a593Smuzhiyun
28*4882a593Smuzhiyun	memory@40000000 {
29*4882a593Smuzhiyun		device_type = "memory";
30*4882a593Smuzhiyun		reg = <0x40000000 0x20000000>;
31*4882a593Smuzhiyun	};
32*4882a593Smuzhiyun
33*4882a593Smuzhiyun	reg_3p3v: regulator-3p3v {
34*4882a593Smuzhiyun		compatible = "regulator-fixed";
35*4882a593Smuzhiyun		regulator-name = "fixed-3.3V";
36*4882a593Smuzhiyun		regulator-min-microvolt = <3300000>;
37*4882a593Smuzhiyun		regulator-max-microvolt = <3300000>;
38*4882a593Smuzhiyun		regulator-always-on;
39*4882a593Smuzhiyun		regulator-boot-on;
40*4882a593Smuzhiyun	};
41*4882a593Smuzhiyun
42*4882a593Smuzhiyun	vcc_sdhi0: regulator-vcc-sdhi0 {
43*4882a593Smuzhiyun		compatible = "regulator-fixed";
44*4882a593Smuzhiyun
45*4882a593Smuzhiyun		regulator-name = "SDHI0 Vcc";
46*4882a593Smuzhiyun		regulator-min-microvolt = <3300000>;
47*4882a593Smuzhiyun		regulator-max-microvolt = <3300000>;
48*4882a593Smuzhiyun
49*4882a593Smuzhiyun		gpio = <&pfc 75 GPIO_ACTIVE_HIGH>;
50*4882a593Smuzhiyun		enable-active-high;
51*4882a593Smuzhiyun	};
52*4882a593Smuzhiyun
53*4882a593Smuzhiyun	vccq_sdhi0: regulator-vccq-sdhi0 {
54*4882a593Smuzhiyun		compatible = "regulator-gpio";
55*4882a593Smuzhiyun
56*4882a593Smuzhiyun		regulator-name = "SDHI0 VccQ";
57*4882a593Smuzhiyun		regulator-min-microvolt = <1800000>;
58*4882a593Smuzhiyun		regulator-max-microvolt = <3300000>;
59*4882a593Smuzhiyun		vin-supply = <&vcc_sdhi0>;
60*4882a593Smuzhiyun
61*4882a593Smuzhiyun		enable-gpio = <&pfc 74 GPIO_ACTIVE_HIGH>;
62*4882a593Smuzhiyun		gpios = <&pfc 17 GPIO_ACTIVE_HIGH>;
63*4882a593Smuzhiyun		states = <3300000 0>, <1800000 1>;
64*4882a593Smuzhiyun
65*4882a593Smuzhiyun		enable-active-high;
66*4882a593Smuzhiyun	};
67*4882a593Smuzhiyun
68*4882a593Smuzhiyun	reg_5p0v: regulator-5p0v {
69*4882a593Smuzhiyun		compatible = "regulator-fixed";
70*4882a593Smuzhiyun		regulator-name = "fixed-5.0V";
71*4882a593Smuzhiyun		regulator-min-microvolt = <5000000>;
72*4882a593Smuzhiyun		regulator-max-microvolt = <5000000>;
73*4882a593Smuzhiyun		regulator-always-on;
74*4882a593Smuzhiyun		regulator-boot-on;
75*4882a593Smuzhiyun	};
76*4882a593Smuzhiyun
77*4882a593Smuzhiyun	keyboard {
78*4882a593Smuzhiyun		compatible = "gpio-keys";
79*4882a593Smuzhiyun
80*4882a593Smuzhiyun		power-key {
81*4882a593Smuzhiyun			gpios = <&pfc 99 GPIO_ACTIVE_LOW>;
82*4882a593Smuzhiyun			linux,code = <KEY_POWER>;
83*4882a593Smuzhiyun			label = "SW3";
84*4882a593Smuzhiyun			wakeup-source;
85*4882a593Smuzhiyun		};
86*4882a593Smuzhiyun
87*4882a593Smuzhiyun		back-key {
88*4882a593Smuzhiyun			gpios = <&pfc 100 GPIO_ACTIVE_LOW>;
89*4882a593Smuzhiyun			linux,code = <KEY_BACK>;
90*4882a593Smuzhiyun			label = "SW4";
91*4882a593Smuzhiyun		};
92*4882a593Smuzhiyun
93*4882a593Smuzhiyun		menu-key {
94*4882a593Smuzhiyun			gpios = <&pfc 97 GPIO_ACTIVE_LOW>;
95*4882a593Smuzhiyun			linux,code = <KEY_MENU>;
96*4882a593Smuzhiyun			label = "SW5";
97*4882a593Smuzhiyun		};
98*4882a593Smuzhiyun
99*4882a593Smuzhiyun		home-key {
100*4882a593Smuzhiyun			gpios = <&pfc 98 GPIO_ACTIVE_LOW>;
101*4882a593Smuzhiyun			linux,code = <KEY_HOME>;
102*4882a593Smuzhiyun			label = "SW6";
103*4882a593Smuzhiyun		};
104*4882a593Smuzhiyun	};
105*4882a593Smuzhiyun
106*4882a593Smuzhiyun	leds {
107*4882a593Smuzhiyun		compatible = "gpio-leds";
108*4882a593Smuzhiyun		led3 {
109*4882a593Smuzhiyun			gpios = <&pfc 102 GPIO_ACTIVE_HIGH>;
110*4882a593Smuzhiyun			label = "LED3";
111*4882a593Smuzhiyun		};
112*4882a593Smuzhiyun		led4 {
113*4882a593Smuzhiyun			gpios = <&pfc 111 GPIO_ACTIVE_HIGH>;
114*4882a593Smuzhiyun			label = "LED4";
115*4882a593Smuzhiyun		};
116*4882a593Smuzhiyun		led5 {
117*4882a593Smuzhiyun			gpios = <&pfc 110 GPIO_ACTIVE_HIGH>;
118*4882a593Smuzhiyun			label = "LED5";
119*4882a593Smuzhiyun		};
120*4882a593Smuzhiyun		led6 {
121*4882a593Smuzhiyun			gpios = <&pfc 177 GPIO_ACTIVE_HIGH>;
122*4882a593Smuzhiyun			label = "LED6";
123*4882a593Smuzhiyun		};
124*4882a593Smuzhiyun	};
125*4882a593Smuzhiyun
126*4882a593Smuzhiyun	i2c2: i2c-2 {
127*4882a593Smuzhiyun		#address-cells = <1>;
128*4882a593Smuzhiyun		#size-cells = <0>;
129*4882a593Smuzhiyun		compatible = "i2c-gpio";
130*4882a593Smuzhiyun		sda-gpios = <&pfc 208 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
131*4882a593Smuzhiyun		scl-gpios = <&pfc 91 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
132*4882a593Smuzhiyun		i2c-gpio,delay-us = <5>;
133*4882a593Smuzhiyun	};
134*4882a593Smuzhiyun
135*4882a593Smuzhiyun	backlight {
136*4882a593Smuzhiyun		compatible = "pwm-backlight";
137*4882a593Smuzhiyun		pwms = <&tpu 2 33333 PWM_POLARITY_INVERTED>;
138*4882a593Smuzhiyun		brightness-levels = <0 1 2 4 8 16 32 64 128 255>;
139*4882a593Smuzhiyun		default-brightness-level = <9>;
140*4882a593Smuzhiyun		pinctrl-0 = <&backlight_pins>;
141*4882a593Smuzhiyun		pinctrl-names = "default";
142*4882a593Smuzhiyun		power-supply = <&reg_5p0v>;
143*4882a593Smuzhiyun		enable-gpios = <&pfc 61 GPIO_ACTIVE_HIGH>;
144*4882a593Smuzhiyun	};
145*4882a593Smuzhiyun
146*4882a593Smuzhiyun	sound {
147*4882a593Smuzhiyun		compatible = "simple-audio-card";
148*4882a593Smuzhiyun
149*4882a593Smuzhiyun		simple-audio-card,format = "i2s";
150*4882a593Smuzhiyun
151*4882a593Smuzhiyun		simple-audio-card,cpu {
152*4882a593Smuzhiyun			sound-dai = <&sh_fsi2 0>;
153*4882a593Smuzhiyun			bitclock-inversion;
154*4882a593Smuzhiyun		};
155*4882a593Smuzhiyun
156*4882a593Smuzhiyun		simple-audio-card,codec {
157*4882a593Smuzhiyun			sound-dai = <&wm8978>;
158*4882a593Smuzhiyun			bitclock-master;
159*4882a593Smuzhiyun			frame-master;
160*4882a593Smuzhiyun			system-clock-frequency = <12288000>;
161*4882a593Smuzhiyun		};
162*4882a593Smuzhiyun	};
163*4882a593Smuzhiyun};
164*4882a593Smuzhiyun
165*4882a593Smuzhiyun&ether {
166*4882a593Smuzhiyun	pinctrl-0 = <&ether_pins>;
167*4882a593Smuzhiyun	pinctrl-names = "default";
168*4882a593Smuzhiyun
169*4882a593Smuzhiyun	phy-handle = <&phy0>;
170*4882a593Smuzhiyun	status = "okay";
171*4882a593Smuzhiyun
172*4882a593Smuzhiyun	phy0: ethernet-phy@0 {
173*4882a593Smuzhiyun		reg = <0>;
174*4882a593Smuzhiyun	};
175*4882a593Smuzhiyun};
176*4882a593Smuzhiyun
177*4882a593Smuzhiyun&extal1_clk {
178*4882a593Smuzhiyun	clock-frequency = <24000000>;
179*4882a593Smuzhiyun};
180*4882a593Smuzhiyun&extal2_clk {
181*4882a593Smuzhiyun	clock-frequency = <48000000>;
182*4882a593Smuzhiyun};
183*4882a593Smuzhiyun&fsibck_clk {
184*4882a593Smuzhiyun	clock-frequency = <12288000>;
185*4882a593Smuzhiyun};
186*4882a593Smuzhiyun&cpg_clocks {
187*4882a593Smuzhiyun	renesas,mode = <0x05>; /* MD_CK0 | MD_CK2 */
188*4882a593Smuzhiyun};
189*4882a593Smuzhiyun
190*4882a593Smuzhiyun&cmt1 {
191*4882a593Smuzhiyun	status = "okay";
192*4882a593Smuzhiyun};
193*4882a593Smuzhiyun
194*4882a593Smuzhiyun&i2c0 {
195*4882a593Smuzhiyun	status = "okay";
196*4882a593Smuzhiyun	touchscreen@55 {
197*4882a593Smuzhiyun		compatible = "sitronix,st1232";
198*4882a593Smuzhiyun		reg = <0x55>;
199*4882a593Smuzhiyun		interrupt-parent = <&irqpin1>;
200*4882a593Smuzhiyun		interrupts = <2 IRQ_TYPE_LEVEL_LOW>;
201*4882a593Smuzhiyun		pinctrl-0 = <&st1232_pins>;
202*4882a593Smuzhiyun		pinctrl-names = "default";
203*4882a593Smuzhiyun		gpios = <&pfc 166 GPIO_ACTIVE_LOW>;
204*4882a593Smuzhiyun	};
205*4882a593Smuzhiyun
206*4882a593Smuzhiyun	wm8978: codec@1a {
207*4882a593Smuzhiyun		#sound-dai-cells = <0>;
208*4882a593Smuzhiyun		compatible = "wlf,wm8978";
209*4882a593Smuzhiyun		reg = <0x1a>;
210*4882a593Smuzhiyun	};
211*4882a593Smuzhiyun};
212*4882a593Smuzhiyun
213*4882a593Smuzhiyun&i2c2 {
214*4882a593Smuzhiyun	status = "okay";
215*4882a593Smuzhiyun	rtc@30 {
216*4882a593Smuzhiyun		compatible = "sii,s35390a";
217*4882a593Smuzhiyun		reg = <0x30>;
218*4882a593Smuzhiyun	};
219*4882a593Smuzhiyun};
220*4882a593Smuzhiyun
221*4882a593Smuzhiyun&pfc {
222*4882a593Smuzhiyun	pinctrl-0 = <&lcd0_pins>;
223*4882a593Smuzhiyun	pinctrl-names = "default";
224*4882a593Smuzhiyun
225*4882a593Smuzhiyun	ether_pins: ether {
226*4882a593Smuzhiyun		groups = "gether_mii", "gether_int";
227*4882a593Smuzhiyun		function = "gether";
228*4882a593Smuzhiyun	};
229*4882a593Smuzhiyun
230*4882a593Smuzhiyun	scifa1_pins: scifa1 {
231*4882a593Smuzhiyun		groups = "scifa1_data";
232*4882a593Smuzhiyun		function = "scifa1";
233*4882a593Smuzhiyun	};
234*4882a593Smuzhiyun
235*4882a593Smuzhiyun	st1232_pins: touchscreen {
236*4882a593Smuzhiyun		groups = "intc_irq10";
237*4882a593Smuzhiyun		function = "intc";
238*4882a593Smuzhiyun	};
239*4882a593Smuzhiyun
240*4882a593Smuzhiyun	backlight_pins: backlight {
241*4882a593Smuzhiyun		groups = "tpu0_to2_1";
242*4882a593Smuzhiyun		function = "tpu0";
243*4882a593Smuzhiyun	};
244*4882a593Smuzhiyun
245*4882a593Smuzhiyun	mmc0_pins: mmc0 {
246*4882a593Smuzhiyun		groups = "mmc0_data8_1", "mmc0_ctrl_1";
247*4882a593Smuzhiyun		function = "mmc0";
248*4882a593Smuzhiyun	};
249*4882a593Smuzhiyun
250*4882a593Smuzhiyun	sdhi0_pins: sd0 {
251*4882a593Smuzhiyun		groups = "sdhi0_data4", "sdhi0_ctrl", "sdhi0_wp";
252*4882a593Smuzhiyun		function = "sdhi0";
253*4882a593Smuzhiyun	};
254*4882a593Smuzhiyun
255*4882a593Smuzhiyun	fsia_pins: sounda {
256*4882a593Smuzhiyun		groups = "fsia_sclk_in", "fsia_mclk_out",
257*4882a593Smuzhiyun			 "fsia_data_in_1", "fsia_data_out_0";
258*4882a593Smuzhiyun		function = "fsia";
259*4882a593Smuzhiyun	};
260*4882a593Smuzhiyun
261*4882a593Smuzhiyun	lcd0_pins: lcd0 {
262*4882a593Smuzhiyun		groups = "lcd0_data24_0", "lcd0_lclk_1", "lcd0_sync";
263*4882a593Smuzhiyun		function = "lcd0";
264*4882a593Smuzhiyun	};
265*4882a593Smuzhiyun
266*4882a593Smuzhiyun	lcd0_mux {
267*4882a593Smuzhiyun		/* DBGMD/LCDC0/FSIA MUX */
268*4882a593Smuzhiyun		gpio-hog;
269*4882a593Smuzhiyun		gpios = <176 0>;
270*4882a593Smuzhiyun		output-high;
271*4882a593Smuzhiyun	};
272*4882a593Smuzhiyun};
273*4882a593Smuzhiyun
274*4882a593Smuzhiyun&tpu {
275*4882a593Smuzhiyun	status = "okay";
276*4882a593Smuzhiyun};
277*4882a593Smuzhiyun
278*4882a593Smuzhiyun&mmcif0 {
279*4882a593Smuzhiyun	pinctrl-0 = <&mmc0_pins>;
280*4882a593Smuzhiyun	pinctrl-names = "default";
281*4882a593Smuzhiyun
282*4882a593Smuzhiyun	vmmc-supply = <&reg_3p3v>;
283*4882a593Smuzhiyun	bus-width = <8>;
284*4882a593Smuzhiyun	non-removable;
285*4882a593Smuzhiyun	status = "okay";
286*4882a593Smuzhiyun};
287*4882a593Smuzhiyun
288*4882a593Smuzhiyun&scifa1 {
289*4882a593Smuzhiyun	pinctrl-0 = <&scifa1_pins>;
290*4882a593Smuzhiyun	pinctrl-names = "default";
291*4882a593Smuzhiyun
292*4882a593Smuzhiyun	status = "okay";
293*4882a593Smuzhiyun};
294*4882a593Smuzhiyun
295*4882a593Smuzhiyun&sdhi0 {
296*4882a593Smuzhiyun	pinctrl-0 = <&sdhi0_pins>;
297*4882a593Smuzhiyun	pinctrl-names = "default";
298*4882a593Smuzhiyun
299*4882a593Smuzhiyun	vmmc-supply = <&vcc_sdhi0>;
300*4882a593Smuzhiyun	vqmmc-supply = <&vccq_sdhi0>;
301*4882a593Smuzhiyun	bus-width = <4>;
302*4882a593Smuzhiyun	cd-gpios = <&pfc 167 GPIO_ACTIVE_LOW>;
303*4882a593Smuzhiyun	status = "okay";
304*4882a593Smuzhiyun};
305*4882a593Smuzhiyun
306*4882a593Smuzhiyun&sh_fsi2 {
307*4882a593Smuzhiyun	pinctrl-0 = <&fsia_pins>;
308*4882a593Smuzhiyun	pinctrl-names = "default";
309*4882a593Smuzhiyun
310*4882a593Smuzhiyun	status = "okay";
311*4882a593Smuzhiyun};
312*4882a593Smuzhiyun
313*4882a593Smuzhiyun&tmu0 {
314*4882a593Smuzhiyun	status = "okay";
315*4882a593Smuzhiyun};
316