linux-mmc.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/6] Add MMC support for Mobileye EyeQ5 and EyeQ6 SoCs
@ 2025-06-17 13:25 Benoît Monin
  2025-06-17 13:25 ` [PATCH 1/6] dt-bindings: mmc: cdns: add Mobileye EyeQ MMC/SDHCI controller Benoît Monin
                   ` (7 more replies)
  0 siblings, 8 replies; 13+ messages in thread
From: Benoît Monin @ 2025-06-17 13:25 UTC (permalink / raw)
  To: Ulf Hansson, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
	Vladimir Kondratiev, Gregory CLEMENT, Théo Lebrun,
	Thomas Bogendoerfer, Adrian Hunter, Masahiro Yamada
  Cc: Benoît Monin, linux-mmc, devicetree, linux-kernel,
	linux-mips, Thomas Petazzoni

The MMC/SDHCI controller found in Mobileye EyeQ5 and EyeQ6 SoCs is 
based on Cadence cdns sd4hc IP. It supports up to HS400HS mode. The 
only peculiarity of the hardware is that it needs the preset value
quirk to configure the clock properly at speed slower than HS200.

This patchset adds a compatible device tree binding to cdns sdhci for 
mobileye then uses it in the sdhci-cadence driver.

It also adds an emmc entry in the dtsi of each SoC and the config 
options in each defconfig to allow using an eMMC for the rootfs.

Benoît Monin (6):
  dt-bindings: mmc: cdns: add Mobileye EyeQ MMC/SDHCI controller
  mmc: sdhci-cadence: add Mobileye eyeQ support
  MIPS: mobileye: dts: eyeq6h: add the emmc controller
  MIPS: eyeq6_defconfig: add cadence MMC/SDHCI driver
  MIPS: mobileye: dts: eyeq5: add the emmc controller
  MIPS: eyeq5_defconfig: add cadence MMC/SDHCI driver

 .../devicetree/bindings/mmc/cdns,sdhci.yaml   |  1 +
 arch/mips/boot/dts/mobileye/eyeq5.dtsi        | 22 +++++++++++++++++++
 arch/mips/boot/dts/mobileye/eyeq6h.dtsi       | 22 +++++++++++++++++++
 arch/mips/configs/eyeq5_defconfig             |  2 ++
 arch/mips/configs/eyeq6_defconfig             |  2 ++
 drivers/mmc/host/sdhci-cadence.c              | 11 ++++++++++
 6 files changed, 60 insertions(+)


^ permalink raw reply	[flat|nested] 13+ messages in thread

* [PATCH 1/6] dt-bindings: mmc: cdns: add Mobileye EyeQ MMC/SDHCI controller
  2025-06-17 13:25 [PATCH 0/6] Add MMC support for Mobileye EyeQ5 and EyeQ6 SoCs Benoît Monin
@ 2025-06-17 13:25 ` Benoît Monin
  2025-06-17 13:25 ` [PATCH 2/6] mmc: sdhci-cadence: add Mobileye eyeQ support Benoît Monin
                   ` (6 subsequent siblings)
  7 siblings, 0 replies; 13+ messages in thread
From: Benoît Monin @ 2025-06-17 13:25 UTC (permalink / raw)
  To: Ulf Hansson, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
	Vladimir Kondratiev, Gregory CLEMENT, Théo Lebrun,
	Thomas Bogendoerfer, Adrian Hunter, Masahiro Yamada
  Cc: Benoît Monin, linux-mmc, devicetree, linux-kernel,
	linux-mips, Thomas Petazzoni

The MMC/SD controller from Mobileye is compatible with cdns,sd4hc, but
will need the preset broken value quirk for speed slower than HS200.

Signed-off-by: Benoît Monin <benoit.monin@bootlin.com>
---
 Documentation/devicetree/bindings/mmc/cdns,sdhci.yaml | 1 +
 1 file changed, 1 insertion(+)

diff --git a/Documentation/devicetree/bindings/mmc/cdns,sdhci.yaml b/Documentation/devicetree/bindings/mmc/cdns,sdhci.yaml
index 0432cc96f7ca..ac75d694611a 100644
--- a/Documentation/devicetree/bindings/mmc/cdns,sdhci.yaml
+++ b/Documentation/devicetree/bindings/mmc/cdns,sdhci.yaml
@@ -16,6 +16,7 @@ properties:
           - amd,pensando-elba-sd4hc
           - microchip,mpfs-sd4hc
           - microchip,pic64gx-sd4hc
+          - mobileye,eyeq-sd4hc
           - socionext,uniphier-sd4hc
       - const: cdns,sd4hc
 

^ permalink raw reply related	[flat|nested] 13+ messages in thread

* [PATCH 2/6] mmc: sdhci-cadence: add Mobileye eyeQ support
  2025-06-17 13:25 [PATCH 0/6] Add MMC support for Mobileye EyeQ5 and EyeQ6 SoCs Benoît Monin
  2025-06-17 13:25 ` [PATCH 1/6] dt-bindings: mmc: cdns: add Mobileye EyeQ MMC/SDHCI controller Benoît Monin
