xref: /linux/scripts/dtc/include-prefixes/arm64/renesas/rzv2-evk-cn15-sd.dtso (revision 115e74a29b530d121891238e9551c4bcdf7b04b5)
1*3d6c2bc7SLad Prabhakar// SPDX-License-Identifier: GPL-2.0
2*3d6c2bc7SLad Prabhakar/*
3*3d6c2bc7SLad Prabhakar * Shared DT overlay for the microSD Sub Board (RTK0EF0186B01000BJ), which
4*3d6c2bc7SLad Prabhakar * is connected to the CN15 connector on the RZ/V2H and RZ/V2N EVKs.
5*3d6c2bc7SLad Prabhakar *
6*3d6c2bc7SLad Prabhakar * Copyright (C) 2025 Renesas Electronics Corp.
7*3d6c2bc7SLad Prabhakar */
8*3d6c2bc7SLad Prabhakar
9*3d6c2bc7SLad Prabhakar/dts-v1/;
10*3d6c2bc7SLad Prabhakar/plugin/;
11*3d6c2bc7SLad Prabhakar
12*3d6c2bc7SLad Prabhakar#include <dt-bindings/gpio/gpio.h>
13*3d6c2bc7SLad Prabhakar#include <dt-bindings/pinctrl/rzg2l-pinctrl.h>
14*3d6c2bc7SLad Prabhakar
15*3d6c2bc7SLad Prabhakar&{/} {
16*3d6c2bc7SLad Prabhakar	aliases {
17*3d6c2bc7SLad Prabhakar		mmc0 = "/soc/mmc@15c00000";
18*3d6c2bc7SLad Prabhakar	};
19*3d6c2bc7SLad Prabhakar
20*3d6c2bc7SLad Prabhakar	vqmmc_sdhi0: regulator-vqmmc-sdhi0 {
21*3d6c2bc7SLad Prabhakar		compatible = "regulator-gpio";
22*3d6c2bc7SLad Prabhakar		regulator-name = "SDHI0 VqmmC";
23*3d6c2bc7SLad Prabhakar		gpios = <&pinctrl RZG2L_GPIO(10, 0) GPIO_ACTIVE_HIGH>;
24*3d6c2bc7SLad Prabhakar		regulator-min-microvolt = <1800000>;
25*3d6c2bc7SLad Prabhakar		regulator-max-microvolt = <3300000>;
26*3d6c2bc7SLad Prabhakar		gpios-states = <0>;
27*3d6c2bc7SLad Prabhakar		states = <3300000 0>, <1800000 1>;
28*3d6c2bc7SLad Prabhakar	};
29*3d6c2bc7SLad Prabhakar};
30*3d6c2bc7SLad Prabhakar
31*3d6c2bc7SLad Prabhakar&pinctrl {
32*3d6c2bc7SLad Prabhakar	sdhi0-pwr-en-hog {
33*3d6c2bc7SLad Prabhakar		gpio-hog;
34*3d6c2bc7SLad Prabhakar		gpios = <RZG2L_GPIO(10, 1) GPIO_ACTIVE_HIGH>;
35*3d6c2bc7SLad Prabhakar		output-high;
36*3d6c2bc7SLad Prabhakar		line-name = "sd0_pwr_en";
37*3d6c2bc7SLad Prabhakar	};
38*3d6c2bc7SLad Prabhakar
39*3d6c2bc7SLad Prabhakar	sdhi0_pins: sd0 {
40*3d6c2bc7SLad Prabhakar		sd0-cd {
41*3d6c2bc7SLad Prabhakar			pinmux = <RZG2L_PORT_PINMUX(10, 5, 15)>; /* SD0_CD */
42*3d6c2bc7SLad Prabhakar		};
43*3d6c2bc7SLad Prabhakar
44*3d6c2bc7SLad Prabhakar		sd0-clk {
45*3d6c2bc7SLad Prabhakar			pins = "SD0CLK";
46*3d6c2bc7SLad Prabhakar			renesas,output-impedance = <3>;
47*3d6c2bc7SLad Prabhakar			slew-rate = <0>;
48*3d6c2bc7SLad Prabhakar		};
49*3d6c2bc7SLad Prabhakar
50*3d6c2bc7SLad Prabhakar		sd0-dat-cmd {
51*3d6c2bc7SLad Prabhakar			pins = "SD0DAT0", "SD0DAT1", "SD0DAT2", "SD0DAT3", "SD0CMD";
52*3d6c2bc7SLad Prabhakar			input-enable;
53*3d6c2bc7SLad Prabhakar			renesas,output-impedance = <3>;
54*3d6c2bc7SLad Prabhakar			slew-rate = <0>;
55*3d6c2bc7SLad Prabhakar		};
56*3d6c2bc7SLad Prabhakar	};
57*3d6c2bc7SLad Prabhakar};
58*3d6c2bc7SLad Prabhakar
59*3d6c2bc7SLad Prabhakar&sdhi0 {
60*3d6c2bc7SLad Prabhakar	pinctrl-0 = <&sdhi0_pins>;
61*3d6c2bc7SLad Prabhakar	pinctrl-1 = <&sdhi0_pins>;
62*3d6c2bc7SLad Prabhakar	pinctrl-names = "default", "state_uhs";
63*3d6c2bc7SLad Prabhakar	vmmc-supply = <&reg_3p3v>;
64*3d6c2bc7SLad Prabhakar	vqmmc-supply = <&vqmmc_sdhi0>;
65*3d6c2bc7SLad Prabhakar	bus-width = <4>;
66*3d6c2bc7SLad Prabhakar	sd-uhs-sdr50;
67*3d6c2bc7SLad Prabhakar	sd-uhs-sdr104;
68*3d6c2bc7SLad Prabhakar	status = "okay";
69*3d6c2bc7SLad Prabhakar};
70