[PATCH V8] mtd: spi-nor: winbond: add support for W25Q512NW-IM
Pratyush Yadav
p.yadav at ti.com
Mon Apr 18 21:27:42 PDT 2022
On 25/03/22 12:36PM, Shaik Sajida Bhanu wrote:
> Add support for winbond W25Q512NW-IM chip.
>
> Below are the tests done:
>
> 1. Verified flashing binary image on spi card using flashrom tool.
> 2. Verified OTP support, below are the test results:
>
> localhost / # cat
> /sys/bus/platform/devices/soc\@0/88dc000.spi/spi_master/spi16/
> spi16.0/spi-nor/jedec_id
> ef8020
>
> localhost / # cat
> /sys/bus/platform/devices/soc\@0/88dc000.spi/spi_master/spi16/
> spi16.0/spi-nor/manufacturer
> winbond
>
> localhost / # cat
> /sys/bus/platform/devices/soc\@0/88dc000.spi/spi_master/spi16/
> spi16.0/spi-nor/partname
> w25q512nwm
>
> localhost / # hexdump
> /sys/bus/platform/devices/soc\@0/88dc000.spi/spi_master/sp
> i16/spi16.0/spi-nor/sfdp
> 0000000 4653 5044 0106 ff01 0600 1001 0080 ff00
> 0000010 0084 0201 00d0 ff00 ffff ffff ffff ffff
> 0000020 6800 6c65 6f6c 7720 726f 646c ffff ffff
> 0000030 ffff ffff ffff ffff ffff ffff ffff ffff
> *
> 0000080 20e5 fffb ffff 1fff eb44 6b08 3b08 bb42
> 0000090 fffe ffff ffff 0000 ffff eb40 200c 520f
> 00000a0 d810 0000 0233 00a6 e781 d914 63e9 3376
> 00000b0 757a 757a bdf7 5cd5 f719 ff5d 70e9 a5f9
> 00000c0 ffff ffff ffff ffff ffff ffff ffff ffff
> 00000d0 0aff fff0 ff21 ffdc
> 00000d8
>
> localhost / # md5sum
> /sys/bus/platform/devices/soc\@0/88dc000.spi/spi_master/spi
> 16/spi16.0/spi-nor/sfdp
> 106d89d6c049110bc94c01517cb4ce24
> /sys/bus/platform/devices/soc at 0/88dc000.spi/
> spi_master/spi16/spi16.0/spi-nor/sfdp
>
> 3. Tested flash lock, below are the test results (looks like the lock is
> not working as expected, so when we do lock the whole card and tried to
> write, write was successful without any errors.)
What should we do with this then? Drop the locking support? Or is there
something wrong/missing in SPI NOR core that needs to be fixed first so
locking for this flash works?
>
> localhost ~ # flash_lock -i /dev/mtd0
> Device: /dev/mtd0
> Start: 0
> Len: 0x4000000
> Lock status: locked
> Return code: 1
> localhost ~ # mtd_debug erase /dev/mtd0 0x400000 4096
> Erased 4096 bytes from address 0x00400000 in flash
> localhost ~ # mtd_debug read /dev/mtd0 0x400000 4096
> temp
> Copied 4096 bytes from address 0x00400000 in flash
> to temp
> localhost ~ # mtd_debug write /dev/mtd0 0x400000
> 4096 temp
> Copied 4096 bytes from temp to address 0x00400000
> in flash
> localhost ~ # flash_lock -u /dev/mtd0
> localhost ~ # flash_lock -i /dev/mtd0
> Device: /dev/mtd0
> Start: 0
> Len: 0x4000000
> Lock status: unlocked
> Return code: 0
> localhost ~ # mtd_debug erase /dev/mtd0 0x400000 4096
> Erased 4096 bytes from address 0x00400000 in flash
> localhost ~ # mtd_debug read /dev/mtd0 0x400000
> 4096 tempCopied 4096 bytes from address 0x00400000 in
> flash to temp
> localhost ~ # mtd_debug write /dev/mtd0 0x400000 4096 temp
> Copied 4096 bytes from temp to address 0x00400000 in flash
> localhost ~ #
>
> Signed-off-by: Shaik Sajida Bhanu <quic_c_sbhanu at quicinc.com>
> Reviewed-by: Doug Anderson <dianders at chromium.org>
> Reviewed-by: Michael Walle <michael at walle.cc>
[...]
--
Regards,
Pratyush Yadav
Texas Instruments Inc.
More information about the linux-mtd
mailing list