@ 2025-06-17 13:25 ` Benoît Monin
  2025-06-17 13:25 ` [PATCH 3/6] MIPS: mobileye: dts: eyeq6h: add the emmc controller Benoît Monin
                   ` (5 subsequent siblings)
  7 siblings, 0 replies; 13+ messages in thread
From: Benoît Monin @ 2025-06-17 13:25 UTC (permalink / raw)
  To: Ulf Hansson, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
	Vladimir Kondratiev, Gregory CLEMENT, Théo Lebrun,
	Thomas Bogendoerfer, Adrian Hunter, Masahiro Yamada
  Cc: Benoît Monin, linux-mmc, devicetree, linux-kernel,
	linux-mips, Thomas Petazzoni

The MMC/SDHCI controller implemented by Mobileye needs the preset value
quirks to configure the clock properly at speed slower than HS200.
It otherwise works as a standard sd4hc controller.

Signed-off-by: Benoît Monin <benoit.monin@bootlin.com>
---
 drivers/mmc/host/sdhci-cadence.c | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/drivers/mmc/host/sdhci-cadence.c b/drivers/mmc/host/sdhci-cadence.c
index a94b297fcf2a..60ca09780da3 100644
--- a/drivers/mmc/host/sdhci-cadence.c
+++ b/drivers/mmc/host/sdhci-cadence.c
@@ -433,6 +433,13 @@ static const struct sdhci_cdns_drv_data sdhci_elba_drv_data = {
 	},
 };
 
+static const struct sdhci_cdns_drv_data sdhci_eyeq_drv_data = {
+	.pltfm_data = {
+		.ops = &sdhci_cdns_ops,
+		.quirks2 = SDHCI_QUIRK2_PRESET_VALUE_BROKEN,
+	},
+};
+
 static const struct sdhci_cdns_drv_data sdhci_cdns_drv_data = {
 	.pltfm_data = {
 		.ops = &sdhci_cdns_ops,
@@ -595,6 +602,10 @@ static const struct of_device_id sdhci_cdns_match[] = {
 		.compatible = "amd,pensando-elba-sd4hc",
 		.data = &sdhci_elba_drv_data,
 	},
+	{
+		.compatible = "mobileye,eyeq-sd4hc",
+		.data = &sdhci_eyeq_drv_data,
+	},
 	{ .compatible = "cdns,sd4hc" },
 	{ /* sentinel */ }
 };

^ permalink raw reply related	[flat|nested] 13+ messages in thread

* [PATCH 3/6] MIPS: mobileye: dts: eyeq6h: add the emmc controller
  2025-06-17 13:25 [PATCH 0/6] Add MMC support for Mobileye EyeQ5 and EyeQ6 SoCs Benoît Monin
  2025-06-17 13:25 ` [PATCH 1/6] dt-bindings: mmc: cdns: add Mobileye EyeQ MMC/SDHCI controller Benoît Monin
  2025-06-17 13:25 ` [PATCH 2/6] mmc: sdhci-cadence: add Mobileye eyeQ support Benoît Monin
@ 2025-06-17 13:25 ` Benoît Monin
  2025-06-30  7:33   ` Gregory CLEMENT
  2025-06-17 13:25 ` [PATCH 4/6] MIPS: eyeq6_defconfig: add cadence MMC/SDHCI driver Benoît Monin
                   ` (4 subsequent siblings)
  7 siblings, 1 reply; 13+ messages in thread
From: Benoît Monin @ 2025-06-17 13:25 UTC (permalink / raw)
  To: Ulf Hansson, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
	Vladimir Kondratiev, Gregory CLEMENT, Théo Lebrun,
	Thomas Bogendoerfer, Adrian Hunter, Masahiro Yamada
  Cc: Benoît Monin, linux-mmc, devicetree, linux-kernel,
	linux-mips, Thomas Petazzoni

Add the MMC/SDHCI controller found in the eyeQ6 SoC. It is based on the
cadence sd4hc controller and support modes up to HS400 enhanced strobe.

Signed-off-by: Benoît Monin <benoit.monin@bootlin.com>
---
 arch/mips/boot/dts/mobileye/eyeq6h.dtsi | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)

diff --git a/arch/mips/boot/dts/mobileye/eyeq6h.dtsi b/arch/mips/boot/dts/mobileye/eyeq6h.dtsi
index dabd5ed778b7..bbd463435ad6 100644
--- a/arch/mips/boot/dts/mobileye/eyeq6h.dtsi
+++ b/arch/mips/boot/dts/mobileye/eyeq6h.dtsi
@@ -109,6 +109,28 @@ olb_east: system-controller@d3358000 {
 			clock-names = "ref";
 		};
 
+		emmc: sdhci@d8010000 {
+			compatible = "mobileye,eyeq-sd4hc", "cdns,sd4hc";
+			reg = <0 0xd8010000 0x0 0x1000>;
+			interrupt-parent = <&gic>;
+			interrupts = <GIC_SHARED 91 IRQ_TYPE_LEVEL_HIGH>;
+			clocks = <&olb_south EQ6HC_SOUTH_DIV_EMMC>;
+			bus-width = <8>;
+			max-frequency = <200000000>;
+			mmc-ddr-1_8v;
+			sd-uhs-ddr50;
+			mmc-hs200-1_8v;
+			mmc-hs400-1_8v;
+			mmc-hs400-enhanced-strobe;
+
+			cdns,phy-input-delay-legacy = <4>;
+			cdns,phy-input-delay-mmc-highspeed = <2>;
+			cdns,phy-input-delay-mmc-ddr = <3>;
+			cdns,phy-dll-delay-sdclk = <32>;
+			cdns,phy-dll-delay-sdclk-hsmmc = <32>;
+			cdns,phy-dll-delay-strobe = <32>;
+		};
+
 		olb_south: system-controller@d8013000 {
 			compatible = "mobileye,eyeq6h-south-olb", "syscon";
 			reg = <0x0 0xd8013000 0x0 0x1000>;

^ permalink raw reply related	[flat|nested] 13+ messages in thread

* [PATCH 4/6] MIPS: eyeq6_defconfig: add cadence MMC/SDHCI driver
  2025-06-17 13:25 [PATCH 0/6] Add MMC support for Mobileye EyeQ5 and EyeQ6 SoCs Benoît Monin
                   ` (2 preceding siblings ...)
  2025-06-17 13:25 ` [PATCH 3/6] MIPS: mobileye: dts: eyeq6h: add the emmc controller Benoît Monin
@ 2025-06-17 13:25 ` Benoît Monin
  2025-06-30  7:34   ` Gregory CLEMENT
  2025-06-17 13:25 ` [PATCH 5/6] MIPS: mobileye: dts: eyeq5: add the emmc controller Benoît Monin
                   ` (3 subsequent siblings)
  7 siblings, 1 reply; 13+ messages in thread
From: Benoît Monin @ 2025-06-17 13:25 UTC (permalink / raw)
  To: Ulf Hansson, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
	Vladimir Kondratiev, Gregory CLEMENT, Théo Lebrun,
	Thomas Bogendoerfer, Adrian Hunter, Masahiro Yamada
  Cc: Benoît Monin, linux-mmc, devicetree, linux-kernel,
	linux-mips, Thomas Petazzoni

Enable MMC support on eyeQ6 platform so it can be used as the root
partition.

Signed-off-by: Benoît Monin <benoit.monin@bootlin.com>
---
 arch/mips/configs/eyeq6_defconfig | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/arch/mips/configs/eyeq6_defconfig b/arch/mips/configs/eyeq6_defconfig
index 0afbb45a78e8..0a00a201937b 100644
--- a/arch/mips/configs/eyeq6_defconfig
+++ b/arch/mips/configs/eyeq6_defconfig
@@ -82,6 +82,8 @@ CONFIG_HID_MICROSOFT=y
 CONFIG_HID_MONTEREY=y
 CONFIG_MMC=y
 CONFIG_MMC_SDHCI=y
+CONFIG_MMC_SDHCI_PLTFM=y
+CONFIG_MMC_SDHCI_CADENCE=y
 # CONFIG_IOMMU_SUPPORT is not set
 CONFIG_RESET_CONTROLLER=y
 # CONFIG_NVMEM is not set

^ permalink raw reply related	[flat|nested] 13+ messages in thread

* [PATCH 5/6] MIPS: mobileye: dts: eyeq5: add the emmc controller
  2025-06-17 13:25 [PATCH 0/6] Add MMC support for Mobileye EyeQ5 and EyeQ6 SoCs Benoît Monin
                   ` (3 preceding siblings ...)
  2025-06-17 13:25 ` [PATCH 4/6] MIPS: eyeq6_defconfig: add cadence MMC/SDHCI driver Benoît Monin
@ 2025-06-17 13:25 ` Benoît Monin
  2025-06-30  7:35   ` Gregory CLEMENT
  2025-06-17 13:25 ` [PATCH 6/6] MIPS: eyeq5_defconfig: add cadence MMC/SDHCI driver Benoît Monin
                   ` (2 subsequent siblings)
  7 siblings, 1 reply; 13+ messages in thread
From: Benoît Monin @ 2025-06-17 13:25 UTC (permalink / raw)
  To: Ulf Hansson, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
	Vladimir Kondratiev, Gregory CLEMENT, Théo Lebrun,
	Thomas Bogendoerfer, Adrian Hunter, Masahiro Yamada
  Cc: Benoît Monin, linux-mmc, devicetree, linux-kernel,
	linux-mips, Thomas Petazzoni

Add the MMC/SDHCI controller found in the eyeQ5 SoC. It is based on the
cadence sd4hc controller and support modes up to HS400 enhanced strobe.

Signed-off-by: Benoît Monin <benoit.monin@bootlin.com>
---
 arch/mips/boot/dts/mobileye/eyeq5.dtsi | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)

diff --git a/arch/mips/boot/dts/mobileye/eyeq5.dtsi b/arch/mips/boot/dts/mobileye/eyeq5.dtsi
index a84e6e720619..e15d9ce0bdf4 100644
--- a/arch/mips/boot/dts/mobileye/eyeq5.dtsi
+++ b/arch/mips/boot/dts/mobileye/eyeq5.dtsi
@@ -178,6 +178,28 @@ timer {
 				clocks = <&olb EQ5C_CPU_CORE0>;
 			};
 		};
+
+		emmc: sdhci@2200000 {
+			compatible = "mobileye,eyeq-sd4hc", "cdns,sd4hc";
+			reg = <0 0x2200000 0x0 0x1000>;
+			interrupt-parent = <&gic>;
+			interrupts = <GIC_SHARED 10 IRQ_TYPE_LEVEL_HIGH>;
+			clocks = <&olb EQ5C_PER_EMMC>;
+			bus-width = <8>;
+			max-frequency = <200000000>;
+			mmc-ddr-1_8v;
+			sd-uhs-ddr50;
+			mmc-hs200-1_8v;
+			mmc-hs400-1_8v;
+			mmc-hs400-enhanced-strobe;
+
+			cdns,phy-input-delay-legacy = <4>;
+			cdns,phy-input-delay-mmc-highspeed = <2>;
+			cdns,phy-input-delay-mmc-ddr = <3>;
+			cdns,phy-dll-delay-sdclk = <32>;
+			cdns,phy-dll-delay-sdclk-hsmmc = <32>;
+			cdns,phy-dll-delay-strobe = <32>;
+		};
 	};
 };
 

^ permalink raw reply related	[flat|nested] 13+ messages in thread

* [PATCH 6/6] MIPS: eyeq5_defconfig: add cadence MMC/SDHCI driver
  2025-06-17 13:25 [PATCH 0/6] Add MMC support for Mobileye EyeQ5 and EyeQ6 SoCs Benoît Monin
                   ` (4 preceding siblings ...)
  2025-06-17 13:25 ` [PATCH 5/6] MIPS: mobileye: dts: eyeq5: add the emmc controller Benoît Monin
@ 2025-06-17 13:25 ` Benoît Monin
  2025-06-30  7:37   ` Gregory CLEMENT
  2025-06-23 11:53 ` [PATCH 0/6] Add MMC support for Mobileye EyeQ5 and EyeQ6 SoCs Ulf Hansson
  2025-07-02 12:01 ` Thomas Bogendoerfer
  7 siblings, 1 reply; 13+ messages in thread
From: Benoît Monin @ 2025-06-17 13:25 UTC (permalink / raw)
  To: Ulf Hansson, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
	Vladimir Kondratiev, Gregory CLEMENT, Théo Lebrun,
	Thomas Bogendoerfer, Adrian Hunter, Masahiro Yamada
  Cc: Benoît Monin, linux-mmc, devicetree, linux-kernel,
	linux-mips, Thomas Petazzoni

Enable MMC support on eyeQ5 platform so it can be used as the root
partition.

Signed-off-by: Benoît Monin <benoit.monin@bootlin.com>
---
 arch/mips/configs/eyeq5_defconfig | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/arch/mips/configs/eyeq5_defconfig b/arch/mips/configs/eyeq5_defconfig
index ff7af5dc6d9d..328016c1c6f4 100644
--- a/arch/mips/configs/eyeq5_defconfig
+++ b/arch/mips/configs/eyeq5_defconfig
@@ -79,6 +79,8 @@ CONFIG_HID_MICROSOFT=y
 CONFIG_HID_MONTEREY=y
 CONFIG_MMC=y
 CONFIG_MMC_SDHCI=y
+CONFIG_MMC_SDHCI_PLTFM=y
+CONFIG_MMC_SDHCI_CADENCE=y
 # CONFIG_IOMMU_SUPPORT is not set
 CONFIG_RESET_CONTROLLER=y
 # CONFIG_NVMEM is not set

^ permalink raw reply related	[flat|nested] 13+ messages in thread

* Re: [PATCH 0/6] Add MMC support for Mobileye EyeQ5 and EyeQ6 SoCs
  2025-06-17 13:25 [PATCH 0/6] Add MMC support for Mobileye EyeQ5 and EyeQ6 SoCs Benoît Monin
                   ` (5 preceding siblings ...)
  2025-06-17 13:25 ` [PATCH 6/6] MIPS: eyeq5_defconfig: add cadence MMC/SDHCI driver Benoît Monin
@ 2025-06-23 11:53 ` Ulf Hansson
  2025-07-02 12:01 ` Thomas Bogendoerfer
  7 siblings, 0 replies; 13+ messages in thread
From: Ulf Hansson @ 2025-06-23 11:53 UTC (permalink / raw)
  To: Benoît Monin
  Cc: Rob Herring, Krzysztof Kozlowski, Conor Dooley,
	Vladimir Kondratiev, Gregory CLEMENT, Théo Lebrun,
	Thomas Bogendoerfer, Adrian Hunter, Masahiro Yamada, linux-mmc,
	devicetree, linux-kernel, linux-mips, Thomas Petazzoni

On Tue, 17 Jun 2025 at 15:26, Benoît Monin <benoit.monin@bootlin.com> wrote:
>
> The MMC/SDHCI controller found in Mobileye EyeQ5 and EyeQ6 SoCs is
> based on Cadence cdns sd4hc IP. It supports up to HS400HS mode. The
> only peculiarity of the hardware is that it needs the preset value
> quirk to configure the clock properly at speed slower than HS200.
>
> This patchset adds a compatible device tree binding to cdns sdhci for
> mobileye then uses it in the sdhci-cadence driver.
>
> It also adds an emmc entry in the dtsi of each SoC and the config
> options in each defconfig to allow using an eMMC for the rootfs.
>
> Benoît Monin (6):
>   dt-bindings: mmc: cdns: add Mobileye EyeQ MMC/SDHCI controller
>   mmc: sdhci-cadence: add Mobileye eyeQ support
>   MIPS: mobileye: dts: eyeq6h: add the emmc controller
>   MIPS: eyeq6_defconfig: add cadence MMC/SDHCI driver
>   MIPS: mobileye: dts: eyeq5: add the emmc controller
>   MIPS: eyeq5_defconfig: add cadence MMC/SDHCI driver
>
>  .../devicetree/bindings/mmc/cdns,sdhci.yaml   |  1 +
>  arch/mips/boot/dts/mobileye/eyeq5.dtsi        | 22 +++++++++++++++++++
>  arch/mips/boot/dts/mobileye/eyeq6h.dtsi       | 22 +++++++++++++++++++
>  arch/mips/configs/eyeq5_defconfig             |  2 ++
>  arch/mips/configs/eyeq6_defconfig             |  2 ++
>  drivers/mmc/host/sdhci-cadence.c              | 11 ++++++++++
>  6 files changed, 60 insertions(+)
>

Patch1 and patch2 applied for next, thanks!

Kind regards
Uffe

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH 3/6] MIPS: mobileye: dts: eyeq6h: add the emmc controller
  2025-06-17 13:25 ` [PATCH 3/6] MIPS: mobileye: dts: eyeq6h: add the emmc controller Benoît Monin
@ 2025-06-30  7:33   ` Gregory CLEMENT
  0 siblings, 0 replies; 13+ messages in thread
From: Gregory CLEMENT @ 2025-06-30  7:33 UTC (permalink / raw)
  To: Benoît Monin, Ulf Hansson, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley, Vladimir Kondratiev, Théo Lebrun,
	Thomas Bogendoerfer, Adrian Hunter, Masahiro Yamada
  Cc: Benoît Monin, linux-mmc, devicetree, linux-kernel,
	linux-mips, Thomas Petazzoni

Hello Benoît,

> Add the MMC/SDHCI controller found in the eyeQ6 SoC. It is based on the
> cadence sd4hc controller and support modes up to HS400 enhanced strobe.
>
> Signed-off-by: Benoît Monin <benoit.monin@bootlin.com>

As the binding had been accpeted and merged:

Acked-by: Gregory CLEMENT <gregory.clement@bootlin.com>

Thanks,

Gregory


> ---
>  arch/mips/boot/dts/mobileye/eyeq6h.dtsi | 22 ++++++++++++++++++++++
>  1 file changed, 22 insertions(+)
>
> diff --git a/arch/mips/boot/dts/mobileye/eyeq6h.dtsi b/arch/mips/boot/dts/mobileye/eyeq6h.dtsi
> index dabd5ed778b7..bbd463435ad6 100644
> --- a/arch/mips/boot/dts/mobileye/eyeq6h.dtsi
> +++ b/arch/mips/boot/dts/mobileye/eyeq6h.dtsi
> @@ -109,6 +109,28 @@ olb_east: system-controller@d3358000 {
>  			clock-names = "ref";
>  		};
>  
> +		emmc: sdhci@d8010000 {
> +			compatible = "mobileye,eyeq-sd4hc", "cdns,sd4hc";
> +			reg = <0 0xd8010000 0x0 0x1000>;
> +			interrupt-parent = <&gic>;
> +			interrupts = <GIC_SHARED 91 IRQ_TYPE_LEVEL_HIGH>;
> +			clocks = <&olb_south EQ6HC_SOUTH_DIV_EMMC>;
> +			bus-width = <8>;
> +			max-frequency = <200000000>;
> +			mmc-ddr-1_8v;
> +			sd-uhs-ddr50;
> +			mmc-hs200-1_8v;
> +			mmc-hs400-1_8v;
> +			mmc-hs400-enhanced-strobe;
> +
> +			cdns,phy-input-delay-legacy = <4>;
> +			cdns,phy-input-delay-mmc-highspeed = <2>;
> +			cdns,phy-input-delay-mmc-ddr = <3>;
> +			cdns,phy-dll-delay-sdclk = <32>;
> +			cdns,phy-dll-delay-sdclk-hsmmc = <32>;
> +			cdns,phy-dll-delay-strobe = <32>;
> +		};
> +
>  		olb_south: system-controller@d8013000 {
>  			compatible = "mobileye,eyeq6h-south-olb", "syscon";
>  			reg = <0x0 0xd8013000 0x0 0x1000>;

-- 
Grégory CLEMENT, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH 4/6] MIPS: eyeq6_defconfig: add cadence MMC/SDHCI driver
  2025-06-17 13:25 ` [PATCH 4/6] MIPS: eyeq6_defconfig: add cadence MMC/SDHCI driver Benoît Monin
