diff options
author | Juergen Beisert <jbe@pengutronix.de> | 2013-04-23 12:09:12 +0200 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2013-04-27 00:05:27 +0200 |
commit | 93c90a9636fa508736f0247937c3090f5371b5ac (patch) | |
tree | 5bf98a7afbdceeb07a8bdde72ecf226ccbaa968e /drivers/mci/mxs.c | |
parent | 0c8b031eada30761c0adf6dfce799283f449bfe7 (diff) | |
download | barebox-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.c | 16 |
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); |