|
@@ -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 = {
|