summaryrefslogtreecommitdiffstats
path: root/drivers/mci/mxs.c
diff options
context:
space:
mode:
authorJuergen Beisert <jbe@pengutronix.de>2013-04-23 12:09:12 +0200
committerSascha Hauer <s.hauer@pengutronix.de>2013-04-27 00:05:27 +0200
commit93c90a9636fa508736f0247937c3090f5371b5ac (patch)
tree5bf98a7afbdceeb07a8bdde72ecf226ccbaa968e /drivers/mci/mxs.c
parent0c8b031eada30761c0adf6dfce799283f449bfe7 (diff)
downloadbarebox-93c90a9636fa508736f0247937c3090f5371b5ac.tar.gz
barebox-93c90a9636fa508736f0247937c3090f5371b5ac.tar.xz
MXS/MCI: simplify reset of the MCI device block
Since a generic block reset function is a available, also the MCI driver should make use of it. Signed-off-by: Juergen Beisert <jbe@pengutronix.de> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'drivers/mci/mxs.c')
-rw-r--r--drivers/mci/mxs.c16
1 files changed, 2 insertions, 14 deletions
diff --git a/drivers/mci/mxs.c b/drivers/mci/mxs.c
index 3657b3e496..e2ffa43c01 100644
--- a/drivers/mci/mxs.c
+++ b/drivers/mci/mxs.c
@@ -37,6 +37,7 @@
#include <clock.h>
#include <io.h>
#include <asm/bitops.h>
+#include <mach/mxs.h>
#include <mach/imx-regs.h>
#include <mach/mci.h>
#include <mach/clock.h>
@@ -446,19 +447,6 @@ static unsigned mxs_mci_setup_clock_speed(struct mxs_mci_host *mxs_mci, unsigned
return ssp / div / rate;
}
-/**
- * Reset the MCI engine (the hard way)
- * @param hw_dev Host interface instance
- *
- * This will reset everything in all registers of this unit! (FIXME)
- */
-static void mxs_mci_reset(struct mxs_mci_host *mxs_mci)
-{
- writel(SSP_CTRL0_SFTRST, mxs_mci->regs + HW_SSP_CTRL0 + 8);
- while (readl(mxs_mci->regs + HW_SSP_CTRL0) & SSP_CTRL0_SFTRST)
- ;
-}
-
/* ------------------------- MCI API -------------------------------------- */
/**
@@ -475,7 +463,7 @@ static int mxs_mci_initialize(struct mci_host *host, struct device_d *mci_dev)
writel(SSP_CTRL0_CLKGATE, mxs_mci->regs + HW_SSP_CTRL0 + 8);
/* reset the unit */
- mxs_mci_reset(mxs_mci);
+ mxs_reset_block(mxs_mci->regs + HW_SSP_CTRL0, 0);
/* restore the last settings */
mxs_mci_setup_timeout(mxs_mci, 0xffff);