[PATCH v7 0/3] mtd: spi-nand: Add support for randomizer feature
From: Cheng Ming Lin
Date: Tue Feb 24 2026 - 21:16:50 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.
v7:
* Directly return the result in macronix_set_randomizer()
v6:
* Added mutual-exclusive constraints using not with required for
nand-randomizer-enable and nand-randomizer-disable properties based
on Krzysztof's feedback.
* Simplified the return path in macronix_set_randomizer() to directly
return ret; and dropped unrelated formatting changes.
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 | 18 +++++++++
drivers/mtd/nand/spi/core.c | 27 +++++++++++++
drivers/mtd/nand/spi/macronix.c | 38 ++++++++++++++-----
include/linux/mtd/spinand.h | 9 +++++
4 files changed, 82 insertions(+), 10 deletions(-)
--
2.25.1