@ 2025-06-30  7:34   ` Gregory CLEMENT
  0 siblings, 0 replies; 13+ messages in thread
From: Gregory CLEMENT @ 2025-06-30  7:34 UTC (permalink / raw)
  To: Benoît Monin, Ulf Hansson, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley, Vladimir Kondratiev, Théo Lebrun,
	Thomas Bogendoerfer, Adrian Hunter, Masahiro Yamada
  Cc: Benoît Monin, linux-mmc, devicetree, linux-kernel,
	linux-mips, Thomas Petazzoni

Hello Benoît,

> Enable MMC support on eyeQ6 platform so it can be used as the root
> partition.
>
> Signed-off-by: Benoît Monin <benoit.monin@bootlin.com>

Acked-by: Gregory CLEMENT <gregory.clement@bootlin.com>

Thanks,

Gregory

> ---
>  arch/mips/configs/eyeq6_defconfig | 2 ++
>  1 file changed, 2 insertions(+)
>
> diff --git a/arch/mips/configs/eyeq6_defconfig b/arch/mips/configs/eyeq6_defconfig
> index 0afbb45a78e8..0a00a201937b 100644
> --- a/arch/mips/configs/eyeq6_defconfig
> +++ b/arch/mips/configs/eyeq6_defconfig
> @@ -82,6 +82,8 @@ CONFIG_HID_MICROSOFT=y
>  CONFIG_HID_MONTEREY=y
>  CONFIG_MMC=y
>  CONFIG_MMC_SDHCI=y
> +CONFIG_MMC_SDHCI_PLTFM=y
> +CONFIG_MMC_SDHCI_CADENCE=y
>  # CONFIG_IOMMU_SUPPORT is not set
>  CONFIG_RESET_CONTROLLER=y
>  # CONFIG_NVMEM is not set

-- 
Grégory CLEMENT, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH 5/6] MIPS: mobileye: dts: eyeq5: add the emmc controller
  2025-06-17 13:25 ` [PATCH 5/6] MIPS: mobileye: dts: eyeq5: add the emmc controller Benoît Monin
