blob: a13a92c2664507ee49d1ef8d0b3f5d80dbeffc5d [file] [log] [blame]
Tom Rini10e47792018-05-06 17:58:06 -04001// SPDX-License-Identifier: GPL-2.0
Marek Vasutc8ea4732018-01-24 15:52:56 +01002/*
3 * Device Tree Source for the Stout board
4 *
5 * Copyright (C) 2018 Marek Vasut <marek.vasut@gmail.com>
Marek Vasutc8ea4732018-01-24 15:52:56 +01006 */
7
8/dts-v1/;
9#include "r8a7790.dtsi"
Marek Vasut7a5467a2018-02-26 19:55:37 +010010#include <dt-bindings/gpio/gpio.h>
11#include <dt-bindings/input/input.h>
Marek Vasutc8ea4732018-01-24 15:52:56 +010012
13/ {
14 model = "Stout";
15 compatible = "renesas,stout", "renesas,r8a7790";
16
17 aliases {
Marek Vasut7a5467a2018-02-26 19:55:37 +010018 serial0 = &scifa0;
Marek Vasutc8ea4732018-01-24 15:52:56 +010019 };
20
Marek Vasut7a5467a2018-02-26 19:55:37 +010021 chosen {
22 bootargs = "ignore_loglevel rw root=/dev/nfs ip=dhcp";
23 stdout-path = "serial0:115200n8";
24 };
25
Marek Vasutc8ea4732018-01-24 15:52:56 +010026 memory@40000000 {
27 device_type = "memory";
28 reg = <0 0x40000000 0 0x40000000>;
29 };
Marek Vasut7a5467a2018-02-26 19:55:37 +010030
31 leds {
32 compatible = "gpio-leds";
33 led1 {
34 gpios = <&gpio4 22 GPIO_ACTIVE_LOW>;
35 };
36 led2 {
37 gpios = <&gpio4 23 GPIO_ACTIVE_LOW>;
38 };
39 led3 {
40 gpios = <&gpio5 17 GPIO_ACTIVE_LOW>;
41 };
42 led5 {
43 gpios = <&gpio4 24 GPIO_ACTIVE_LOW>;
44 };
45 };
46
47 fixedregulator3v3: regulator-3v3 {
48 compatible = "regulator-fixed";
49 regulator-name = "fixed-3.3V";
50 regulator-min-microvolt = <3300000>;
51 regulator-max-microvolt = <3300000>;
52 regulator-boot-on;
53 regulator-always-on;
54 };
55
56 vcc_sdhi0: regulator-vcc-sdhi0 {
57 compatible = "regulator-fixed";
58
59 regulator-name = "SDHI0 Vcc";
60 regulator-min-microvolt = <3300000>;
61 regulator-max-microvolt = <3300000>;
62
63 gpio = <&gpio5 24 GPIO_ACTIVE_HIGH>;
64 enable-active-high;
65 };
66
67 hdmi-out {
68 compatible = "hdmi-connector";
69 type = "a";
70
71 port {
72 hdmi_con_out: endpoint {
73 remote-endpoint = <&adv7511_out>;
74 };
75 };
76 };
77
78 osc1_clk: osc1-clock {
79 compatible = "fixed-clock";
80 #clock-cells = <0>;
81 clock-frequency = <148500000>;
82 };
83
84 osc4_clk: osc4-clock {
85 compatible = "fixed-clock";
86 #clock-cells = <0>;
87 clock-frequency = <12000000>;
88 };
89};
90
91&du {
92 pinctrl-0 = <&du_pins>;
93 pinctrl-names = "default";
94 status = "okay";
95
96 clocks = <&cpg CPG_MOD 724>, <&cpg CPG_MOD 723>, <&cpg CPG_MOD 722>,
97 <&cpg CPG_MOD 726>, <&cpg CPG_MOD 725>,
98 <&osc1_clk>;
99 clock-names = "du.0", "du.1", "du.2", "lvds.0", "lvds.1", "dclkin.0";
100
101 ports {
102 port@0 {
103 endpoint {
104 remote-endpoint = <&adv7511_in>;
105 };
106 };
107 port@1 {
108 lvds_connector0: endpoint {
109 };
110 };
111 port@2 {
112 lvds_connector1: endpoint {
113 };
114 };
115 };
Marek Vasutc8ea4732018-01-24 15:52:56 +0100116};
117
118&extal_clk {
119 clock-frequency = <20000000>;
120};
121
122&pfc {
Marek Vasut7a5467a2018-02-26 19:55:37 +0100123
Marek Vasutc8ea4732018-01-24 15:52:56 +0100124 pinctrl-0 = <&scif_clk_pins>;
125 pinctrl-names = "default";
126
Marek Vasut7a5467a2018-02-26 19:55:37 +0100127 du_pins: du {
128 groups = "du_rgb888", "du_sync_1", "du_clk_out_0";
129 function = "du";
Marek Vasutc8ea4732018-01-24 15:52:56 +0100130 };
131
Marek Vasut7a5467a2018-02-26 19:55:37 +0100132 scifa0_pins: scifa0 {
133 groups = "scifa0_data_b";
134 function = "scifa0";
135 };
136
Marek Vasutc8ea4732018-01-24 15:52:56 +0100137 scif_clk_pins: scif_clk {
138 groups = "scif_clk";
139 function = "scif_clk";
140 };
Marek Vasut7a5467a2018-02-26 19:55:37 +0100141
142 ether_pins: ether {
143 groups = "eth_link", "eth_mdio", "eth_rmii";
144 function = "eth";
145 };
146
147 phy1_pins: phy1 {
148 groups = "intc_irq1";
149 function = "intc";
150 };
151
152 sdhi0_pins: sd0 {
153 groups = "sdhi0_data4", "sdhi0_ctrl";
154 function = "sdhi0";
155 power-source = <3300>;
156 };
157
158 qspi_pins: qspi {
159 groups = "qspi_ctrl", "qspi_data4";
160 function = "qspi";
161 };
162
163 iic2_pins: iic2 {
164 groups = "iic2_b";
165 function = "iic2";
166 };
167
168 iic3_pins: iic3 {
169 groups = "iic3";
170 function = "iic3";
171 };
172
173 usb0_pins: usb0 {
174 groups = "usb0";
175 function = "usb0";
176 };
Marek Vasutc8ea4732018-01-24 15:52:56 +0100177};
178
Marek Vasut7a5467a2018-02-26 19:55:37 +0100179&ether {
180 pinctrl-0 = <&ether_pins &phy1_pins>;
Marek Vasutc8ea4732018-01-24 15:52:56 +0100181 pinctrl-names = "default";
182
Marek Vasut7a5467a2018-02-26 19:55:37 +0100183 phy-handle = <&phy1>;
184 renesas,ether-link-active-low;
185 status = "okay";
186
187 phy1: ethernet-phy@1 {
188 reg = <1>;
189 interrupt-parent = <&irqc0>;
190 interrupts = <1 IRQ_TYPE_LEVEL_LOW>;
191 micrel,led-mode = <1>;
192 };
193};
194
195&cmt0 {
Marek Vasutc8ea4732018-01-24 15:52:56 +0100196 status = "okay";
197};
198
Marek Vasut7a5467a2018-02-26 19:55:37 +0100199&qspi {
200 pinctrl-0 = <&qspi_pins>;
201 pinctrl-names = "default";
202
203 status = "okay";
204
205 flash: flash@0 {
206 compatible = "spansion,s25fl512s", "jedec,spi-nor";
207 reg = <0>;
208 spi-max-frequency = <30000000>;
209 spi-tx-bus-width = <4>;
210 spi-rx-bus-width = <4>;
211 spi-cpha;
212 spi-cpol;
213 m25p,fast-read;
214
215 partitions {
216 compatible = "fixed-partitions";
217 #address-cells = <1>;
218 #size-cells = <1>;
219
220 partition@0 {
221 label = "loader";
222 reg = <0x00000000 0x00080000>;
223 read-only;
224 };
225 partition@80000 {
226 label = "uboot";
227 reg = <0x00080000 0x00040000>;
228 read-only;
229 };
230 partition@c0000 {
231 label = "uboot-env";
232 reg = <0x000c0000 0x00040000>;
233 read-only;
234 };
235 partition@100000 {
236 label = "flash";
237 reg = <0x00100000 0x03f00000>;
238 };
239 };
240 };
241};
242
243&scifa0 {
244 pinctrl-0 = <&scifa0_pins>;
245 pinctrl-names = "default";
246
247 status = "okay";
248};
249
Marek Vasutc8ea4732018-01-24 15:52:56 +0100250&scif_clk {
251 clock-frequency = <14745600>;
252};
Marek Vasut7a5467a2018-02-26 19:55:37 +0100253
254&sdhi0 {
255 pinctrl-0 = <&sdhi0_pins>;
256 pinctrl-names = "default";
257
258 vmmc-supply = <&vcc_sdhi0>;
259 cd-gpios = <&gpio3 6 GPIO_ACTIVE_LOW>;
260 status = "okay";
261};
262
263&cpu0 {
264 cpu0-supply = <&vdd_dvfs>;
265};
266
267&iic2 {
268 status = "okay";
269 pinctrl-0 = <&iic2_pins>;
270 pinctrl-names = "default";
271
272 clock-frequency = <100000>;
273
274 hdmi@39 {
275 compatible = "adi,adv7511w";
276 reg = <0x39>;
277 interrupt-parent = <&gpio1>;
278 interrupts = <15 IRQ_TYPE_LEVEL_LOW>;
279 clocks = <&osc4_clk>;
280 clock-names = "cec";
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_rgb>;
296 };
297 };
298
299 port@1 {
300 reg = <1>;
301 adv7511_out: endpoint {
302 remote-endpoint = <&hdmi_con_out>;
303 };
304 };
305 };
306 };
307};
308
309&iic3 {
310 pinctrl-names = "default";
311 pinctrl-0 = <&iic3_pins>;
312 status = "okay";
313
314 pmic@58 {
315 compatible = "dlg,da9063";
316 reg = <0x58>;
317 interrupt-parent = <&irqc0>;
318 interrupts = <2 IRQ_TYPE_LEVEL_LOW>;
319 interrupt-controller;
320
321 rtc {
322 compatible = "dlg,da9063-rtc";
323 };
324
325 wdt {
326 compatible = "dlg,da9063-watchdog";
327 };
328 };
329
330 vdd_dvfs: regulator@68 {
331 compatible = "dlg,da9210";
332 reg = <0x68>;
333 interrupt-parent = <&irqc0>;
334 interrupts = <2 IRQ_TYPE_LEVEL_LOW>;
335
336 regulator-min-microvolt = <1000000>;
337 regulator-max-microvolt = <1000000>;
338 regulator-boot-on;
339 regulator-always-on;
340 };
341
342 vdd: regulator@70 {
343 compatible = "dlg,da9210";
344 reg = <0x70>;
345 interrupt-parent = <&irqc0>;
346 interrupts = <2 IRQ_TYPE_LEVEL_LOW>;
347
348 regulator-min-microvolt = <1000000>;
349 regulator-max-microvolt = <1000000>;
350 regulator-boot-on;
351 regulator-always-on;
352 };
353};
354
355&pci0 {
356 status = "okay";
357 pinctrl-0 = <&usb0_pins>;
358 pinctrl-names = "default";
359};
360
361&usbphy {
362 status = "okay";
363};