In board_nand_init() the used NAND flash is not evaluated. This left vital parts of internal structures uninitialized and SPL NAND flash access is broken.
Add the missing nand_scan_ident() to board_nand_init(). Signed-off-by: Benedikt Spranger <b.spran...@linutronix.de> Reviewed-by: John Ogness <john.ogn...@linutronix.de> --- drivers/mtd/nand/raw/atmel_nand.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/drivers/mtd/nand/raw/atmel_nand.c b/drivers/mtd/nand/raw/atmel_nand.c index 4dbf7b47135..cf7ac54ea13 100644 --- a/drivers/mtd/nand/raw/atmel_nand.c +++ b/drivers/mtd/nand/raw/atmel_nand.c @@ -1423,6 +1423,10 @@ int board_nand_init(struct nand_chip *nand) nand->bbt_options |= NAND_BBT_USE_FLASH; #endif + ret = nand_scan_ident(mtd, CONFIG_SYS_NAND_MAX_CHIPS, NULL); + if (ret) + return ret; + #ifdef CONFIG_ATMEL_NAND_HWECC #ifdef CONFIG_ATMEL_NAND_HW_PMECC ret = atmel_pmecc_nand_init_params(nand, mtd); -- 2.45.2