[U-Boot] [PATCH] tegra: mmc: Set the bus width correctly

Tom Warren TWarren at nvidia.com
Wed Jun 14 15:33:18 UTC 2017


Thanks, Simon. I'll take it in to u-boot-tegra/master for the next PR.

> -----Original Message-----
> From: sjg at google.com [mailto:sjg at google.com] On Behalf Of Simon Glass
> Sent: Wednesday, June 14, 2017 4:32 AM
> To: Peter Chubb <Peter.Chubb at data61.csiro.au>
> Cc: U-Boot Mailing List <u-boot at lists.denx.de>; Tom Warren
> <TWarren at nvidia.com>; Stephen Warren <swarren at wwwdotorg.org>;
> Jaehoon Chung <jh80.chung at samsung.com>; Stephen Warren
> <swarren at nvidia.com>
> Subject: Re: [PATCH] tegra: mmc: Set the bus width correctly
> 
> Hi,
> 
> On 7 June 2017 at 22:03,  <Peter.Chubb at data61.csiro.au> wrote:
> >>>>>> "Simon" == Simon Glass <sjg at chromium.org> writes:
> >
> > Simon> The driver currently does not reset bit 5 of the hostctl
> > Simon> register even if the MMC stack requests it. Then means that
> > Simon> once a bus width of 8 is selected it is not possible to change
> > Simon> it back to 1. This breaks 'mmc rescan' which needs to start off
> > Simon> with a bus width of 1.
> >
> > Simon> The problem was surfaced by enabling CONFIG_DM_MMC_OPS on
> > Simon> tegra. Without this option the MMC stack fully reinits the
> > Simon> driver on a 'mmc rescan'.  But with this option driver model
> > Simon> does not re-probe a driver once it has been probed once.
> >
> > Simon> Fix the driver to honour the request.
> >
> > Simon> Signed-off-by: Simon Glass <sjg at chromium.org> ---
> >
> > Tested-by: Peter Chubb <peter.chubb at data61.csiro.au>
> >
> > Simon>  drivers/mmc/tegra_mmc.c | 2 +- 1 file changed, 1 insertion(+),
> > Simon> 1 deletion(-)
> >
> > Simon> diff --git a/drivers/mmc/tegra_mmc.c b/drivers/mmc/tegra_mmc.c
> > Simon> index 338e42b528..7d945a172e 100644 ---
> > Simon> a/drivers/mmc/tegra_mmc.c +++ b/drivers/mmc/tegra_mmc.c @@
> > Simon> -438,7 +438,7 @@ static int tegra_mmc_set_ios(struct udevice
> > Simon> *dev) else if (mmc->bus_width == 4) ctrl |= (1 << 1); else -
> > Simon> ctrl &= ~(1 << 1); + ctrl &= ~(1 << 1 | 1 << 5);
> >
> > Simon>          writeb(ctrl, &priv->reg->hostctl); debug("mmc_set_ios:
> > Simon> hostctl = %08X\n", ctrl); -- 2.13.0.506.g27d5fe0cd-goog
> 
> Thanks for testing this.
> 
> Tom please note this is a bug fix.
> 
> - Simon
--
nvpublic


More information about the U-Boot mailing list