[U-Boot] [PATCH v3 0/7] spl: nand: sunxi: implement auto-detection

Boris Brezillon boris.brezillon at free-electrons.com
Wed Jun 15 21:12:01 CEST 2016


On Mon,  6 Jun 2016 10:16:55 +0200
Boris Brezillon <boris.brezillon at free-electrons.com> wrote:

> Hello,
> 
> This patch series aims at adding support for NAND auto-detection to
> the sunxi SPL NAND driver.
> 
> As explained in patch 7, this auto-detection is nothing more than a
> dumb "trial and error" logic, but it allows one to use the same
> SPL binary for all kind of sunxi boards booting from NAND.
> Of course, this approach might increase a bit the boot-time, but this
> is something we could address by adding a "default NAND config",
> that would be tested before launching the auto-detection procedure.
> 
> Now let's detail a bit what's inside this patch-set.
> Patch 1 is a cleanup removing support for BootROM configs, which in
> my opinion are not only inefficient but also not reliable (at least
> the current implementation does not guarantee that you'll be using
> the correct configuration when reading the NAND).
> 
> Piotr, Hans, any comment?
> Is this a real problem if we get rid of syndrome/BootROM configs?
> I mean, are you really using this mode? If that's not the case, I'd
> prefer dropping support for this feature. ITOH, if you really
> need this mode, then I'd recommend adding Kconfig options to specify
> the exact config to be used rather than randomly testing configs
> (see my explanation in patch 1).
> 
> Patch 2 is reworking the SYS_NAND_U_BOOT_OFFS Kconfig dependency model
> to make it usable on all platforms (not only sunxi).
> 
> Patch 3 is adding generic support for redundant u-boot images, which
> is particularly useful on modern NANDs where corruptions is likely to
> happen.
> Patch 4 is just getting rid of the open-coded version of redundant
> u-boot image support in the sunxi NAND driver.
> 
> Patch 5 is a simple improvement of the NAND controller status polling
> loop, which is really important to make the "trial and error"
> approach efficient (we try to limit the impact on boot-time here).
> Patch 6 and 7 are implementing the auto-detection logic.

Scott, can you have a look at this version and let me know if this is
what you had in mind for the Kconfig options?

> 
> Best Regards,
> 
> Boris
> 
> Changes since v2:
> - rework the Kconfig options for SYS_U_BOOT_OFFS and
>   SYS_U_BOOT_REDUND_OFFS
> 
> Changes since v1:
> - added Hans ack
> - fixed 2 typos in patch 7
> 
> Boris Brezillon (7):
>   spl: nand: sunxi: remove support for so-called 'syndrome' mode
>   spl: nand: rework SYS_NAND_U_BOOT_OFFS Kconfig option dependency
>   spl: nand: support redundant u-boot image
>   spl: nand: sunxi: stop guessing the redundant u-boot offset
>   spl: nand: sunxi: rework status polling loop
>   spl: nand: sunxi: split 'load page' and 'read page' logic
>   spl: nand: sunxi: add support for NAND config auto-detection
> 
>  common/spl/spl_nand.c             |   5 +
>  drivers/mtd/nand/Kconfig          |  21 +-
>  drivers/mtd/nand/sunxi_nand_spl.c | 480 ++++++++++++++++++++++++--------------
>  3 files changed, 332 insertions(+), 174 deletions(-)
> 



-- 
Boris Brezillon, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com


More information about the U-Boot mailing list