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 >> + > [...] >