Re: [PATCH v2 1/7] mmc: sdhci-of-k1: enable essential clock infrastructure for SD operation

From: Adrian Hunter

Date: Fri Mar 13 2026 - 09:10:12 EST


On 09/03/2026 13:40, Iker Pedrosa wrote:
> Ensure SD card pins receive clock signals by enabling pad clock
> generation and overriding automatic clock gating. Required for all SD
> operation modes.

Need to say why update to "SPACEMIT_SDHC_LEGACY_CTRL_REG" is Ok for
non-SD

>
> Signed-off-by: Iker Pedrosa <ikerpedrosam@xxxxxxxxx>
> ---
> drivers/mmc/host/sdhci-of-k1.c | 13 +++++++++++++
> 1 file changed, 13 insertions(+)
>
> diff --git a/drivers/mmc/host/sdhci-of-k1.c b/drivers/mmc/host/sdhci-of-k1.c
> index 0cc97e23a2f9c7b2f9376318a8a7ebb860571504..585c7eca6ebf253aac466dd37cef029deb63f692 100644
> --- a/drivers/mmc/host/sdhci-of-k1.c
> +++ b/drivers/mmc/host/sdhci-of-k1.c
> @@ -20,6 +20,13 @@
> #include "sdhci.h"
> #include "sdhci-pltfm.h"
>
> +#define SPACEMIT_SDHC_OP_EXT_REG 0x108
> +#define SDHC_OVRRD_CLK_OEN BIT(11)
> +#define SDHC_FORCE_CLK_ON BIT(12)
> +
> +#define SPACEMIT_SDHC_LEGACY_CTRL_REG 0x10C
> +#define SDHC_GEN_PAD_CLK_ON BIT(6)
> +
> #define SPACEMIT_SDHC_MMC_CTRL_REG 0x114
> #define SDHC_MISC_INT_EN BIT(1)
> #define SDHC_MISC_INT BIT(2)
> @@ -100,6 +107,12 @@ static void spacemit_sdhci_reset(struct sdhci_host *host, u8 mask)
>
> if (!(host->mmc->caps2 & MMC_CAP2_NO_MMC))
> spacemit_sdhci_setbits(host, SDHC_MMC_CARD_MODE, SPACEMIT_SDHC_MMC_CTRL_REG);
> +
> + spacemit_sdhci_setbits(host, SDHC_GEN_PAD_CLK_ON, SPACEMIT_SDHC_LEGACY_CTRL_REG);
> +
> + if (host->mmc->caps2 & MMC_CAP2_NO_MMC)
> + spacemit_sdhci_setbits(host, SDHC_OVRRD_CLK_OEN | SDHC_FORCE_CLK_ON,
> + SPACEMIT_SDHC_OP_EXT_REG);
> }
>
> static void spacemit_sdhci_set_uhs_signaling(struct sdhci_host *host, unsigned int timing)
>