2022-09-16 08:25:20

by Rabara, Niravkumar L

[permalink] [raw]
Subject: [PATCH] mtd: spi-nor: macronix: Add support for mx66u1g45g

From: Niravkumar L Rabara <[email protected]>

The MX66U1G45G is the smaller sibling (128MB) of the MX66U2G45G (256MB)
that is already supported.

Tested on Intel N5X socdk board,
- random data write, erase, read - verified erase operations
- random data write, read and compare - verified write/read operations

Signed-off-by: Niravkumar L Rabara <[email protected]>
---
root@n5x:~# find / -iname spi-nor
/sys/kernel/debug/spi-nor
/sys/devices/platform/soc/ff8d2000.spi/spi_master/spi0/spi0.0/spi-nor
/sys/bus/spi/drivers/spi-nor
root@n5x:~# ls -al /sys/devices/platform/soc/
driver/ ffd00200.watchdog/
driver_override ffd10000.clock-controller/
f8011100.sdr/ ffd11000.rstmgr/
f87f8000.memory-controller/ ffd12000.sysmgr/
ff800000.ethernet/ ffda0000.dma-controller/
ff808000.mmc/ ffe00000.sram/
ff8d2000.spi/ modalias
ffb00000.usb/ of_node/
ffc02000.serial/ power/
ffc03000.timer0/ soc:base_fpga_region/
ffc03100.timer1/ soc:eccmgr/
ffd00000.timer2/ subsystem/
ffd00100.timer3/ uevent
root@n5x:~# ls -al /sys/devices/platform/soc/ff8d2000.spi/spi_master/spi0/spi0.0/spi-nor/
drwxr-xr-x 2 root root 0 Dec 16 17:27 .
drwxr-xr-x 6 root root 0 Dec 16 17:25 ..
-r--r--r-- 1 root root 4096 Dec 16 17:27 jedec_id
-r--r--r-- 1 root root 4096 Dec 16 17:27 manufacturer
-r--r--r-- 1 root root 4096 Dec 16 17:27 partname
-r--r--r-- 1 root root 0 Dec 16 17:27 sfdp
root@n5x:~# cat /sys/devices/platform/soc/ff8d2000.spi/spi_master/spi0/spi0.0/spi-nor/jedec_id
c2253b
root@n5x:~# cat /sys/devices/platform/soc/ff8d2000.spi/spi_master/spi0/spi0.0/spi-nor/manufacturer
macronix
root@n5x:~# cat /sys/devices/platform/soc/ff8d2000.spi/spi_master/spi0/spi0.0/spi-nor/partname
mx66u1g45g
root@n5x:~# cat /sys/devices/platform/soc/ff8d2000.spi/spi_master/spi0/spi0.0/spi-nor/sfdp > mx66u1g45g-sfdp
root@n5x:~# hexdump mx66u1g45g-sfdp
0000000 4653 5044 0106 ff02 0600 1001 0030 ff00
0000010 00c2 0401 0110 ff00 0084 0201 00c0 ff00
0000020 ffff ffff ffff ffff ffff ffff ffff ffff
0000030 20e5 fffb ffff 3fff eb44 6b08 3b08 bb04
0000040 fffe ffff ffff ff00 ffff eb44 200c 520f
0000050 d810 ff00 4987 00b5 d282 e204 0344 3867
0000060 b030 b030 bdf7 5cd5 9e4a ff29 50f0 85f9
0000070 ffff ffff ffff ffff ffff ffff ffff ffff
*
00000c0 8f7f ffff 5c21 ffdc ffff ffff ffff ffff
00000d0 ffff ffff ffff ffff ffff ffff ffff ffff
*
0000110 2000 1600 f99d 64c0 cb85 ffff ffff ffff
0000120
---
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 d81a4cb2812b..723efe4ca57e 100644
--- a/drivers/mtd/spi-nor/macronix.c
+++ b/drivers/mtd/spi-nor/macronix.c
@@ -97,6 +97,9 @@ static const struct flash_info macronix_nor_parts[] = {
SPI_NOR_QUAD_READ) },
{ "mx66l1g55g", INFO(0xc2261b, 0, 64 * 1024, 2048)
NO_SFDP_FLAGS(SPI_NOR_QUAD_READ) },
+ { "mx66u1g45g", INFO(0xc2253b, 0, 64 * 1024, 2048)
+ NO_SFDP_FLAGS(SECT_4K | SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ)
+ FIXUP_FLAGS(SPI_NOR_4B_OPCODES) },
{ "mx66u2g45g", INFO(0xc2253c, 0, 64 * 1024, 4096)
NO_SFDP_FLAGS(SECT_4K | SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ)
FIXUP_FLAGS(SPI_NOR_4B_OPCODES) },
--
2.25.1


