1// SPDX-License-Identifier: (GPL-2.0 or MIT)
2/*
3 * Device Tree Source for the Spider CPU board
4 *
5 * Copyright (C) 2021 Renesas Electronics Corp.
6 */
7
8#include "r8a779f0.dtsi"
9
10/ {
11	model = "Renesas Spider CPU board";
12	compatible = "renesas,spider-cpu", "renesas,r8a779f0";
13
14	aliases {
15		serial0 = &scif3;
16		serial1 = &scif0;
17	};
18
19	chosen {
20		bootargs = "ignore_loglevel rw root=/dev/nfs ip=on";
21		stdout-path = "serial0:115200n8";
22	};
23
24	memory@48000000 {
25		device_type = "memory";
26		/* first 128MB is reserved for secure area. */
27		reg = <0x0 0x48000000 0x0 0x78000000>;
28	};
29
30	memory@480000000 {
31		device_type = "memory";
32		reg = <0x4 0x80000000 0x0 0x80000000>;
33	};
34
35	reg_1p8v: regulator-1p8v {
36		compatible = "regulator-fixed";
37		regulator-name = "fixed-1.8V";
38		regulator-min-microvolt = <1800000>;
39		regulator-max-microvolt = <1800000>;
40		regulator-boot-on;
41		regulator-always-on;
42	};
43
44	reg_3p3v: regulator-3p3v {
45		compatible = "regulator-fixed";
46		regulator-name = "fixed-3.3V";
47		regulator-min-microvolt = <3300000>;
48		regulator-max-microvolt = <3300000>;
49		regulator-boot-on;
50		regulator-always-on;
51	};
52};
53
54&extal_clk {
55	clock-frequency = <20000000>;
56};
57
58&extalr_clk {
59	clock-frequency = <32768>;
60};
61
62&i2c4 {
63	pinctrl-0 = <&i2c4_pins>;
64	pinctrl-names = "default";
65
66	status = "okay";
67	clock-frequency = <400000>;
68
69	eeprom@50 {
70		compatible = "rohm,br24g01", "atmel,24c01";
71		label = "cpu-board";
72		reg = <0x50>;
73		pagesize = <8>;
74	};
75};
76
77/*
78 * This board also has a microSD slot which we will not support upstream
79 * because we cannot directly switch voltages in software.
80 */
81&mmc0 {
82	pinctrl-0 = <&mmc_pins>;
83	pinctrl-1 = <&mmc_pins>;
84	pinctrl-names = "default", "state_uhs";
85
86	vmmc-supply = <&reg_3p3v>;
87	vqmmc-supply = <&reg_1p8v>;
88	mmc-hs200-1_8v;
89	mmc-hs400-1_8v;
90	bus-width = <8>;
91	no-sd;
92	no-sdio;
93	non-removable;
94	full-pwr-cycle-in-suspend;
95	status = "okay";
96};
97
98&pfc {
99	pinctrl-0 = <&scif_clk_pins>;
100	pinctrl-names = "default";
101
102	i2c4_pins: i2c4 {
103		groups = "i2c4";
104		function = "i2c4";
105	};
106
107	mmc_pins: mmc {
108		groups = "mmc_data8", "mmc_ctrl", "mmc_ds";
109		function = "mmc";
110		power-source = <1800>;
111	};
112
113	scif0_pins: scif0 {
114		groups = "scif0_data", "scif0_ctrl";
115		function = "scif0";
116	};
117
118	scif3_pins: scif3 {
119		groups = "scif3_data", "scif3_ctrl";
120		function = "scif3";
121	};
122
123	scif_clk_pins: scif_clk {
124		groups = "scif_clk";
125		function = "scif_clk";
126	};
127};
128
129&rwdt {
130	timeout-sec = <60>;
131	status = "okay";
132};
133
134&scif0 {
135	pinctrl-0 = <&scif0_pins>;
136	pinctrl-names = "default";
137
138	uart-has-rtscts;
139	status = "okay";
140};
141
142&scif3 {
143	pinctrl-0 = <&scif3_pins>;
144	pinctrl-names = "default";
145
146	uart-has-rtscts;
147	status = "okay";
148};
149
150&scif_clk {
151	clock-frequency = <24000000>;
152};
153