From: Cheng Ming Lin <linchengming884@gmail.com>
To: Miquel Raynal <miquel.raynal@bootlin.com>,
Richard Weinberger <richard@nod.at>,
Vignesh Raghavendra <vigneshr@ti.com>,
Rob Herring <robh@kernel.org>,
Krzysztof Kozlowski <krzk+dt@kernel.org>,
Conor Dooley <conor+dt@kernel.org>
Cc: Tudor Ambarus <tudor.ambarus@linaro.org>,
Mikhail Kshevetskiy <mikhail.kshevetskiy@iopsys.eu>,
Pablo Martin-Gomez <pmartin-gomez@freebox.fr>,
Tianling Shen <cnsztl@gmail.com>,
Pratyush Yadav <pratyush@kernel.org>,
linux-mtd@lists.infradead.org, devicetree@vger.kernel.org,
linux-kernel@vger.kernel.org, alvinzhou@mxic.com.tw,
Cheng Ming Lin <chengminglin@mxic.com.tw>
Subject: [PATCH v5 1/3] dt-bindings: mtd: spinand: Add randomizer enable/disable properties
Date: Wed, 11 Feb 2026 18:05:51 +0800 [thread overview]
Message-ID: <20260211100553.907585-2-linchengming884@gmail.com> (raw)
In-Reply-To: <20260211100553.907585-1-linchengming884@gmail.com>
From: Cheng Ming Lin <chengminglin@mxic.com.tw>
Add "nand-randomizer-enable" and "nand-randomizer-disable" boolean
properties.
These properties allow enabling or disabling the randomizer feature
via the device tree.
According to JEDEC standard JESD22-A117E, no single data pattern
represents a universal worst-case for all NAND flash failure mechanisms.
Different patterns, such as fully programmed, checkerboard, or mostly
erased, can disproportionately stress specific cells (e.g., programmed,
erased, or those influenced by adjacent states).
Given that no fixed pattern can cover all scenarios, the use of a
randomized data pattern is a practical and effective mitigation strategy.
Our hardware implements a randomizer feature that scrambles user data
before it is written to the flash and restores the original data upon read.
This ensures the data stored on the media is more evenly distributed,
thus reducing pattern-dependent degradation. This is especially crucial
for preventing errors caused by unbalanced data (e.g., all zeros or
all ones) in blocks with high program/erase (P/E) cycle counts.
Ultimately, the randomizer improves the long-term reliability and
endurance of the flash device.
Please refer to the following link for randomizer feature:
Link: https://www.mxic.com.tw/Lists/ApplicationNote/Attachments/2151/AN1051V1-The%20Introduction%20of%20Randomizer%20Feature%20on%20MX30xFxG28AD_MX35xFxG24AD.
Signed-off-by: Cheng Ming Lin <chengminglin@mxic.com.tw>
---
Documentation/devicetree/bindings/mtd/nand-chip.yaml | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/Documentation/devicetree/bindings/mtd/nand-chip.yaml b/Documentation/devicetree/bindings/mtd/nand-chip.yaml
index 609d4a4ddd80..2fcbc4b73e95 100644
--- a/Documentation/devicetree/bindings/mtd/nand-chip.yaml
+++ b/Documentation/devicetree/bindings/mtd/nand-chip.yaml
@@ -67,6 +67,14 @@ properties:
the secure regions present.
$ref: /schemas/types.yaml#/definitions/uint64-matrix
+ nand-randomizer-enable:
+ description: Enable the randomizer feature.
+ type: boolean
+
+ nand-randomizer-disable:
+ description: Disable the randomizer feature.
+ type: boolean
+
required:
- reg
--
2.25.1
next prev parent reply other threads:[~2026-02-11 10:07 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-02-11 10:05 [PATCH v5 0/3] mtd: spi-nand: Add support for randomizer feature Cheng Ming Lin
2026-02-11 10:05 ` Cheng Ming Lin [this message]
2026-02-12 7:33 ` [PATCH v5 1/3] dt-bindings: mtd: spinand: Add randomizer enable/disable properties Krzysztof Kozlowski
2026-02-23 5:49 ` Cheng Ming Lin
2026-02-11 10:05 ` [PATCH v5 2/3] mtd: spi-nand: Add support for randomizer Cheng Ming Lin
2026-02-11 10:05 ` [PATCH v5 3/3] mtd: spi-nand: macronix: Enable randomizer support Cheng Ming Lin
2026-02-12 10:55 ` Miquel Raynal
2026-02-23 5:50 ` Cheng Ming Lin
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260211100553.907585-2-linchengming884@gmail.com \
--to=linchengming884@gmail.com \
--cc=alvinzhou@mxic.com.tw \
--cc=chengminglin@mxic.com.tw \
--cc=cnsztl@gmail.com \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=krzk+dt@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mtd@lists.infradead.org \
--cc=mikhail.kshevetskiy@iopsys.eu \
--cc=miquel.raynal@bootlin.com \
--cc=pmartin-gomez@freebox.fr \
--cc=pratyush@kernel.org \
--cc=richard@nod.at \
--cc=robh@kernel.org \
--cc=tudor.ambarus@linaro.org \
--cc=vigneshr@ti.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox