forked from ~ljy/RK356X_SDK_RELEASE

hc
2024-05-13 9d77db3c730780c8ef5ccd4b66403ff5675cfe4e
kernel/drivers/mmc/host/sdhci-sprd.c
....@@ -224,13 +224,15 @@
224224 div = ((div & 0x300) >> 2) | ((div & 0xFF) << 8);
225225 sdhci_enable_clk(host, div);
226226
227
- /* enable auto gate sdhc_enable_auto_gate */
228
- val = sdhci_readl(host, SDHCI_SPRD_REG_32_BUSY_POSI);
229
- mask = SDHCI_SPRD_BIT_OUTR_CLK_AUTO_EN |
230
- SDHCI_SPRD_BIT_INNR_CLK_AUTO_EN;
231
- if (mask != (val & mask)) {
232
- val |= mask;
233
- sdhci_writel(host, val, SDHCI_SPRD_REG_32_BUSY_POSI);
227
+ /* Enable CLK_AUTO when the clock is greater than 400K. */
228
+ if (clk > 400000) {
229
+ val = sdhci_readl(host, SDHCI_SPRD_REG_32_BUSY_POSI);
230
+ mask = SDHCI_SPRD_BIT_OUTR_CLK_AUTO_EN |
231
+ SDHCI_SPRD_BIT_INNR_CLK_AUTO_EN;
232
+ if (mask != (val & mask)) {
233
+ val |= mask;
234
+ sdhci_writel(host, val, SDHCI_SPRD_REG_32_BUSY_POSI);
235
+ }
234236 }
235237 }
236238