@ 2025-06-30  7:35   ` Gregory CLEMENT
  0 siblings, 0 replies; 13+ messages in thread
From: Gregory CLEMENT @ 2025-06-30  7:35 UTC (permalink / raw)
  To: Benoît Monin, Ulf Hansson, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley, Vladimir Kondratiev, Théo Lebrun,
	Thomas Bogendoerfer, Adrian Hunter, Masahiro Yamada
  Cc: Benoît Monin, linux-mmc, devicetree, linux-kernel,
	linux-mips, Thomas Petazzoni

Hello Benoît,

> Add the MMC/SDHCI controller found in the eyeQ5 SoC. It is based on the
> cadence sd4hc controller and support modes up to HS400 enhanced strobe.
>
> Signed-off-by: Benoît Monin <benoit.monin@bootlin.com>

The binding being accepted,

Acked-by: Gregory CLEMENT <gregory.clement@bootlin.com>

Thanks,

Gregory


> ---
>  arch/mips/boot/dts/mobileye/eyeq5.dtsi | 22 ++++++++++++++++++++++
>  1 file changed, 22 insertions(+)
>
> diff --git a/arch/mips/boot/dts/mobileye/eyeq5.dtsi b/arch/mips/boot/dts/mobileye/eyeq5.dtsi
> index a84e6e720619..e15d9ce0bdf4 100644
> --- a/arch/mips/boot/dts/mobileye/eyeq5.dtsi
> +++ b/arch/mips/boot/dts/mobileye/eyeq5.dtsi
> @@ -178,6 +178,28 @@ timer {
>  				clocks = <&olb EQ5C_CPU_CORE0>;
>  			};
>  		};
> +
> +		emmc: sdhci@2200000 {
> +			compatible = "mobileye,eyeq-sd4hc", "cdns,sd4hc";
> +			reg = <0 0x2200000 0x0 0x1000>;
> +			interrupt-parent = <&gic>;
> +			interrupts = <GIC_SHARED 10 IRQ_TYPE_LEVEL_HIGH>;
> +			clocks = <&olb EQ5C_PER_EMMC>;
> +			bus-width = <8>;
> +			max-frequency = <200000000>;
> +			mmc-ddr-1_8v;
> +			sd-uhs-ddr50;
> +			mmc-hs200-1_8v;
> +			mmc-hs400-1_8v;
> +			mmc-hs400-enhanced-strobe;
> +
> +			cdns,phy-input-delay-legacy = <4>;
> +			cdns,phy-input-delay-mmc-highspeed = <2>;
> +			cdns,phy-input-delay-mmc-ddr = <3>;
> +			cdns,phy-dll-delay-sdclk = <32>;
> +			cdns,phy-dll-delay-sdclk-hsmmc = <32>;
> +			cdns,phy-dll-delay-strobe = <32>;
> +		};
>  	};
>  };
>  

-- 
Grégory CLEMENT, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH 6/6] MIPS: eyeq5_defconfig: add cadence MMC/SDHCI driver
  2025-06-17 13:25 ` [PATCH 6/6] MIPS: eyeq5_defconfig: add cadence MMC/SDHCI driver Benoît Monin
