Re: [PATCH v3 1/2] dt-bindings: mtd: amlogic,meson-nand: support fields for boot ROM code

From: Arseniy Krasnov
Date: Wed Apr 10 2024 - 11:00:50 EST


Hi,

On 10.04.2024 13:23, Miquel Raynal wrote:
> Hi Arseniy,
>
> avkrasnov@xxxxxxxxxxxxxxxxx wrote on Tue, 9 Apr 2024 21:10:24 +0300:
>
>> Boot ROM code on Meson requires that some pages on NAND must be written
>> in special mode: "short" ECC mode where each block is 384 bytes and
>> scrambling mode is on. Such pages located with the specified interval
>> within specified offset. Both interval and offset are located in the
>> device tree and used by driver if 'nand-is-boot-medium' is set for
>> NAND chip.
>>
>> Signed-off-by: Arseniy Krasnov <avkrasnov@xxxxxxxxxxxxxxxxx>
>> ---
>> .../bindings/mtd/amlogic,meson-nand.yaml | 14 ++++++++++++++
>> 1 file changed, 14 insertions(+)
>>
>> diff --git a/Documentation/devicetree/bindings/mtd/amlogic,meson-nand.yaml b/Documentation/devicetree/bindings/mtd/amlogic,meson-nand.yaml
>> index 57b6957c8415..b86a1953056b 100644
>> --- a/Documentation/devicetree/bindings/mtd/amlogic,meson-nand.yaml
>> +++ b/Documentation/devicetree/bindings/mtd/amlogic,meson-nand.yaml
>> @@ -64,11 +64,25 @@ patternProperties:
>> items:
>> maximum: 0
>>
>> + amlogic,boot-page-last:
>> + $ref: /schemas/types.yaml#/definitions/uint32
>> + description:
>> + The NFC driver needs this information to select ECC
>> + algorithms supported by the boot ROM.
>
> Shall we have a length rather than the last page?

You mean rename it to "amlogic,boot-pages-length" or something like that ? But I think
length in bytes is useless here:
1) boot rom needs that only some single pages are written in special mode (and as I see in
vendor's driver it also works in pages).
2) NAND driver operates in pages during write/read such pages.

So length in bytes will be converted to pages anyway.

What do You think ?

Thanks, Arseniy

>
>> +
>> + amlogic,boot-page-step:
>> + $ref: /schemas/types.yaml#/definitions/uint32
>> + description:
>> + The NFC driver needs this information to select ECC
>> + algorithms supported by the boot ROM (in pages).
>> +
>> unevaluatedProperties: false
>>
>> dependencies:
>> nand-ecc-strength: [nand-ecc-step-size]
>> nand-ecc-step-size: [nand-ecc-strength]
>> + amlogic,boot-page-last: [nand-is-boot-medium, "amlogic,boot-page-step"]
>> + amlogic,boot-page-step: [nand-is-boot-medium, "amlogic,boot-page-last"]
>>
>>
>> required:
>
>
> Thanks,
> Miquèl