Loading...
Note: File does not exist in v6.2.
1// SPDX-License-Identifier: GPL-2.0
2/*
3 * Device Tree Source for the Wheat board
4 *
5 * Copyright (C) 2016 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 = "Wheat";
16 compatible = "renesas,wheat", "renesas,r8a7792";
17
18 aliases {
19 serial0 = &scif0;
20 };
21
22 chosen {
23 bootargs = "ignore_loglevel rw root=/dev/nfs ip=on";
24 stdout-path = "serial0:115200n8";
25 };
26
27 memory@40000000 {
28 device_type = "memory";
29 reg = <0 0x40000000 0 0x40000000>;
30 };
31
32 d1_8v: regulator-1v8 {
33 compatible = "regulator-fixed";
34 regulator-name = "D1.8V";
35 regulator-min-microvolt = <1800000>;
36 regulator-max-microvolt = <1800000>;
37 regulator-boot-on;
38 regulator-always-on;
39 };
40
41 d3_3v: regulator-3v3 {
42 compatible = "regulator-fixed";
43 regulator-name = "D3.3V";
44 regulator-min-microvolt = <3300000>;
45 regulator-max-microvolt = <3300000>;
46 regulator-boot-on;
47 regulator-always-on;
48 };
49
50 keyboard {
51 compatible = "gpio-keys";
52
53 key-a {
54 linux,code = <KEY_A>;
55 label = "SW2";
56 wakeup-source;
57 debounce-interval = <20>;
58 gpios = <&gpio3 20 GPIO_ACTIVE_LOW>;
59 };
60 key-b {
61 linux,code = <KEY_B>;
62 label = "SW3";
63 wakeup-source;
64 debounce-interval = <20>;
65 gpios = <&gpio11 2 GPIO_ACTIVE_LOW>;
66 };
67 };
68
69 vcc_sdhi0: regulator-vcc-sdhi0 {
70 compatible = "regulator-fixed";
71
72 regulator-name = "SDHI0 Vcc";
73 regulator-min-microvolt = <3300000>;
74 regulator-max-microvolt = <3300000>;
75
76 gpio = <&gpio11 12 GPIO_ACTIVE_HIGH>;
77 enable-active-high;
78 };
79
80 hdmi-out0 {
81 compatible = "hdmi-connector";
82 type = "a";
83
84 port {
85 hdmi_con0: endpoint {
86 remote-endpoint = <&adv7513_0_out>;
87 };
88 };
89 };
90
91 hdmi-out1 {
92 compatible = "hdmi-connector";
93 type = "a";
94
95 port {
96 hdmi_con1: endpoint {
97 remote-endpoint = <&adv7513_1_out>;
98 };
99 };
100 };
101
102 osc2_clk: osc2 {
103 compatible = "fixed-clock";
104 #clock-cells = <0>;
105 clock-frequency = <74250000>;
106 };
107};
108
109&extal_clk {
110 clock-frequency = <20000000>;
111};
112
113&lbsc {
114 ethernet@18000000 {
115 compatible = "smsc,lan89218", "smsc,lan9115";
116 reg = <0x18000000 0x100>;
117 phy-mode = "mii";
118 interrupts-extended = <&irqc 0 IRQ_TYPE_EDGE_FALLING>;
119 smsc,irq-push-pull;
120 smsc,save-mac-address;
121 reg-io-width = <4>;
122 vddvario-supply = <&d3_3v>;
123 vdd33a-supply = <&d3_3v>;
124
125 pinctrl-0 = <&lan89218_pins>;
126 pinctrl-names = "default";
127 };
128};
129
130&pfc {
131 scif0_pins: scif0 {
132 groups = "scif0_data";
133 function = "scif0";
134 };
135
136 lan89218_pins: lan89218 {
137 intc {
138 groups = "intc_irq0";
139 function = "intc";
140 };
141 lbsc {
142 groups = "lbsc_ex_cs0";
143 function = "lbsc";
144 };
145 };
146
147 can0_pins: can0 {
148 groups = "can0_data";
149 function = "can0";
150 };
151
152 can1_pins: can1 {
153 groups = "can1_data";
154 function = "can1";
155 };
156
157 sdhi0_pins: sdhi0 {
158 groups = "sdhi0_data4", "sdhi0_ctrl";
159 function = "sdhi0";
160 };
161
162 qspi_pins: qspi {
163 groups = "qspi_ctrl", "qspi_data4";
164 function = "qspi";
165 };
166
167 du0_pins: du0 {
168 groups = "du0_rgb888", "du0_sync", "du0_disp";
169 function = "du0";
170 };
171
172 du1_pins: du1 {
173 groups = "du1_rgb666", "du1_sync", "du1_disp";
174 function = "du1";
175 };
176};
177
178&rwdt {
179 timeout-sec = <60>;
180 status = "okay";
181};
182
183&scif0 {
184 pinctrl-0 = <&scif0_pins>;
185 pinctrl-names = "default";
186
187 status = "okay";
188};
189
190&can0 {
191 pinctrl-0 = <&can0_pins>;
192 pinctrl-names = "default";
193
194 status = "okay";
195};
196
197&can1 {
198 pinctrl-0 = <&can1_pins>;
199 pinctrl-names = "default";
200
201 status = "okay";
202};
203
204&sdhi0 {
205 pinctrl-0 = <&sdhi0_pins>;
206 pinctrl-names = "default";
207
208 vmmc-supply = <&vcc_sdhi0>;
209 cd-gpios = <&gpio11 11 GPIO_ACTIVE_LOW>;
210 status = "okay";
211};
212
213&qspi {
214 pinctrl-0 = <&qspi_pins>;
215 pinctrl-names = "default";
216 status = "okay";
217
218 flash@0 {
219 compatible = "spansion,s25fl512s", "jedec,spi-nor";
220 reg = <0>;
221 spi-max-frequency = <30000000>;
222 spi-tx-bus-width = <4>;
223 spi-rx-bus-width = <4>;
224 spi-cpol;
225 spi-cpha;
226 m25p,fast-read;
227
228 partitions {
229 compatible = "fixed-partitions";
230 #address-cells = <1>;
231 #size-cells = <1>;
232
233 partition@0 {
234 label = "loader";
235 reg = <0x00000000 0x00040000>;
236 read-only;
237 };
238 partition@40000 {
239 label = "user";
240 reg = <0x00040000 0x00400000>;
241 read-only;
242 };
243 partition@440000 {
244 label = "flash";
245 reg = <0x00440000 0x03bc0000>;
246 };
247 };
248 };
249};
250
251&i2c4 {
252 status = "okay";
253 clock-frequency = <400000>;
254
255 /*
256 * The adv75xx resets its addresses to defaults during low power mode.
257 * Because we have two ADV7513 devices on the same bus, we must change
258 * both of them away from the defaults so that they do not conflict.
259 */
260 hdmi@3d {
261 compatible = "adi,adv7513";
262 reg = <0x3d>, <0x4d>, <0x2d>, <0x5d>;
263 reg-names = "main", "edid", "cec", "packet";
264
265 avdd-supply = <&d1_8v>;
266 dvdd-supply = <&d1_8v>;
267 pvdd-supply = <&d1_8v>;
268 dvdd-3v-supply = <&d3_3v>;
269 bgvdd-supply = <&d1_8v>;
270
271 adi,input-depth = <8>;
272 adi,input-colorspace = "rgb";
273 adi,input-clock = "1x";
274
275 ports {
276 #address-cells = <1>;
277 #size-cells = <0>;
278
279 port@0 {
280 reg = <0>;
281 adv7513_0_in: endpoint {
282 remote-endpoint = <&du_out_rgb0>;
283 };
284 };
285
286 port@1 {
287 reg = <1>;
288 adv7513_0_out: endpoint {
289 remote-endpoint = <&hdmi_con0>;
290 };
291 };
292 };
293 };
294
295 hdmi@39 {
296 compatible = "adi,adv7513";
297 reg = <0x39>, <0x49>, <0x29>, <0x59>;
298 reg-names = "main", "edid", "cec", "packet";
299
300 avdd-supply = <&d1_8v>;
301 dvdd-supply = <&d1_8v>;
302 pvdd-supply = <&d1_8v>;
303 dvdd-3v-supply = <&d3_3v>;
304 bgvdd-supply = <&d1_8v>;
305
306 adi,input-depth = <8>;
307 adi,input-colorspace = "rgb";
308 adi,input-clock = "1x";
309
310 ports {
311 #address-cells = <1>;
312 #size-cells = <0>;
313
314 port@0 {
315 reg = <0>;
316 adv7513_1_in: endpoint {
317 remote-endpoint = <&du_out_rgb1>;
318 };
319 };
320
321 port@1 {
322 reg = <1>;
323 adv7513_1_out: endpoint {
324 remote-endpoint = <&hdmi_con1>;
325 };
326 };
327 };
328 };
329};
330
331&du {
332 pinctrl-0 = <&du0_pins>, <&du1_pins>;
333 pinctrl-names = "default";
334
335 clocks = <&cpg CPG_MOD 724>, <&cpg CPG_MOD 723>, <&osc2_clk>;
336 clock-names = "du.0", "du.1", "dclkin.0";
337 status = "okay";
338
339 ports {
340 port@0 {
341 endpoint {
342 remote-endpoint = <&adv7513_0_in>;
343 };
344 };
345 port@1 {
346 endpoint {
347 remote-endpoint = <&adv7513_1_in>;
348 };
349 };
350 };
351};