1// SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2/*
3 * Device Tree Source for the RZ SMARC Carrier-II Board.
4 *
5 * Copyright (C) 2023 Renesas Electronics Corp.
6 */
7
8#include <dt-bindings/gpio/gpio.h>
9#include <dt-bindings/pinctrl/rzg2l-pinctrl.h>
10
11/ {
12	aliases {
13		serial0 = &scif0;
14		mmc1 = &sdhi1;
15	};
16
17	vcc_sdhi1: regulator-vcc-sdhi1 {
18		compatible = "regulator-fixed";
19		regulator-name = "SDHI1 Vcc";
20		regulator-min-microvolt = <3300000>;
21		regulator-max-microvolt = <3300000>;
22		gpios = <&pinctrl RZG2L_GPIO(2, 3) GPIO_ACTIVE_HIGH>;
23		enable-active-high;
24	};
25
26	vccq_sdhi1: regulator-vccq-sdhi1 {
27		compatible = "regulator-gpio";
28		regulator-name = "SDHI1 VccQ";
29		regulator-min-microvolt = <1800000>;
30		regulator-max-microvolt = <3300000>;
31		gpios = <&pinctrl RZG2L_GPIO(4, 2) GPIO_ACTIVE_HIGH>;
32		gpios-states = <1>;
33		states = <3300000 1>, <1800000 0>;
34	};
35};
36
37&pinctrl {
38	scif0_pins: scif0 {
39		pinmux = <RZG2L_PORT_PINMUX(6, 3, 1)>, /* RXD */
40			 <RZG2L_PORT_PINMUX(6, 4, 1)>; /* TXD */
41	};
42
43	sdhi1_pins: sd1 {
44		data {
45			pins = "SD1_DATA0", "SD1_DATA1", "SD1_DATA2", "SD1_DATA3";
46			power-source = <3300>;
47		};
48
49		ctrl {
50			pins = "SD1_CLK", "SD1_CMD";
51			power-source = <3300>;
52		};
53
54		cd {
55			pinmux = <RZG2L_PORT_PINMUX(0, 2, 1)>; /* SD1_CD */
56		};
57	};
58
59	sdhi1_pins_uhs: sd1-uhs {
60		data {
61			pins = "SD1_DATA0", "SD1_DATA1", "SD1_DATA2", "SD1_DATA3";
62			power-source = <1800>;
63		};
64
65		ctrl {
66			pins = "SD1_CLK", "SD1_CMD";
67			power-source = <1800>;
68		};
69
70		cd {
71			pinmux = <RZG2L_PORT_PINMUX(0, 2, 1)>; /* SD1_CD */
72		};
73	};
74};
75
76&scif0 {
77	pinctrl-names = "default";
78	pinctrl-0 = <&scif0_pins>;
79	status = "okay";
80};
81
82&sdhi1 {
83	pinctrl-0 = <&sdhi1_pins>;
84	pinctrl-1 = <&sdhi1_pins_uhs>;
85	pinctrl-names = "default", "state_uhs";
86	vmmc-supply = <&vcc_sdhi1>;
87	vqmmc-supply = <&vccq_sdhi1>;
88	bus-width = <4>;
89	sd-uhs-sdr50;
90	sd-uhs-sdr104;
91	max-frequency = <125000000>;
92	status = "okay";
93};
94