[PATCH 3/3] mtd: rawnand: denali: Do not reset the block before booting the kernel

Marek Vasut marex at denx.de
Fri Jan 10 01:14:17 CET 2020


The Denali NAND block loses configuration when put in reset.
Specifically, RB_PIN_ENABLED, CHIP_ENABLE_DONT_CARE,
SPARE_AREA_SKIP_BYTES and SPARE_AREA_MARKER are lost.
Since mainline Linux depends on the configuration programmed
into the Denali NAND controller by the bootloader, do not
reset the controller before starting the kernel, otherwise
the kernel will read bogus values and fail to use the NAND.

Fixes: ed784ac3822b ("mtd: rawnand: denali: add reset handling")
Signed-off-by: Marek Vasut <marex at denx.de>
Cc: Masahiro Yamada <yamada.masahiro at socionext.com>
Cc: Simon Goldschmidt <simon.k.r.goldschmidt at gmail.com>
---
 drivers/mtd/nand/raw/denali_dt.c | 9 ---------
 1 file changed, 9 deletions(-)

diff --git a/drivers/mtd/nand/raw/denali_dt.c b/drivers/mtd/nand/raw/denali_dt.c
index b1e14982c4..03c97dbc05 100644
--- a/drivers/mtd/nand/raw/denali_dt.c
+++ b/drivers/mtd/nand/raw/denali_dt.c
@@ -142,21 +142,12 @@ static int denali_dt_probe(struct udevice *dev)
 	return denali_init(denali);
 }
 
-static int denali_dt_remove(struct udevice *dev)
-{
-	struct denali_nand_info *denali = dev_get_priv(dev);
-
-	return reset_release_bulk(&denali->resets);
-}
-
 U_BOOT_DRIVER(denali_nand_dt) = {
 	.name = "denali-nand-dt",
 	.id = UCLASS_MISC,
 	.of_match = denali_nand_dt_ids,
 	.probe = denali_dt_probe,
 	.priv_auto_alloc_size = sizeof(struct denali_nand_info),
-	.remove = denali_dt_remove,
-	.flags = DM_FLAG_OS_PREPARE,
 };
 
 void board_nand_init(void)
-- 
2.24.1



More information about the U-Boot mailing list