xref: /linux/arch/arm/boot/dts/renesas/r8a7792-blanche.dts (revision fcc79e1714e8c2b8e216dc3149812edd37884eef)
1// SPDX-License-Identifier: GPL-2.0
2/*
3 * Device Tree Source for the Blanche board
4 *
5 * Copyright (C) 2014 Renesas Electronics Corporation
6 * Copyright (C) 2016 Cogent  Embedded, Inc.
7 */
8
9/dts-v1/;
10#include "r8a7792.dtsi"
11#include <dt-bindings/gpio/gpio.h>
12#include <dt-bindings/input/input.h>
13
14/ {
15	model = "Blanche";
16	compatible = "renesas,blanche", "renesas,r8a7792";
17
18	aliases {
19		serial0 = &scif0;
20		serial1 = &scif3;
21	};
22
23	chosen {
24		bootargs = "ignore_loglevel rw root=/dev/nfs ip=on";
25		stdout-path = "serial0:115200n8";
26	};
27
28	memory@40000000 {
29		device_type = "memory";
30		reg = <0 0x40000000 0 0x40000000>;
31	};
32
33	d1_8v: regulator-1v8 {
34		compatible = "regulator-fixed";
35		regulator-name = "D1.8V";
36		regulator-min-microvolt = <1800000>;
37		regulator-max-microvolt = <1800000>;
38		regulator-boot-on;
39		regulator-always-on;
40	};
41
42	d3_3v: regulator-3v3 {
43		compatible = "regulator-fixed";
44		regulator-name = "D3.3V";
45		regulator-min-microvolt = <3300000>;
46		regulator-max-microvolt = <3300000>;
47		regulator-boot-on;
48		regulator-always-on;
49	};
50
51	vga-encoder {
52		compatible = "adi,adv7123";
53
54		ports {
55			#address-cells = <1>;
56			#size-cells = <0>;
57
58			port@0 {
59				reg = <0>;
60				adv7123_in: endpoint {
61					remote-endpoint = <&du_out_rgb1>;
62				};
63			};
64			port@1 {
65				reg = <1>;
66				adv7123_out: endpoint {
67					remote-endpoint = <&vga_in>;
68				};
69			};
70		};
71	};
72
73	hdmi-out {
74		compatible = "hdmi-connector";
75		type = "a";
76
77		port {
78			hdmi_con: endpoint {
79				remote-endpoint = <&adv7511_out>;
80			};
81		};
82	};
83
84	vga {
85		compatible = "vga-connector";
86
87		port {
88			vga_in: endpoint {
89				remote-endpoint = <&adv7123_out>;
90			};
91		};
92	};
93
94	x1_clk: x1 {
95		compatible = "fixed-clock";
96		#clock-cells = <0>;
97		clock-frequency = <74250000>;
98	};
99
100	x2_clk: x2 {
101		compatible = "fixed-clock";
102		#clock-cells = <0>;
103		clock-frequency = <65000000>;
104	};
105
106	keyboard {
107		compatible = "gpio-keys";
108
109		pinctrl-0 = <&keyboard_pins>;
110		pinctrl-names = "default";
111
112		key-1 {
113			linux,code = <KEY_1>;
114			label = "SW2-1";
115			wakeup-source;
116			debounce-interval = <20>;
117			gpios = <&gpio3 10 GPIO_ACTIVE_LOW>;
118		};
119		key-2 {
120			linux,code = <KEY_2>;
121			label = "SW2-2";
122			wakeup-source;
123			debounce-interval = <20>;
124			gpios = <&gpio3 11 GPIO_ACTIVE_LOW>;
125		};
126		key-3 {
127			linux,code = <KEY_3>;
128			label = "SW2-3";
129			wakeup-source;
130			debounce-interval = <20>;
131			gpios = <&gpio3 12 GPIO_ACTIVE_LOW>;
132		};
133		key-4 {
134			linux,code = <KEY_4>;
135			label = "SW2-4";
136			wakeup-source;
137			debounce-interval = <20>;
138			gpios = <&gpio3 15 GPIO_ACTIVE_LOW>;
139		};
140		key-a {
141			linux,code = <KEY_A>;
142			label = "SW24";
143			wakeup-source;
144			debounce-interval = <20>;
145			gpios = <&gpio3 20 GPIO_ACTIVE_LOW>;
146		};
147		key-b {
148			linux,code = <KEY_B>;
149			label = "SW25";
150			wakeup-source;
151			debounce-interval = <20>;
152			gpios = <&gpio11 2 GPIO_ACTIVE_LOW>;
153		};
154	};
155
156	leds {
157		compatible = "gpio-leds";
158
159		led17 {
160			gpios = <&gpio10 10 GPIO_ACTIVE_HIGH>;
161		};
162		led18 {
163			gpios = <&gpio10 11 GPIO_ACTIVE_HIGH>;
164		};
165		led19 {
166			gpios = <&gpio10 12 GPIO_ACTIVE_HIGH>;
167		};
168		led20 {
169			gpios = <&gpio10 23 GPIO_ACTIVE_HIGH>;
170		};
171	};
172
173	vcc_sdhi0: regulator-vcc-sdhi0 {
174		compatible = "regulator-fixed";
175
176		regulator-name = "SDHI0 Vcc";
177		regulator-min-microvolt = <3300000>;
178		regulator-max-microvolt = <3300000>;
179
180		gpio = <&gpio11 12 GPIO_ACTIVE_HIGH>;
181		enable-active-high;
182	};
183};
184
185&extal_clk {
186	clock-frequency = <20000000>;
187};
188
189&can_clk {
190	clock-frequency = <48000000>;
191};
192
193&lbsc {
194	flash@0 {
195		compatible = "cfi-flash";
196		reg = <0x00000000 0x04000000>;
197		pinctrl-0 = <&flash_pins>;
198		pinctrl-names = "default";
199		bank-width = <2>;
200
201		partitions {
202			compatible = "fixed-partitions";
203			#address-cells = <1>;
204			#size-cells = <1>;
205
206			partition@0 {
207				label = "uboot";
208				reg = <0x00000000 0x00040000>;
209				read-only;
210			};
211			partition@40000 {
212				label = "uboot-env";
213				reg = <0x00040000 0x00040000>;
214				read-only;
215			};
216			partition@80000 {
217				label = "flash";
218				reg = <0x00080000 0x03f80000>;
219			};
220		};
221	};
222
223	ethernet@18000000 {
224		compatible = "smsc,lan89218", "smsc,lan9115";
225		reg = <0x18000000 0x100>;
226		phy-mode = "mii";
227		interrupts-extended = <&irqc 0 IRQ_TYPE_EDGE_FALLING>;
228		smsc,irq-push-pull;
229		reg-io-width = <4>;
230		vddvario-supply = <&d3_3v>;
231		vdd33a-supply = <&d3_3v>;
232
233		pinctrl-0 = <&lan89218_pins>;
234		pinctrl-names = "default";
235	};
236};
237
238&pfc {
239	scif0_pins: scif0 {
240		groups = "scif0_data";
241		function = "scif0";
242	};
243
244	scif3_pins: scif3 {
245		groups = "scif3_data";
246		function = "scif3";
247	};
248
249	lan89218_pins: lan89218 {
250		intc {
251			groups = "intc_irq0";
252			function = "intc";
253		};
254		lbsc {
255			groups = "lbsc_ex_cs0";
256			function = "lbsc";
257		};
258	};
259
260	can0_pins: can0 {
261		groups = "can0_data", "can_clk";
262		function = "can0";
263	};
264
265	sdhi0_pins: sdhi0 {
266		groups = "sdhi0_data4", "sdhi0_ctrl";
267		function = "sdhi0";
268	};
269
270	du0_pins: du0 {
271		groups = "du0_rgb888", "du0_sync", "du0_disp";
272		function = "du0";
273	};
274
275	du1_pins: du1 {
276		groups = "du1_rgb666", "du1_sync", "du1_disp";
277		function = "du1";
278	};
279
280	flash_pins: flash {
281		groups = "lbsc_cs0";
282		function = "lbsc";
283	};
284
285	keyboard_pins: keyboard {
286		pins = "GP_3_10", "GP_3_11", "GP_3_12", "GP_3_15", "GP_11_2";
287		bias-pull-up;
288	};
289
290	pmic_irq_pins: pmicirq {
291		groups = "intc_irq2";
292		function = "intc";
293	};
294};
295
296&rwdt {
297	timeout-sec = <60>;
298	status = "okay";
299};
300
301&scif0 {
302	pinctrl-0 = <&scif0_pins>;
303	pinctrl-names = "default";
304
305	status = "okay";
306};
307
308&scif3 {
309	pinctrl-0 = <&scif3_pins>;
310	pinctrl-names = "default";
311
312	status = "okay";
313};
314
315&can0 {
316	pinctrl-0 = <&can0_pins>;
317	pinctrl-names = "default";
318
319	status = "okay";
320};
321
322&sdhi0 {
323	pinctrl-0 = <&sdhi0_pins>;
324	pinctrl-names = "default";
325
326	vmmc-supply = <&vcc_sdhi0>;
327	cd-gpios = <&gpio11 11 GPIO_ACTIVE_LOW>;
328	status = "okay";
329};
330
331&i2c1 {
332	status = "okay";
333	clock-frequency = <400000>;
334
335	hdmi@39 {
336		compatible = "adi,adv7511w";
337		reg = <0x39>;
338		interrupts-extended = <&irqc 3 IRQ_TYPE_EDGE_FALLING>;
339
340		avdd-supply = <&d1_8v>;
341		dvdd-supply = <&d1_8v>;
342		pvdd-supply = <&d1_8v>;
343		dvdd-3v-supply = <&d3_3v>;
344		bgvdd-supply = <&d1_8v>;
345
346		adi,input-depth = <8>;
347		adi,input-colorspace = "rgb";
348		adi,input-clock = "1x";
349
350		ports {
351			#address-cells = <1>;
352			#size-cells = <0>;
353
354			port@0 {
355				reg = <0>;
356				adv7511_in: endpoint {
357					remote-endpoint = <&du_out_rgb0>;
358				};
359			};
360
361			port@1 {
362				reg = <1>;
363				adv7511_out: endpoint {
364					remote-endpoint = <&hdmi_con>;
365				};
366			};
367		};
368	};
369};
370
371&iic3 {
372	status = "okay";
373
374	pmic@58 {
375		compatible = "dlg,da9063";
376		reg = <0x58>;
377		pinctrl-names = "default";
378		pinctrl-0 = <&pmic_irq_pins>;
379		interrupts-extended = <&irqc 2 IRQ_TYPE_LEVEL_LOW>;
380		interrupt-controller;
381		#interrupt-cells = <2>;
382
383		rtc {
384			compatible = "dlg,da9063-rtc";
385		};
386
387		watchdog {
388			compatible = "dlg,da9063-watchdog";
389		};
390	};
391};
392
393&du {
394	pinctrl-0 = <&du0_pins>, <&du1_pins>;
395	pinctrl-names = "default";
396
397	clocks = <&cpg CPG_MOD 724>, <&cpg CPG_MOD 723>, <&x1_clk>, <&x2_clk>;
398	clock-names = "du.0", "du.1", "dclkin.0", "dclkin.1";
399	status = "okay";
400
401	ports {
402		port@0 {
403			endpoint {
404				remote-endpoint = <&adv7511_in>;
405			};
406		};
407		port@1 {
408			endpoint {
409				remote-endpoint = <&adv7123_in>;
410			};
411		};
412	};
413};
414