[U-Boot] IMX6 NAND boot regression
joerg.krause at embedded.rocks
Sat Feb 2 19:22:34 UTC 2019
On Sat, 2019-02-02 at 05:30 -0800, Adam Ford wrote:
> On Sat, Feb 2, 2019 at 12:29 AM Jagan Teki <jagan at amarulasolutions.com> wrote:
> > +Adam, Shyam
> > On Sat, 2 Feb, 2019, 8:49 AM Stefan Agner <stefan.agner at toradex.com wrote:
> > > Hi Tim,
> > >
> > > On 02.02.19 03:32, Tim Harvey wrote:
> > > > Stefan,
> > > >
> > > > I'm trying to track down an IMX6 SPL NAND boot regression that started
> > > > in v2018.07 with your patch series to mxs_nand.
> > >
> > > I am sorry about that. Unfortunately I did not had a design at hand where
> > > I was able to test the NAND driver in SPL...
> > >
> > > > I bisected it back to '5346c31e305a37d39f535cc0d5ae87d8b7e81230 mtd:
> > > > nand: mxs_nand: use self init'. With this particular patch nand bbt
> > > > scanning would crash the board because of nand_chip.scan_btt not being
> > > > assigned. This was later fixed in
> > > > '96d0be07e7498e7174daa6f3b56fc807b9feb71d MTD: nand: mxs_nand_spl: Fix
> > > > empty function pointer for BBT' but cherry-picking that on top of
> > > > 5346c31 fixes the immediate crash while scanning but then I find that
> > > > mxs_read_page_ecc() hangs on the 4th page of reading u-boot.img from
> > > > the NAND. This gets worse 2 patches later where in
> > > > '28897e8d21f8e197e259a91c693de09cd81f2d5a: mtd: nand: mxs_nand: use
> > > > structure for BCH geometry' I find that the first byte of every page
> > > > read is wrong because mxs_nand_swap_block_mark() is getting called on
> > > > the page which swaps the first bytes with oob.
> > > >
> > > > There are several IMX6 boards out there using both NAND and SPL I
> > > > believe that I would assume were broken by this series. Any ideas on
> > > > the proper resolution?
> > Look like 2017.03 can be stable boot from nand as for as my test is concern.
> > We are also trying hard using git bisect, but seems like multiple breakings.
> > Will keep posted if something move further.
> From a different thread, someone was able to test these patches and
> found they fixed their booting issues:
> There was a broken function pointer here that was fixed and applied
> the imx-master, but pending merge with master
> Configure ECC from SPL here:
> Remove hard-coded ECC parameters since the patch above can autoset them.
> Maybe those can help.
I can confirm that that the commit
5346c31e305a37d39f535cc0d5ae87d8b7e81230 broke booting from NAND for my
i.MX6ULL board, so I sticked with version 2018.05.
Now, I've tested U-Boot 2019.01 with the three patches Adam suggested
and the SPL loader is able to boot from NAND again.
More information about the U-Boot