[RFC PATCH v2 1/2] dt-bindings: nand: meson: support for 512B ECC step size

Arseniy Krasnov avkrasnov at sberdevices.ru
Wed Jul 5 01:03:30 PDT 2023



On 05.07.2023 10:37, Miquel Raynal wrote:
> Hi Arseniy,
> 
> AVKrasnov at sberdevices.ru wrote on Wed, 5 Jul 2023 09:54:33 +0300:
> 
>> Meson NAND supports both 512B and 1024B ECC step size, so replace
>> 'const' for only 1024B step size with enum for both sizes.
>>
>> Signed-off-by: Arseniy Krasnov <AVKrasnov at sberdevices.ru>
>> ---
>>  Documentation/devicetree/bindings/mtd/amlogic,meson-nand.yaml | 4 +++-
>>  1 file changed, 3 insertions(+), 1 deletion(-)
>>
>> diff --git a/Documentation/devicetree/bindings/mtd/amlogic,meson-nand.yaml b/Documentation/devicetree/bindings/mtd/amlogic,meson-nand.yaml
>> index 3bec8af91bbb..81ca8828731a 100644
>> --- a/Documentation/devicetree/bindings/mtd/amlogic,meson-nand.yaml
>> +++ b/Documentation/devicetree/bindings/mtd/amlogic,meson-nand.yaml
>> @@ -49,7 +49,8 @@ patternProperties:
>>          const: hw
>>  
>>        nand-ecc-step-size:
>> -        const: 1024
>> +        enum: [512, 1024]
>> +        default: 1024
> 
> I was actually wrong in my previous review, there is no strong default
> here as the existing binding (and code) try to use the closest
> parameters required by the NAND chip: we pick the "optimal"
> configuration. So if you don't provide any value here, we expect
> the strength and step size advertized by the chip to be used. This is a
> common default in the raw NAND subsystem.
> 
> Please drop the default line, re-integrate the missing R-by tag from
> Rob and in a separate patch please mark nand-ecc-step-size and
> nand-ecc-strength mandatory if the other is provide. IOW, we expect
> either both, or none of them, but not a single one.

I see, no problem! "mandatory" means update description of both fields like:

    description:                                                        
      Mandatory if nand-ecc-step-size is set.

etc.

?

> 
>>  
>>        nand-ecc-strength:
>>          enum: [8, 16, 24, 30, 40, 50, 60]
>> @@ -93,6 +94,7 @@ examples:
>>        nand at 0 {
>>          reg = <0>;
>>          nand-rb = <0>;
>> +        nand-ecc-step-size = <1024>;
> 
> So in the end this line is wrong and once you get the description right
> as I mentioned it above, this will fail to pass
> `make DT_SCHEMA_FILES=Documentation/devicetree/bindings/mtd/ dt_binidng_check`
> Please drop it from the example, don't add the second property here,
> it's best to show a clean example where people stop tampering for no
> reason with the optimal values.

Ok!

Thanks, Arseniy

> 
>>        };
>>      };
>>  
> 
> 
> Thanks,
> Miquèl



More information about the linux-mtd mailing list