|
|
|
@ -46,6 +46,7 @@ |
|
|
|
|
#include <asm/arch/mux.h> |
|
|
|
|
#endif |
|
|
|
|
#include <dm.h> |
|
|
|
|
#include <power/regulator.h> |
|
|
|
|
|
|
|
|
|
DECLARE_GLOBAL_DATA_PTR; |
|
|
|
|
|
|
|
|
@ -564,6 +565,14 @@ tuning_error: |
|
|
|
|
return ret; |
|
|
|
|
} |
|
|
|
|
#endif |
|
|
|
|
|
|
|
|
|
static void omap_hsmmc_send_init_stream(struct udevice *dev) |
|
|
|
|
{ |
|
|
|
|
struct omap_hsmmc_data *priv = dev_get_priv(dev); |
|
|
|
|
struct hsmmc *mmc_base = priv->base_addr; |
|
|
|
|
|
|
|
|
|
mmc_init_stream(mmc_base); |
|
|
|
|
} |
|
|
|
|
#endif |
|
|
|
|
|
|
|
|
|
static void mmc_enable_irq(struct mmc *mmc, struct mmc_cmd *cmd) |
|
|
|
@ -652,7 +661,10 @@ static int omap_hsmmc_init_setup(struct mmc *mmc) |
|
|
|
|
writel(readl(&mmc_base->hctl) | SDBP_PWRON, &mmc_base->hctl); |
|
|
|
|
|
|
|
|
|
mmc_enable_irq(mmc, NULL); |
|
|
|
|
|
|
|
|
|
#if !CONFIG_IS_ENABLED(DM_MMC) |
|
|
|
|
mmc_init_stream(mmc_base); |
|
|
|
|
#endif |
|
|
|
|
|
|
|
|
|
return 0; |
|
|
|
|
} |
|
|
|
@ -1279,6 +1291,7 @@ static const struct dm_mmc_ops omap_hsmmc_ops = { |
|
|
|
|
#ifdef MMC_SUPPORTS_TUNING |
|
|
|
|
.execute_tuning = omap_hsmmc_execute_tuning, |
|
|
|
|
#endif |
|
|
|
|
.send_init_stream = omap_hsmmc_send_init_stream, |
|
|
|
|
}; |
|
|
|
|
#else |
|
|
|
|
static const struct mmc_ops omap_hsmmc_ops = { |
|
|
|
|