blob: 000f21a2a8630a8e6ad809ee51ab9463a0c5621d [file] [log] [blame]
Tom Rini53633a82024-02-29 12:33:36 -05001// 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
Tom Rini93743d22024-04-01 09:08:13 -040032 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
Tom Rini53633a82024-02-29 12:33:36 -050041 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 interrupt-parent = <&irqc>;
119 interrupts = <0 IRQ_TYPE_EDGE_FALLING>;
120 smsc,irq-push-pull;
121 smsc,save-mac-address;
122 reg-io-width = <4>;
123 vddvario-supply = <&d3_3v>;
124 vdd33a-supply = <&d3_3v>;
125
126 pinctrl-0 = <&lan89218_pins>;
127 pinctrl-names = "default";
128 };
129};
130
131&pfc {
132 scif0_pins: scif0 {
133 groups = "scif0_data";
134 function = "scif0";
135 };
136
137 lan89218_pins: lan89218 {
138 intc {
139 groups = "intc_irq0";
140 function = "intc";
141 };
142 lbsc {
143 groups = "lbsc_ex_cs0";
144 function = "lbsc";
145 };
146 };
147
148 can0_pins: can0 {
149 groups = "can0_data";
150 function = "can0";
151 };
152
153 can1_pins: can1 {
154 groups = "can1_data";
155 function = "can1";
156 };
157
158 sdhi0_pins: sdhi0 {
159 groups = "sdhi0_data4", "sdhi0_ctrl";
160 function = "sdhi0";
161 };
162
163 qspi_pins: qspi {
164 groups = "qspi_ctrl", "qspi_data4";
165 function = "qspi";
166 };
167
168 du0_pins: du0 {
169 groups = "du0_rgb888", "du0_sync", "du0_disp";
170 function = "du0";
171 };
172
173 du1_pins: du1 {
174 groups = "du1_rgb666", "du1_sync", "du1_disp";
175 function = "du1";
176 };
177};
178
179&rwdt {
180 timeout-sec = <60>;
181 status = "okay";
182};
183
184&scif0 {
185 pinctrl-0 = <&scif0_pins>;
186 pinctrl-names = "default";
187
188 status = "okay";
189};
190
191&can0 {
192 pinctrl-0 = <&can0_pins>;
193 pinctrl-names = "default";
194
195 status = "okay";
196};
197
198&can1 {
199 pinctrl-0 = <&can1_pins>;
200 pinctrl-names = "default";
201
202 status = "okay";
203};
204
205&sdhi0 {
206 pinctrl-0 = <&sdhi0_pins>;
207 pinctrl-names = "default";
208
209 vmmc-supply = <&vcc_sdhi0>;
210 cd-gpios = <&gpio11 11 GPIO_ACTIVE_LOW>;
211 status = "okay";
212};
213
214&qspi {
215 pinctrl-0 = <&qspi_pins>;
216 pinctrl-names = "default";
217 status = "okay";
218
219 flash@0 {
220 compatible = "spansion,s25fl512s", "jedec,spi-nor";
221 reg = <0>;
222 spi-max-frequency = <30000000>;
223 spi-tx-bus-width = <4>;
224 spi-rx-bus-width = <4>;
225 spi-cpol;
226 spi-cpha;
227 m25p,fast-read;
228
229 partitions {
230 compatible = "fixed-partitions";
231 #address-cells = <1>;
232 #size-cells = <1>;
233
234 partition@0 {
235 label = "loader";
236 reg = <0x00000000 0x00040000>;
237 read-only;
238 };
239 partition@40000 {
240 label = "user";
241 reg = <0x00040000 0x00400000>;
242 read-only;
243 };
244 partition@440000 {
245 label = "flash";
246 reg = <0x00440000 0x03bc0000>;
247 };
248 };
249 };
250};
251
252&i2c4 {
253 status = "okay";
254 clock-frequency = <400000>;
255
256 /*
257 * The adv75xx resets its addresses to defaults during low power mode.
258 * Because we have two ADV7513 devices on the same bus, we must change
259 * both of them away from the defaults so that they do not conflict.
260 */
261 hdmi@3d {
262 compatible = "adi,adv7513";
263 reg = <0x3d>, <0x4d>, <0x2d>, <0x5d>;
264 reg-names = "main", "edid", "cec", "packet";
265
Tom Rini93743d22024-04-01 09:08:13 -0400266 avdd-supply = <&d1_8v>;
267 dvdd-supply = <&d1_8v>;
268 pvdd-supply = <&d1_8v>;
269 dvdd-3v-supply = <&d3_3v>;
270 bgvdd-supply = <&d1_8v>;
271
Tom Rini53633a82024-02-29 12:33:36 -0500272 adi,input-depth = <8>;
273 adi,input-colorspace = "rgb";
274 adi,input-clock = "1x";
275
276 ports {
277 #address-cells = <1>;
278 #size-cells = <0>;
279
280 port@0 {
281 reg = <0>;
282 adv7513_0_in: endpoint {
283 remote-endpoint = <&du_out_rgb0>;
284 };
285 };
286
287 port@1 {
288 reg = <1>;
289 adv7513_0_out: endpoint {
290 remote-endpoint = <&hdmi_con0>;
291 };
292 };
293 };
294 };
295
296 hdmi@39 {
297 compatible = "adi,adv7513";
298 reg = <0x39>, <0x49>, <0x29>, <0x59>;
299 reg-names = "main", "edid", "cec", "packet";
300
Tom Rini93743d22024-04-01 09:08:13 -0400301 avdd-supply = <&d1_8v>;
302 dvdd-supply = <&d1_8v>;
303 pvdd-supply = <&d1_8v>;
304 dvdd-3v-supply = <&d3_3v>;
305 bgvdd-supply = <&d1_8v>;
306
Tom Rini53633a82024-02-29 12:33:36 -0500307 adi,input-depth = <8>;
308 adi,input-colorspace = "rgb";
309 adi,input-clock = "1x";
310
311 ports {
312 #address-cells = <1>;
313 #size-cells = <0>;
314
315 port@0 {
316 reg = <0>;
317 adv7513_1_in: endpoint {
318 remote-endpoint = <&du_out_rgb1>;
319 };
320 };
321
322 port@1 {
323 reg = <1>;
324 adv7513_1_out: endpoint {
325 remote-endpoint = <&hdmi_con1>;
326 };
327 };
328 };
329 };
330};
331
332&du {
333 pinctrl-0 = <&du0_pins>, <&du1_pins>;
334 pinctrl-names = "default";
335
336 clocks = <&cpg CPG_MOD 724>, <&cpg CPG_MOD 723>, <&osc2_clk>;
337 clock-names = "du.0", "du.1", "dclkin.0";
338 status = "okay";
339
340 ports {
341 port@0 {
342 endpoint {
343 remote-endpoint = <&adv7513_0_in>;
344 };
345 };
346 port@1 {
347 endpoint {
348 remote-endpoint = <&adv7513_1_in>;
349 };
350 };
351 };
352};