difos/target/linux/generic/backport-6.12/420-02-v6.16-mtd-nand-brcmnand-fix-NAND-timeout-when-accessing-eM.patch
Álvaro Fernández Rojas 53c723246a generic: 6.12: backport upstream v6.16 brcmnand patches
This is needed to restore compatibility with legacy brcmnand controllers.

3bfb22cecfe6 mtd: rawnand: brcmnand: legacy exec_op implementation
528b541b71cf mtd: nand: brcmnand: fix NAND timeout when accessing eMMC
56fce7547004 mtd: rawnand: brcmnand: remove unused parameters

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2025-05-27 11:29:46 +02:00

30 lines
1.2 KiB
Diff

From 528b541b71cf03e263272b051b70696f92258e9d Mon Sep 17 00:00:00 2001
From: David Regan <dregan@broadcom.com>
Date: Thu, 22 May 2025 10:25:17 -0700
Subject: [PATCH] mtd: nand: brcmnand: fix NAND timeout when accessing eMMC
When booting a board to NAND and accessing NAND while eMMC
transactions are occurring the NAND will sometimes timeout. This
is due to both NAND and eMMC controller sharing the same data bus
on BCMBCA chips. Fix is to extend NAND timeout to allow eMMC
transactions time to complete.
Signed-off-by: David Regan <dregan@broadcom.com>
Reviewed-by: William Zhang <william.zhang@broadcom.com>
Reviewed-by: Florian Fainelli <florian.fainelli@broadcom.com>
Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
---
drivers/mtd/nand/raw/brcmnand/brcmnand.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
--- a/drivers/mtd/nand/raw/brcmnand/brcmnand.c
+++ b/drivers/mtd/nand/raw/brcmnand/brcmnand.c
@@ -101,7 +101,7 @@ struct brcm_nand_dma_desc {
#define BRCMNAND_MIN_DEVSIZE (4ULL * 1024 * 1024)
#define NAND_CTRL_RDY (INTFC_CTLR_READY | INTFC_FLASH_READY)
-#define NAND_POLL_STATUS_TIMEOUT_MS 100
+#define NAND_POLL_STATUS_TIMEOUT_MS 500
#define EDU_CMD_WRITE 0x00
#define EDU_CMD_READ 0x01