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