On 31. 05. 19 15:27, Ibai Erkiaga Elorza wrote: > Hi Michal, > >> -----Original Message----- >> From: Michal Simek <michal.si...@xilinx.com> >> Sent: 27 May 2019 06:53 >> To: Ibai Erkiaga Elorza <ib...@xilinx.com>; u-boot@lists.denx.de >> Subject: Re: [U-Boot] [PATCH] mmc: implement SDHCI card detect >> >> On 23. 05. 19 15:54, Ibai Erkiaga wrote: >>> Card detect function implemented for SDHCI framework. >>> >>> Signed-off-by: Ibai Erkiaga <ibai.erkiaga-elo...@xilinx.com> >>> --- >>> >>> drivers/mmc/sdhci.c | 17 +++++++++++++++++ >>> 1 file changed, 17 insertions(+) >>> >>> diff --git a/drivers/mmc/sdhci.c b/drivers/mmc/sdhci.c index >>> e2bb90a..cb4db8d 100644 >>> --- a/drivers/mmc/sdhci.c >>> +++ b/drivers/mmc/sdhci.c >>> @@ -390,6 +390,21 @@ static int sdhci_send_command(struct mmc *mmc, >> struct mmc_cmd *cmd, >>> return -ECOMM; >>> } >>> >>> +#if IS_ENABLED(CONFIG_DM_MMC) >>> +static int sdhci_get_cd(struct udevice *dev) { >>> + struct mmc *mmc = mmc_get_mmc_dev(dev); #else static int >>> +sdhci_get_cd(struct mmc *mmc) { #endif >>> + u32 state; >>> + struct sdhci_host *host = mmc->priv; >>> + >>> + state = sdhci_readl(host, SDHCI_PRESENT_STATE); >>> + return (state & SDHCI_CARD_PRESENT); >> >> This should be much more robust. It should at least handle cases where you >> have broken-cd, cd-gpios, cd-inverted cases. >> This code will likely work with boards which have CD connected properly but >> it is enabled for all which will cause a lot of issues. >> > You are right, this implementation is quite basic and the idea was just to > get rid-off the polling message for the golden use case (properly connected > CD). > >> If you want to add this functionality one by one then new Kconfig should be >> used but I am not big fan of that. >> > The broken-cd Kconfig is already in the MMC framework so I would say that you > can use this implementation if your CD is properly connected and just stay as > current implementation using CONFIG_MMC_BROKEN_CD.
I expect that there are several pieces around but it needs to be done properly or this will break a lot of boards. M _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot