Skip to content

Commit bac9f2f

Browse files
committed
mmc: sdhci-of-at91: add preset for HS400 mode
Add clock and driver strength preset for HS400 mode. Signed-off-by: Eugen Hristev <eugen.hristev@microchip.com>
1 parent b7ceeb6 commit bac9f2f

1 file changed

Lines changed: 6 additions & 0 deletions

File tree

drivers/mmc/host/sdhci-of-at91.c

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,9 @@
3939

4040
#define SDHCI_AT91_PRESET_COMMON_CONF 0x400 /* drv type B, programmable clock mode */
4141

42+
/* drv type A, programmable clock mode */
43+
#define SDHCI_AT91_PRESET_DRVA_CONF (SDHCI_AT91_PRESET_COMMON_CONF \
44+
| 0x4000)
4245
struct sdhci_at91_soc_data {
4346
const struct sdhci_pltfm_data *pdata;
4447
bool baseclk_is_generated_internally;
@@ -294,6 +297,9 @@ static int sdhci_at91_set_clks_presets(struct device *dev)
294297
preset_div = DIV_ROUND_UP(gck_rate, 50000000) - 1;
295298
writew(SDHCI_AT91_PRESET_COMMON_CONF | preset_div,
296299
host->ioaddr + SDHCI_PRESET_FOR_DDR50);
300+
preset_div = DIV_ROUND_UP(gck_rate, priv->soc_data->max_sdr104_clk) - 1;
301+
writew(SDHCI_AT91_PRESET_DRVA_CONF | preset_div,
302+
host->ioaddr + SDHCI_PRESET_FOR_HS400);
297303

298304
clk_prepare_enable(priv->mainck);
299305
clk_prepare_enable(priv->gck);

0 commit comments

Comments
 (0)