On 06.05.2024 16:48, Miquel Raynal wrote: > Hi Arseniy, > > avkrasnov@xxxxxxxxxxxxxxxxx wrote on Tue, 16 Apr 2024 11:51:00 +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. > > Ok > >> Such pages located with the specified interval within specified offset. > > I'm sorry I don't get that sentence. Sorry, I mean this (let me draw :) ) : [ page 0 ][ page 1 ][ page 2 ][ page 3 ][ page 4 ][ page 5 ][ page 6 ][ page 7 ][ page 8 ][ page 9 ] For example, we have 10 pages starting from the beginning of the chip - this is "within specified offset", e.g. offset is 10. BootROM on axg needs that (for example) every third page must be written in "special" mode: scrambling is on and ECC is 384 bytes. Such pages are 0, 2, 4, 6, 8. E.g. "specified interval" will be 3. So: amlogic,boot-pages: 10 amlogic,boot-page-step: 3 > >> Both interval and offset are located in the >> device tree and used by driver if 'nand-is-boot-medium' is set for >> NAND chip. > > This sentence is probably not needed. Ok > >> >> 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..67b2f7c1259c 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-pages: >> + $ref: /schemas/types.yaml#/definitions/uint32 >> + description: >> + Number of pages starting from 0, where special ECC > > from *offset* 0 I guess? Yes, or may be better "from beginning of the chip" ? May be i can place here ascii picture from above, with reduced number of pages? And also place this picture in the commit message ? > >> + algorithm will be used by the driver. > > "where a special ECC configuration must be used because it is accessed > by the ROM code"? Maybe you can even detail what are these values if > they are fixed. > > You should probably inform that scrambling shall be on as well. > >> + >> + amlogic,boot-page-step: >> + $ref: /schemas/types.yaml#/definitions/uint32 >> + description: >> + Interval between pages, read/written by the driver with >> + special ECC algorithm. > > I'm not sure I fully get the description. What is the unit here? can > you draw a small ascii-art diagram? May be i can place here "please see diagram above" ? And in 'amlogic,boot-pages' there will be diagram. > >> + >> unevaluatedProperties: false >> >> dependencies: >> nand-ecc-strength: [nand-ecc-step-size] >> nand-ecc-step-size: [nand-ecc-strength] >> + amlogic,boot-pages: [nand-is-boot-medium, "amlogic,boot-page-step"] >> + amlogic,boot-page-step: [nand-is-boot-medium, "amlogic,boot-pages"] >> >> >> required: > > > Thanks, > Miquèl Thanks, Arseniy