diff mbox series

[v2,3/3] ARM: dts: renesas: genmai: enable MMCIF

Message ID 20240928092953.2982-8-wsa+renesas@sang-engineering.com (mailing list archive)
State Mainlined
Commit 86b0d9fc83fdd8d75de5df97430d8c020aacc70a
Delegated to: Geert Uytterhoeven
Headers show
Series ARM: dts: renesas: genmai: enable SDHI and MMCIF | expand

Commit Message

Wolfram Sang Sept. 28, 2024, 9:29 a.m. UTC
Luckily, I still had an MMC card lying around. Works fine.

Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
---
 arch/arm/boot/dts/renesas/r7s72100-genmai.dts | 34 +++++++++++++++++++
 1 file changed, 34 insertions(+)

Comments

Geert Uytterhoeven Oct. 4, 2024, 1:48 p.m. UTC | #1
Hi Wolfram,

On Sat, Sep 28, 2024 at 11:30 AM Wolfram Sang
<wsa+renesas@sang-engineering.com> wrote:
> Luckily, I still had an MMC card lying around. Works fine.
>
> Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com>

Thanks for your patch!

> --- a/arch/arm/boot/dts/renesas/r7s72100-genmai.dts
> +++ b/arch/arm/boot/dts/renesas/r7s72100-genmai.dts
> @@ -88,6 +88,15 @@ led2 {
>                         gpios = <&port4 11 GPIO_ACTIVE_LOW>;
>                 };
>         };
> +
> +       cvcc2: regulator-mmc {
> +               compatible = "regulator-fixed";
> +               regulator-name = "CVcc2";

Odd case. "Cvcc2"?

> +               regulator-min-microvolt = <3300000>;
> +               regulator-max-microvolt = <3300000>;
> +               regulator-boot-on;
> +               regulator-always-on;

The regulator is not always-on, but controlled through the MMC
CD signal.

> +       };
>  };

The rest LGTM.

Gr{oetje,eeting}s,

                        Geert
Wolfram Sang Oct. 4, 2024, 7:53 p.m. UTC | #2
> > +               regulator-name = "CVcc2";
> 
> Odd case. "Cvcc2"?

Fine with me.

> > +               regulator-min-microvolt = <3300000>;
> > +               regulator-max-microvolt = <3300000>;
> > +               regulator-boot-on;
> > +               regulator-always-on;
> 
> The regulator is not always-on, but controlled through the MMC
> CD signal.

Hmm, okay, but how do I model this in the DT? Can I say that a GPIO is
input-only? I can't find this in the bindings doc.
Geert Uytterhoeven Oct. 7, 2024, 12:08 p.m. UTC | #3
Hi Wolfram,

On Fri, Oct 4, 2024 at 9:53 PM Wolfram Sang
<wsa+renesas@sang-engineering.com> wrote:
> > > +               regulator-name = "CVcc2";
> >
> > Odd case. "Cvcc2"?
>
> Fine with me.

OK, will fix while applying.

> > > +               regulator-min-microvolt = <3300000>;
> > > +               regulator-max-microvolt = <3300000>;
> > > +               regulator-boot-on;
> > > +               regulator-always-on;
> >
> > The regulator is not always-on, but controlled through the MMC
> > CD signal.
>
> Hmm, okay, but how do I model this in the DT? Can I say that a GPIO is
> input-only? I can't find this in the bindings doc.

Right, there is no such thing as "regulator-auto-on" ;-)
From the software's point of view it is always enabled, so
"regulator-always-on" makes sense.

Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
i.e. will queue in renesas-devel for v6.13.

Gr{oetje,eeting}s,

                        Geert
diff mbox series

Patch

diff --git a/arch/arm/boot/dts/renesas/r7s72100-genmai.dts b/arch/arm/boot/dts/renesas/r7s72100-genmai.dts
index e93f444b2442..2403e21f2676 100644
--- a/arch/arm/boot/dts/renesas/r7s72100-genmai.dts
+++ b/arch/arm/boot/dts/renesas/r7s72100-genmai.dts
@@ -88,6 +88,15 @@  led2 {
 			gpios = <&port4 11 GPIO_ACTIVE_LOW>;
 		};
 	};
+
+	cvcc2: regulator-mmc {
+		compatible = "regulator-fixed";
+		regulator-name = "CVcc2";
+		regulator-min-microvolt = <3300000>;
+		regulator-max-microvolt = <3300000>;
+		regulator-boot-on;
+		regulator-always-on;
+	};
 };
 
 &bsc {
@@ -179,6 +188,17 @@  eeprom@50 {
 	};
 };
 
+&mmcif {
+	pinctrl-0 = <&mmcif_pins>;
+	pinctrl-names = "default";
+	cd-gpios = <&port3 8 GPIO_ACTIVE_LOW>;
+
+	vmmc-supply = <&cvcc2>;
+	vqmmc-supply = <&cvcc2>;
+	bus-width = <8>;
+	status = "okay";
+};
+
 &mtu2 {
 	status = "okay";
 };
@@ -224,6 +244,20 @@  keyboard_pins: keyboard {
 		pinmux = <RZA1_PINMUX(3, 1, 3)>;
 	};
 
+	mmcif_pins: mmcif {
+		/* MMCIF: P3_8 is CD_GPIO, P3_10 up to P3_15, P4_0 up to P4_3 */
+		pinmux = <RZA1_PINMUX(3, 10, 8)>,	/* MMC_D1 */
+			 <RZA1_PINMUX(3, 11, 8)>,	/* MMC_D0 */
+			 <RZA1_PINMUX(3, 12, 8)>,	/* MMC_CLK */
+			 <RZA1_PINMUX(3, 13, 8)>,	/* MMC_CMD */
+			 <RZA1_PINMUX(3, 14, 8)>,	/* MMC_D3 */
+			 <RZA1_PINMUX(3, 15, 8)>,	/* MMC_D2 */
+			 <RZA1_PINMUX(4, 0, 8)>,	/* MMC_D4 */
+			 <RZA1_PINMUX(4, 1, 8)>,	/* MMC_D5 */
+			 <RZA1_PINMUX(4, 2, 8)>,	/* MMC_D6 */
+			 <RZA1_PINMUX(4, 3, 8)>;	/* MMC_D7 */
+	};
+
 	scif2_pins: serial2 {
 		/* P3_0 as TxD2; P3_2 as RxD2 */
 		pinmux = <RZA1_PINMUX(3, 0, 6)>, <RZA1_PINMUX(3, 2, 4)>;