Re: [PATCH 1/3] mmc:sunxi-mmc:add support on discrete device power supply

From: Ulf Hansson
Date: Tue Dec 28 2021 - 11:50:32 EST


On Wed, 22 Dec 2021 at 04:07, Michael Wu <michael@xxxxxxxxxxxxxxxxx> wrote:
>
> Because some platform has no regulator, only use discrete devices
> to supply power,For this situation, to use sd/mmc card, we add ocr manually
>
> Signed-off-by: Michael Wu <michael@xxxxxxxxxxxxxxxxx>
> ---
> drivers/mmc/host/sunxi-mmc.c | 8 ++++++++
> 1 file changed, 8 insertions(+)
>
> diff --git a/drivers/mmc/host/sunxi-mmc.c b/drivers/mmc/host/sunxi-mmc.c
> index 2702736a1c57..afeefead6501 100644
> --- a/drivers/mmc/host/sunxi-mmc.c
> +++ b/drivers/mmc/host/sunxi-mmc.c
> @@ -1300,6 +1300,14 @@ static int sunxi_mmc_resource_request(struct sunxi_mmc_host *host,
> if (ret)
> return ret;
>
> + /**
> + * Some platforms has no regulator. Discrete devices are used instead.
> + * To support sd/mmc card, we need to add ocr manually.
> + */
> + if (!host->mmc->ocr_avail)
> + host->mmc->ocr_avail = MMC_VDD_32_33 | MMC_VDD_33_34;
> +

Rather than doing this, I suggest you hook up a fixed vmmc regulator in the DTS.

Nevertheless, it seems reasonable to check that the ocr_avail gets set
up correctly. And if it doesn't, perhaps we should print a warning and
return an error code.

> +
> host->reg_base = devm_platform_ioremap_resource(pdev, 0);
> if (IS_ERR(host->reg_base))
> return PTR_ERR(host->reg_base);

Kind regards
Uffe