[U-Boot] [PATCH v2] mtd: nand: allow to skip BBT scanning during NAND inititialization
Scott Wood
scottwood at freescale.com
Mon Nov 3 22:40:59 CET 2014
On Thu, 2014-10-23 at 21:25 +0900, Masahiro Yamada wrote:
> Since commit ff94bc40af34 (mtd, ubi, ubifs: resync with Linux-3.14),
> chip->scan_bbt() is called at the end of nand_scan_tail().
> It means the first read access happens immediately after the generic
> NAND initialization process.
>
> It causes a problem to some SoCs of UniPhier platform because some of
> their register values need to be fixed up after the general
> initialization procedure has been finished. Otherwise, read asccess
> fails. Such a fix-up is SoC-specific enough to be written in a board
> file rather than in driver code.
>
> One of possible and clean enough ways to work around this issue is
> postpone the BBT scanning until necessary fix-up is done in
> board_late_init() or somewhere else.
>
> CONFIG_MTD_NAND_SKIP_BBTSCAN, if enabled, allows to skip the BBT
> scanning at the end of nand_scan_tail().
>
> Signed-off-by: Masahiro Yamada <yamada.m at jp.panasonic.com>
> Cc: Scott Wood <scottwood at freescale.com>
> ---
Rotislav Lisovy already posted a patch to fix the regression, but I
don't think you should be relying on this for your problem. Why don't
you want to put SoC-specific knowledge in the driver? At least make it
a callback from the driver to an SoC file, rather than hoping the NAND
won't be touched for a certain amount of time after the driver has told
the subsystem "I'm here and ready to be used".
-Scott
More information about the U-Boot
mailing list