[PATCH v2 0/5] mtd: rawnand: sunxi: Fix user data length for H6
Richard Genoud
richard.genoud at bootlin.com
Fri Mar 27 15:05:03 CET 2026
This series introduces the correct usage of user data length for
H6/H616.
If the older SoCs must use a fixed value of 4 user data bytes for each
ECC step, the H6 can have a different value for each step.
In the first round, the behavior was kept as the one used by A10.
But we have multiple choices:
- do like A10 like before (and not use all OOB)
- do like the vendor kernel (different from A10, but not using all OOB)
- use the whole OOB for user data bytes
In this second round, the third approach is implemented.
All patches but the 4th are code cleaning.
The 4th patch enables using a variable user data length for H6/H616
along with maximizing it.
A similar series has been accepted for Linux:
https://lore.kernel.org/lkml/20260317142437.580204-1-richard.genoud@bootlin.com/
Changes from v1:
- gather reviewed-by
- clean sunxi_nand_chip_init()
- use all possible remaining OOB space for user data bytes
Richard Genoud (5):
mtd: rawnand: sunxi: Replace hard coded value by a define
mtd: rawnand: sunxi: make the code mode self-explanatory
mtd: rawnand: sunxi: clean sunxi_nand_chip_init()
mtd: rawnand: sunxi: introduce variable user data length
mtd: nand: raw: sunxi_spl: remove user data length reset
drivers/mtd/nand/raw/sunxi_nand.c | 292 +++++++++++++++++++-------
drivers/mtd/nand/raw/sunxi_nand.h | 3 +
drivers/mtd/nand/raw/sunxi_nand_spl.c | 129 +++++++++---
3 files changed, 324 insertions(+), 100 deletions(-)
base-commit: ba7bf918dafcd093ad733b07ba490baeb20cf5da
More information about the U-Boot
mailing list