linux/drivers/mtd/spi-nor
Miquel Raynal f0a499acb4
mtd: spi-nor: macronix: Add support for mx25uw51245g with RWW
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>
Link: https://lore.kernel.org/r/20230331194620.839899-2-miquel.raynal@bootlin.com
Signed-off-by: Tudor Ambarus <tudor.ambarus@linaro.org>
2023-04-04 09:42:07 +03:00
..
controllers mtd: spi-nor: s/addr_width/addr_nbytes 2022-07-28 05:11:56 +03:00
atmel.c mtd: spi-nor: atmel: unify function names 2022-02-25 09:44:31 +02:00
catalyst.c mtd: spi-nor: catalyst: unify function names 2022-02-25 09:44:31 +02:00
core.c mtd: spi-nor: Delay the initialization of bank_size 2023-04-04 09:40:38 +03:00
core.h mtd: spi-nor: Add a RWW flag 2023-03-29 13:46:07 +03:00
debugfs.c mtd: spi-nor: Add a RWW flag 2023-03-29 13:46:07 +03:00
eon.c mtd: spi-nor: support eon en25qh256a variant 2022-05-09 16:58:24 +05:30
esmt.c mtd: spi-nor: esmt: Use correct name of f25l32qa 2022-07-19 13:05:31 +03:00
everspin.c mtd: spi-nor: everspin: unify function names 2022-02-25 09:44:31 +02:00
fujitsu.c mtd: spi-nor: fujitsu: unify function names 2022-02-25 09:44:31 +02:00
gigadevice.c mtd: spi-nor: gigadevice: gd25q256: replace gd25q256_default_init with gd25q256_post_bfpt 2022-11-21 16:27:10 +02:00
intel.c mtd: spi-nor: intel: unify function names 2022-02-25 09:44:31 +02:00
issi.c mtd: spi-nor: sfdp: Rename BFPT_DWORD() macro to SFDP_DWORD() 2022-12-26 09:47:04 +02:00
Kconfig mtd: spi-nor: keep lock bits if they are non-volatile 2020-12-07 23:01:15 +05:30
macronix.c mtd: spi-nor: macronix: Add support for mx25uw51245g with RWW 2023-04-04 09:42:07 +03:00
Makefile mtd: spi-nor: expose internal parameters via debugfs 2022-05-09 16:55:22 +05:30
micron-st.c mtd: spi-nor: micron-st: Enable locking for mt25qu256a 2022-11-21 17:10:08 +02:00
otp.c mtd: spi-nor: Reorder the preparation vs. locking steps 2023-03-29 13:46:07 +03:00
sfdp.c mtd: spi-nor: Sort headers alphabetically 2023-02-06 10:37:03 +02:00
sfdp.h mtd: spi-nor: sfdp: Rename BFPT_DWORD() macro to SFDP_DWORD() 2022-12-26 09:47:04 +02:00
spansion.c mtd: spi-nor: spansion: Add support for Infineon S25FS256T 2023-03-17 11:11:03 +02:00
sst.c mtd: spi-nor: Reorder the preparation vs. locking steps 2023-03-29 13:46:07 +03:00
swp.c mtd: spi-nor: Reorder the preparation vs. locking steps 2023-03-29 13:46:07 +03:00
sysfs.c mtd: spi-nor: sysfs: print JEDEC ID for generic flash driver 2022-11-21 15:37:16 +02:00
winbond.c mtd: spi-nor: winbond: add support for W25Q512NW-IQ 2022-11-21 17:18:44 +02:00
xilinx.c mtd: spi-nor: Introduce the concept of bank 2023-03-29 13:46:07 +03:00
xmc.c mtd: spi-nor: xmc: unify function names 2022-02-25 09:44:32 +02:00