Message ID | 20220608001030.18813-1-ansuelsmth@gmail.com |
---|---|
Headers | show |
Series | Add support for unprotected spare data page | expand |
On Thu, Jun 09, 2022 at 12:50:29PM +0530, Manivannan Sadhasivam wrote: > On Wed, Jun 08, 2022 at 02:10:29AM +0200, Ansuel Smith wrote: > > Document new qcom,boot-partition binding used to apply special > > read/write layout to boot partitions. > > > > QCOM apply a special layout 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 | 26 +++++++++++++++++++ > > 1 file changed, 26 insertions(+) > > > > diff --git a/Documentation/devicetree/bindings/mtd/qcom,nandc.yaml b/Documentation/devicetree/bindings/mtd/qcom,nandc.yaml > > index 84ad7ff30121..a0914ccb95b0 100644 > > --- a/Documentation/devicetree/bindings/mtd/qcom,nandc.yaml > > +++ b/Documentation/devicetree/bindings/mtd/qcom,nandc.yaml > > @@ -102,6 +102,30 @@ allOf: > > - const: rx > > - const: cmd > > > > + - if: > > + properties: > > + compatible: > > + contains: > > + enum: > > + - qcom,ipq806x-nand > > + > > + then: > > + properties: > > + qcom,boot-partitions: > > + $ref: /schemas/types.yaml#/definitions/uint32-matrix > > Wondering if u32 is enough for covering all ranges? Other than this, > > Reviewed-by: Manivannan Sadhasivam <mani@kernel.org> > > Thanks, > Mani > I mean they are offset and sizes... Considering it's an old SoC and max nand mounted is 1g we should be safe with u32. > > + items: > > + items: > > + - description: offset > > + - description: size > > + description: > > + Boot partition use a different layout where the 4 bytes of spare > > + data are not protected by ECC. Use this to declare these special > > + partitions 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 +159,8 @@ examples: > > nand-ecc-strength = <4>; > > nand-bus-width = <8>; > > > > + qcom,boot-partitions = <0x0 0x58a0000>; > > + > > partitions { > > compatible = "fixed-partitions"; > > #address-cells = <1>; > > -- > > 2.36.1 > > > > -- > மணிவண்ணன் சதாசிவம்
On Thu, Jun 09, 2022 at 12:25:27PM +0200, Ansuel Smith wrote: > On Thu, Jun 09, 2022 at 12:50:29PM +0530, Manivannan Sadhasivam wrote: > > On Wed, Jun 08, 2022 at 02:10:29AM +0200, Ansuel Smith wrote: > > > Document new qcom,boot-partition binding used to apply special > > > read/write layout to boot partitions. > > > > > > QCOM apply a special layout 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 | 26 +++++++++++++++++++ > > > 1 file changed, 26 insertions(+) > > > > > > diff --git a/Documentation/devicetree/bindings/mtd/qcom,nandc.yaml b/Documentation/devicetree/bindings/mtd/qcom,nandc.yaml > > > index 84ad7ff30121..a0914ccb95b0 100644 > > > --- a/Documentation/devicetree/bindings/mtd/qcom,nandc.yaml > > > +++ b/Documentation/devicetree/bindings/mtd/qcom,nandc.yaml > > > @@ -102,6 +102,30 @@ allOf: > > > - const: rx > > > - const: cmd > > > > > > + - if: > > > + properties: > > > + compatible: > > > + contains: > > > + enum: > > > + - qcom,ipq806x-nand > > > + > > > + then: > > > + properties: > > > + qcom,boot-partitions: > > > + $ref: /schemas/types.yaml#/definitions/uint32-matrix > > > > Wondering if u32 is enough for covering all ranges? Other than this, > > > > Reviewed-by: Manivannan Sadhasivam <mani@kernel.org> > > > > Thanks, > > Mani > > > > I mean they are offset and sizes... Considering it's an old SoC and max > nand mounted is 1g we should be safe with u32. > I thought so but wanted to confirm... Thanks, Mani > > > + items: > > > + items: > > > + - description: offset > > > + - description: size > > > + description: > > > + Boot partition use a different layout where the 4 bytes of spare > > > + data are not protected by ECC. Use this to declare these special > > > + partitions 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 +159,8 @@ examples: > > > nand-ecc-strength = <4>; > > > nand-bus-width = <8>; > > > > > > + qcom,boot-partitions = <0x0 0x58a0000>; > > > + > > > partitions { > > > compatible = "fixed-partitions"; > > > #address-cells = <1>; > > > -- > > > 2.36.1 > > > > > > > -- > > மணிவண்ணன் சதாசிவம் > > -- > Ansuel