[U-Boot] [PATCH] MTD: mxs_nand: Fix BCH read timeout error on boards requiring ECC

Adam Ford aford173 at gmail.com
Tue Feb 12 21:44:05 UTC 2019


On Tue, Feb 12, 2019 at 3:41 PM Scott Wood <oss at buserror.net> wrote:
>
> On Sun, 2019-02-10 at 07:48 -0600, Adam Ford wrote:
> > On Sun, Feb 10, 2019 at 7:30 AM Adam Ford <aford173 at gmail.com> wrote:
> > >
> > > On Mon, Feb 4, 2019 at 12:17 PM Tim Harvey <tharvey at gateworks.com> wrote:
> > > >
> > > > On Wed, Jan 2, 2019 at 6:37 PM Adam Ford <aford173 at gmail.com> wrote:
> > > > >
> > > > > The LogicPD board uses a Micron Flash with ECC.  To boot this from
> > > > > SPL, the ECC needs to be correctly configured or the BCH engine
> > > > > times out.
> > > > >
> > > > > Signed-off-by: Adam Ford <aford173 at gmail.com>
> > > > >
> > > > > diff --git a/drivers/mtd/nand/raw/mxs_nand.c
> > > > > b/drivers/mtd/nand/raw/mxs_nand.c
> > > > > index e3341812a2..2d84bfffe2 100644
> > > > > --- a/drivers/mtd/nand/raw/mxs_nand.c
> > > > > +++ b/drivers/mtd/nand/raw/mxs_nand.c
> > > > > @@ -1163,6 +1163,12 @@ int mxs_nand_init_spl(struct nand_chip *nand)
> > > > >
> > > > >         nand_info->gpmi_regs = (struct mxs_gpmi_regs *)MXS_GPMI_BASE;
> > > > >         nand_info->bch_regs = (struct mxs_bch_regs *)MXS_BCH_BASE;
> > > > > +
> > > > > +       if (is_mx6sx() || is_mx7())
> > > > > +               nand_info->max_ecc_strength_supported = 62;
> > > > > +       else
> > > > > +               nand_info->max_ecc_strength_supported = 40;
> > > > > +
> > > > >         err = mxs_nand_alloc_buffers(nand_info);
> > > > >         if (err)
> > > > >                 return err;
> > > > > diff --git a/drivers/mtd/nand/raw/mxs_nand_spl.c
> > > > > b/drivers/mtd/nand/raw/mxs_nand_spl.c
> > > > > index c628f3adec..ba85baac60 100644
> > > > > --- a/drivers/mtd/nand/raw/mxs_nand_spl.c
> > > > > +++ b/drivers/mtd/nand/raw/mxs_nand_spl.c
> > > > > @@ -201,6 +201,7 @@ static int mxs_nand_init(void)
> > > > >         /* setup flash layout (does not scan as we override that) */
> > > > >         mtd->size = nand_chip.chipsize;
> > > > >         nand_chip.scan_bbt(mtd);
> > > > > +       mxs_nand_setup_ecc(mtd);
> > > > >
> > > > >         return 0;
> > > > >  }
> > > > > --
> > > > > 2.17.1
> > > > >
> > > >
> > > > Thanks Adam,
> >
> >  Scott / Stefano,
> >
> > I had to use Scott's other -email.
> >
> >
> >  Any chance this can get reviewed and/or applied for the next release?
> >  We've got a few people who have their respective tested-by comments.
>
> I haven't been involved in U-Boot for a while now.

Tom / Stefano,

Patchwork is showing this is being delegated to Scott, but he's saying
he isn't the right person.  Is there someone else who can review
and/or apply a few of these patches designated to Scott?  Both of the
patches I care about deligated to him are imx6 related

thanks,

adam
>
> -Scott
>
>


More information about the U-Boot mailing list