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