[PATCH] dt-bindings: mtd: nand-micronix: convert to DT schema

Rob Herring robh at kernel.org
Tue Dec 30 10:23:14 PST 2025


On Tue, Dec 30, 2025 at 07:20:21AM +0000, Akhila YS wrote:
> Convert Macronix NAND Randomizer OTP Enable Property binding to YAML format.

I appreciate the conversion, but please focus on bindings which are 
actually used. We have no in tree users of this property.

There's daily builds which list undocumented (by schemas) compatibles:

https://gitlab.com/robherring/linux-dt/-/jobs?kind=BUILD

This repo has scripts to fetch and parse the logs from the above builds:

https://gitlab.com/robherring/ci-jobs

> Signed-off-by: Akhila YS <akhilayalmati at gmail.com>
> ---
>  .../devicetree/bindings/mtd/nand-macronix.txt      | 27 --------------
>  .../devicetree/bindings/mtd/nand-macronix.yaml     | 41 ++++++++++++++++++++++
>  2 files changed, 41 insertions(+), 27 deletions(-)
> 
> diff --git a/Documentation/devicetree/bindings/mtd/nand-macronix.txt b/Documentation/devicetree/bindings/mtd/nand-macronix.txt
> deleted file mode 100644
> index ffab28a2c4d1..000000000000
> --- a/Documentation/devicetree/bindings/mtd/nand-macronix.txt
> +++ /dev/null
> @@ -1,27 +0,0 @@
> -Macronix NANDs Device Tree Bindings
> ------------------------------------
> -
> -Macronix NANDs support randomizer operation for scrambling user data,
> -which can be enabled with a SET_FEATURE. The penalty when using the
> -randomizer are subpage accesses prohibited and more time period needed
> -for program operation, i.e., tPROG 300us to 340us (randomizer enabled).
> -Enabling the randomizer is a one time persistent and non reversible
> -operation.
> -
> -For more high-reliability concern, if subpage write is not available
> -with hardware ECC and not enabled at UBI level, then enabling the
> -randomizer is recommended by default by adding a new specific property
> -in children nodes.
> -
> -Required NAND chip properties in children mode:
> -- randomizer enable: should be "mxic,enable-randomizer-otp"
> -
> -Example:
> -
> -	nand: nand-controller at unit-address {
> -
> -		nand at 0 {
> -			reg = <0>;
> -			mxic,enable-randomizer-otp;
> -		};
> -	};
> diff --git a/Documentation/devicetree/bindings/mtd/nand-macronix.yaml b/Documentation/devicetree/bindings/mtd/nand-macronix.yaml
> new file mode 100644
> index 000000000000..10f1d58adcef
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/mtd/nand-macronix.yaml
> @@ -0,0 +1,41 @@
> +# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/mtd/nand-macronix.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Macronix NAND Randomizer OTP Enable Property
> +
> +maintainers:
> +  - Miquel Raynal <miquel.raynal at bootlin.com>
> +  - Richard Weinberger <richard at nod.at>
> +
> +description:
> +  Macronix NAND chips support an optional one-time programmable (OTP)
> +  data randomizer that scrambles user data to improve reliability.
> +  Enabling it is irreversible, prohibits subpage accesses, and slightly
> +  increases program time. This property requests the driver to enable
> +  the randomizer if not already set.
> +
> +properties:
> +  mxic,enable-randomizer-otp:
> +    type: boolean
> +    description:
> +      Presence of this property indicates that the data randomizer should
> +      be enabled in OTP mode on the NAND chip.
> +
> +unevaluatedProperties: false

This would not work unless this is the only property in a node. But this 
schema is never applied to anything without a compatible or node name to 
match on. This property needs to be added to nand-chip.yaml instead.

Rob



More information about the linux-mtd mailing list