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