Message ID | 20220503154353.4367-3-ansuelsmth@gmail.com |
---|---|
State | Changes Requested, archived |
Headers | show |
Series | Add support for unprotected spare data page | expand |
Context | Check | Description |
---|---|---|
robh/checkpatch | success | |
robh/patch-applied | success | |
robh/dtbs-check | warning | build log |
robh/dt-meta-schema | success |
On Tue, May 03, 2022 at 05:43:53PM +0200, Ansuel Smith wrote: > Document new qcom,boot_pages binding used to apply special s/boot_pages/boot-pages/ > read/write configuration to boot pages. > > QCOM apply a special configuration where spare data is not protected > by ECC for some special pages (used for boot partition). Add > Documentation on how to declare these special pages. > > Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com> > --- > .../devicetree/bindings/mtd/qcom,nandc.yaml | 22 +++++++++++++++++++ > 1 file changed, 22 insertions(+) > > diff --git a/Documentation/devicetree/bindings/mtd/qcom,nandc.yaml b/Documentation/devicetree/bindings/mtd/qcom,nandc.yaml > index 84ad7ff30121..fafeca0cafff 100644 > --- a/Documentation/devicetree/bindings/mtd/qcom,nandc.yaml > +++ b/Documentation/devicetree/bindings/mtd/qcom,nandc.yaml > @@ -102,6 +102,26 @@ allOf: > - const: rx > - const: cmd > > + - if: > + properties: > + compatible: > + contains: > + enum: > + - qcom,ipq8074-nand > + > + then: > + properties: > + qcom,boot-pages: > + $ref: /schemas/types.yaml#/definitions/uint32-matrix You need to define the dimensions. Something like this: items: items: - description: offset - description: size > + description: > + Some special page used by boot partition have spare data > + not protected by ECC. Use this to declare these special page > + by defining first the offset and then the size. > + > + It's in the form of <offset1 size1 offset2 size2 offset3 ...> > + > + Refer to the ipq8064 example on how to use this special binding. > + > required: > - compatible > - reg > @@ -135,6 +155,8 @@ examples: > nand-ecc-strength = <4>; > nand-bus-width = <8>; > > + qcom,boot-pages = <0x0 0x58a0000>; > + > partitions { > compatible = "fixed-partitions"; > #address-cells = <1>; > -- > 2.34.1 > >
On Mon, May 16, 2022 at 01:49:12PM -0500, Rob Herring wrote: > On Tue, May 03, 2022 at 05:43:53PM +0200, Ansuel Smith wrote: > > Document new qcom,boot_pages binding used to apply special > > s/boot_pages/boot-pages/ > > > read/write configuration to boot pages. > > > > QCOM apply a special configuration where spare data is not protected > > by ECC for some special pages (used for boot partition). Add > > Documentation on how to declare these special pages. > > > > Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com> > > --- > > .../devicetree/bindings/mtd/qcom,nandc.yaml | 22 +++++++++++++++++++ > > 1 file changed, 22 insertions(+) > > > > diff --git a/Documentation/devicetree/bindings/mtd/qcom,nandc.yaml b/Documentation/devicetree/bindings/mtd/qcom,nandc.yaml > > index 84ad7ff30121..fafeca0cafff 100644 > > --- a/Documentation/devicetree/bindings/mtd/qcom,nandc.yaml > > +++ b/Documentation/devicetree/bindings/mtd/qcom,nandc.yaml > > @@ -102,6 +102,26 @@ allOf: > > - const: rx > > - const: cmd > > > > + - if: > > + properties: > > + compatible: > > + contains: > > + enum: > > + - qcom,ipq8074-nand > > + > > + then: > > + properties: > > + qcom,boot-pages: > > + $ref: /schemas/types.yaml#/definitions/uint32-matrix > > You need to define the dimensions. Something like this: > > items: > items: > - description: offset > - description: size > Considering this is not limited to one item how should I declare that an user can declare multiple items? (the user can declare multiple zones) Declaring minItems without a maxItems? I assume in the suggested form it's assumed minItems: 1 maxItems: 1 so this would be problematic. > > + description: > > + Some special page used by boot partition have spare data > > + not protected by ECC. Use this to declare these special page > > + by defining first the offset and then the size. > > + > > + It's in the form of <offset1 size1 offset2 size2 offset3 ...> > > + > > + Refer to the ipq8064 example on how to use this special binding. > > + > > required: > > - compatible > > - reg > > @@ -135,6 +155,8 @@ examples: > > nand-ecc-strength = <4>; > > nand-bus-width = <8>; > > > > + qcom,boot-pages = <0x0 0x58a0000>; > > + > > partitions { > > compatible = "fixed-partitions"; > > #address-cells = <1>; > > -- > > 2.34.1 > > > >
On Tue, May 17, 2022 at 10:56:09PM +0200, Ansuel Smith wrote: > On Mon, May 16, 2022 at 01:49:12PM -0500, Rob Herring wrote: > > On Tue, May 03, 2022 at 05:43:53PM +0200, Ansuel Smith wrote: > > > Document new qcom,boot_pages binding used to apply special > > > > s/boot_pages/boot-pages/ > > > > > read/write configuration to boot pages. > > > > > > QCOM apply a special configuration where spare data is not protected > > > by ECC for some special pages (used for boot partition). Add > > > Documentation on how to declare these special pages. > > > > > > Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com> > > > --- > > > .../devicetree/bindings/mtd/qcom,nandc.yaml | 22 +++++++++++++++++++ > > > 1 file changed, 22 insertions(+) > > > > > > diff --git a/Documentation/devicetree/bindings/mtd/qcom,nandc.yaml b/Documentation/devicetree/bindings/mtd/qcom,nandc.yaml > > > index 84ad7ff30121..fafeca0cafff 100644 > > > --- a/Documentation/devicetree/bindings/mtd/qcom,nandc.yaml > > > +++ b/Documentation/devicetree/bindings/mtd/qcom,nandc.yaml > > > @@ -102,6 +102,26 @@ allOf: > > > - const: rx > > > - const: cmd > > > > > > + - if: > > > + properties: > > > + compatible: > > > + contains: > > > + enum: > > > + - qcom,ipq8074-nand > > > + > > > + then: > > > + properties: > > > + qcom,boot-pages: > > > + $ref: /schemas/types.yaml#/definitions/uint32-matrix > > > > You need to define the dimensions. Something like this: > > > > items: > > items: > > - description: offset > > - description: size > > > > Considering this is not limited to one item how should I declare that an > user can declare multiple items? (the user can declare multiple zones) > Declaring minItems without a maxItems? > > I assume in the suggested form it's assumed > minItems: 1 > maxItems: 1 > so this would be problematic. No, the outer 'items' being a schema rather than a list means it applies to all items and does not set a size of (offset, size) pairs. If you do have a maximum number, you could set the range. Rob
diff --git a/Documentation/devicetree/bindings/mtd/qcom,nandc.yaml b/Documentation/devicetree/bindings/mtd/qcom,nandc.yaml index 84ad7ff30121..fafeca0cafff 100644 --- a/Documentation/devicetree/bindings/mtd/qcom,nandc.yaml +++ b/Documentation/devicetree/bindings/mtd/qcom,nandc.yaml @@ -102,6 +102,26 @@ allOf: - const: rx - const: cmd + - if: + properties: + compatible: + contains: + enum: + - qcom,ipq8074-nand + + then: + properties: + qcom,boot-pages: + $ref: /schemas/types.yaml#/definitions/uint32-matrix + description: + Some special page used by boot partition have spare data + not protected by ECC. Use this to declare these special page + by defining first the offset and then the size. + + It's in the form of <offset1 size1 offset2 size2 offset3 ...> + + Refer to the ipq8064 example on how to use this special binding. + required: - compatible - reg @@ -135,6 +155,8 @@ examples: nand-ecc-strength = <4>; nand-bus-width = <8>; + qcom,boot-pages = <0x0 0x58a0000>; + partitions { compatible = "fixed-partitions"; #address-cells = <1>;
Document new qcom,boot_pages binding used to apply special read/write configuration to boot pages. QCOM apply a special configuration where spare data is not protected by ECC for some special pages (used for boot partition). Add Documentation on how to declare these special pages. Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com> --- .../devicetree/bindings/mtd/qcom,nandc.yaml | 22 +++++++++++++++++++ 1 file changed, 22 insertions(+)