blob: 99b73e21c82c2b18261fd98bc29be7982d926c09 [file] [log] [blame]
Marek Vasut4d142c72021-04-25 22:28:00 +02001// SPDX-License-Identifier: GPL-2.0
2/*
3 * Device Tree Source for the Falcon CPU board
4 *
5 * Copyright (C) 2020 Renesas Electronics Corp.
6 */
7
8#include <dt-bindings/gpio/gpio.h>
Marek Vasut2a8450f2023-01-26 21:01:32 +01009#include <dt-bindings/input/input.h>
10#include <dt-bindings/leds/common.h>
11
Marek Vasut4d142c72021-04-25 22:28:00 +020012#include "r8a779a0.dtsi"
13
14/ {
15 model = "Renesas Falcon CPU board";
16 compatible = "renesas,falcon-cpu", "renesas,r8a779a0";
17
Marek Vasut2a8450f2023-01-26 21:01:32 +010018 aliases {
19 i2c0 = &i2c0;
20 i2c1 = &i2c1;
21 i2c2 = &i2c2;
22 i2c3 = &i2c3;
23 i2c4 = &i2c4;
24 i2c5 = &i2c5;
25 i2c6 = &i2c6;
26 serial0 = &scif0;
27 };
28
29 chosen {
30 stdout-path = "serial0:115200n8";
31 };
32
33 keys {
34 compatible = "gpio-keys";
35
36 pinctrl-0 = <&keys_pins>;
37 pinctrl-names = "default";
38
39 key-1 {
40 gpios = <&gpio6 18 GPIO_ACTIVE_LOW>;
41 linux,code = <KEY_1>;
42 label = "SW47";
43 wakeup-source;
44 debounce-interval = <20>;
45 };
46
47 key-2 {
48 gpios = <&gpio6 19 GPIO_ACTIVE_LOW>;
49 linux,code = <KEY_2>;
50 label = "SW48";
51 wakeup-source;
52 debounce-interval = <20>;
53 };
54
55 key-3 {
56 gpios = <&gpio6 20 GPIO_ACTIVE_LOW>;
57 linux,code = <KEY_3>;
58 label = "SW49";
59 wakeup-source;
60 debounce-interval = <20>;
61 };
62 };
63
64 leds {
65 compatible = "gpio-leds";
66
67 led-1 {
68 gpios = <&gpio4 18 GPIO_ACTIVE_HIGH>;
69 color = <LED_COLOR_ID_GREEN>;
70 function = LED_FUNCTION_INDICATOR;
71 function-enumerator = <1>;
72 };
73 led-2 {
74 gpios = <&gpio4 19 GPIO_ACTIVE_HIGH>;
75 color = <LED_COLOR_ID_GREEN>;
76 function = LED_FUNCTION_INDICATOR;
77 function-enumerator = <2>;
78 };
79 led-3 {
80 gpios = <&gpio4 20 GPIO_ACTIVE_HIGH>;
81 color = <LED_COLOR_ID_GREEN>;
82 function = LED_FUNCTION_INDICATOR;
83 function-enumerator = <3>;
84 };
85 };
86
Marek Vasut4d142c72021-04-25 22:28:00 +020087 memory@48000000 {
88 device_type = "memory";
89 /* first 128MB is reserved for secure area. */
90 reg = <0x0 0x48000000 0x0 0x78000000>;
91 };
92
93 memory@500000000 {
94 device_type = "memory";
95 reg = <0x5 0x00000000 0x0 0x80000000>;
96 };
97
98 memory@600000000 {
99 device_type = "memory";
100 reg = <0x6 0x00000000 0x0 0x80000000>;
101 };
102
103 memory@700000000 {
104 device_type = "memory";
105 reg = <0x7 0x00000000 0x0 0x80000000>;
106 };
107
Marek Vasut2a8450f2023-01-26 21:01:32 +0100108 mini-dp-con {
109 compatible = "dp-connector";
110 label = "CN5";
111 type = "mini";
112
113 port {
114 mini_dp_con_in: endpoint {
115 remote-endpoint = <&sn65dsi86_out>;
116 };
117 };
118 };
119
120 reg_1p2v: regulator-1p2v {
121 compatible = "regulator-fixed";
122 regulator-name = "fixed-1.2V";
123 regulator-min-microvolt = <1200000>;
124 regulator-max-microvolt = <1200000>;
125 regulator-boot-on;
126 regulator-always-on;
127 };
128
Marek Vasut4d142c72021-04-25 22:28:00 +0200129 reg_1p8v: regulator-1p8v {
130 compatible = "regulator-fixed";
131 regulator-name = "fixed-1.8V";
132 regulator-min-microvolt = <1800000>;
133 regulator-max-microvolt = <1800000>;
134 regulator-boot-on;
135 regulator-always-on;
136 };
137
138 reg_3p3v: regulator-3p3v {
139 compatible = "regulator-fixed";
140 regulator-name = "fixed-3.3V";
141 regulator-min-microvolt = <3300000>;
142 regulator-max-microvolt = <3300000>;
143 regulator-boot-on;
144 regulator-always-on;
145 };
Marek Vasut2a8450f2023-01-26 21:01:32 +0100146
147 sn65dsi86_refclk: clk-x6 {
148 compatible = "fixed-clock";
149 #clock-cells = <0>;
150 clock-frequency = <38400000>;
151 };
Marek Vasut4d142c72021-04-25 22:28:00 +0200152};
153
Marek Vasut2a8450f2023-01-26 21:01:32 +0100154&dsi0 {
Marek Vasut4d142c72021-04-25 22:28:00 +0200155 status = "okay";
156
Marek Vasut2a8450f2023-01-26 21:01:32 +0100157 ports {
158 port@1 {
159 dsi0_out: endpoint {
160 remote-endpoint = <&sn65dsi86_in>;
161 data-lanes = <1 2 3 4>;
162 };
163 };
Marek Vasut4d142c72021-04-25 22:28:00 +0200164 };
165};
166
Marek Vasut2a8450f2023-01-26 21:01:32 +0100167&du {
168 status = "okay";
169};
170
Marek Vasut4d142c72021-04-25 22:28:00 +0200171&extal_clk {
172 clock-frequency = <16666666>;
173};
174
175&extalr_clk {
176 clock-frequency = <32768>;
177};
178
179&i2c0 {
180 pinctrl-0 = <&i2c0_pins>;
181 pinctrl-names = "default";
182
183 status = "okay";
184 clock-frequency = <400000>;
Marek Vasut2a8450f2023-01-26 21:01:32 +0100185
186 eeprom@50 {
187 compatible = "rohm,br24g01", "atmel,24c01";
188 label = "cpu-board";
189 reg = <0x50>;
190 pagesize = <8>;
191 };
Marek Vasut4d142c72021-04-25 22:28:00 +0200192};
193
194&i2c1 {
195 pinctrl-0 = <&i2c1_pins>;
196 pinctrl-names = "default";
197
198 status = "okay";
199 clock-frequency = <400000>;
Marek Vasut2a8450f2023-01-26 21:01:32 +0100200
201 bridge@2c {
202 pinctrl-0 = <&irq0_pins>;
203 pinctrl-names = "default";
204
205 compatible = "ti,sn65dsi86";
206 reg = <0x2c>;
207
208 clocks = <&sn65dsi86_refclk>;
209 clock-names = "refclk";
210
211 interrupt-parent = <&intc_ex>;
212 interrupts = <0 IRQ_TYPE_LEVEL_HIGH>;
213
214 vccio-supply = <&reg_1p8v>;
215 vpll-supply = <&reg_1p8v>;
216 vcca-supply = <&reg_1p2v>;
217 vcc-supply = <&reg_1p2v>;
218
219 ports {
220 #address-cells = <1>;
221 #size-cells = <0>;
222
223 port@0 {
224 reg = <0>;
225 sn65dsi86_in: endpoint {
226 remote-endpoint = <&dsi0_out>;
227 };
228 };
229
230 port@1 {
231 reg = <1>;
232 sn65dsi86_out: endpoint {
233 remote-endpoint = <&mini_dp_con_in>;
234 };
235 };
236 };
237 };
Marek Vasut4d142c72021-04-25 22:28:00 +0200238};
239
240&i2c6 {
241 pinctrl-0 = <&i2c6_pins>;
242 pinctrl-names = "default";
243
244 status = "okay";
245 clock-frequency = <400000>;
246};
247
248&mmc0 {
249 pinctrl-0 = <&mmc_pins>;
250 pinctrl-1 = <&mmc_pins>;
251 pinctrl-names = "default", "state_uhs";
252
253 vmmc-supply = <&reg_3p3v>;
254 vqmmc-supply = <&reg_1p8v>;
255 mmc-hs200-1_8v;
256 mmc-hs400-1_8v;
257 bus-width = <8>;
258 no-sd;
259 no-sdio;
260 non-removable;
261 full-pwr-cycle-in-suspend;
262 status = "okay";
263};
264
265&pfc {
266 pinctrl-0 = <&scif_clk_pins>;
267 pinctrl-names = "default";
268
Marek Vasut4d142c72021-04-25 22:28:00 +0200269 i2c0_pins: i2c0 {
270 groups = "i2c0";
271 function = "i2c0";
272 };
273
274 i2c1_pins: i2c1 {
275 groups = "i2c1";
276 function = "i2c1";
277 };
278
279 i2c6_pins: i2c6 {
280 groups = "i2c6";
281 function = "i2c6";
282 };
283
Marek Vasut2a8450f2023-01-26 21:01:32 +0100284 irq0_pins: irq0 {
285 groups = "intc_ex_irq0";
286 function = "intc_ex";
287 };
288
289 keys_pins: keys {
290 pins = "GP_6_18", "GP_6_19", "GP_6_20";
291 bias-pull-up;
292 };
293
Marek Vasut4d142c72021-04-25 22:28:00 +0200294 mmc_pins: mmc {
295 groups = "mmc_data8", "mmc_ctrl", "mmc_ds";
296 function = "mmc";
297 power-source = <1800>;
298 };
299
Marek Vasut2a8450f2023-01-26 21:01:32 +0100300 qspi0_pins: qspi0 {
301 groups = "qspi0_ctrl", "qspi0_data4";
302 function = "qspi0";
303 };
304
Marek Vasut4d142c72021-04-25 22:28:00 +0200305 scif0_pins: scif0 {
306 groups = "scif0_data", "scif0_ctrl";
307 function = "scif0";
308 };
309
310 scif_clk_pins: scif_clk {
311 groups = "scif_clk";
312 function = "scif_clk";
313 };
314};
315
Marek Vasut2a8450f2023-01-26 21:01:32 +0100316&rpc {
317 pinctrl-0 = <&qspi0_pins>;
318 pinctrl-names = "default";
319
320 status = "okay";
321
322 flash@0 {
323 compatible = "spansion,s25fs512s", "jedec,spi-nor";
324 reg = <0>;
325 spi-max-frequency = <40000000>;
326 spi-rx-bus-width = <4>;
327
328 partitions {
329 compatible = "fixed-partitions";
330 #address-cells = <1>;
331 #size-cells = <1>;
332
333 boot@0 {
334 reg = <0x0 0xcc0000>;
335 read-only;
336 };
337 user@cc0000 {
338 reg = <0xcc0000 0x3340000>;
339 };
340 };
341 };
342};
343
344&rwdt {
345 timeout-sec = <60>;
346 status = "okay";
347};
348
Marek Vasut4d142c72021-04-25 22:28:00 +0200349&scif0 {
350 pinctrl-0 = <&scif0_pins>;
351 pinctrl-names = "default";
352
353 uart-has-rtscts;
354 status = "okay";
355};
356
357&scif_clk {
358 clock-frequency = <24000000>;
359};