[PATCH v2 2/2] mtd: spi-nor: winbond: Add support for w25q02jv

Miquel Raynal posted 2 patches 1 year, 1 month ago
There is a newer version of this series
[PATCH v2 2/2] mtd: spi-nor: winbond: Add support for w25q02jv
Posted by Miquel Raynal 1 year, 1 month ago
Add support for Winbond w25q02jv spi-nor chip which shares most of
w25q01jv's specificities as, this time, the chip is made of 4 different
dies.

Link: https://www.winbond.com/resource-files/W25Q02JV_DTR%20RevD%2007092024%20Plus.pdf
Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
---

Here is the basic test procedure output:

$ cat /sys/bus/spi/devices/spi0.0/spi-nor/jedec_id
ef7022
$ cat /sys/bus/spi/devices/spi0.0/spi-nor/manufacturer
winbond
$ xxd -p /sys/bus/spi/devices/spi0.0/spi-nor/sfdp
53464450060101ff00060110800000ff84000102d00000ff03000102f000
00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
ffffffffffffffffe520fbffffffff7f44eb086b083b42bbfeffffffffff
0000ffff40eb0c200f5210d800003602a60082ea14e2e96376337a757a75
f7a2d55c19f74dffe970f9a5ffffffffffffffffffffffffffffffffff0a
f0ff21ffdcff
$ md5suum /sys/bus/spi/devices/spi0.0/spi-nor/sfdp
3e7da68579120c32a12517d2b6634c3c  /sys/bus/spi/devices/spi0.0/spi-nor/sfdp
$ dd if=/dev/urandom of=./qspi_test bs=1M count=1
1+0 records in
1+0 records out
$ mtd_debug write /dev/mtd0 0 1048576 qspi_test
Copied 1048576 bytes from qspi_test to address 0x00000000 in flash
$ mtd_debug erase /dev/mtd0 0 1048576
Erased 1048576 bytes from address 0x00000000 in flash
$ mtd_debug read /dev/mtd0 0 1048576 qspi_read
Copied 1048576 bytes from address 0x00000000 in flash to qspi_read
$ hexdump qspi_read
0000000 ffff ffff ffff ffff ffff ffff ffff ffff
*
0100000
$ mtd_debug write /dev/mtd0 0 1048576 qspi_test
Copied 1048576 bytes from qspi_test to address 0x00000000 in flash
$ mtd_debug read /dev/mtd0 0 1048576 qspi_read
Copied 1048576 bytes from address 0x00000000 in flash to qspi_read
$ sha1sum qspi_test qspi_read
c662ae4e6b1268e23d5a5e930995213d2e4044cc  qspi_test
c662ae4e6b1268e23d5a5e930995213d2e4044cc  qspi_read
---
 drivers/mtd/spi-nor/winbond.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/drivers/mtd/spi-nor/winbond.c b/drivers/mtd/spi-nor/winbond.c
index a4c0d99dde4fcd2b123eb7ded4f7822110c6a4ae..d82962e0bf7d8e00b305fd838274a58c34dd6c4e 100644
--- a/drivers/mtd/spi-nor/winbond.c
+++ b/drivers/mtd/spi-nor/winbond.c
@@ -305,6 +305,10 @@ static const struct flash_info winbond_nor_parts[] = {
 	}, {
 		.id = SNOR_ID(0xef, 0x70, 0x19),
 		.name = "w25q256jvm",
+	}, {
+		.id = SNOR_ID(0xef, 0x70, 0x22),
+		/* W25Q02JV */
+		.fixups = &winbond_nor_multi_die_fixups,
 	}, {
 		.id = SNOR_ID(0xef, 0x71, 0x19),
 		.name = "w25m512jv",

-- 
2.47.0
Re: [PATCH v2 2/2] mtd: spi-nor: winbond: Add support for w25q02jv
Posted by Christophe JAILLET 1 year, 1 month ago
Le 09/01/2025 à 21:17, Miquel Raynal a écrit :
> Add support for Winbond w25q02jv spi-nor chip which shares most of
> w25q01jv's specificities as, this time, the chip is made of 4 different
> dies.
> 
> Link: https://www.winbond.com/resource-files/W25Q02JV_DTR%20RevD%2007092024%20Plus.pdf
> Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
> ---

...

> diff --git a/drivers/mtd/spi-nor/winbond.c b/drivers/mtd/spi-nor/winbond.c
> index a4c0d99dde4fcd2b123eb7ded4f7822110c6a4ae..d82962e0bf7d8e00b305fd838274a58c34dd6c4e 100644
> --- a/drivers/mtd/spi-nor/winbond.c
> +++ b/drivers/mtd/spi-nor/winbond.c
> @@ -305,6 +305,10 @@ static const struct flash_info winbond_nor_parts[] = {
>   	}, {
>   		.id = SNOR_ID(0xef, 0x70, 0x19),
>   		.name = "w25q256jvm",
> +	}, {
> +		.id = SNOR_ID(0xef, 0x70, 0x22),
> +		/* W25Q02JV */

Nitpick: The place of the comment is not consistent with patch 1/2.

CJ

> +		.fixups = &winbond_nor_multi_die_fixups,
>   	}, {
>   		.id = SNOR_ID(0xef, 0x71, 0x19),
>   		.name = "w25m512jv",
> 

Re: [PATCH v2 2/2] mtd: spi-nor: winbond: Add support for w25q02jv
Posted by Miquel Raynal 1 year ago
Hi Christophe,

On 09/01/2025 at 21:23:13 +01, Christophe JAILLET <christophe.jaillet@wanadoo.fr> wrote:

> Le 09/01/2025 à 21:17, Miquel Raynal a écrit :
>> Add support for Winbond w25q02jv spi-nor chip which shares most of
>> w25q01jv's specificities as, this time, the chip is made of 4 different
>> dies.
>> Link:
>> https://www.winbond.com/resource-files/W25Q02JV_DTR%20RevD%2007092024%20Plus.pdf
>> Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
>> ---
>
> ...
>
>> diff --git a/drivers/mtd/spi-nor/winbond.c b/drivers/mtd/spi-nor/winbond.c
>> index a4c0d99dde4fcd2b123eb7ded4f7822110c6a4ae..d82962e0bf7d8e00b305fd838274a58c34dd6c4e 100644
>> --- a/drivers/mtd/spi-nor/winbond.c
>> +++ b/drivers/mtd/spi-nor/winbond.c
>> @@ -305,6 +305,10 @@ static const struct flash_info winbond_nor_parts[] = {
>>   	}, {
>>   		.id = SNOR_ID(0xef, 0x70, 0x19),
>>   		.name = "w25q256jvm",
>> +	}, {
>> +		.id = SNOR_ID(0xef, 0x70, 0x22),
>> +		/* W25Q02JV */
>
> Nitpick: The place of the comment is not consistent with patch 1/2.

That's right, I'll correct.

Thanks,
Miquèl