xref: /linux/arch/arm64/boot/dts/renesas/rzt2h-n2h-evk-common.dtsi (revision 4f38da1f027ea2c9f01bb71daa7a299c191b6940)
18989230eSPaul Barker// SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
28989230eSPaul Barker/*
38989230eSPaul Barker * Common Device Tree Source for the RZ/T2H and RZ/N2H EVK boards.
48989230eSPaul Barker *
58989230eSPaul Barker * Copyright (C) 2025 Renesas Electronics Corp.
68989230eSPaul Barker */
78989230eSPaul Barker
877aae525SLad Prabhakar#include <dt-bindings/gpio/gpio.h>
977aae525SLad Prabhakar#include <dt-bindings/leds/common.h>
1077aae525SLad Prabhakar#include <dt-bindings/pinctrl/renesas,r9a09g077-pinctrl.h>
1177aae525SLad Prabhakar
128989230eSPaul Barker/ {
138989230eSPaul Barker	aliases {
146f21672cSLad Prabhakar		i2c0 = &i2c0;
156f21672cSLad Prabhakar		i2c1 = &i2c1;
164d7624fcSLad Prabhakar		mmc0 = &sdhi0;
17dba8ee27SLad Prabhakar		mmc1 = &sdhi1;
188989230eSPaul Barker		serial0 = &sci0;
198989230eSPaul Barker	};
208989230eSPaul Barker
218989230eSPaul Barker	chosen {
228989230eSPaul Barker		stdout-path = "serial0:115200n8";
238989230eSPaul Barker	};
244d7624fcSLad Prabhakar
254d7624fcSLad Prabhakar	reg_1p8v: regulator-1p8v {
264d7624fcSLad Prabhakar		compatible = "regulator-fixed";
274d7624fcSLad Prabhakar		regulator-name = "fixed-1.8V";
284d7624fcSLad Prabhakar		regulator-min-microvolt = <1800000>;
294d7624fcSLad Prabhakar		regulator-max-microvolt = <1800000>;
304d7624fcSLad Prabhakar		regulator-boot-on;
314d7624fcSLad Prabhakar		regulator-always-on;
324d7624fcSLad Prabhakar	};
334d7624fcSLad Prabhakar
344d7624fcSLad Prabhakar	reg_3p3v: regulator-3p3v {
354d7624fcSLad Prabhakar		compatible = "regulator-fixed";
364d7624fcSLad Prabhakar		regulator-name = "fixed-3.3V";
374d7624fcSLad Prabhakar		regulator-min-microvolt = <3300000>;
384d7624fcSLad Prabhakar		regulator-max-microvolt = <3300000>;
394d7624fcSLad Prabhakar		regulator-boot-on;
404d7624fcSLad Prabhakar		regulator-always-on;
414d7624fcSLad Prabhakar	};
42dba8ee27SLad Prabhakar
43d065453eSLad Prabhakar#if SD0_SD
44d065453eSLad Prabhakar	vqmmc_sdhi0: regulator-vqmmc-sdhi0 {
45d065453eSLad Prabhakar		compatible = "regulator-gpio";
46d065453eSLad Prabhakar		regulator-name = "SDHI0 VqmmC";
47d065453eSLad Prabhakar		gpios = <&pinctrl RZT2H_GPIO(2, 6) GPIO_ACTIVE_HIGH>;
48d065453eSLad Prabhakar		regulator-min-microvolt = <1800000>;
49d065453eSLad Prabhakar		regulator-max-microvolt = <3300000>;
50d065453eSLad Prabhakar		gpios-states = <0>;
51d065453eSLad Prabhakar		states = <3300000 0>, <1800000 1>;
52d065453eSLad Prabhakar	};
53d065453eSLad Prabhakar#endif
54d065453eSLad Prabhakar
55dba8ee27SLad Prabhakar#if SD1_MICRO_SD
56dba8ee27SLad Prabhakar	vccq_sdhi1: regulator-vccq-sdhi1 {
57dba8ee27SLad Prabhakar		compatible = "regulator-gpio";
58dba8ee27SLad Prabhakar		regulator-name = "SDHI1 VccQ";
59dba8ee27SLad Prabhakar		regulator-min-microvolt = <1800000>;
60dba8ee27SLad Prabhakar		regulator-max-microvolt = <3300000>;
61dba8ee27SLad Prabhakar		gpios = <&pinctrl RZT2H_GPIO(8, 6) GPIO_ACTIVE_HIGH>;
62dba8ee27SLad Prabhakar		gpios-states = <0>;
63dba8ee27SLad Prabhakar		states = <3300000 0>, <1800000 1>;
64dba8ee27SLad Prabhakar	};
65dba8ee27SLad Prabhakar#endif
668989230eSPaul Barker};
678989230eSPaul Barker
68*7e7bac72SLad Prabhakar&ehci {
69*7e7bac72SLad Prabhakar	dr_mode = "otg";
70*7e7bac72SLad Prabhakar	status = "okay";
71*7e7bac72SLad Prabhakar};
72*7e7bac72SLad Prabhakar
738989230eSPaul Barker&extal_clk {
748989230eSPaul Barker	clock-frequency = <25000000>;
758989230eSPaul Barker};
768989230eSPaul Barker
77*7e7bac72SLad Prabhakar&hsusb {
78*7e7bac72SLad Prabhakar	dr_mode = "otg";
79*7e7bac72SLad Prabhakar	status = "okay";
80*7e7bac72SLad Prabhakar};
81*7e7bac72SLad Prabhakar
820176c9e8SLad Prabhakar&i2c0 {
830176c9e8SLad Prabhakar	eeprom: eeprom@50 {
840176c9e8SLad Prabhakar		compatible = "renesas,r1ex24016", "atmel,24c16";
850176c9e8SLad Prabhakar		reg = <0x50>;
860176c9e8SLad Prabhakar		pagesize = <16>;
870176c9e8SLad Prabhakar	};
880176c9e8SLad Prabhakar};
890176c9e8SLad Prabhakar
90*7e7bac72SLad Prabhakar&ohci {
91*7e7bac72SLad Prabhakar	dr_mode = "otg";
92*7e7bac72SLad Prabhakar	status = "okay";
93*7e7bac72SLad Prabhakar};
94*7e7bac72SLad Prabhakar
951366c160SLad Prabhakar&pinctrl {
961366c160SLad Prabhakar	/*
971366c160SLad Prabhakar	 * SCI0 Pin Configuration:
981366c160SLad Prabhakar	 * ------------------------
991366c160SLad Prabhakar	 * Signal     | Pin     | RZ/T2H (SW4) | RZ/N2H (DSW9)
1001366c160SLad Prabhakar	 * -----------|---------|--------------|---------------
1011366c160SLad Prabhakar	 * SCI0_RXD   | P27_4   | 5: ON, 6: OFF| 1: ON, 2: OFF
1021366c160SLad Prabhakar	 * SCI0_TXD   | P27_5   | 7: ON, 8: OFF| 3: ON, 4: OFF
1031366c160SLad Prabhakar	 */
1041366c160SLad Prabhakar	sci0_pins: sci0-pins {
1051366c160SLad Prabhakar		pinmux = <RZT2H_PORT_PINMUX(27, 4, 0x14)>,
1061366c160SLad Prabhakar			 <RZT2H_PORT_PINMUX(27, 5, 0x14)>;
1071366c160SLad Prabhakar	};
1084d7624fcSLad Prabhakar
1094d7624fcSLad Prabhakar#if SD0_EMMC
1104d7624fcSLad Prabhakar	sdhi0-emmc-iovs-hog {
1114d7624fcSLad Prabhakar		gpio-hog;
1124d7624fcSLad Prabhakar		gpios = <RZT2H_GPIO(2, 6) GPIO_ACTIVE_HIGH>;
1134d7624fcSLad Prabhakar		output-high;
1144d7624fcSLad Prabhakar		line-name = "SD0_IOVS";
1154d7624fcSLad Prabhakar	};
1164d7624fcSLad Prabhakar#endif
1174d7624fcSLad Prabhakar
1184d7624fcSLad Prabhakar	sdhi0_emmc_pins: sd0-emmc-group {
1194d7624fcSLad Prabhakar		data-pins {
1204d7624fcSLad Prabhakar			pinmux = <RZT2H_PORT_PINMUX(12, 2, 0x29)>, /* SD0_DATA0 */
1214d7624fcSLad Prabhakar				 <RZT2H_PORT_PINMUX(12, 3, 0x29)>, /* SD0_DATA1 */
1224d7624fcSLad Prabhakar				 <RZT2H_PORT_PINMUX(12, 4, 0x29)>, /* SD0_DATA2 */
1234d7624fcSLad Prabhakar				 <RZT2H_PORT_PINMUX(12, 5, 0x29)>, /* SD0_DATA3 */
1244d7624fcSLad Prabhakar				 <RZT2H_PORT_PINMUX(12, 6, 0x29)>, /* SD0_DATA4 */
1254d7624fcSLad Prabhakar				 <RZT2H_PORT_PINMUX(12, 7, 0x29)>, /* SD0_DATA5 */
1264d7624fcSLad Prabhakar				 <RZT2H_PORT_PINMUX(13, 0, 0x29)>, /* SD0_DATA6 */
1274d7624fcSLad Prabhakar				 <RZT2H_PORT_PINMUX(13, 1, 0x29)>; /* SD0_DATA7 */
1284d7624fcSLad Prabhakar		};
1294d7624fcSLad Prabhakar
1304d7624fcSLad Prabhakar		ctrl-pins {
1314d7624fcSLad Prabhakar			pinmux = <RZT2H_PORT_PINMUX(12, 0, 0x29)>, /* SD0_CLK */
1324d7624fcSLad Prabhakar				 <RZT2H_PORT_PINMUX(12, 1, 0x29)>, /* SD0_CMD */
1334d7624fcSLad Prabhakar				 <RZT2H_PORT_PINMUX(13, 2, 0x29)>; /* SD0_RST# */
1344d7624fcSLad Prabhakar		};
1354d7624fcSLad Prabhakar	};
136dba8ee27SLad Prabhakar
137d065453eSLad Prabhakar#if SD0_SD
138d065453eSLad Prabhakar	sdhi0-pwen-hog {
139d065453eSLad Prabhakar		gpio-hog;
140d065453eSLad Prabhakar		gpios = <RZT2H_GPIO(2, 5) GPIO_ACTIVE_HIGH>;
141d065453eSLad Prabhakar		output-high;
142d065453eSLad Prabhakar		line-name = "SD0_PWEN";
143d065453eSLad Prabhakar	};
144d065453eSLad Prabhakar#endif
145d065453eSLad Prabhakar
146d065453eSLad Prabhakar	sdhi0_sd_pins: sd0-sd-group {
147d065453eSLad Prabhakar		data-pins {
148d065453eSLad Prabhakar			pinmux = <RZT2H_PORT_PINMUX(12, 2, 0x29)>, /* SD0_DATA0 */
149d065453eSLad Prabhakar				 <RZT2H_PORT_PINMUX(12, 3, 0x29)>, /* SD0_DATA1 */
150d065453eSLad Prabhakar				 <RZT2H_PORT_PINMUX(12, 4, 0x29)>, /* SD0_DATA2 */
151d065453eSLad Prabhakar				 <RZT2H_PORT_PINMUX(12, 5, 0x29)>; /* SD0_DATA3 */
152d065453eSLad Prabhakar		};
153d065453eSLad Prabhakar
154d065453eSLad Prabhakar		ctrl-pins {
155d065453eSLad Prabhakar			pinmux = <RZT2H_PORT_PINMUX(12, 0, 0x29)>, /* SD0_CLK */
156d065453eSLad Prabhakar				 <RZT2H_PORT_PINMUX(12, 1, 0x29)>, /* SD0_CMD */
157d065453eSLad Prabhakar				 <RZT2H_PORT_PINMUX(22, 5, 0x29)>, /* SD0_CD */
158d065453eSLad Prabhakar				 <RZT2H_PORT_PINMUX(22, 6, 0x29)>; /* SD0_WP */
159d065453eSLad Prabhakar		};
160d065453eSLad Prabhakar	};
161d065453eSLad Prabhakar
162dba8ee27SLad Prabhakar#if SD1_MICRO_SD
163dba8ee27SLad Prabhakar	sdhi1-pwen-hog {
164dba8ee27SLad Prabhakar		gpio-hog;
165dba8ee27SLad Prabhakar		gpios = <RZT2H_GPIO(8, 5) GPIO_ACTIVE_HIGH>;
166dba8ee27SLad Prabhakar		output-high;
167dba8ee27SLad Prabhakar		line-name = "SD1_PWEN";
168dba8ee27SLad Prabhakar	};
169dba8ee27SLad Prabhakar#endif
170dba8ee27SLad Prabhakar
171dba8ee27SLad Prabhakar	sdhi1_pins: sd1-group {
172dba8ee27SLad Prabhakar		data-pins {
173dba8ee27SLad Prabhakar			pinmux = <RZT2H_PORT_PINMUX(16, 7, 0x29)>, /* SD1_DATA0 */
174dba8ee27SLad Prabhakar				 <RZT2H_PORT_PINMUX(17, 0, 0x29)>, /* SD1_DATA1 */
175dba8ee27SLad Prabhakar				 <RZT2H_PORT_PINMUX(17, 1, 0x29)>, /* SD1_DATA2 */
176dba8ee27SLad Prabhakar				 <RZT2H_PORT_PINMUX(17, 2, 0x29)>; /* SD1_DATA3 */
177dba8ee27SLad Prabhakar		};
178dba8ee27SLad Prabhakar
179dba8ee27SLad Prabhakar		ctrl-pins {
180dba8ee27SLad Prabhakar			pinmux = <RZT2H_PORT_PINMUX(16, 5, 0x29)>, /* SD1_CLK */
181dba8ee27SLad Prabhakar				 <RZT2H_PORT_PINMUX(16, 6, 0x29)>, /* SD1_CMD */
182dba8ee27SLad Prabhakar				 <RZT2H_PORT_PINMUX(17, 4, 0x29)>; /* SD1_CD */
183dba8ee27SLad Prabhakar		};
184dba8ee27SLad Prabhakar	};
1851366c160SLad Prabhakar};
1861366c160SLad Prabhakar
1878989230eSPaul Barker&sci0 {
1881366c160SLad Prabhakar	pinctrl-0 = <&sci0_pins>;
1891366c160SLad Prabhakar	pinctrl-names = "default";
1908989230eSPaul Barker	status = "okay";
1918989230eSPaul Barker};
1924d7624fcSLad Prabhakar
1934d7624fcSLad Prabhakar#if SD0_EMMC
1944d7624fcSLad Prabhakar&sdhi0 {
1954d7624fcSLad Prabhakar	pinctrl-0 = <&sdhi0_emmc_pins>;
1964d7624fcSLad Prabhakar	pinctrl-1 = <&sdhi0_emmc_pins>;
1974d7624fcSLad Prabhakar	pinctrl-names = "default", "state_uhs";
1984d7624fcSLad Prabhakar	vmmc-supply = <&reg_3p3v>;
1994d7624fcSLad Prabhakar	vqmmc-supply = <&reg_1p8v>;
2004d7624fcSLad Prabhakar	bus-width = <8>;
2014d7624fcSLad Prabhakar	non-removable;
2024d7624fcSLad Prabhakar	mmc-hs200-1_8v;
2034d7624fcSLad Prabhakar	fixed-emmc-driver-type = <1>;
2044d7624fcSLad Prabhakar	status = "okay";
2054d7624fcSLad Prabhakar};
2064d7624fcSLad Prabhakar#endif
207dba8ee27SLad Prabhakar
208d065453eSLad Prabhakar#if SD0_SD
209d065453eSLad Prabhakar&sdhi0 {
210d065453eSLad Prabhakar	pinctrl-0 = <&sdhi0_sd_pins>;
211d065453eSLad Prabhakar	pinctrl-1 = <&sdhi0_sd_pins>;
212d065453eSLad Prabhakar	pinctrl-names = "default", "state_uhs";
213d065453eSLad Prabhakar	vmmc-supply = <&reg_3p3v>;
214d065453eSLad Prabhakar	vqmmc-supply = <&vqmmc_sdhi0>;
215d065453eSLad Prabhakar	bus-width = <4>;
216d065453eSLad Prabhakar	sd-uhs-sdr50;
217d065453eSLad Prabhakar	sd-uhs-sdr104;
218d065453eSLad Prabhakar	status = "okay";
219d065453eSLad Prabhakar};
220d065453eSLad Prabhakar#endif
221d065453eSLad Prabhakar
222dba8ee27SLad Prabhakar#if SD1_MICRO_SD
223dba8ee27SLad Prabhakar&sdhi1 {
224dba8ee27SLad Prabhakar	pinctrl-0 = <&sdhi1_pins>;
225dba8ee27SLad Prabhakar	pinctrl-1 = <&sdhi1_pins>;
226dba8ee27SLad Prabhakar	pinctrl-names = "default", "state_uhs";
227dba8ee27SLad Prabhakar	vmmc-supply = <&reg_3p3v>;
228dba8ee27SLad Prabhakar	vqmmc-supply = <&vccq_sdhi1>;
229dba8ee27SLad Prabhakar	bus-width = <4>;
230dba8ee27SLad Prabhakar	sd-uhs-sdr50;
231dba8ee27SLad Prabhakar	sd-uhs-sdr104;
232dba8ee27SLad Prabhakar	status = "okay";
233dba8ee27SLad Prabhakar};
234dba8ee27SLad Prabhakar#endif
235da23f1bdSLad Prabhakar
236*7e7bac72SLad Prabhakar&usb2_phy {
237*7e7bac72SLad Prabhakar	pinctrl-0 = <&usb_pins>;
238*7e7bac72SLad Prabhakar	pinctrl-names = "default";
239*7e7bac72SLad Prabhakar
240*7e7bac72SLad Prabhakar	status = "okay";
241*7e7bac72SLad Prabhakar};
242*7e7bac72SLad Prabhakar
243da23f1bdSLad Prabhakar&wdt2 {
244da23f1bdSLad Prabhakar	status = "okay";
245da23f1bdSLad Prabhakar	timeout-sec = <60>;
246da23f1bdSLad Prabhakar};
247