@ 2025-06-30  7:37   ` Gregory CLEMENT
  0 siblings, 0 replies; 13+ messages in thread
From: Gregory CLEMENT @ 2025-06-30  7:37 UTC (permalink / raw)
  To: Benoît Monin, Ulf Hansson, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley, Vladimir Kondratiev, Théo Lebrun,
	Thomas Bogendoerfer, Adrian Hunter, Masahiro Yamada
  Cc: Benoît Monin, linux-mmc, devicetree, linux-kernel,
	linux-mips, Thomas Petazzoni

Helo Benoît,

> Enable MMC support on eyeQ5 platform so it can be used as the root
> partition.
>
> Signed-off-by: Benoît Monin <benoit.monin@bootlin.com>


Acked-by: Gregory CLEMENT <gregory.clement@bootlin.com>

Thanks,

Gregory

> ---
>  arch/mips/configs/eyeq5_defconfig | 2 ++
>  1 file changed, 2 insertions(+)
>
> diff --git a/arch/mips/configs/eyeq5_defconfig b/arch/mips/configs/eyeq5_defconfig
> index ff7af5dc6d9d..328016c1c6f4 100644
> --- a/arch/mips/configs/eyeq5_defconfig
> +++ b/arch/mips/configs/eyeq5_defconfig
> @@ -79,6 +79,8 @@ CONFIG_HID_MICROSOFT=y
>  CONFIG_HID_MONTEREY=y
>  CONFIG_MMC=y
>  CONFIG_MMC_SDHCI=y
> +CONFIG_MMC_SDHCI_PLTFM=y
> +CONFIG_MMC_SDHCI_CADENCE=y
>  # CONFIG_IOMMU_SUPPORT is not set
>  CONFIG_RESET_CONTROLLER=y
>  # CONFIG_NVMEM is not set

-- 
Grégory CLEMENT, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH 0/6] Add MMC support for Mobileye EyeQ5 and EyeQ6 SoCs
  2025-06-17 13:25 [PATCH 0/6] Add MMC support for Mobileye EyeQ5 and EyeQ6 SoCs Benoît Monin
                   ` (6 preceding siblings ...)
  2025-06-23 11:53 ` [PATCH 0/6] Add MMC support for Mobileye EyeQ5 and EyeQ6 SoCs Ulf Hansson
@ 2025-07-02 12:01 ` Thomas Bogendoerfer
  7 siblings, 0 replies; 13+ messages in thread
