[U-Boot] i.MX6Q SPL won't boot U-Boot from NAND

Adam Ford aford173 at gmail.com
Wed Jul 25 10:44:01 UTC 2018


On Wed, Jul 25, 2018 at 1:43 AM Jagan Teki <jagan at amarulasolutions.com> wrote:
>
> On Wed, Jul 25, 2018 at 12:55 AM, Adam Ford <aford173 at gmail.com> wrote:
> > I am trying to boot an i.MX6Q via SPL to U-Boot and eventually, use
> > Falcon mode to start the kernel.  I can boot via SPL over USB.  I have
> > enabled the NAND and SPL NAND, and i can confirm that mxs_nand_spl.c
> > is being built in.  The board is imx6q_logic
> >
> > Unfortunately, I have run into two issues.
> >
> > 1.  Imxs_nand_init from mxs_nand_spl.c is trying to run
> > nand_chip.scan_bbt(mtd), but nand_chip.scan_bbt hasn't been defined
> > from what i can tell.
> >
> > There is a function called nand_default_bb which looks like it should
> > be setup as the default for this, but I am not sure.  As-is, the
> > system crashes when it attempts to run because it's a broken/NULL
> > function pointer.  Is there something that should initialize this
> > pointer and/or what should it reference?
> >
> > 2.  With the #1 commented out,  I get some error messages, but I am
> > mostly concerned about the BCH read timeout.  I am asking if there is
> > something missing.
>
> Did you write the SPL from Linux?
>
Yes with kobs-ng.  It wouldn't boot at all without doing that.

> >
> > #define CONFIG_SYS_NAND_U_BOOT_OFFS    0x200000
> >
> >
> > U-Boot SPL 2018.07-00031-g771af54de4-dirty (Jul 24 2018 - 14:18:14 -0500)
> >>>spl:board_init_r()
> > spl_early_init()
> > Trying to boot from NAND
> > spl: nand - using hw ecc
> > 0x01:0xd3 erasesize=131072 (>>17)
> > writesize=2048 (>>11)
> > oobsize=64
> > chipsize=1073741824
>
> Look like something broken in between, I'm observing SPL looping while
> loading spl_load_image
>
> U-Boot SPL 2018.07-00368-g323a73adc9-dirty (Jul 25 2018 - 12:07:08 +0530)
> >>spl:board_init_r()
> spl_early_init()
> I'm nand 12
> Trying to boot from NAND
> spl: nand - using hw ecc
> 0x2c:0xdc erasesize=262144 (>>18)
> writesize=4096 (>>12)
> oobsize=224
> chipsize=536870912
>
> U-Boot SPL 2018.07-00368-g323a73adc9-dirty (Jul 25 2018 - 12:07:08 +0530)
> >>spl:board_init_r()
> spl_early_init()
> I'm nand 12
> Trying to boot from NAND
> spl: nand - using hw ecc
> 0x2c:0xdc erasesize=262144 (>>18)
> writesize=4096 (>>12)
> oobsize=224
> chipsize=536870912
>
> May be bisect with working commit can help us, here?

I never had NAND working from SPL, so I am not sure if there is a good
starting point from which to bisect.

If I boot without using SPL, I can easily read/write my U-Boot
environment to NAND and I can store the kernel, device tree, and UBIFS
in NAND and successfully boot, so I think the problem is somewhere in
the SPL version of the NAND drivers.

adam


More information about the U-Boot mailing list