2022-09-17 12:05:15

by Rabara, Niravkumar L

[permalink] [raw]
Subject: [PATCH v2] mtd: spi-nor: macronix: Add support for mx66u1g45g

From: Niravkumar L Rabara <[email protected]>

The MX66U1G45G is the smaller sibling (128MB) of the MX66U2G45G (256MB)
that is already supported.

Tested on Intel N5X socdk board,
- random data write, erase, read - verified erase operations
- random data write, read and compare - verified write/read operations

Signed-off-by: Niravkumar L Rabara <[email protected]>
---
root@n5x:~# find / -iname spi-nor
/sys/kernel/debug/spi-nor
/sys/devices/platform/soc/ff8d2000.spi/spi_master/spi0/spi0.0/spi-nor
/sys/bus/spi/drivers/spi-nor
root@n5x:~# ls -al /sys/devices/platform/soc/ff8d2000.spi/spi_master/spi0/spi0.0/spi-nor/
drwxr-xr-x 2 root root 0 Dec 16 17:26 .
drwxr-xr-x 6 root root 0 Dec 16 17:25 ..
-r--r--r-- 1 root root 4096 Dec 16 17:26 jedec_id
-r--r--r-- 1 root root 4096 Dec 16 17:26 manufacturer
-r--r--r-- 1 root root 4096 Dec 16 17:26 partname
-r--r--r-- 1 root root 0 Dec 16 17:26 sfdp
root@n5x:~# cat /sys/devices/platform/soc/ff8d2000.spi/spi_master/spi0/spi0.0/spi-nor/jedec_id
c2253b
root@n5x:~# cat /sys/devices/platform/soc/ff8d2000.spi/spi_master/spi0/spi0.0/spi-nor/manufacturer
macronix
root@n5x:~# cat /sys/devices/platform/soc/ff8d2000.spi/spi_master/spi0/spi0.0/spi-nor/partname
mx66u1g45g
root@n5x:~# cat /sys/devices/platform/soc/ff8d2000.spi/spi_master/spi0/spi0.0/spi-nor/sfdp > mx66u1g45g-sfdp
root@n5x:~# hexdump mx66u1g45g-sfdp
0000000 4653 5044 0106 ff02 0600 1001 0030 ff00
0000010 00c2 0401 0110 ff00 0084 0201 00c0 ff00
0000020 ffff ffff ffff ffff ffff ffff ffff ffff
0000030 20e5 fffb ffff 3fff eb44 6b08 3b08 bb04
0000040 fffe ffff ffff ff00 ffff eb44 200c 520f
0000050 d810 ff00 4987 00b5 d282 e204 0344 3867
0000060 b030 b030 bdf7 5cd5 9e4a ff29 50f0 85f9
0000070 ffff ffff ffff ffff ffff ffff ffff ffff
*
00000c0 8f7f ffff 5c21 ffdc ffff ffff ffff ffff
00000d0 ffff ffff ffff ffff ffff ffff ffff ffff
*
0000110 2000 1600 f99d 64c0 cb85 ffff ffff ffff
0000120
---
drivers/mtd/spi-nor/macronix.c | 4 ++++
1 file changed, 4 insertions(+)

diff --git a/drivers/mtd/spi-nor/macronix.c b/drivers/mtd/spi-nor/macronix.c
index d81a4cb2812b..07ace9da74b7 100644
--- a/drivers/mtd/spi-nor/macronix.c
+++ b/drivers/mtd/spi-nor/macronix.c
@@ -97,6 +97,10 @@ static const struct flash_info macronix_nor_parts[] = {
SPI_NOR_QUAD_READ) },
{ "mx66l1g55g", INFO(0xc2261b, 0, 64 * 1024, 2048)
NO_SFDP_FLAGS(SPI_NOR_QUAD_READ) },
+ { "mx66u1g45g", INFO(0xc2253b, 0, 64 * 1024, 2048)
+ PARSE_SFDP
+ FLAGS(SECT_4K | SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ)
+ FIXUP_FLAGS(SPI_NOR_4B_OPCODES) },
{ "mx66u2g45g", INFO(0xc2253c, 0, 64 * 1024, 4096)
NO_SFDP_FLAGS(SECT_4K | SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ)
FIXUP_FLAGS(SPI_NOR_4B_OPCODES) },
--
2.25.1

2022-09-22 15:14:42

by Michael Walle

[permalink] [raw]
Subject: Re: [PATCH v2] mtd: spi-nor: macronix: Add support for mx66u1g45g

