On Tue, Aug 30, 2011 at 5:55 AM, Chander Kashyap <chander.kash...@linaro.org> wrote: > mmc data transfer width is set as following: > WIDE8[5]: > 0 = Depend on WIDE4 > 1 = 8-bit mode > WIDE4[1]: > 1 = 4-bit mode > 0 = 1-bit mode > > In case of 4-bit mode reset 8-bit mode and > in case of 1-bit mode reset 8-bit mode and 4-bit mode > > Signed-off-by: Chander Kashyap <chander.kash...@linaro.org> > --- > drivers/mmc/s5p_mmc.c | 10 +++++++--- > 1 files changed, 7 insertions(+), 3 deletions(-) > > diff --git a/drivers/mmc/s5p_mmc.c b/drivers/mmc/s5p_mmc.c > index 7786ecf..6e6ad08 100644 > --- a/drivers/mmc/s5p_mmc.c > +++ b/drivers/mmc/s5p_mmc.c > @@ -368,12 +368,16 @@ static void mmc_set_ios(struct mmc *mmc) > * 1 = 4-bit mode > * 0 = 1-bit mode > */ > - if (mmc->bus_width == 8) > + if (mmc->bus_width == 8) { > ctrl |= (1 << 5); > - else if (mmc->bus_width == 4) > + ctrl &= ~(1 << 1);
I know these were like this before, but those numbers are awfully magical. You should really define constants for them. Also, this seems like a very confusing way to do this? Why not clear both bits at the start, and then set the one that is needed? Andy _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot