xref: /openbmc/u-boot/arch/arm/dts/r8a7792-blanche.dts (revision 2e2a2a5d4f0c2e2642326d9000ce1f1553632e6a)
183d290c5STom Rini// SPDX-License-Identifier: GPL-2.0
2a3fb9ff3SMarek Vasut/*
3a3fb9ff3SMarek Vasut * Device Tree Source for the Blanche board
4a3fb9ff3SMarek Vasut *
5a3fb9ff3SMarek Vasut * Copyright (C) 2014 Renesas Electronics Corporation
6a3fb9ff3SMarek Vasut * Copyright (C) 2016 Cogent  Embedded, Inc.
7a3fb9ff3SMarek Vasut */
8a3fb9ff3SMarek Vasut
9a3fb9ff3SMarek Vasut/dts-v1/;
10a3fb9ff3SMarek Vasut#include "r8a7792.dtsi"
11a3fb9ff3SMarek Vasut#include <dt-bindings/gpio/gpio.h>
12a3fb9ff3SMarek Vasut#include <dt-bindings/input/input.h>
13a3fb9ff3SMarek Vasut
14a3fb9ff3SMarek Vasut/ {
15a3fb9ff3SMarek Vasut	model = "Blanche";
16a3fb9ff3SMarek Vasut	compatible = "renesas,blanche", "renesas,r8a7792";
17a3fb9ff3SMarek Vasut
18a3fb9ff3SMarek Vasut	aliases {
19a3fb9ff3SMarek Vasut		serial0 = &scif0;
20a3fb9ff3SMarek Vasut		serial1 = &scif3;
21a3fb9ff3SMarek Vasut	};
22a3fb9ff3SMarek Vasut
23a3fb9ff3SMarek Vasut	chosen {
24a3fb9ff3SMarek Vasut		bootargs = "ignore_loglevel rw root=/dev/nfs ip=dhcp";
25a3fb9ff3SMarek Vasut		stdout-path = "serial0:115200n8";
26a3fb9ff3SMarek Vasut	};
27a3fb9ff3SMarek Vasut
28a3fb9ff3SMarek Vasut	memory@40000000 {
29a3fb9ff3SMarek Vasut		device_type = "memory";
30a3fb9ff3SMarek Vasut		reg = <0 0x40000000 0 0x40000000>;
31a3fb9ff3SMarek Vasut	};
32a3fb9ff3SMarek Vasut
33a3fb9ff3SMarek Vasut	d3_3v: regulator-3v3 {
34a3fb9ff3SMarek Vasut		compatible = "regulator-fixed";
35a3fb9ff3SMarek Vasut		regulator-name = "D3.3V";
36a3fb9ff3SMarek Vasut		regulator-min-microvolt = <3300000>;
37a3fb9ff3SMarek Vasut		regulator-max-microvolt = <3300000>;
38a3fb9ff3SMarek Vasut		regulator-boot-on;
39a3fb9ff3SMarek Vasut		regulator-always-on;
40a3fb9ff3SMarek Vasut	};
41a3fb9ff3SMarek Vasut
42a3fb9ff3SMarek Vasut	ethernet@18000000 {
43a3fb9ff3SMarek Vasut		compatible = "smsc,lan89218", "smsc,lan9115";
44a3fb9ff3SMarek Vasut		reg = <0 0x18000000 0 0x100>;
45a3fb9ff3SMarek Vasut		phy-mode = "mii";
46a3fb9ff3SMarek Vasut		interrupt-parent = <&irqc>;
47a3fb9ff3SMarek Vasut		interrupts = <0 IRQ_TYPE_EDGE_FALLING>;
48a3fb9ff3SMarek Vasut		smsc,irq-push-pull;
49a3fb9ff3SMarek Vasut		reg-io-width = <4>;
50a3fb9ff3SMarek Vasut		vddvario-supply = <&d3_3v>;
51a3fb9ff3SMarek Vasut		vdd33a-supply = <&d3_3v>;
52a3fb9ff3SMarek Vasut
53a3fb9ff3SMarek Vasut		pinctrl-0 = <&lan89218_pins>;
54a3fb9ff3SMarek Vasut		pinctrl-names = "default";
55a3fb9ff3SMarek Vasut	};
56a3fb9ff3SMarek Vasut
57a3fb9ff3SMarek Vasut	vga-encoder {
58a3fb9ff3SMarek Vasut		compatible = "adi,adv7123";
59a3fb9ff3SMarek Vasut
60a3fb9ff3SMarek Vasut		ports {
61a3fb9ff3SMarek Vasut			#address-cells = <1>;
62a3fb9ff3SMarek Vasut			#size-cells = <0>;
63a3fb9ff3SMarek Vasut
64a3fb9ff3SMarek Vasut			port@0 {
65a3fb9ff3SMarek Vasut				reg = <0>;
66a3fb9ff3SMarek Vasut				adv7123_in: endpoint {
67a3fb9ff3SMarek Vasut					remote-endpoint = <&du_out_rgb1>;
68a3fb9ff3SMarek Vasut				};
69a3fb9ff3SMarek Vasut			};
70a3fb9ff3SMarek Vasut			port@1 {
71a3fb9ff3SMarek Vasut				reg = <1>;
72a3fb9ff3SMarek Vasut				adv7123_out: endpoint {
73a3fb9ff3SMarek Vasut					remote-endpoint = <&vga_in>;
74a3fb9ff3SMarek Vasut				};
75a3fb9ff3SMarek Vasut			};
76a3fb9ff3SMarek Vasut		};
77a3fb9ff3SMarek Vasut	};
78a3fb9ff3SMarek Vasut
79a3fb9ff3SMarek Vasut	hdmi-out {
80a3fb9ff3SMarek Vasut		compatible = "hdmi-connector";
81a3fb9ff3SMarek Vasut		type = "a";
82a3fb9ff3SMarek Vasut
83a3fb9ff3SMarek Vasut		port {
84a3fb9ff3SMarek Vasut			hdmi_con: endpoint {
85a3fb9ff3SMarek Vasut				remote-endpoint = <&adv7511_out>;
86a3fb9ff3SMarek Vasut			};
87a3fb9ff3SMarek Vasut		};
88a3fb9ff3SMarek Vasut	};
89a3fb9ff3SMarek Vasut
90a3fb9ff3SMarek Vasut	vga {
91a3fb9ff3SMarek Vasut		compatible = "vga-connector";
92a3fb9ff3SMarek Vasut
93a3fb9ff3SMarek Vasut		port {
94a3fb9ff3SMarek Vasut			vga_in: endpoint {
95a3fb9ff3SMarek Vasut				remote-endpoint = <&adv7123_out>;
96a3fb9ff3SMarek Vasut			};
97a3fb9ff3SMarek Vasut		};
98a3fb9ff3SMarek Vasut	};
99a3fb9ff3SMarek Vasut
100a3fb9ff3SMarek Vasut	x1_clk: x1 {
101a3fb9ff3SMarek Vasut		compatible = "fixed-clock";
102a3fb9ff3SMarek Vasut		#clock-cells = <0>;
103a3fb9ff3SMarek Vasut		clock-frequency = <74250000>;
104a3fb9ff3SMarek Vasut	};
105a3fb9ff3SMarek Vasut
106a3fb9ff3SMarek Vasut	x2_clk: x2 {
107a3fb9ff3SMarek Vasut		compatible = "fixed-clock";
108a3fb9ff3SMarek Vasut		#clock-cells = <0>;
109a3fb9ff3SMarek Vasut		clock-frequency = <65000000>;
110a3fb9ff3SMarek Vasut	};
111a3fb9ff3SMarek Vasut
112a3fb9ff3SMarek Vasut	keyboard {
113a3fb9ff3SMarek Vasut		compatible = "gpio-keys";
114a3fb9ff3SMarek Vasut
115a3fb9ff3SMarek Vasut		key-1 {
116a3fb9ff3SMarek Vasut			linux,code = <KEY_1>;
117a3fb9ff3SMarek Vasut			label = "SW2-1";
118a3fb9ff3SMarek Vasut			wakeup-source;
119a3fb9ff3SMarek Vasut			debounce-interval = <20>;
120a3fb9ff3SMarek Vasut			gpios = <&gpio3 10 GPIO_ACTIVE_LOW>;
121a3fb9ff3SMarek Vasut		};
122a3fb9ff3SMarek Vasut		key-2 {
123a3fb9ff3SMarek Vasut			linux,code = <KEY_2>;
124a3fb9ff3SMarek Vasut			label = "SW2-2";
125a3fb9ff3SMarek Vasut			wakeup-source;
126a3fb9ff3SMarek Vasut			debounce-interval = <20>;
127a3fb9ff3SMarek Vasut			gpios = <&gpio3 11 GPIO_ACTIVE_LOW>;
128a3fb9ff3SMarek Vasut		};
129a3fb9ff3SMarek Vasut		key-3 {
130a3fb9ff3SMarek Vasut			linux,code = <KEY_3>;
131a3fb9ff3SMarek Vasut			label = "SW2-3";
132a3fb9ff3SMarek Vasut			wakeup-source;
133a3fb9ff3SMarek Vasut			debounce-interval = <20>;
134a3fb9ff3SMarek Vasut			gpios = <&gpio3 12 GPIO_ACTIVE_LOW>;
135a3fb9ff3SMarek Vasut		};
136a3fb9ff3SMarek Vasut		key-4 {
137a3fb9ff3SMarek Vasut			linux,code = <KEY_4>;
138a3fb9ff3SMarek Vasut			label = "SW2-4";
139a3fb9ff3SMarek Vasut			wakeup-source;
140a3fb9ff3SMarek Vasut			debounce-interval = <20>;
141a3fb9ff3SMarek Vasut			gpios = <&gpio3 15 GPIO_ACTIVE_LOW>;
142a3fb9ff3SMarek Vasut		};
143a3fb9ff3SMarek Vasut		key-a {
144a3fb9ff3SMarek Vasut			linux,code = <KEY_A>;
145a3fb9ff3SMarek Vasut			label = "SW24";
146a3fb9ff3SMarek Vasut			wakeup-source;
147a3fb9ff3SMarek Vasut			debounce-interval = <20>;
148a3fb9ff3SMarek Vasut			gpios = <&gpio3 20 GPIO_ACTIVE_LOW>;
149a3fb9ff3SMarek Vasut		};
150a3fb9ff3SMarek Vasut		key-b {
151a3fb9ff3SMarek Vasut			linux,code = <KEY_B>;
152a3fb9ff3SMarek Vasut			label = "SW25";
153a3fb9ff3SMarek Vasut			wakeup-source;
154a3fb9ff3SMarek Vasut			debounce-interval = <20>;
155a3fb9ff3SMarek Vasut			gpios = <&gpio11 2 GPIO_ACTIVE_LOW>;
156a3fb9ff3SMarek Vasut		};
157a3fb9ff3SMarek Vasut	};
158a3fb9ff3SMarek Vasut
159a3fb9ff3SMarek Vasut	leds {
160a3fb9ff3SMarek Vasut		compatible = "gpio-leds";
161a3fb9ff3SMarek Vasut
162a3fb9ff3SMarek Vasut		led17 {
163a3fb9ff3SMarek Vasut			gpios = <&gpio10 10 GPIO_ACTIVE_HIGH>;
164a3fb9ff3SMarek Vasut		};
165a3fb9ff3SMarek Vasut		led18 {
166a3fb9ff3SMarek Vasut			gpios = <&gpio10 11 GPIO_ACTIVE_HIGH>;
167a3fb9ff3SMarek Vasut		};
168a3fb9ff3SMarek Vasut		led19 {
169a3fb9ff3SMarek Vasut			gpios = <&gpio10 12 GPIO_ACTIVE_HIGH>;
170a3fb9ff3SMarek Vasut		};
171a3fb9ff3SMarek Vasut		led20 {
172a3fb9ff3SMarek Vasut			gpios = <&gpio10 23 GPIO_ACTIVE_HIGH>;
173a3fb9ff3SMarek Vasut		};
174a3fb9ff3SMarek Vasut	};
175a3fb9ff3SMarek Vasut
176a3fb9ff3SMarek Vasut	vcc_sdhi0: regulator-vcc-sdhi0 {
177a3fb9ff3SMarek Vasut		compatible = "regulator-fixed";
178a3fb9ff3SMarek Vasut
179a3fb9ff3SMarek Vasut		regulator-name = "SDHI0 Vcc";
180a3fb9ff3SMarek Vasut		regulator-min-microvolt = <3300000>;
181a3fb9ff3SMarek Vasut		regulator-max-microvolt = <3300000>;
182a3fb9ff3SMarek Vasut
183a3fb9ff3SMarek Vasut		gpio = <&gpio11 12 GPIO_ACTIVE_HIGH>;
184a3fb9ff3SMarek Vasut		enable-active-high;
185a3fb9ff3SMarek Vasut	};
186a3fb9ff3SMarek Vasut};
187a3fb9ff3SMarek Vasut
188a3fb9ff3SMarek Vasut&extal_clk {
189a3fb9ff3SMarek Vasut	clock-frequency = <20000000>;
190a3fb9ff3SMarek Vasut};
191a3fb9ff3SMarek Vasut
192a3fb9ff3SMarek Vasut&can_clk {
193a3fb9ff3SMarek Vasut	clock-frequency = <48000000>;
194a3fb9ff3SMarek Vasut};
195a3fb9ff3SMarek Vasut
196a3fb9ff3SMarek Vasut&pfc {
197a3fb9ff3SMarek Vasut	scif0_pins: scif0 {
198a3fb9ff3SMarek Vasut		groups = "scif0_data";
199a3fb9ff3SMarek Vasut		function = "scif0";
200a3fb9ff3SMarek Vasut	};
201a3fb9ff3SMarek Vasut
202a3fb9ff3SMarek Vasut	scif3_pins: scif3 {
203a3fb9ff3SMarek Vasut		groups = "scif3_data";
204a3fb9ff3SMarek Vasut		function = "scif3";
205a3fb9ff3SMarek Vasut	};
206a3fb9ff3SMarek Vasut
207a3fb9ff3SMarek Vasut	lan89218_pins: lan89218 {
208a3fb9ff3SMarek Vasut		intc {
209a3fb9ff3SMarek Vasut			groups = "intc_irq0";
210a3fb9ff3SMarek Vasut			function = "intc";
211a3fb9ff3SMarek Vasut		};
212a3fb9ff3SMarek Vasut		lbsc {
213a3fb9ff3SMarek Vasut			groups = "lbsc_ex_cs0";
214a3fb9ff3SMarek Vasut			function = "lbsc";
215a3fb9ff3SMarek Vasut		};
216a3fb9ff3SMarek Vasut	};
217a3fb9ff3SMarek Vasut
218a3fb9ff3SMarek Vasut	can0_pins: can0 {
219a3fb9ff3SMarek Vasut		groups = "can0_data", "can_clk";
220a3fb9ff3SMarek Vasut		function = "can0";
221a3fb9ff3SMarek Vasut	};
222a3fb9ff3SMarek Vasut
223a3fb9ff3SMarek Vasut	sdhi0_pins: sdhi0 {
224a3fb9ff3SMarek Vasut		groups = "sdhi0_data4", "sdhi0_ctrl";
225a3fb9ff3SMarek Vasut		function = "sdhi0";
226a3fb9ff3SMarek Vasut	};
227a3fb9ff3SMarek Vasut
228a3fb9ff3SMarek Vasut	du0_pins: du0 {
229a3fb9ff3SMarek Vasut		groups = "du0_rgb888", "du0_sync", "du0_disp";
230a3fb9ff3SMarek Vasut		function = "du0";
231a3fb9ff3SMarek Vasut	};
232a3fb9ff3SMarek Vasut
233a3fb9ff3SMarek Vasut	du1_pins: du1 {
234a3fb9ff3SMarek Vasut		groups = "du1_rgb666", "du1_sync", "du1_disp";
235a3fb9ff3SMarek Vasut		function = "du1";
236a3fb9ff3SMarek Vasut	};
237a3fb9ff3SMarek Vasut};
238a3fb9ff3SMarek Vasut
239*3b255531SMarek Vasut&rwdt {
240*3b255531SMarek Vasut	timeout-sec = <60>;
241*3b255531SMarek Vasut	status = "okay";
242*3b255531SMarek Vasut};
243*3b255531SMarek Vasut
244a3fb9ff3SMarek Vasut&scif0 {
245a3fb9ff3SMarek Vasut	pinctrl-0 = <&scif0_pins>;
246a3fb9ff3SMarek Vasut	pinctrl-names = "default";
247a3fb9ff3SMarek Vasut
248a3fb9ff3SMarek Vasut	status = "okay";
249a3fb9ff3SMarek Vasut};
250a3fb9ff3SMarek Vasut
251a3fb9ff3SMarek Vasut&scif3 {
252a3fb9ff3SMarek Vasut	pinctrl-0 = <&scif3_pins>;
253a3fb9ff3SMarek Vasut	pinctrl-names = "default";
254a3fb9ff3SMarek Vasut
255a3fb9ff3SMarek Vasut	status = "okay";
256a3fb9ff3SMarek Vasut};
257a3fb9ff3SMarek Vasut
258a3fb9ff3SMarek Vasut&can0 {
259a3fb9ff3SMarek Vasut	pinctrl-0 = <&can0_pins>;
260a3fb9ff3SMarek Vasut	pinctrl-names = "default";
261a3fb9ff3SMarek Vasut
262a3fb9ff3SMarek Vasut	status = "okay";
263a3fb9ff3SMarek Vasut};
264a3fb9ff3SMarek Vasut
265a3fb9ff3SMarek Vasut&sdhi0 {
266a3fb9ff3SMarek Vasut	pinctrl-0 = <&sdhi0_pins>;
267a3fb9ff3SMarek Vasut	pinctrl-names = "default";
268a3fb9ff3SMarek Vasut
269a3fb9ff3SMarek Vasut	vmmc-supply = <&vcc_sdhi0>;
270a3fb9ff3SMarek Vasut	cd-gpios = <&gpio11 11 GPIO_ACTIVE_LOW>;
271a3fb9ff3SMarek Vasut	status = "okay";
272a3fb9ff3SMarek Vasut};
273a3fb9ff3SMarek Vasut
274a3fb9ff3SMarek Vasut&i2c1 {
275a3fb9ff3SMarek Vasut	status = "okay";
276a3fb9ff3SMarek Vasut	clock-frequency = <400000>;
277a3fb9ff3SMarek Vasut
278a3fb9ff3SMarek Vasut	hdmi@39 {
279a3fb9ff3SMarek Vasut		compatible = "adi,adv7511w";
280a3fb9ff3SMarek Vasut		reg = <0x39>;
281a3fb9ff3SMarek Vasut		interrupt-parent = <&irqc>;
282a3fb9ff3SMarek Vasut		interrupts = <3 IRQ_TYPE_EDGE_FALLING>;
283a3fb9ff3SMarek Vasut
284a3fb9ff3SMarek Vasut		adi,input-depth = <8>;
285a3fb9ff3SMarek Vasut		adi,input-colorspace = "rgb";
286a3fb9ff3SMarek Vasut		adi,input-clock = "1x";
287a3fb9ff3SMarek Vasut		adi,input-style = <1>;
288a3fb9ff3SMarek Vasut		adi,input-justification = "evenly";
289a3fb9ff3SMarek Vasut
290a3fb9ff3SMarek Vasut		ports {
291a3fb9ff3SMarek Vasut			#address-cells = <1>;
292a3fb9ff3SMarek Vasut			#size-cells = <0>;
293a3fb9ff3SMarek Vasut
294a3fb9ff3SMarek Vasut			port@0 {
295a3fb9ff3SMarek Vasut				reg = <0>;
296a3fb9ff3SMarek Vasut				adv7511_in: endpoint {
297a3fb9ff3SMarek Vasut					remote-endpoint = <&du_out_rgb0>;
298a3fb9ff3SMarek Vasut				};
299a3fb9ff3SMarek Vasut			};
300a3fb9ff3SMarek Vasut
301a3fb9ff3SMarek Vasut			port@1 {
302a3fb9ff3SMarek Vasut				reg = <1>;
303a3fb9ff3SMarek Vasut				adv7511_out: endpoint {
304a3fb9ff3SMarek Vasut					remote-endpoint = <&hdmi_con>;
305a3fb9ff3SMarek Vasut				};
306a3fb9ff3SMarek Vasut			};
307a3fb9ff3SMarek Vasut		};
308a3fb9ff3SMarek Vasut	};
309a3fb9ff3SMarek Vasut};
310a3fb9ff3SMarek Vasut
311a3fb9ff3SMarek Vasut&du {
312a3fb9ff3SMarek Vasut	pinctrl-0 = <&du0_pins &du1_pins>;
313a3fb9ff3SMarek Vasut	pinctrl-names = "default";
314a3fb9ff3SMarek Vasut
315a3fb9ff3SMarek Vasut	clocks = <&cpg CPG_MOD 724>, <&cpg CPG_MOD 723>, <&x1_clk>, <&x2_clk>;
316a3fb9ff3SMarek Vasut	clock-names = "du.0", "du.1", "dclkin.0", "dclkin.1";
317a3fb9ff3SMarek Vasut	status = "okay";
318a3fb9ff3SMarek Vasut
319a3fb9ff3SMarek Vasut	ports {
320a3fb9ff3SMarek Vasut		port@0 {
321a3fb9ff3SMarek Vasut			endpoint {
322a3fb9ff3SMarek Vasut				remote-endpoint = <&adv7511_in>;
323a3fb9ff3SMarek Vasut			};
324a3fb9ff3SMarek Vasut		};
325a3fb9ff3SMarek Vasut		port@1 {
326a3fb9ff3SMarek Vasut			endpoint {
327a3fb9ff3SMarek Vasut				remote-endpoint = <&adv7123_in>;
328a3fb9ff3SMarek Vasut			};
329a3fb9ff3SMarek Vasut		};
330a3fb9ff3SMarek Vasut	};
331a3fb9ff3SMarek Vasut};
332