xref: /linux/arch/arm/boot/dts/renesas/r8a7792-blanche.dts (revision 79790b6818e96c58fe2bffee1b418c16e64e7b80)
1724ba675SRob Herring// SPDX-License-Identifier: GPL-2.0
2724ba675SRob Herring/*
3724ba675SRob Herring * Device Tree Source for the Blanche board
4724ba675SRob Herring *
5724ba675SRob Herring * Copyright (C) 2014 Renesas Electronics Corporation
6724ba675SRob Herring * Copyright (C) 2016 Cogent  Embedded, Inc.
7724ba675SRob Herring */
8724ba675SRob Herring
9724ba675SRob Herring/dts-v1/;
10724ba675SRob Herring#include "r8a7792.dtsi"
11724ba675SRob Herring#include <dt-bindings/gpio/gpio.h>
12724ba675SRob Herring#include <dt-bindings/input/input.h>
13724ba675SRob Herring
14724ba675SRob Herring/ {
15724ba675SRob Herring	model = "Blanche";
16724ba675SRob Herring	compatible = "renesas,blanche", "renesas,r8a7792";
17724ba675SRob Herring
18724ba675SRob Herring	aliases {
19724ba675SRob Herring		serial0 = &scif0;
20724ba675SRob Herring		serial1 = &scif3;
21724ba675SRob Herring	};
22724ba675SRob Herring
23724ba675SRob Herring	chosen {
24724ba675SRob Herring		bootargs = "ignore_loglevel rw root=/dev/nfs ip=on";
25724ba675SRob Herring		stdout-path = "serial0:115200n8";
26724ba675SRob Herring	};
27724ba675SRob Herring
28724ba675SRob Herring	memory@40000000 {
29724ba675SRob Herring		device_type = "memory";
30724ba675SRob Herring		reg = <0 0x40000000 0 0x40000000>;
31724ba675SRob Herring	};
32724ba675SRob Herring
33cc75154cSGeert Uytterhoeven	d1_8v: regulator-1v8 {
34cc75154cSGeert Uytterhoeven		compatible = "regulator-fixed";
35cc75154cSGeert Uytterhoeven		regulator-name = "D1.8V";
36cc75154cSGeert Uytterhoeven		regulator-min-microvolt = <1800000>;
37cc75154cSGeert Uytterhoeven		regulator-max-microvolt = <1800000>;
38cc75154cSGeert Uytterhoeven		regulator-boot-on;
39cc75154cSGeert Uytterhoeven		regulator-always-on;
40cc75154cSGeert Uytterhoeven	};
41cc75154cSGeert Uytterhoeven
42724ba675SRob Herring	d3_3v: regulator-3v3 {
43724ba675SRob Herring		compatible = "regulator-fixed";
44724ba675SRob Herring		regulator-name = "D3.3V";
45724ba675SRob Herring		regulator-min-microvolt = <3300000>;
46724ba675SRob Herring		regulator-max-microvolt = <3300000>;
47724ba675SRob Herring		regulator-boot-on;
48724ba675SRob Herring		regulator-always-on;
49724ba675SRob Herring	};
50724ba675SRob Herring
51724ba675SRob Herring	vga-encoder {
52724ba675SRob Herring		compatible = "adi,adv7123";
53724ba675SRob Herring
54724ba675SRob Herring		ports {
55724ba675SRob Herring			#address-cells = <1>;
56724ba675SRob Herring			#size-cells = <0>;
57724ba675SRob Herring
58724ba675SRob Herring			port@0 {
59724ba675SRob Herring				reg = <0>;
60724ba675SRob Herring				adv7123_in: endpoint {
61724ba675SRob Herring					remote-endpoint = <&du_out_rgb1>;
62724ba675SRob Herring				};
63724ba675SRob Herring			};
64724ba675SRob Herring			port@1 {
65724ba675SRob Herring				reg = <1>;
66724ba675SRob Herring				adv7123_out: endpoint {
67724ba675SRob Herring					remote-endpoint = <&vga_in>;
68724ba675SRob Herring				};
69724ba675SRob Herring			};
70724ba675SRob Herring		};
71724ba675SRob Herring	};
72724ba675SRob Herring
73724ba675SRob Herring	hdmi-out {
74724ba675SRob Herring		compatible = "hdmi-connector";
75724ba675SRob Herring		type = "a";
76724ba675SRob Herring
77724ba675SRob Herring		port {
78724ba675SRob Herring			hdmi_con: endpoint {
79724ba675SRob Herring				remote-endpoint = <&adv7511_out>;
80724ba675SRob Herring			};
81724ba675SRob Herring		};
82724ba675SRob Herring	};
83724ba675SRob Herring
84724ba675SRob Herring	vga {
85724ba675SRob Herring		compatible = "vga-connector";
86724ba675SRob Herring
87724ba675SRob Herring		port {
88724ba675SRob Herring			vga_in: endpoint {
89724ba675SRob Herring				remote-endpoint = <&adv7123_out>;
90724ba675SRob Herring			};
91724ba675SRob Herring		};
92724ba675SRob Herring	};
93724ba675SRob Herring
94724ba675SRob Herring	x1_clk: x1 {
95724ba675SRob Herring		compatible = "fixed-clock";
96724ba675SRob Herring		#clock-cells = <0>;
97724ba675SRob Herring		clock-frequency = <74250000>;
98724ba675SRob Herring	};
99724ba675SRob Herring
100724ba675SRob Herring	x2_clk: x2 {
101724ba675SRob Herring		compatible = "fixed-clock";
102724ba675SRob Herring		#clock-cells = <0>;
103724ba675SRob Herring		clock-frequency = <65000000>;
104724ba675SRob Herring	};
105724ba675SRob Herring
106724ba675SRob Herring	keyboard {
107724ba675SRob Herring		compatible = "gpio-keys";
108724ba675SRob Herring
109724ba675SRob Herring		pinctrl-0 = <&keyboard_pins>;
110724ba675SRob Herring		pinctrl-names = "default";
111724ba675SRob Herring
112724ba675SRob Herring		key-1 {
113724ba675SRob Herring			linux,code = <KEY_1>;
114724ba675SRob Herring			label = "SW2-1";
115724ba675SRob Herring			wakeup-source;
116724ba675SRob Herring			debounce-interval = <20>;
117724ba675SRob Herring			gpios = <&gpio3 10 GPIO_ACTIVE_LOW>;
118724ba675SRob Herring		};
119724ba675SRob Herring		key-2 {
120724ba675SRob Herring			linux,code = <KEY_2>;
121724ba675SRob Herring			label = "SW2-2";
122724ba675SRob Herring			wakeup-source;
123724ba675SRob Herring			debounce-interval = <20>;
124724ba675SRob Herring			gpios = <&gpio3 11 GPIO_ACTIVE_LOW>;
125724ba675SRob Herring		};
126724ba675SRob Herring		key-3 {
127724ba675SRob Herring			linux,code = <KEY_3>;
128724ba675SRob Herring			label = "SW2-3";
129724ba675SRob Herring			wakeup-source;
130724ba675SRob Herring			debounce-interval = <20>;
131724ba675SRob Herring			gpios = <&gpio3 12 GPIO_ACTIVE_LOW>;
132724ba675SRob Herring		};
133724ba675SRob Herring		key-4 {
134724ba675SRob Herring			linux,code = <KEY_4>;
135724ba675SRob Herring			label = "SW2-4";
136724ba675SRob Herring			wakeup-source;
137724ba675SRob Herring			debounce-interval = <20>;
138724ba675SRob Herring			gpios = <&gpio3 15 GPIO_ACTIVE_LOW>;
139724ba675SRob Herring		};
140724ba675SRob Herring		key-a {
141724ba675SRob Herring			linux,code = <KEY_A>;
142724ba675SRob Herring			label = "SW24";
143724ba675SRob Herring			wakeup-source;
144724ba675SRob Herring			debounce-interval = <20>;
145724ba675SRob Herring			gpios = <&gpio3 20 GPIO_ACTIVE_LOW>;
146724ba675SRob Herring		};
147724ba675SRob Herring		key-b {
148724ba675SRob Herring			linux,code = <KEY_B>;
149724ba675SRob Herring			label = "SW25";
150724ba675SRob Herring			wakeup-source;
151724ba675SRob Herring			debounce-interval = <20>;
152724ba675SRob Herring			gpios = <&gpio11 2 GPIO_ACTIVE_LOW>;
153724ba675SRob Herring		};
154724ba675SRob Herring	};
155724ba675SRob Herring
156724ba675SRob Herring	leds {
157724ba675SRob Herring		compatible = "gpio-leds";
158724ba675SRob Herring
159724ba675SRob Herring		led17 {
160724ba675SRob Herring			gpios = <&gpio10 10 GPIO_ACTIVE_HIGH>;
161724ba675SRob Herring		};
162724ba675SRob Herring		led18 {
163724ba675SRob Herring			gpios = <&gpio10 11 GPIO_ACTIVE_HIGH>;
164724ba675SRob Herring		};
165724ba675SRob Herring		led19 {
166724ba675SRob Herring			gpios = <&gpio10 12 GPIO_ACTIVE_HIGH>;
167724ba675SRob Herring		};
168724ba675SRob Herring		led20 {
169724ba675SRob Herring			gpios = <&gpio10 23 GPIO_ACTIVE_HIGH>;
170724ba675SRob Herring		};
171724ba675SRob Herring	};
172724ba675SRob Herring
173724ba675SRob Herring	vcc_sdhi0: regulator-vcc-sdhi0 {
174724ba675SRob Herring		compatible = "regulator-fixed";
175724ba675SRob Herring
176724ba675SRob Herring		regulator-name = "SDHI0 Vcc";
177724ba675SRob Herring		regulator-min-microvolt = <3300000>;
178724ba675SRob Herring		regulator-max-microvolt = <3300000>;
179724ba675SRob Herring
180724ba675SRob Herring		gpio = <&gpio11 12 GPIO_ACTIVE_HIGH>;
181724ba675SRob Herring		enable-active-high;
182724ba675SRob Herring	};
183724ba675SRob Herring};
184724ba675SRob Herring
185724ba675SRob Herring&extal_clk {
186724ba675SRob Herring	clock-frequency = <20000000>;
187724ba675SRob Herring};
188724ba675SRob Herring
189724ba675SRob Herring&can_clk {
190724ba675SRob Herring	clock-frequency = <48000000>;
191724ba675SRob Herring};
192724ba675SRob Herring
193d6c2de6bSGeert Uytterhoeven&lbsc {
194d758ec1cSGeert Uytterhoeven	flash@0 {
195d758ec1cSGeert Uytterhoeven		compatible = "cfi-flash";
196d758ec1cSGeert Uytterhoeven		reg = <0x00000000 0x04000000>;
197d758ec1cSGeert Uytterhoeven		pinctrl-0 = <&flash_pins>;
198d758ec1cSGeert Uytterhoeven		pinctrl-names = "default";
199d758ec1cSGeert Uytterhoeven		bank-width = <2>;
200d758ec1cSGeert Uytterhoeven
201d758ec1cSGeert Uytterhoeven		partitions {
202d758ec1cSGeert Uytterhoeven			compatible = "fixed-partitions";
203d758ec1cSGeert Uytterhoeven			#address-cells = <1>;
204d758ec1cSGeert Uytterhoeven			#size-cells = <1>;
205d758ec1cSGeert Uytterhoeven
206d758ec1cSGeert Uytterhoeven			partition@0 {
207d758ec1cSGeert Uytterhoeven				label = "uboot";
208d758ec1cSGeert Uytterhoeven				reg = <0x00000000 0x00040000>;
209d758ec1cSGeert Uytterhoeven				read-only;
210d758ec1cSGeert Uytterhoeven			};
211d758ec1cSGeert Uytterhoeven			partition@40000 {
212d758ec1cSGeert Uytterhoeven				label = "uboot-env";
213d758ec1cSGeert Uytterhoeven				reg = <0x00040000 0x00040000>;
214d758ec1cSGeert Uytterhoeven				read-only;
215d758ec1cSGeert Uytterhoeven			};
216d758ec1cSGeert Uytterhoeven			partition@80000 {
217d758ec1cSGeert Uytterhoeven				label = "flash";
218d758ec1cSGeert Uytterhoeven				reg = <0x00080000 0x03f80000>;
219d758ec1cSGeert Uytterhoeven			};
220d758ec1cSGeert Uytterhoeven		};
221d758ec1cSGeert Uytterhoeven	};
222d758ec1cSGeert Uytterhoeven
223d6c2de6bSGeert Uytterhoeven	ethernet@18000000 {
224d6c2de6bSGeert Uytterhoeven		compatible = "smsc,lan89218", "smsc,lan9115";
225d6c2de6bSGeert Uytterhoeven		reg = <0x18000000 0x100>;
226d6c2de6bSGeert Uytterhoeven		phy-mode = "mii";
227d6c2de6bSGeert Uytterhoeven		interrupt-parent = <&irqc>;
228d6c2de6bSGeert Uytterhoeven		interrupts = <0 IRQ_TYPE_EDGE_FALLING>;
229d6c2de6bSGeert Uytterhoeven		smsc,irq-push-pull;
230d6c2de6bSGeert Uytterhoeven		reg-io-width = <4>;
231d6c2de6bSGeert Uytterhoeven		vddvario-supply = <&d3_3v>;
232d6c2de6bSGeert Uytterhoeven		vdd33a-supply = <&d3_3v>;
233d6c2de6bSGeert Uytterhoeven
234d6c2de6bSGeert Uytterhoeven		pinctrl-0 = <&lan89218_pins>;
235d6c2de6bSGeert Uytterhoeven		pinctrl-names = "default";
236d6c2de6bSGeert Uytterhoeven	};
237d6c2de6bSGeert Uytterhoeven};
238d6c2de6bSGeert Uytterhoeven
239724ba675SRob Herring&pfc {
240724ba675SRob Herring	scif0_pins: scif0 {
241724ba675SRob Herring		groups = "scif0_data";
242724ba675SRob Herring		function = "scif0";
243724ba675SRob Herring	};
244724ba675SRob Herring
245724ba675SRob Herring	scif3_pins: scif3 {
246724ba675SRob Herring		groups = "scif3_data";
247724ba675SRob Herring		function = "scif3";
248724ba675SRob Herring	};
249724ba675SRob Herring
250724ba675SRob Herring	lan89218_pins: lan89218 {
251724ba675SRob Herring		intc {
252724ba675SRob Herring			groups = "intc_irq0";
253724ba675SRob Herring			function = "intc";
254724ba675SRob Herring		};
255724ba675SRob Herring		lbsc {
256724ba675SRob Herring			groups = "lbsc_ex_cs0";
257724ba675SRob Herring			function = "lbsc";
258724ba675SRob Herring		};
259724ba675SRob Herring	};
260724ba675SRob Herring
261724ba675SRob Herring	can0_pins: can0 {
262724ba675SRob Herring		groups = "can0_data", "can_clk";
263724ba675SRob Herring		function = "can0";
264724ba675SRob Herring	};
265724ba675SRob Herring
266724ba675SRob Herring	sdhi0_pins: sdhi0 {
267724ba675SRob Herring		groups = "sdhi0_data4", "sdhi0_ctrl";
268724ba675SRob Herring		function = "sdhi0";
269724ba675SRob Herring	};
270724ba675SRob Herring
271724ba675SRob Herring	du0_pins: du0 {
272724ba675SRob Herring		groups = "du0_rgb888", "du0_sync", "du0_disp";
273724ba675SRob Herring		function = "du0";
274724ba675SRob Herring	};
275724ba675SRob Herring
276724ba675SRob Herring	du1_pins: du1 {
277724ba675SRob Herring		groups = "du1_rgb666", "du1_sync", "du1_disp";
278724ba675SRob Herring		function = "du1";
279724ba675SRob Herring	};
280724ba675SRob Herring
281d758ec1cSGeert Uytterhoeven	flash_pins: flash {
282d758ec1cSGeert Uytterhoeven		groups = "lbsc_cs0";
283d758ec1cSGeert Uytterhoeven		function = "lbsc";
284d758ec1cSGeert Uytterhoeven	};
285d758ec1cSGeert Uytterhoeven
286724ba675SRob Herring	keyboard_pins: keyboard {
287edc6ef02SGeert Uytterhoeven		pins = "GP_3_10", "GP_3_11", "GP_3_12", "GP_3_15", "GP_11_2";
288724ba675SRob Herring		bias-pull-up;
289724ba675SRob Herring	};
290724ba675SRob Herring
291724ba675SRob Herring	pmic_irq_pins: pmicirq {
292724ba675SRob Herring		groups = "intc_irq2";
293724ba675SRob Herring		function = "intc";
294724ba675SRob Herring	};
295724ba675SRob Herring};
296724ba675SRob Herring
297724ba675SRob Herring&rwdt {
298724ba675SRob Herring	timeout-sec = <60>;
299724ba675SRob Herring	status = "okay";
300724ba675SRob Herring};
301724ba675SRob Herring
302724ba675SRob Herring&scif0 {
303724ba675SRob Herring	pinctrl-0 = <&scif0_pins>;
304724ba675SRob Herring	pinctrl-names = "default";
305724ba675SRob Herring
306724ba675SRob Herring	status = "okay";
307724ba675SRob Herring};
308724ba675SRob Herring
309724ba675SRob Herring&scif3 {
310724ba675SRob Herring	pinctrl-0 = <&scif3_pins>;
311724ba675SRob Herring	pinctrl-names = "default";
312724ba675SRob Herring
313724ba675SRob Herring	status = "okay";
314724ba675SRob Herring};
315724ba675SRob Herring
316724ba675SRob Herring&can0 {
317724ba675SRob Herring	pinctrl-0 = <&can0_pins>;
318724ba675SRob Herring	pinctrl-names = "default";
319724ba675SRob Herring
320724ba675SRob Herring	status = "okay";
321724ba675SRob Herring};
322724ba675SRob Herring
323724ba675SRob Herring&sdhi0 {
324724ba675SRob Herring	pinctrl-0 = <&sdhi0_pins>;
325724ba675SRob Herring	pinctrl-names = "default";
326724ba675SRob Herring
327724ba675SRob Herring	vmmc-supply = <&vcc_sdhi0>;
328724ba675SRob Herring	cd-gpios = <&gpio11 11 GPIO_ACTIVE_LOW>;
329724ba675SRob Herring	status = "okay";
330724ba675SRob Herring};
331724ba675SRob Herring
332724ba675SRob Herring&i2c1 {
333724ba675SRob Herring	status = "okay";
334724ba675SRob Herring	clock-frequency = <400000>;
335724ba675SRob Herring
336724ba675SRob Herring	hdmi@39 {
337724ba675SRob Herring		compatible = "adi,adv7511w";
338724ba675SRob Herring		reg = <0x39>;
339724ba675SRob Herring		interrupt-parent = <&irqc>;
340724ba675SRob Herring		interrupts = <3 IRQ_TYPE_EDGE_FALLING>;
341724ba675SRob Herring
342cc75154cSGeert Uytterhoeven		avdd-supply = <&d1_8v>;
343cc75154cSGeert Uytterhoeven		dvdd-supply = <&d1_8v>;
344cc75154cSGeert Uytterhoeven		pvdd-supply = <&d1_8v>;
345cc75154cSGeert Uytterhoeven		dvdd-3v-supply = <&d3_3v>;
346cc75154cSGeert Uytterhoeven		bgvdd-supply = <&d1_8v>;
347cc75154cSGeert Uytterhoeven
348724ba675SRob Herring		adi,input-depth = <8>;
349724ba675SRob Herring		adi,input-colorspace = "rgb";
350724ba675SRob Herring		adi,input-clock = "1x";
351724ba675SRob Herring
352724ba675SRob Herring		ports {
353724ba675SRob Herring			#address-cells = <1>;
354724ba675SRob Herring			#size-cells = <0>;
355724ba675SRob Herring
356724ba675SRob Herring			port@0 {
357724ba675SRob Herring				reg = <0>;
358724ba675SRob Herring				adv7511_in: endpoint {
359724ba675SRob Herring					remote-endpoint = <&du_out_rgb0>;
360724ba675SRob Herring				};
361724ba675SRob Herring			};
362724ba675SRob Herring
363724ba675SRob Herring			port@1 {
364724ba675SRob Herring				reg = <1>;
365724ba675SRob Herring				adv7511_out: endpoint {
366724ba675SRob Herring					remote-endpoint = <&hdmi_con>;
367724ba675SRob Herring				};
368724ba675SRob Herring			};
369724ba675SRob Herring		};
370724ba675SRob Herring	};
371724ba675SRob Herring};
372724ba675SRob Herring
373724ba675SRob Herring&iic3 {
374724ba675SRob Herring	status = "okay";
375724ba675SRob Herring
376724ba675SRob Herring	pmic@58 {
377724ba675SRob Herring		compatible = "dlg,da9063";
378724ba675SRob Herring		reg = <0x58>;
379724ba675SRob Herring		pinctrl-names = "default";
380724ba675SRob Herring		pinctrl-0 = <&pmic_irq_pins>;
381724ba675SRob Herring		interrupt-parent = <&irqc>;
382724ba675SRob Herring		interrupts = <2 IRQ_TYPE_LEVEL_LOW>;
383724ba675SRob Herring		interrupt-controller;
384*8c987693SGeert Uytterhoeven		#interrupt-cells = <2>;
385724ba675SRob Herring
386724ba675SRob Herring		rtc {
387724ba675SRob Herring			compatible = "dlg,da9063-rtc";
388724ba675SRob Herring		};
389724ba675SRob Herring
390724ba675SRob Herring		watchdog {
391724ba675SRob Herring			compatible = "dlg,da9063-watchdog";
392724ba675SRob Herring		};
393724ba675SRob Herring	};
394724ba675SRob Herring};
395724ba675SRob Herring
396724ba675SRob Herring&du {
397724ba675SRob Herring	pinctrl-0 = <&du0_pins>, <&du1_pins>;
398724ba675SRob Herring	pinctrl-names = "default";
399724ba675SRob Herring
400724ba675SRob Herring	clocks = <&cpg CPG_MOD 724>, <&cpg CPG_MOD 723>, <&x1_clk>, <&x2_clk>;
401724ba675SRob Herring	clock-names = "du.0", "du.1", "dclkin.0", "dclkin.1";
402724ba675SRob Herring	status = "okay";
403724ba675SRob Herring
404724ba675SRob Herring	ports {
405724ba675SRob Herring		port@0 {
406724ba675SRob Herring			endpoint {
407724ba675SRob Herring				remote-endpoint = <&adv7511_in>;
408724ba675SRob Herring			};
409724ba675SRob Herring		};
410724ba675SRob Herring		port@1 {
411724ba675SRob Herring			endpoint {
412724ba675SRob Herring				remote-endpoint = <&adv7123_in>;
413724ba675SRob Herring			};
414724ba675SRob Herring		};
415724ba675SRob Herring	};
416724ba675SRob Herring};
417