From: Thomas Bogendoerfer @ 2025-07-02 12:01 UTC (permalink / raw)
  To: Benoît Monin
  Cc: Ulf Hansson, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
	Vladimir Kondratiev, Gregory CLEMENT, Théo Lebrun,
	Adrian Hunter, Masahiro Yamada, linux-mmc, devicetree,
	linux-kernel, linux-mips, Thomas Petazzoni

On Tue, Jun 17, 2025 at 03:25:50PM +0200, Benoît Monin wrote:
> The MMC/SDHCI controller found in Mobileye EyeQ5 and EyeQ6 SoCs is 
> based on Cadence cdns sd4hc IP. It supports up to HS400HS mode. The 
> only peculiarity of the hardware is that it needs the preset value
> quirk to configure the clock properly at speed slower than HS200.
> 
> This patchset adds a compatible device tree binding to cdns sdhci for 
> mobileye then uses it in the sdhci-cadence driver.
> 
> It also adds an emmc entry in the dtsi of each SoC and the config 
> options in each defconfig to allow using an eMMC for the rootfs.
> 
> Benoît Monin (6):
>   dt-bindings: mmc: cdns: add Mobileye EyeQ MMC/SDHCI controller
>   mmc: sdhci-cadence: add Mobileye eyeQ support
>   MIPS: mobileye: dts: eyeq6h: add the emmc controller
>   MIPS: eyeq6_defconfig: add cadence MMC/SDHCI driver
>   MIPS: mobileye: dts: eyeq5: add the emmc controller
>   MIPS: eyeq5_defconfig: add cadence MMC/SDHCI driver
> 
>  .../devicetree/bindings/mmc/cdns,sdhci.yaml   |  1 +
>  arch/mips/boot/dts/mobileye/eyeq5.dtsi        | 22 +++++++++++++++++++
>  arch/mips/boot/dts/mobileye/eyeq6h.dtsi       | 22 +++++++++++++++++++
>  arch/mips/configs/eyeq5_defconfig             |  2 ++
>  arch/mips/configs/eyeq6_defconfig             |  2 ++
>  drivers/mmc/host/sdhci-cadence.c              | 11 ++++++++++
>  6 files changed, 60 insertions(+)

