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