This driver is deeply broken in many ways. Miquèl has cleaned it up by: - flagging the most hideous parts (where Micron on-die ECC support is hardcoded) - enabling DT support, eg. for reading the ECC configuration - fixing software ECC support - aligning the software ECC OOB layout to the rest of the world and allow a working interoperability in Linux.
I then added a patch to fix writes when soft ECC is on. Signed-off-by: Miquel Raynal (DAVE.eu) <[email protected]> Signed-off-by: Bastien Curutchet (DAVE.eu) <[email protected]> --- Changes in v3: - Add patch 6 to fix write issues in soft ECC. - Link to v2: https://lore.kernel.org/r/[email protected] Changes in v2: - Fix the sponsor: s/DAVE/DAVE.eu/, no other change. - Link to v1: https://lore.kernel.org/r/[email protected] --- Bastien Curutchet (DAVE.eu) (1): mtd: rawnand: nand_base: Don't overwrite read/write_page_raw() for soft ECC Miquel Raynal (DAVE.eu) (5): mtd: rawnand: zynq: Align the layout structures with the driver namespace mtd: rawnand: zynq: Add comments about very bad practices mtd: rawnand: zynq: Make sure an of node is attached mtd: rawnand: zynq: Do not fail the probe for no reason mtd: rawnand: zynq: Fix Software ECC engine support drivers/mtd/nand/raw/nand_base.c | 6 +- drivers/mtd/nand/raw/zynq_nand.c | 115 ++++++++++----------------------------- 2 files changed, 32 insertions(+), 89 deletions(-) --- base-commit: 4433253ecf2041f9362a763bb6cb79960921ac7e change-id: 20260522-dave-upstream-nand-fixes-60a5336517a2 Best regards, -- Bastien Curutchet (DAVE.eu) <[email protected]>

