xref: /linux/scripts/dtc/include-prefixes/arm64/renesas/r9a09g011-v2mevk2.dts (revision b6c0be722b0c0a7204b6289464a04cd7b4fdfca0)
1// SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2/*
3 * Device Tree Source for the RZ/V2M (r9a09g011) Evaluation Kit Board
4 *
5 * Copyright (C) 2022 Renesas Electronics Corp.
6 */
7
8/dts-v1/;
9#include "r9a09g011.dtsi"
10#include <dt-bindings/gpio/gpio.h>
11#include <dt-bindings/pinctrl/rzv2m-pinctrl.h>
12
13/ {
14	model = "RZ/V2M Evaluation Kit 2.0";
15	compatible = "renesas,rzv2mevk2", "renesas,r9a09g011";
16
17	aliases {
18		serial0 = &uart0;
19		ethernet0 = &avb;
20	};
21
22	chosen {
23		stdout-path = "serial0:115200n8";
24	};
25
26	connector {
27		compatible = "usb-c-connector";
28		label = "USB-C";
29		data-role = "dual";
30
31		ports {
32			#address-cells = <1>;
33			#size-cells = <0>;
34
35			port@0 {
36				reg = <0>;
37				hs_ep: endpoint {
38					remote-endpoint = <&usb3_hs_ep>;
39				};
40			};
41
42			port@1 {
43				reg = <1>;
44				ss_ep: endpoint {
45					remote-endpoint = <&hd3ss3220_in_ep>;
46				};
47			};
48		};
49	};
50
51	memory@58000000 {
52		device_type = "memory";
53		/*
54		 * first 1.25GiB is reserved for ISP Firmware,
55		 * next 128MiB is reserved for secure area.
56		 */
57		reg = <0x0 0x58000000 0x0 0x28000000>;
58	};
59
60	memory@180000000 {
61		device_type = "memory";
62		reg = <0x1 0x80000000 0x0 0x80000000>;
63	};
64
65	reg_1v8: regulator-1v8 {
66		compatible = "regulator-fixed";
67		regulator-name = "fixed-1.8V";
68		regulator-min-microvolt = <1800000>;
69		regulator-max-microvolt = <1800000>;
70		regulator-boot-on;
71		regulator-always-on;
72	};
73
74	reg_3v3: regulator-3v3 {
75		compatible = "regulator-fixed";
76		regulator-name = "fixed-3.3V";
77		regulator-min-microvolt = <3300000>;
78		regulator-max-microvolt = <3300000>;
79		regulator-boot-on;
80		regulator-always-on;
81	};
82
83	vccq_sdhi0: regulator-vccq-sdhi0 {
84		compatible = "regulator-gpio";
85
86		regulator-name = "SDHI0 VccQ";
87		regulator-min-microvolt = <1800000>;
88		regulator-max-microvolt = <3300000>;
89
90		gpios = <&pwc 0 GPIO_ACTIVE_HIGH>;
91		gpios-states = <1>;
92		states = <3300000 0>, <1800000 1>;
93	};
94};
95
96&avb {
97	renesas,no-ether-link;
98	phy-handle = <&phy0>;
99	phy-mode = "gmii";
100	status = "okay";
101
102	phy0: ethernet-phy@0 {
103		compatible = "ethernet-phy-id001c.c916",
104			     "ethernet-phy-ieee802.3-c22";
105		reg = <0>;
106	};
107};
108
109&emmc {
110	pinctrl-0 = <&emmc_pins>;
111	pinctrl-1 = <&emmc_pins>;
112	pinctrl-names = "default", "state_uhs";
113
114	vmmc-supply = <&reg_3v3>;
115	vqmmc-supply = <&reg_1v8>;
116	bus-width = <8>;
117	mmc-hs200-1_8v;
118	no-sd;
119	no-sdio;
120	non-removable;
121	fixed-emmc-driver-type = <1>;
122	max-frequency = <200000000>;
123	status = "okay";
124};
125
126&extal_clk {
127	clock-frequency = <48000000>;
128};
129
130&i2c0 {
131	pinctrl-0 = <&i2c0_pins>;
132	pinctrl-names = "default";
133	clock-frequency = <400000>;
134	status = "okay";
135
136	hd3ss3220@47 {
137		compatible = "ti,hd3ss3220";
138		reg = <0x47>;
139
140		ports {
141			#address-cells = <1>;
142			#size-cells = <0>;
143
144			port@0 {
145				reg = <0>;
146				hd3ss3220_in_ep: endpoint {
147					remote-endpoint = <&ss_ep>;
148				};
149			};
150
151			port@1 {
152				reg = <1>;
153				hd3ss3220_out_ep: endpoint {
154					remote-endpoint = <&usb3_role_switch>;
155				};
156			};
157		};
158	};
159};
160
161&i2c2 {
162	pinctrl-0 = <&i2c2_pins>;
163	pinctrl-names = "default";
164	clock-frequency = <100000>;
165	status = "okay";
166};
167
168&pinctrl {
169	emmc_pins: emmc {
170		data {
171			pinmux = <RZV2M_PORT_PINMUX(0, 0, 2)>, /* MMDAT0 */
172				 <RZV2M_PORT_PINMUX(0, 1, 2)>, /* MMDAT1 */
173				 <RZV2M_PORT_PINMUX(0, 2, 2)>, /* MMDAT2 */
174				 <RZV2M_PORT_PINMUX(0, 3, 2)>, /* MMDAT3 */
175				 <RZV2M_PORT_PINMUX(0, 4, 2)>, /* MMDAT4 */
176				 <RZV2M_PORT_PINMUX(0, 5, 2)>, /* MMDAT5 */
177				 <RZV2M_PORT_PINMUX(0, 6, 2)>, /* MMDAT6 */
178				 <RZV2M_PORT_PINMUX(0, 7, 2)>; /* MMDAT7 */
179			power-source = <1800>;
180		};
181
182		ctrl {
183			pinmux = <RZV2M_PORT_PINMUX(0, 10, 2)>, /* MMCMD */
184				 <RZV2M_PORT_PINMUX(0, 11, 2)>; /* MMCLK */
185			power-source = <1800>;
186		};
187	};
188
189	i2c0_pins: i2c0 {
190		pinmux = <RZV2M_PORT_PINMUX(5, 0, 2)>, /* SDA */
191			 <RZV2M_PORT_PINMUX(5, 1, 2)>; /* SCL */
192	};
193
194	i2c2_pins: i2c2 {
195		pinmux = <RZV2M_PORT_PINMUX(3, 8, 2)>, /* SDA */
196			 <RZV2M_PORT_PINMUX(3, 9, 2)>; /* SCL */
197	};
198
199	sdhi0_pins: sd0 {
200		data {
201			pinmux = <RZV2M_PORT_PINMUX(8, 2, 1)>, /* SD0DAT0 */
202				 <RZV2M_PORT_PINMUX(8, 3, 1)>, /* SD0DAT1 */
203				 <RZV2M_PORT_PINMUX(8, 4, 1)>, /* SD0DAT2 */
204				 <RZV2M_PORT_PINMUX(8, 5, 1)>; /* SD0DAT3 */
205			power-source = <3300>;
206		};
207
208		ctrl {
209			pinmux = <RZV2M_PORT_PINMUX(8, 0, 1)>, /* SD0CMD */
210				 <RZV2M_PORT_PINMUX(8, 1, 1)>; /* SD0CLK */
211			power-source = <3300>;
212		};
213
214		cd {
215			pinmux = <RZV2M_PORT_PINMUX(8, 7, 1)>; /* SD0CD */
216			power-source = <3300>;
217		};
218	};
219
220	sdhi0_pins_uhs: sd0-uhs {
221		data {
222			pinmux = <RZV2M_PORT_PINMUX(8, 2, 1)>, /* SD0DAT0 */
223				 <RZV2M_PORT_PINMUX(8, 3, 1)>, /* SD0DAT1 */
224				 <RZV2M_PORT_PINMUX(8, 4, 1)>, /* SD0DAT2 */
225				 <RZV2M_PORT_PINMUX(8, 5, 1)>; /* SD0DAT3 */
226			power-source = <1800>;
227		};
228
229		ctrl {
230			pinmux = <RZV2M_PORT_PINMUX(8, 0, 1)>, /* SD0CMD */
231				 <RZV2M_PORT_PINMUX(8, 1, 1)>; /* SD0CLK */
232			power-source = <1800>;
233		};
234
235		cd {
236			pinmux = <RZV2M_PORT_PINMUX(8, 7, 1)>; /* SD0CD */
237			power-source = <1800>;
238		};
239	};
240};
241
242&pwc {
243	renesas,rzv2m-pwc-power;
244	status = "okay";
245};
246
247&sdhi0 {
248	pinctrl-0 = <&sdhi0_pins>;
249	pinctrl-1 = <&sdhi0_pins_uhs>;
250	pinctrl-names = "default", "state_uhs";
251
252	vmmc-supply = <&reg_3v3>;
253	vqmmc-supply = <&vccq_sdhi0>;
254	bus-width = <4>;
255	sd-uhs-sdr50;
256	sd-uhs-sdr104;
257	status = "okay";
258};
259
260&uart0 {
261	status = "okay";
262};
263
264&usb3drd {
265	status = "okay";
266};
267
268&usb3host {
269	status = "okay";
270};
271
272&usb3peri {
273	companion = <&usb3host>;
274	status = "okay";
275	usb-role-switch;
276
277	ports {
278		#address-cells = <1>;
279		#size-cells = <0>;
280
281		port@0 {
282			reg = <0>;
283			usb3_hs_ep: endpoint {
284				remote-endpoint = <&hs_ep>;
285			};
286		};
287
288		port@1 {
289			reg = <1>;
290			usb3_role_switch: endpoint {
291				remote-endpoint = <&hd3ss3220_out_ep>;
292			};
293		};
294	};
295};
296
297&wdt0 {
298	status = "okay";
299};
300