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