Re: [PATCH v5 03/12] dt-bindings: mtd: brcmnand: Add ecc strap property

From: Miquel Raynal
Date: Tue Feb 20 2024 - 04:57:01 EST


Hi William,

william.zhang@xxxxxxxxxxxx wrote on Wed, 7 Feb 2024 12:22:48 -0800:

> Add brcm,nand-ecc-use-strap to get ecc and spare area size settings from
> board boot strap for broadband board designs because they do not specify
> ecc setting in dts but rather using the strap setting.
>
> Signed-off-by: William Zhang <william.zhang@xxxxxxxxxxxx>
>
> ---
>
> Changes in v5:
> - Update the description for this ecc strap property
> - Add check to make sure brcm,nand-ecc-use-strap and
> nand-ecc-strength/brcm,nand-oob-sector-size can not be used at the
> same time
>
> Changes in v4:
> - Move ecc strap property to this separate patch and remove some
> non-binding related text from the description
>
> Changes in v3: None
> Changes in v2: None
>
> .../bindings/mtd/brcm,brcmnand.yaml | 19 +++++++++++++++++++
> 1 file changed, 19 insertions(+)
>
> diff --git a/Documentation/devicetree/bindings/mtd/brcm,brcmnand.yaml b/Documentation/devicetree/bindings/mtd/brcm,brcmnand.yaml
> index 6a717bcedfd3..52a4c993b6f1 100644
> --- a/Documentation/devicetree/bindings/mtd/brcm,brcmnand.yaml
> +++ b/Documentation/devicetree/bindings/mtd/brcm,brcmnand.yaml
> @@ -146,6 +146,13 @@ patternProperties:
> layout.
> $ref: /schemas/types.yaml#/definitions/uint32
>
> + brcm,nand-ecc-use-strap:
> + description:
> + This property requires the host system to get the ECC strength
> + and step size from the SoC NAND boot strap setting. This is a
> + common hardware design on BCMBCA based boards.
> + $ref: /schemas/types.yaml#/definitions/flag
> +
> unevaluatedProperties: false
>
> allOf:
> @@ -195,6 +202,18 @@ allOf:
> required:
> - interrupt-names
>
> + - if:
> + patternProperties:
> + "^nand@[a-f0-9]$":
> + required:
> + - brcm,nand-ecc-use-strap
> + then:
> + patternProperties:
> + "^nand@[a-f0-9]$":
> + properties:
> + nand-ecc-strength: false
> + brcm,nand-oob-sector-size: false

Can you also excluse all the other nand-ecc- settings and brcm,
settings as well? Either you use the strap *or* you provide values in
the DT, but not both.

> +
> unevaluatedProperties: false
>
> required:


Thanks,
Miquèl