applied patches 3-6 to mips-next.

Thomas.

-- 
Crap can work. Given enough thrust pigs will fly, but it's not necessarily a
good idea.                                                [ RFC1925, 2.3 ]

^ permalink raw reply	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2025-07-02 13:19 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-06-17 13:25 [PATCH 0/6] Add MMC support for Mobileye EyeQ5 and EyeQ6 SoCs Benoît Monin
2025-06-17 13:25 ` [PATCH 1/6] dt-bindings: mmc: cdns: add Mobileye EyeQ MMC/SDHCI controller Benoît Monin
2025-06-17 13:25 ` [PATCH 2/6] mmc: sdhci-cadence: add Mobileye eyeQ support Benoît Monin
2025-06-17 13:25 ` [PATCH 3/6] MIPS: mobileye: dts: eyeq6h: add the emmc controller Benoît Monin
2025-06-30  7:33   ` Gregory CLEMENT
2025-06-17 13:25 ` [PATCH 4/6] MIPS: eyeq6_defconfig: add cadence MMC/SDHCI driver Benoît Monin
2025-06-30  7:34   ` Gregory CLEMENT
2025-06-17 13:25 ` [PATCH 5/6] MIPS: mobileye: dts: eyeq5: add the emmc controller Benoît Monin
2025-06-30  7:35   ` Gregory CLEMENT
2025-06-17 13:25 ` [PATCH 6/6] MIPS: eyeq5_defconfig: add cadence MMC/SDHCI driver Benoît Monin
2025-06-30  7:37   ` Gregory CLEMENT
2025-06-23 11:53 ` [PATCH 0/6] Add MMC support for Mobileye EyeQ5 and EyeQ6 SoCs Ulf Hansson
2025-07-02 12:01 ` Thomas Bogendoerfer

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).