blob: 540a9ad28f28ac1a08c7b4f5d3e6a23bcfc262e0 [file] [log] [blame]
Tom Rini53633a82024-02-29 12:33:36 -05001// 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
Tom Rini93743d22024-04-01 09:08:13 -040033 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
Tom Rini53633a82024-02-29 12:33:36 -050042 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 {
Tom Rini93743d22024-04-01 09:08:13 -0400194 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
Tom Rini53633a82024-02-29 12:33:36 -0500223 ethernet@18000000 {
224 compatible = "smsc,lan89218", "smsc,lan9115";
225 reg = <0x18000000 0x100>;
226 phy-mode = "mii";
227 interrupt-parent = <&irqc>;
228 interrupts = <0 IRQ_TYPE_EDGE_FALLING>;
229 smsc,irq-push-pull;
230 reg-io-width = <4>;
231 vddvario-supply = <&d3_3v>;
232 vdd33a-supply = <&d3_3v>;
233
234 pinctrl-0 = <&lan89218_pins>;
235 pinctrl-names = "default";
236 };
237};
238
239&pfc {
240 scif0_pins: scif0 {
241 groups = "scif0_data";
242 function = "scif0";
243 };
244
245 scif3_pins: scif3 {
246 groups = "scif3_data";
247 function = "scif3";
248 };
249
250 lan89218_pins: lan89218 {
251 intc {
252 groups = "intc_irq0";
253 function = "intc";
254 };
255 lbsc {
256 groups = "lbsc_ex_cs0";
257 function = "lbsc";
258 };
259 };
260
261 can0_pins: can0 {
262 groups = "can0_data", "can_clk";
263 function = "can0";
264 };
265
266 sdhi0_pins: sdhi0 {
267 groups = "sdhi0_data4", "sdhi0_ctrl";
268 function = "sdhi0";
269 };
270
271 du0_pins: du0 {
272 groups = "du0_rgb888", "du0_sync", "du0_disp";
273 function = "du0";
274 };
275
276 du1_pins: du1 {
277 groups = "du1_rgb666", "du1_sync", "du1_disp";
278 function = "du1";
279 };
280
Tom Rini93743d22024-04-01 09:08:13 -0400281 flash_pins: flash {
282 groups = "lbsc_cs0";
283 function = "lbsc";
284 };
285
Tom Rini53633a82024-02-29 12:33:36 -0500286 keyboard_pins: keyboard {
287 pins = "GP_3_10", "GP_3_11", "GP_3_12", "GP_3_15", "GP_11_2";
288 bias-pull-up;
289 };
290
291 pmic_irq_pins: pmicirq {
292 groups = "intc_irq2";
293 function = "intc";
294 };
295};
296
297&rwdt {
298 timeout-sec = <60>;
299 status = "okay";
300};
301
302&scif0 {
303 pinctrl-0 = <&scif0_pins>;
304 pinctrl-names = "default";
305
306 status = "okay";
307};
308
309&scif3 {
310 pinctrl-0 = <&scif3_pins>;
311 pinctrl-names = "default";
312
313 status = "okay";
314};
315
316&can0 {
317 pinctrl-0 = <&can0_pins>;
318 pinctrl-names = "default";
319
320 status = "okay";
321};
322
323&sdhi0 {
324 pinctrl-0 = <&sdhi0_pins>;
325 pinctrl-names = "default";
326
327 vmmc-supply = <&vcc_sdhi0>;
328 cd-gpios = <&gpio11 11 GPIO_ACTIVE_LOW>;
329 status = "okay";
330};
331
332&i2c1 {
333 status = "okay";
334 clock-frequency = <400000>;
335
336 hdmi@39 {
337 compatible = "adi,adv7511w";
338 reg = <0x39>;
339 interrupt-parent = <&irqc>;
340 interrupts = <3 IRQ_TYPE_EDGE_FALLING>;
341
Tom Rini93743d22024-04-01 09:08:13 -0400342 avdd-supply = <&d1_8v>;
343 dvdd-supply = <&d1_8v>;
344 pvdd-supply = <&d1_8v>;
345 dvdd-3v-supply = <&d3_3v>;
346 bgvdd-supply = <&d1_8v>;
347
Tom Rini53633a82024-02-29 12:33:36 -0500348 adi,input-depth = <8>;
349 adi,input-colorspace = "rgb";
350 adi,input-clock = "1x";
351
352 ports {
353 #address-cells = <1>;
354 #size-cells = <0>;
355
356 port@0 {
357 reg = <0>;
358 adv7511_in: endpoint {
359 remote-endpoint = <&du_out_rgb0>;
360 };
361 };
362
363 port@1 {
364 reg = <1>;
365 adv7511_out: endpoint {
366 remote-endpoint = <&hdmi_con>;
367 };
368 };
369 };
370 };
371};
372
373&iic3 {
374 status = "okay";
375
376 pmic@58 {
377 compatible = "dlg,da9063";
378 reg = <0x58>;
379 pinctrl-names = "default";
380 pinctrl-0 = <&pmic_irq_pins>;
381 interrupt-parent = <&irqc>;
382 interrupts = <2 IRQ_TYPE_LEVEL_LOW>;
383 interrupt-controller;
Tom Rini93743d22024-04-01 09:08:13 -0400384 #interrupt-cells = <2>;
Tom Rini53633a82024-02-29 12:33:36 -0500385
386 rtc {
387 compatible = "dlg,da9063-rtc";
388 };
389
390 watchdog {
391 compatible = "dlg,da9063-watchdog";
392 };
393 };
394};
395
396&du {
397 pinctrl-0 = <&du0_pins>, <&du1_pins>;
398 pinctrl-names = "default";
399
400 clocks = <&cpg CPG_MOD 724>, <&cpg CPG_MOD 723>, <&x1_clk>, <&x2_clk>;
401 clock-names = "du.0", "du.1", "dclkin.0", "dclkin.1";
402 status = "okay";
403
404 ports {
405 port@0 {
406 endpoint {
407 remote-endpoint = <&adv7511_in>;
408 };
409 };
410 port@1 {
411 endpoint {
412 remote-endpoint = <&adv7123_in>;
413 };
414 };
415 };
416};