[U-Boot] [PATCH] mmd: sdhci: fix non GPIO card detect

Faiz Abbas faiz_abbas at ti.com
Tue Jul 23 08:57:28 UTC 2019


Hi,

On 23/07/19 1:30 PM, Peng Fan wrote:
> + Faiz
> 
>> Subject: [PATCH] mmd: sdhci: fix non GPIO card detect
>>
>> Some SD cards do not assert the SDHCI_CARD_PRESENT bit. Only the
>> SDHCI_CARD_DETECT_PIN_LEVEL is enabled. Consider that enough for card
>> detect indication.
>>
>> This fixes SD card access from SPL, since DM_GPIO is not available in SPL
>> code.
>>
>> Fixes: da18c62b6e6a ("mmc: sdhci: Implement SDHCI card detect")
>> Cc: T Karthik Reddy <t.karthik.reddy at xilinx.com>
>> Cc: Michal Simek <michal.simek at xilinx.com>
>> Signed-off-by: Baruch Siach <baruch at tkos.co.il>
>> ---
>>  drivers/mmc/sdhci.c | 2 +-
>>  1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/drivers/mmc/sdhci.c b/drivers/mmc/sdhci.c index
>> 2779bca93f08..17a28181fcca 100644
>> --- a/drivers/mmc/sdhci.c
>> +++ b/drivers/mmc/sdhci.c
>> @@ -683,7 +683,7 @@ int sdhci_get_cd(struct udevice *dev)
>>  	}
>>  #endif
>>  	value = !!(sdhci_readl(host, SDHCI_PRESENT_STATE) &
>> -		   SDHCI_CARD_PRESENT);
>> +		   (SDHCI_CARD_PRESENT | SDHCI_CARD_DETECT_PIN_LEVEL));
> 
> Faiz, are you fine with this change?
> 

Not really. The spec is pretty clear that DETECT_PIN_LEVEL is not to be
trusted. Also how does the CARD_PRESENT assertion depend on the SD card
you use? Are you normally muxing the SDCD line to the IP (for hardware
to detect) or are you connecting it as a gpio which software must detect?

Thanks,
Faiz


More information about the U-Boot mailing list