[PATCH 0/2] mtd: rawnand: Handle GigaDevice chips behind the ESMT manufacturer ID
From: Peter-Simon Dieterich via B4 Relay
Date: Thu Sep 17 2026 - 09:28:53 EST
JEDEC manufacturer ID 0xc8 is shared between ESMT and GigaDevice, so
GigaDevice raw NAND chips are detected as ESMT and handled by
nand_esmt.c. This series deals with a GigaDevice part that ends up there.
Patch 1 works around a broken timing mode feature on the GD9FU2G8F3A:
the parameter page advertises SET/GET_FEATURES support, but
GET_FEATURES(TIMING_MODE) does not report the mode that was written, so
the core does not see its selection acknowledged and falls back to timing
mode 0. GigaDevice confirmed the chip is compatible with every timing
mode it advertises and that SET_FEATURES is not required to enter them,
so the feature is unflagged for this model and only the host side is
configured. This mirrors the existing handling of the Macronix MX30LF AC
series in nand_macronix.c.
Patch 2 is cosmetic: it renames the manufacturer entry to
"ESMT/GigaDevice" and documents the ID collision, so a GigaDevice part
is no longer reported as ESMT at detection time. It is independent of
patch 1 and can be dropped or deferred without affecting the fix.
Tested on an i.MX6ULL board using gpmi-nand with a GD9FU2G8F3A.
Signed-off-by: Peter-Simon Dieterich <peter-simon.dieterich@xxxxxxxxxxxxxxxxxx>
---
Peter-Simon Dieterich (2):
mtd: rawnand: esmt: Disable broken timings feature on GD9FU2G8F3A
mtd: rawnand: Reflect that ESMT and GigaDevice share ID 0xc8
drivers/mtd/nand/raw/internals.h | 1 +
drivers/mtd/nand/raw/nand_esmt.c | 34 ++++++++++++++++++++++++++++++++++
drivers/mtd/nand/raw/nand_ids.c | 2 +-
3 files changed, 36 insertions(+), 1 deletion(-)
---
base-commit: 7e874b1750a40f3dc9a629aeb72eba09c77f77e9
change-id: 20260820-esmt-gd9fu2g8f3a-94b1f6e1003a
Best regards,
--
Peter-Simon Dieterich <peter-simon.dieterich@xxxxxxxxxxxxxxxxxx>