Merge tag 'soc-drivers-6.9' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc
[linux-block.git] / arch / arm / boot / dts / renesas / r8a7792-blanche.dts
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         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
42         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 {
194         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
223         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
281         flash_pins: flash {
282                 groups = "lbsc_cs0";
283                 function = "lbsc";
284         };
285
286         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
342                 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
348                 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;
384                 #interrupt-cells = <2>;
385
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 };