[PATCH v2 03/20] dt-bindings: mtd: nand-chip: Create a NAND chip description
Rob Herring
robh at kernel.org
Wed Dec 1 15:20:20 PST 2021
On Fri, Nov 26, 2021 at 12:39:07PM +0100, Miquel Raynal wrote:
> Move the NAND chip description out of the NAND controller file. Indeed,
> a subsequent part of the properties supported by a raw NAND chip are
> also supported by SPI-NAND chips. So let's create a generic NAND chip
> description which will be pulled by nand-controller.yaml and later by
> spi-nand.yaml as well.
>
> Signed-off-by: Miquel Raynal <miquel.raynal at bootlin.com>
> ---
> .../devicetree/bindings/mtd/nand-chip.yaml | 71 +++++++++++++++++++
> .../bindings/mtd/nand-controller.yaml | 53 ++------------
> 2 files changed, 75 insertions(+), 49 deletions(-)
> create mode 100644 Documentation/devicetree/bindings/mtd/nand-chip.yaml
>
> diff --git a/Documentation/devicetree/bindings/mtd/nand-chip.yaml b/Documentation/devicetree/bindings/mtd/nand-chip.yaml
> new file mode 100644
> index 000000000000..6d13e8cdbb21
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/mtd/nand-chip.yaml
> @@ -0,0 +1,71 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/mtd/nand-chip.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: NAND Chip and NAND Controller Generic Binding
> +
> +maintainers:
> + - Miquel Raynal <miquel.raynal at bootlin.com>
> +
> +description: |
> + This file covers the generic description of a NAND chip. It implies that the
> + bus interface should not be taken into account: both raw NAND devices and
> + SPI-NAND devices are concerned by this description.
> +
> +properties:
> + reg:
> + description:
> + Contains the chip-select IDs.
> +
> + nand-ecc-engine:
> + allOf:
Can you drop the allOf here.
> + - $ref: /schemas/types.yaml#/definitions/phandle
> + description: |
> + A phandle on the hardware ECC engine if any. There are
> + basically three possibilities:
> + 1/ The ECC engine is part of the NAND controller, in this
> + case the phandle should reference the parent node.
> + 2/ The ECC engine is part of the NAND part (on-die), in this
> + case the phandle should reference the node itself.
> + 3/ The ECC engine is external, in this case the phandle should
> + reference the specific ECC engine node.
> +
> + nand-use-soft-ecc-engine:
> + type: boolean
> + description: Use a software ECC engine.
> +
> + nand-no-ecc-engine:
> + type: boolean
> + description: Do not use any ECC correction.
> +
> + nand-ecc-algo:
> + description:
> + Desired ECC algorithm.
> + $ref: /schemas/types.yaml#/definitions/string
> + enum: [hamming, bch, rs]
> +
> + nand-ecc-strength:
> + description:
> + Maximum number of bits that can be corrected per ECC step.
> + $ref: /schemas/types.yaml#/definitions/uint32
> + minimum: 1
> +
> + nand-ecc-step-size:
> + description:
> + Number of data bytes covered by a single ECC step.
> + $ref: /schemas/types.yaml#/definitions/uint32
> + minimum: 1
> +
> + secure-regions:
> + $ref: /schemas/types.yaml#/definitions/uint64-matrix
> + description:
> + Regions in the NAND chip which are protected using a secure element
> + like Trustzone. This property contains the start address and size of
> + the secure regions present.
> +
> +required:
> + - reg
> +
> +additionalProperties: true
> diff --git a/Documentation/devicetree/bindings/mtd/nand-controller.yaml b/Documentation/devicetree/bindings/mtd/nand-controller.yaml
> index 5cd144a9ec99..44825dc95412 100644
> --- a/Documentation/devicetree/bindings/mtd/nand-controller.yaml
> +++ b/Documentation/devicetree/bindings/mtd/nand-controller.yaml
> @@ -52,32 +52,15 @@ properties:
> patternProperties:
> "^nand@[a-f0-9]$":
> type: object
> +
> + allOf:
Also not needed here.
With that,
Reviewed-by: Rob Herring <robh at kernel.org>
> + - $ref: "nand-chip.yaml#"
> +
More information about the linux-mtd
mailing list