]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
arm64: dts: renesas: rzt2h-rzn2h-evk: Enable eMMC
authorLad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
Wed, 20 Aug 2025 20:06:57 +0000 (21:06 +0100)
committerGeert Uytterhoeven <geert+renesas@glider.be>
Fri, 12 Sep 2025 09:14:48 +0000 (11:14 +0200)
Enable eMMC on RZ/T2H and RZ/N2H EVKs. As SDHI0 can be connected to
either eMMC0/SD0 `SD0_EMMC` macro is added.

Signed-off-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Link: https://lore.kernel.org/20250820200659.2048755-8-prabhakar.mahadev-lad.rj@bp.renesas.com
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
arch/arm64/boot/dts/renesas/r9a09g077m44-rzt2h-evk.dts
arch/arm64/boot/dts/renesas/r9a09g087m44-rzn2h-evk.dts
arch/arm64/boot/dts/renesas/rzt2h-n2h-evk-common.dtsi

index a7b91c96f311ef862ceffaf3e6cfd5ec10d3c25b..cb659b2a4337612d8b99b69c52c36719ea3389dc 100644 (file)
@@ -8,6 +8,15 @@
 /dts-v1/;
 
 #include "r9a09g077m44.dtsi"
+
+/*
+ * SD0 can be connected to either eMMC (IC49) or SD card slot CN31
+ * Lets by default enable the eMMC, note we need the below SW settings
+ * for eMMC.
+ * SW2[1] = ON; SW2[2] = ON
+ */
+#define SD0_EMMC       1
+
 #include "rzt2h-n2h-evk-common.dtsi"
 
 / {
index a068661fc4429ad6f27d7ee3860922adb00e2178..87e362f6f09f7ea48d0aaec6e8ce72e8c29e91f5 100644 (file)
@@ -8,6 +8,16 @@
 /dts-v1/;
 
 #include "r9a09g087m44.dtsi"
+
+/*
+ * SD0 can be connected to either eMMC (U33) or SD card slot CN21
+ * Lets by default enable the eMMC, note we need the below SW settings
+ * for eMMC.
+ * DSW5[1] = ON; DSW5[2] = ON
+ * DSW17[5] = OFF; DSW17[6] = ON
+ */
+#define SD0_EMMC       1
+
 #include "rzt2h-n2h-evk-common.dtsi"
 
 /*
index 1b7e16ffe6b697ababbe6d06b0822d222aa3c592..68d493bf5e8cfbd1288ad7d1bcdfb3ec00711189 100644 (file)
        aliases {
                i2c0 = &i2c0;
                i2c1 = &i2c1;
+               mmc0 = &sdhi0;
                serial0 = &sci0;
        };
 
        chosen {
                stdout-path = "serial0:115200n8";
        };
+
+       reg_1p8v: regulator-1p8v {
+               compatible = "regulator-fixed";
+               regulator-name = "fixed-1.8V";
+               regulator-min-microvolt = <1800000>;
+               regulator-max-microvolt = <1800000>;
+               regulator-boot-on;
+               regulator-always-on;
+       };
+
+       reg_3p3v: regulator-3p3v {
+               compatible = "regulator-fixed";
+               regulator-name = "fixed-3.3V";
+               regulator-min-microvolt = <3300000>;
+               regulator-max-microvolt = <3300000>;
+               regulator-boot-on;
+               regulator-always-on;
+       };
 };
 
 &extal_clk {
                pinmux = <RZT2H_PORT_PINMUX(27, 4, 0x14)>,
                         <RZT2H_PORT_PINMUX(27, 5, 0x14)>;
        };
+
+#if SD0_EMMC
+       sdhi0-emmc-iovs-hog {
+               gpio-hog;
+               gpios = <RZT2H_GPIO(2, 6) GPIO_ACTIVE_HIGH>;
+               output-high;
+               line-name = "SD0_IOVS";
+       };
+#endif
+
+       sdhi0_emmc_pins: sd0-emmc-group {
+               data-pins {
+                       pinmux = <RZT2H_PORT_PINMUX(12, 2, 0x29)>, /* SD0_DATA0 */
+                                <RZT2H_PORT_PINMUX(12, 3, 0x29)>, /* SD0_DATA1 */
+                                <RZT2H_PORT_PINMUX(12, 4, 0x29)>, /* SD0_DATA2 */
+                                <RZT2H_PORT_PINMUX(12, 5, 0x29)>, /* SD0_DATA3 */
+                                <RZT2H_PORT_PINMUX(12, 6, 0x29)>, /* SD0_DATA4 */
+                                <RZT2H_PORT_PINMUX(12, 7, 0x29)>, /* SD0_DATA5 */
+                                <RZT2H_PORT_PINMUX(13, 0, 0x29)>, /* SD0_DATA6 */
+                                <RZT2H_PORT_PINMUX(13, 1, 0x29)>; /* SD0_DATA7 */
+               };
+
+               ctrl-pins {
+                       pinmux = <RZT2H_PORT_PINMUX(12, 0, 0x29)>, /* SD0_CLK */
+                                <RZT2H_PORT_PINMUX(12, 1, 0x29)>, /* SD0_CMD */
+                                <RZT2H_PORT_PINMUX(13, 2, 0x29)>; /* SD0_RST# */
+               };
+       };
 };
 
 &sci0 {
        pinctrl-names = "default";
        status = "okay";
 };
+
+#if SD0_EMMC
+&sdhi0 {
+       pinctrl-0 = <&sdhi0_emmc_pins>;
+       pinctrl-1 = <&sdhi0_emmc_pins>;
+       pinctrl-names = "default", "state_uhs";
+       vmmc-supply = <&reg_3p3v>;
+       vqmmc-supply = <&reg_1p8v>;
+       bus-width = <8>;
+       non-removable;
+       mmc-hs200-1_8v;
+       fixed-emmc-driver-type = <1>;
+       status = "okay";
+};
+#endif