xref: /linux/arch/arm/boot/dts/renesas/r8a7792-blanche.dts (revision 8e07e0e3964ca4e23ce7b68e2096fe660a888942)
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	d3_3v: regulator-3v3 {
34		compatible = "regulator-fixed";
35		regulator-name = "D3.3V";
36		regulator-min-microvolt = <3300000>;
37		regulator-max-microvolt = <3300000>;
38		regulator-boot-on;
39		regulator-always-on;
40	};
41
42	vga-encoder {
43		compatible = "adi,adv7123";
44
45		ports {
46			#address-cells = <1>;
47			#size-cells = <0>;
48
49			port@0 {
50				reg = <0>;
51				adv7123_in: endpoint {
52					remote-endpoint = <&du_out_rgb1>;
53				};
54			};
55			port@1 {
56				reg = <1>;
57				adv7123_out: endpoint {
58					remote-endpoint = <&vga_in>;
59				};
60			};
61		};
62	};
63
64	hdmi-out {
65		compatible = "hdmi-connector";
66		type = "a";
67
68		port {
69			hdmi_con: endpoint {
70				remote-endpoint = <&adv7511_out>;
71			};
72		};
73	};
74
75	vga {
76		compatible = "vga-connector";
77
78		port {
79			vga_in: endpoint {
80				remote-endpoint = <&adv7123_out>;
81			};
82		};
83	};
84
85	x1_clk: x1 {
86		compatible = "fixed-clock";
87		#clock-cells = <0>;
88		clock-frequency = <74250000>;
89	};
90
91	x2_clk: x2 {
92		compatible = "fixed-clock";
93		#clock-cells = <0>;
94		clock-frequency = <65000000>;
95	};
96
97	keyboard {
98		compatible = "gpio-keys";
99
100		pinctrl-0 = <&keyboard_pins>;
101		pinctrl-names = "default";
102
103		key-1 {
104			linux,code = <KEY_1>;
105			label = "SW2-1";
106			wakeup-source;
107			debounce-interval = <20>;
108			gpios = <&gpio3 10 GPIO_ACTIVE_LOW>;
109		};
110		key-2 {
111			linux,code = <KEY_2>;
112			label = "SW2-2";
113			wakeup-source;
114			debounce-interval = <20>;
115			gpios = <&gpio3 11 GPIO_ACTIVE_LOW>;
116		};
117		key-3 {
118			linux,code = <KEY_3>;
119			label = "SW2-3";
120			wakeup-source;
121			debounce-interval = <20>;
122			gpios = <&gpio3 12 GPIO_ACTIVE_LOW>;
123		};
124		key-4 {
125			linux,code = <KEY_4>;
126			label = "SW2-4";
127			wakeup-source;
128			debounce-interval = <20>;
129			gpios = <&gpio3 15 GPIO_ACTIVE_LOW>;
130		};
131		key-a {
132			linux,code = <KEY_A>;
133			label = "SW24";
134			wakeup-source;
135			debounce-interval = <20>;
136			gpios = <&gpio3 20 GPIO_ACTIVE_LOW>;
137		};
138		key-b {
139			linux,code = <KEY_B>;
140			label = "SW25";
141			wakeup-source;
142			debounce-interval = <20>;
143			gpios = <&gpio11 2 GPIO_ACTIVE_LOW>;
144		};
145	};
146
147	leds {
148		compatible = "gpio-leds";
149
150		led17 {
151			gpios = <&gpio10 10 GPIO_ACTIVE_HIGH>;
152		};
153		led18 {
154			gpios = <&gpio10 11 GPIO_ACTIVE_HIGH>;
155		};
156		led19 {
157			gpios = <&gpio10 12 GPIO_ACTIVE_HIGH>;
158		};
159		led20 {
160			gpios = <&gpio10 23 GPIO_ACTIVE_HIGH>;
161		};
162	};
163
164	vcc_sdhi0: regulator-vcc-sdhi0 {
165		compatible = "regulator-fixed";
166
167		regulator-name = "SDHI0 Vcc";
168		regulator-min-microvolt = <3300000>;
169		regulator-max-microvolt = <3300000>;
170
171		gpio = <&gpio11 12 GPIO_ACTIVE_HIGH>;
172		enable-active-high;
173	};
174};
175
176&extal_clk {
177	clock-frequency = <20000000>;
178};
179
180&can_clk {
181	clock-frequency = <48000000>;
182};
183
184&lbsc {
185	ethernet@18000000 {
186		compatible = "smsc,lan89218", "smsc,lan9115";
187		reg = <0x18000000 0x100>;
188		phy-mode = "mii";
189		interrupt-parent = <&irqc>;
190		interrupts = <0 IRQ_TYPE_EDGE_FALLING>;
191		smsc,irq-push-pull;
192		reg-io-width = <4>;
193		vddvario-supply = <&d3_3v>;
194		vdd33a-supply = <&d3_3v>;
195
196		pinctrl-0 = <&lan89218_pins>;
197		pinctrl-names = "default";
198	};
199};
200
201&pfc {
202	scif0_pins: scif0 {
203		groups = "scif0_data";
204		function = "scif0";
205	};
206
207	scif3_pins: scif3 {
208		groups = "scif3_data";
209		function = "scif3";
210	};
211
212	lan89218_pins: lan89218 {
213		intc {
214			groups = "intc_irq0";
215			function = "intc";
216		};
217		lbsc {
218			groups = "lbsc_ex_cs0";
219			function = "lbsc";
220		};
221	};
222
223	can0_pins: can0 {
224		groups = "can0_data", "can_clk";
225		function = "can0";
226	};
227
228	sdhi0_pins: sdhi0 {
229		groups = "sdhi0_data4", "sdhi0_ctrl";
230		function = "sdhi0";
231	};
232
233	du0_pins: du0 {
234		groups = "du0_rgb888", "du0_sync", "du0_disp";
235		function = "du0";
236	};
237
238	du1_pins: du1 {
239		groups = "du1_rgb666", "du1_sync", "du1_disp";
240		function = "du1";
241	};
242
243	keyboard_pins: keyboard {
244		pins = "GP_3_10", "GP_3_11", "GP_3_12", "GP_3_15", "GP_11_2";
245		bias-pull-up;
246	};
247
248	pmic_irq_pins: pmicirq {
249		groups = "intc_irq2";
250		function = "intc";
251	};
252};
253
254&rwdt {
255	timeout-sec = <60>;
256	status = "okay";
257};
258
259&scif0 {
260	pinctrl-0 = <&scif0_pins>;
261	pinctrl-names = "default";
262
263	status = "okay";
264};
265
266&scif3 {
267	pinctrl-0 = <&scif3_pins>;
268	pinctrl-names = "default";
269
270	status = "okay";
271};
272
273&can0 {
274	pinctrl-0 = <&can0_pins>;
275	pinctrl-names = "default";
276
277	status = "okay";
278};
279
280&sdhi0 {
281	pinctrl-0 = <&sdhi0_pins>;
282	pinctrl-names = "default";
283
284	vmmc-supply = <&vcc_sdhi0>;
285	cd-gpios = <&gpio11 11 GPIO_ACTIVE_LOW>;
286	status = "okay";
287};
288
289&i2c1 {
290	status = "okay";
291	clock-frequency = <400000>;
292
293	hdmi@39 {
294		compatible = "adi,adv7511w";
295		reg = <0x39>;
296		interrupt-parent = <&irqc>;
297		interrupts = <3 IRQ_TYPE_EDGE_FALLING>;
298
299		adi,input-depth = <8>;
300		adi,input-colorspace = "rgb";
301		adi,input-clock = "1x";
302
303		ports {
304			#address-cells = <1>;
305			#size-cells = <0>;
306
307			port@0 {
308				reg = <0>;
309				adv7511_in: endpoint {
310					remote-endpoint = <&du_out_rgb0>;
311				};
312			};
313
314			port@1 {
315				reg = <1>;
316				adv7511_out: endpoint {
317					remote-endpoint = <&hdmi_con>;
318				};
319			};
320		};
321	};
322};
323
324&iic3 {
325	status = "okay";
326
327	pmic@58 {
328		compatible = "dlg,da9063";
329		reg = <0x58>;
330		pinctrl-names = "default";
331		pinctrl-0 = <&pmic_irq_pins>;
332		interrupt-parent = <&irqc>;
333		interrupts = <2 IRQ_TYPE_LEVEL_LOW>;
334		interrupt-controller;
335
336		rtc {
337			compatible = "dlg,da9063-rtc";
338		};
339
340		watchdog {
341			compatible = "dlg,da9063-watchdog";
342		};
343	};
344};
345
346&du {
347	pinctrl-0 = <&du0_pins>, <&du1_pins>;
348	pinctrl-names = "default";
349
350	clocks = <&cpg CPG_MOD 724>, <&cpg CPG_MOD 723>, <&x1_clk>, <&x2_clk>;
351	clock-names = "du.0", "du.1", "dclkin.0", "dclkin.1";
352	status = "okay";
353
354	ports {
355		port@0 {
356			endpoint {
357				remote-endpoint = <&adv7511_in>;
358			};
359		};
360		port@1 {
361			endpoint {
362				remote-endpoint = <&adv7123_in>;
363			};
364		};
365	};
366};
367