hc
2024-01-03 2f7c68cb55ecb7331f2381deb497c27155f32faf
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