Re: [PATCH v6 2/2] mtd: spi-nor: macronix: Add support for mx25uw51245g with RWW

Tudor Ambarus
2023-04-03T08:24:54Z

On 3/31/23 20:46, Miquel Raynal wrote:
> Describe this new part and provide the RWW flag for it.
>
> There is no public datasheet, but here are the sfdp tables plus base
> testing to show it works.
>
> $ cat /sys/bus/spi/devices/spi0.0/spi-nor/partname
> mx25uw51245g
> $ cat /sys/bus/spi/devices/spi0.0/spi-nor/jedec_id
> c2813a
> $ cat /sys/bus/spi/devices/spi0.0/spi-nor/manufacturer
> macronix
> $ xxd -p /sys/bus/spi/devices/spi0.0/spi-nor/sfdp
> 53464450080104fd00070114400000ff8701011c900000ff0a0001080001
> 00ff05000105200100ff84000102340100ff0000000000000000ffffffff
> ffffffffe5208affffffff1f00ff00ff00ff00ffeeffffffffff00ffffff
> 00ff0c2010d800ff00ff87790100821200e27704674630b030b0f4bdd55c
> 000000ff101000200000000000007ca14800000000008888000000000000
> 00400fd1fff30fd1fff300050090000500b1002b0095002b0096727103b8
> 727103b80000000090a3188200c069960000000000000000727100987271
> 00b8727100990000000072710098727100f872710099727100f900000000
> 00000000011501d0727106d8000086500000060100000000020001030002
> 00000000060100000000000072060002000000eec0697272717100d8f7f6
> 000a00001445988043060f0021dcffff
> $ md5sum /sys/bus/spi/devices/spi0.0/spi-nor/sfdp
> 047a884cf44d9ffc2a94d3ab37b48c63 /sys/bus/spi/devices/spi0.0/spi-nor/sfdp
>
> $ dd if=/dev/urandom of=./qspi_test bs=1M count=6
> 6+0 records in
> 6+0 records out
> $ mtd_debug write /dev/mtd1 0 6291456 qspi_test
> Copied 6291456 bytes from qspi_test to address 0x00000000 in flash
> $ mtd_debug erase /dev/mtd1 0 6291456
> Erased 6291456 bytes from address 0x00000000 in flash
> $ mtd_debug read /dev/mtd1 0 6291456 qspi_read
> Copied 6291456 bytes from address 0x00000000 in flash to qspi_read
> $ hexdump qspi_read
> 0000000 ffff ffff ffff ffff ffff ffff ffff ffff
> *
> 0600000
> $ mtd_debug write /dev/mtd1 0 6291456 qspi_test
> Copied 6291456 bytes from qspi_test to address 0x00000000 in flash
> $ mtd_debug read /dev/mtd1 0 6291456 qspi_read
> Copied 6291456 bytes from address 0x00000000 in flash to qspi_read
> $ sha1sum qspi_test qspi_read
> d24a9523db829a0df688f34b8dc76a1383b74024 qspi_test
> d24a9523db829a0df688f34b8dc76a1383b74024 qspi_read
>
> Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
> ---
> drivers/mtd/spi-nor/macronix.c | 3 +++
> 1 file changed, 3 insertions(+)
>
> diff --git a/drivers/mtd/spi-nor/macronix.c b/drivers/mtd/spi-nor/macronix.c
> index 6853ec9ae65d..7db1a1a6a1fb 100644
> --- a/drivers/mtd/spi-nor/macronix.c
> +++ b/drivers/mtd/spi-nor/macronix.c
> @@ -82,6 +82,9 @@ static const struct flash_info macronix_nor_parts[] = {
> { "mx25u51245g", INFO(0xc2253a, 0, 64 * 1024, 1024)
> NO_SFDP_FLAGS(SECT_4K | SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ)
> FIXUP_FLAGS(SPI_NOR_4B_OPCODES) },
> + { "mx25uw51245g", INFOB(0xc2813a, 0, 0, 0, 4)
> + PARSE_SFDP
> + FLAGS(SPI_NOR_RWW) },
> { "mx25v8035f", INFO(0xc22314, 0, 64 * 1024, 16)
> NO_SFDP_FLAGS(SECT_4K | SPI_NOR_DUAL_READ |
> SPI_NOR_QUAD_READ) },

looks good!