[PATCH v3 0/3] mtd: rawnand: sunxi: fix H6/H616 controller timings

From: James Hilliard

Date: Fri Aug 07 2026 - 12:18:06 EST


The sunxi NAND timing solver currently applies the original A10 NDFC
timing characteristics to every supported controller. The H6/H616 NDFC
uses two internal cycles for several setup and hold intervals and has
different delay-field encodings, so the resulting clock and timing
register values do not match the hardware.

Prepare for per-controller timing data in two behaviorally focused
patches, then add and select the H616 characteristics in the final fix.
Legacy controllers retain their existing setup-cycle behavior and delay
encodings.

Tested on an H616 board with Toshiba TC58NVG1S3H NAND.

Signed-off-by: James Hilliard <james.hilliard1@xxxxxxxxx>
---
Changes v1 -> v2:
- Split legacy timing setup from the H616 fix (suggested by Miquel)
- Move tADL/tWHR encodings to a separate patch (suggested by Miquel)
- Keep the timing lookup helper unchanged (suggested by Miquel)
- Drop the minimum-period helper (suggested by Miquel)
- Align H616 timing-data and capability names (suggested by Miquel)
- Add Cc: stable to all three patches (suggested by Miquel)

Changes v2 -> v3:
- Rebase onto current nand/next
- Fix strict checkpatch diagnostics (suggested by Miquel)
- Add Fixes tags to the two stable preparatory patches
- Link to v2: https://patch.msgid.link/20260717-submit-sunxi-nand-h6-h616-timings-v2-0-225515107640@xxxxxxxxx

To: Miquel Raynal <miquel.raynal@xxxxxxxxxxx>
To: Richard Weinberger <richard@xxxxxx>
To: Vignesh Raghavendra <vigneshr@xxxxxx>
To: Chen-Yu Tsai <wens@xxxxxxxxxx>
To: Jernej Skrabec <jernej.skrabec@xxxxxxxxx>
To: Samuel Holland <samuel@xxxxxxxxxxxx>
To: Richard Genoud <richard.genoud@xxxxxxxxxxx>
Cc: linux-mtd@xxxxxxxxxxxxxxxxxxx
Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx
Cc: linux-sunxi@xxxxxxxxxxxxxxx
Cc: linux-kernel@xxxxxxxxxxxxxxx

---
James Hilliard (3):
mtd: rawnand: sunxi: group controller delay tables
mtd: rawnand: sunxi: describe tADL and tWHR delays
mtd: rawnand: sunxi: fix H6/H616 controller timings

drivers/mtd/nand/raw/sunxi_nand.c | 119 +++++++++++++++++++++++++++-----------
1 file changed, 86 insertions(+), 33 deletions(-)
---
base-commit: f97bdc8ec1dc7b33781a702eeba55326c206be56
change-id: 20260717-submit-sunxi-nand-h6-h616-timings-794a2994267d

Best regards,
--
James Hilliard <james.hilliard1@xxxxxxxxx>