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