Am 2022-09-17 13:16, schrieb [email protected]:
> From: Niravkumar L Rabara <[email protected]>
>
> The MX66U1G45G is the smaller sibling (128MB) of the MX66U2G45G (256MB)
> that is already supported.
>
> Tested on Intel N5X socdk board,
> - random data write, erase, read - verified erase operations
> - random data write, read and compare - verified write/read operations
>
> Signed-off-by: Niravkumar L Rabara <[email protected]>
> ---
> root@n5x:~# find / -iname spi-nor
> /sys/kernel/debug/spi-nor
> /sys/devices/platform/soc/ff8d2000.spi/spi_master/spi0/spi0.0/spi-nor
> /sys/bus/spi/drivers/spi-nor
> root@n5x:~# ls -al
> /sys/devices/platform/soc/ff8d2000.spi/spi_master/spi0/spi0.0/spi-nor/
> drwxr-xr-x 2 root root 0 Dec 16 17:26 .
> drwxr-xr-x 6 root root 0 Dec 16 17:25 ..
> -r--r--r-- 1 root root 4096 Dec 16 17:26 jedec_id
> -r--r--r-- 1 root root 4096 Dec 16 17:26 manufacturer
> -r--r--r-- 1 root root 4096 Dec 16 17:26 partname
> -r--r--r-- 1 root root 0 Dec 16 17:26 sfdp
> root@n5x:~# cat
> /sys/devices/platform/soc/ff8d2000.spi/spi_master/spi0/spi0.0/spi-nor/jedec_id
> c2253b
> root@n5x:~# cat
> /sys/devices/platform/soc/ff8d2000.spi/spi_master/spi0/spi0.0/spi-nor/manufacturer
> macronix
> root@n5x:~# cat
> /sys/devices/platform/soc/ff8d2000.spi/spi_master/spi0/spi0.0/spi-nor/partname
> mx66u1g45g
> root@n5x:~# cat
> /sys/devices/platform/soc/ff8d2000.spi/spi_master/spi0/spi0.0/spi-nor/sfdp
> > mx66u1g45g-sfdp
> root@n5x:~# hexdump mx66u1g45g-sfdp
> 0000000 4653 5044 0106 ff02 0600 1001 0030 ff00
> 0000010 00c2 0401 0110 ff00 0084 0201 00c0 ff00
> 0000020 ffff ffff ffff ffff ffff ffff ffff ffff
> 0000030 20e5 fffb ffff 3fff eb44 6b08 3b08 bb04
> 0000040 fffe ffff ffff ff00 ffff eb44 200c 520f
> 0000050 d810 ff00 4987 00b5 d282 e204 0344 3867
> 0000060 b030 b030 bdf7 5cd5 9e4a ff29 50f0 85f9
> 0000070 ffff ffff ffff ffff ffff ffff ffff ffff
> *
> 00000c0 8f7f ffff 5c21 ffdc ffff ffff ffff ffff
> 00000d0 ffff ffff ffff ffff ffff ffff ffff ffff
> *
> 0000110 2000 1600 f99d 64c0 cb85 ffff ffff ffff
> 0000120

md5sum of this is missing.

> ---
> drivers/mtd/spi-nor/macronix.c | 4 ++++
> 1 file changed, 4 insertions(+)
>
> diff --git a/drivers/mtd/spi-nor/macronix.c
> b/drivers/mtd/spi-nor/macronix.c
> index d81a4cb2812b..07ace9da74b7 100644
> --- a/drivers/mtd/spi-nor/macronix.c
> +++ b/drivers/mtd/spi-nor/macronix.c
> @@ -97,6 +97,10 @@ static const struct flash_info macronix_nor_parts[]
> = {
> SPI_NOR_QUAD_READ) },
> { "mx66l1g55g", INFO(0xc2261b, 0, 64 * 1024, 2048)
> NO_SFDP_FLAGS(SPI_NOR_QUAD_READ) },
> + { "mx66u1g45g", INFO(0xc2253b, 0, 64 * 1024, 2048)
> + PARSE_SFDP
> + FLAGS(SECT_4K | SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ)

With PARSE_SFDP this shouldn't be needed.

Also, could you try with INFO(0xc2253b, 0, 0, 0), this information
should come from the SFDP, too.

-michael

> + FIXUP_FLAGS(SPI_NOR_4B_OPCODES) },
> { "mx66u2g45g", INFO(0xc2253c, 0, 64 * 1024, 4096)
> NO_SFDP_FLAGS(SECT_4K | SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ)
> FIXUP_FLAGS(SPI_NOR_4B_OPCODES) },