[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