[PATCH v5 0/3] mtd: spi-nand: Add support for randomizer feature

From: Cheng Ming Lin

Date: Wed Feb 11 2026 - 05:07:27 EST


From: Cheng Ming Lin <chengminglin@xxxxxxxxxxx>

This patch series introduces randomizer support for SPI NAND devices.

- Patch 1: add the nand-randomizer-enable and nand-randomizer-disable
boolean properties to the generic nand-chip.yaml bindings.
- Patch 2: add the initialization logic and the set_randomizer callback
to the core framework. The core will now parse the device tree
properties and enable or disable the randomizer accordingly
during spinand_init.
- Patch 3: implement the set_randomizer callback specifically for Macronix
chips (MX35LF/UF series) to handle the vendor-specific register
operations.

v5:
* Promoted the randomizer configuration to use generic NAND properties
(nand-randomizer-enable and nand-randomizer-disable) instead of
vendor-specific bindings.
* Refactored the initialization architecture in core.c. The core framework
is now responsible for parsing the device tree properties and deciding
whether to enable or disable the randomizer.

v4:
* Fix a build error in spinand_randomizer_init() where a value was
returned from a void function. (Reported by kernel test robot)
* Update the return type to int.

v3:
* Revert the device tree property to the vendor-specific
"mxic,randomizer-enable" to strictly follow vendor-specific bindings.

* Update the 'set_randomizer' callback signature to accept a boolean
'enable' argument, allowing the feature to be explicitly enabled or
disabled.

* Switch the implementation to use the standard SET_FEATURE command
to modify the Configuration Register (0x10), replacing the previous
special program command method.

v2:
* Create a global NAND DT property
Cheng Ming Lin (3):
dt-bindings: mtd: spinand: Add randomizer enable/disable properties
mtd: spi-nand: Add support for randomizer
mtd: spi-nand: macronix: Enable randomizer support

.../devicetree/bindings/mtd/nand-chip.yaml | 8 ++++
drivers/mtd/nand/spi/core.c | 27 +++++++++++
drivers/mtd/nand/spi/macronix.c | 46 ++++++++++++++-----
include/linux/mtd/spinand.h | 9 ++++
4 files changed, 79 insertions(+), 11 deletions(-)

--
2.25.1