File tree Expand file tree Collapse file tree 1 file changed +6
-2
lines changed Expand file tree Collapse file tree 1 file changed +6
-2
lines changed Original file line number Diff line number Diff line change @@ -132,7 +132,8 @@ static void sdhci_at91_reset(struct sdhci_host *host, u8 mask)
132
132
133
133
sdhci_reset (host , mask );
134
134
135
- if (host -> mmc -> caps & MMC_CAP_NONREMOVABLE )
135
+ if ((host -> mmc -> caps & MMC_CAP_NONREMOVABLE )
136
+ || mmc_gpio_get_cd (host -> mmc ) >= 0 )
136
137
sdhci_at91_set_force_card_detect (host );
137
138
138
139
if (priv -> cal_always_on && (mask & SDHCI_RESET_ALL ))
@@ -427,8 +428,11 @@ static int sdhci_at91_probe(struct platform_device *pdev)
427
428
* detection procedure using the SDMCC_CD signal is bypassed.
428
429
* This bit is reset when a software reset for all command is performed
429
430
* so we need to implement our own reset function to set back this bit.
431
+ *
432
+ * WA: SAMA5D2 doesn't drive CMD if using CD GPIO line.
430
433
*/
431
- if (host -> mmc -> caps & MMC_CAP_NONREMOVABLE )
434
+ if ((host -> mmc -> caps & MMC_CAP_NONREMOVABLE )
435
+ || mmc_gpio_get_cd (host -> mmc ) >= 0 )
432
436
sdhci_at91_set_force_card_detect (host );
433
437
434
438
pm_runtime_put_autosuspend (& pdev -> dev );
You can’t perform that action at this time.
0 commit comments