Re: [PATCH 1/2] docs: mtd: spi-nor: add sections about flash additions and testing

From: Tudor Ambarus
Date: Fri Nov 24 2023 - 10:57:14 EST




On 11/24/23 14:36, Pratyush Yadav wrote:
> Hi,
>
>
> On Thu, Nov 23 2023, Tudor Ambarus wrote:
>
>> Add sections about how to propose a new flash addition and about the
>> minimum testing requirements.
>>
>> Signed-off-by: Tudor Ambarus <tudor.ambarus@xxxxxxxxxx>
>> ---
>> Documentation/driver-api/mtd/spi-nor.rst | 189 +++++++++++++++++++++++
>> 1 file changed, 189 insertions(+)
>>
>> diff --git a/Documentation/driver-api/mtd/spi-nor.rst b/Documentation/driver-api/mtd/spi-nor.rst
>> index c22f8c0f7950..cc8e81e09544 100644
>> --- a/Documentation/driver-api/mtd/spi-nor.rst
>> +++ b/Documentation/driver-api/mtd/spi-nor.rst
>> @@ -63,3 +63,192 @@ The main API is spi_nor_scan(). Before you call the hook, a driver should
>> initialize the necessary fields for spi_nor{}. Please see
>> drivers/mtd/spi-nor/spi-nor.c for detail. Please also refer to spi-fsl-qspi.c
>> when you want to write a new driver for a SPI NOR controller.
> [...]
>> +4/ Use `mtd-utils <https://git.infradead.org/mtd-utils.git>`__
>> +and verify that erase, read and page program operations work fine.
>> +
>> +a/ Generate a 2 MB file::
>> +
>> + root@1:~# dd if=/dev/urandom of=./spi_test bs=1M count=2
>> + 2+0 records in
>> + 2+0 records out
>> + 2097152 bytes (2.1 MB, 2.0 MiB) copied, 0.848566 s, 2.5 MB/s
>> +
>> +b/ Verify erase::
>> +
>> + root@1:~# mtd_debug write /dev/mtd1 0 2097152 spi_test
>> + Copied 2097152 bytes from spi_test to address 0x00000000 in flash
>
> Perhaps mention that the 2 MiB region should already be erased.
> Otherwise some flashes might refuse the writes (like the ones with ECC

right, then maybe we could do a

/erase
/read
/dump and see 0xff
/sha1sum to have the 0xff checksum
/write
/read what was written
/sha1sum on the read to make it's different that the 0xff checksum and
that the write worked

> -- Cypress S28 family comes to mind). Experienced engineers should know
> this already but it might trip up some beginners.
>
> Looks good otherwise. Thanks for working on this.
>
> Reviewed-by: Pratyush Yadav <pratyush@xxxxxxxxxx>
>
>> +
>> + root@1:~# mtd_debug erase /dev/mtd1 0 2097152
>> + Erased 2097152 bytes from address 0x00000000 in flash
>> +
>> + root@1:~# mtd_debug read /dev/mtd1 0 2097152 spi_read
>> + Copied 2097152 bytes from address 0x00000000 in flash to spi_read
>> +
>> + root@1:~# hexdump -C spi_read
>> + 00000000 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff |................|
>> + *
>> + 00200000
>> +
> [...]
>