* [PATCH 0/2] Add support for Macronix serial NAND flash
@ 2024-06-28 8:54 Cheng Ming Lin
2024-06-28 8:54 ` [PATCH 1/2] mtd: spinand: Support serial NAND for reading two bytes ID Cheng Ming Lin
2024-06-28 8:54 ` [PATCH 2/2] mtd: spinand: macronix: Add support for serial NAND flash Cheng Ming Lin
0 siblings, 2 replies; 5+ messages in thread
From: Cheng Ming Lin @ 2024-06-28 8:54 UTC (permalink / raw)
To: miquel.raynal, vigneshr
Cc: richard, linux-mtd, linux-kernel, alvinzhou, leoyu,
Cheng Ming Lin
From: Cheng Ming Lin <chengminglin@mxic.com.tw>
Add Device ID 2 for Macronix serial NAND flash.
Add support for serial NAND flash with the postfix
of part number Z4I8.
Cheng Ming Lin (2):
mtd: spinand: Support serial NAND for reading two bytes ID
mtd: spinand: macronix: Add support for serial NAND flash
drivers/mtd/nand/spi/macronix.c | 68 +++++++++++++++++++++++++--------
1 file changed, 52 insertions(+), 16 deletions(-)
--
2.25.1
^ permalink raw reply [flat|nested] 5+ messages in thread
* [PATCH 1/2] mtd: spinand: Support serial NAND for reading two bytes ID
2024-06-28 8:54 [PATCH 0/2] Add support for Macronix serial NAND flash Cheng Ming Lin
@ 2024-06-28 8:54 ` Cheng Ming Lin
2024-07-01 9:43 ` Miquel Raynal
2024-06-28 8:54 ` [PATCH 2/2] mtd: spinand: macronix: Add support for serial NAND flash Cheng Ming Lin
1 sibling, 1 reply; 5+ messages in thread
From: Cheng Ming Lin @ 2024-06-28 8:54 UTC (permalink / raw)
To: miquel.raynal, vigneshr
Cc: richard, linux-mtd, linux-kernel, alvinzhou, leoyu,
Cheng Ming Lin
From: Cheng Ming Lin <chengminglin@mxic.com.tw>
Adding the Device ID 2 on Macronix Serial Flash.
When the number of flashes increases, we need to utilize
Device ID 2 to distinguish between different flashes.
These flashes have been validated on Xilinx zynq-picozed
board which included Macronix SPI Host.
Signed-off-by: Cheng Ming Lin <chengminglin@mxic.com.tw>
---
drivers/mtd/nand/spi/macronix.c | 30 ++++++++++++++----------------
1 file changed, 14 insertions(+), 16 deletions(-)
diff --git a/drivers/mtd/nand/spi/macronix.c b/drivers/mtd/nand/spi/macronix.c
index 3dfc7e1e5241..ffcaf1a6947e 100644
--- a/drivers/mtd/nand/spi/macronix.c
+++ b/drivers/mtd/nand/spi/macronix.c
@@ -121,7 +121,7 @@ static const struct spinand_info macronix_spinand_table[] = {
SPINAND_HAS_QE_BIT,
SPINAND_ECCINFO(&mx35lfxge4ab_ooblayout, NULL)),
SPINAND_INFO("MX35LF2GE4AD",
- SPINAND_ID(SPINAND_READID_METHOD_OPCODE_DUMMY, 0x26),
+ SPINAND_ID(SPINAND_READID_METHOD_OPCODE_DUMMY, 0x26, 0x03),
NAND_MEMORG(1, 2048, 64, 64, 2048, 40, 1, 1, 1),
NAND_ECCREQ(8, 512),
SPINAND_INFO_OP_VARIANTS(&read_cache_variants,
@@ -131,7 +131,7 @@ static const struct spinand_info macronix_spinand_table[] = {
SPINAND_ECCINFO(&mx35lfxge4ab_ooblayout,
mx35lf1ge4ab_ecc_get_status)),
SPINAND_INFO("MX35LF4GE4AD",
- SPINAND_ID(SPINAND_READID_METHOD_OPCODE_DUMMY, 0x37),
+ SPINAND_ID(SPINAND_READID_METHOD_OPCODE_DUMMY, 0x37, 0x03),
NAND_MEMORG(1, 4096, 128, 64, 2048, 40, 1, 1, 1),
NAND_ECCREQ(8, 512),
SPINAND_INFO_OP_VARIANTS(&read_cache_variants,
@@ -141,7 +141,7 @@ static const struct spinand_info macronix_spinand_table[] = {
SPINAND_ECCINFO(&mx35lfxge4ab_ooblayout,
mx35lf1ge4ab_ecc_get_status)),
SPINAND_INFO("MX35LF1G24AD",
- SPINAND_ID(SPINAND_READID_METHOD_OPCODE_DUMMY, 0x14),
+ SPINAND_ID(SPINAND_READID_METHOD_OPCODE_DUMMY, 0x14, 0x03),
NAND_MEMORG(1, 2048, 128, 64, 1024, 20, 1, 1, 1),
NAND_ECCREQ(8, 512),
SPINAND_INFO_OP_VARIANTS(&read_cache_variants,
@@ -150,7 +150,7 @@ static const struct spinand_info macronix_spinand_table[] = {
SPINAND_HAS_QE_BIT,
SPINAND_ECCINFO(&mx35lfxge4ab_ooblayout, NULL)),
SPINAND_INFO("MX35LF2G24AD",
- SPINAND_ID(SPINAND_READID_METHOD_OPCODE_DUMMY, 0x24),
+ SPINAND_ID(SPINAND_READID_METHOD_OPCODE_DUMMY, 0x24, 0x03),
NAND_MEMORG(1, 2048, 128, 64, 2048, 40, 2, 1, 1),
NAND_ECCREQ(8, 512),
SPINAND_INFO_OP_VARIANTS(&read_cache_variants,
@@ -159,7 +159,7 @@ static const struct spinand_info macronix_spinand_table[] = {
SPINAND_HAS_QE_BIT,
SPINAND_ECCINFO(&mx35lfxge4ab_ooblayout, NULL)),
SPINAND_INFO("MX35LF4G24AD",
- SPINAND_ID(SPINAND_READID_METHOD_OPCODE_DUMMY, 0x35),
+ SPINAND_ID(SPINAND_READID_METHOD_OPCODE_DUMMY, 0x35, 0x03),
NAND_MEMORG(1, 4096, 256, 64, 2048, 40, 2, 1, 1),
NAND_ECCREQ(8, 512),
SPINAND_INFO_OP_VARIANTS(&read_cache_variants,
@@ -187,7 +187,6 @@ static const struct spinand_info macronix_spinand_table[] = {
SPINAND_HAS_QE_BIT,
SPINAND_ECCINFO(&mx35lfxge4ab_ooblayout,
mx35lf1ge4ab_ecc_get_status)),
-
SPINAND_INFO("MX35LF2G14AC",
SPINAND_ID(SPINAND_READID_METHOD_OPCODE_DUMMY, 0x20),
NAND_MEMORG(1, 2048, 64, 64, 2048, 40, 2, 1, 1),
@@ -199,7 +198,7 @@ static const struct spinand_info macronix_spinand_table[] = {
SPINAND_ECCINFO(&mx35lfxge4ab_ooblayout,
mx35lf1ge4ab_ecc_get_status)),
SPINAND_INFO("MX35UF4G24AD",
- SPINAND_ID(SPINAND_READID_METHOD_OPCODE_DUMMY, 0xb5),
+ SPINAND_ID(SPINAND_READID_METHOD_OPCODE_DUMMY, 0xb5, 0x03),
NAND_MEMORG(1, 4096, 256, 64, 2048, 40, 2, 1, 1),
NAND_ECCREQ(8, 512),
SPINAND_INFO_OP_VARIANTS(&read_cache_variants,
@@ -209,7 +208,7 @@ static const struct spinand_info macronix_spinand_table[] = {
SPINAND_ECCINFO(&mx35lfxge4ab_ooblayout,
mx35lf1ge4ab_ecc_get_status)),
SPINAND_INFO("MX35UF4GE4AD",
- SPINAND_ID(SPINAND_READID_METHOD_OPCODE_DUMMY, 0xb7),
+ SPINAND_ID(SPINAND_READID_METHOD_OPCODE_DUMMY, 0xb7, 0x03),
NAND_MEMORG(1, 4096, 256, 64, 2048, 40, 1, 1, 1),
NAND_ECCREQ(8, 512),
SPINAND_INFO_OP_VARIANTS(&read_cache_variants,
@@ -229,7 +228,7 @@ static const struct spinand_info macronix_spinand_table[] = {
SPINAND_ECCINFO(&mx35lfxge4ab_ooblayout,
mx35lf1ge4ab_ecc_get_status)),
SPINAND_INFO("MX35UF2G24AD",
- SPINAND_ID(SPINAND_READID_METHOD_OPCODE_DUMMY, 0xa4),
+ SPINAND_ID(SPINAND_READID_METHOD_OPCODE_DUMMY, 0xa4, 0x03),
NAND_MEMORG(1, 2048, 128, 64, 2048, 40, 2, 1, 1),
NAND_ECCREQ(8, 512),
SPINAND_INFO_OP_VARIANTS(&read_cache_variants,
@@ -239,7 +238,7 @@ static const struct spinand_info macronix_spinand_table[] = {
SPINAND_ECCINFO(&mx35lfxge4ab_ooblayout,
mx35lf1ge4ab_ecc_get_status)),
SPINAND_INFO("MX35UF2GE4AD",
- SPINAND_ID(SPINAND_READID_METHOD_OPCODE_DUMMY, 0xa6),
+ SPINAND_ID(SPINAND_READID_METHOD_OPCODE_DUMMY, 0xa6, 0x03),
NAND_MEMORG(1, 2048, 128, 64, 2048, 40, 1, 1, 1),
NAND_ECCREQ(8, 512),
SPINAND_INFO_OP_VARIANTS(&read_cache_variants,
@@ -249,7 +248,7 @@ static const struct spinand_info macronix_spinand_table[] = {
SPINAND_ECCINFO(&mx35lfxge4ab_ooblayout,
mx35lf1ge4ab_ecc_get_status)),
SPINAND_INFO("MX35UF2GE4AC",
- SPINAND_ID(SPINAND_READID_METHOD_OPCODE_DUMMY, 0xa2),
+ SPINAND_ID(SPINAND_READID_METHOD_OPCODE_DUMMY, 0xa2, 0x01),
NAND_MEMORG(1, 2048, 64, 64, 2048, 40, 1, 1, 1),
NAND_ECCREQ(4, 512),
SPINAND_INFO_OP_VARIANTS(&read_cache_variants,
@@ -269,7 +268,7 @@ static const struct spinand_info macronix_spinand_table[] = {
SPINAND_ECCINFO(&mx35lfxge4ab_ooblayout,
mx35lf1ge4ab_ecc_get_status)),
SPINAND_INFO("MX35UF1G24AD",
- SPINAND_ID(SPINAND_READID_METHOD_OPCODE_DUMMY, 0x94),
+ SPINAND_ID(SPINAND_READID_METHOD_OPCODE_DUMMY, 0x94, 0x03),
NAND_MEMORG(1, 2048, 128, 64, 1024, 20, 1, 1, 1),
NAND_ECCREQ(8, 512),
SPINAND_INFO_OP_VARIANTS(&read_cache_variants,
@@ -279,7 +278,7 @@ static const struct spinand_info macronix_spinand_table[] = {
SPINAND_ECCINFO(&mx35lfxge4ab_ooblayout,
mx35lf1ge4ab_ecc_get_status)),
SPINAND_INFO("MX35UF1GE4AD",
- SPINAND_ID(SPINAND_READID_METHOD_OPCODE_DUMMY, 0x96),
+ SPINAND_ID(SPINAND_READID_METHOD_OPCODE_DUMMY, 0x96, 0x03),
NAND_MEMORG(1, 2048, 128, 64, 1024, 20, 1, 1, 1),
NAND_ECCREQ(8, 512),
SPINAND_INFO_OP_VARIANTS(&read_cache_variants,
@@ -289,7 +288,7 @@ static const struct spinand_info macronix_spinand_table[] = {
SPINAND_ECCINFO(&mx35lfxge4ab_ooblayout,
mx35lf1ge4ab_ecc_get_status)),
SPINAND_INFO("MX35UF1GE4AC",
- SPINAND_ID(SPINAND_READID_METHOD_OPCODE_DUMMY, 0x92),
+ SPINAND_ID(SPINAND_READID_METHOD_OPCODE_DUMMY, 0x92, 0x01),
NAND_MEMORG(1, 2048, 64, 64, 1024, 20, 1, 1, 1),
NAND_ECCREQ(4, 512),
SPINAND_INFO_OP_VARIANTS(&read_cache_variants,
@@ -298,7 +297,6 @@ static const struct spinand_info macronix_spinand_table[] = {
SPINAND_HAS_QE_BIT,
SPINAND_ECCINFO(&mx35lfxge4ab_ooblayout,
mx35lf1ge4ab_ecc_get_status)),
-
SPINAND_INFO("MX31LF2GE4BC",
SPINAND_ID(SPINAND_READID_METHOD_OPCODE_DUMMY, 0x2e),
NAND_MEMORG(1, 2048, 64, 64, 2048, 40, 1, 1, 1),
@@ -309,7 +307,7 @@ static const struct spinand_info macronix_spinand_table[] = {
SPINAND_HAS_QE_BIT,
SPINAND_ECCINFO(&mx35lfxge4ab_ooblayout,
mx35lf1ge4ab_ecc_get_status)),
- SPINAND_INFO("MX3UF2GE4BC",
+ SPINAND_INFO("MX31UF2GE4BC",
SPINAND_ID(SPINAND_READID_METHOD_OPCODE_DUMMY, 0xae),
NAND_MEMORG(1, 2048, 64, 64, 2048, 40, 1, 1, 1),
NAND_ECCREQ(8, 512),
--
2.25.1
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [PATCH 2/2] mtd: spinand: macronix: Add support for serial NAND flash
2024-06-28 8:54 [PATCH 0/2] Add support for Macronix serial NAND flash Cheng Ming Lin
2024-06-28 8:54 ` [PATCH 1/2] mtd: spinand: Support serial NAND for reading two bytes ID Cheng Ming Lin
@ 2024-06-28 8:54 ` Cheng Ming Lin
1 sibling, 0 replies; 5+ messages in thread
From: Cheng Ming Lin @ 2024-06-28 8:54 UTC (permalink / raw)
To: miquel.raynal, vigneshr
Cc: richard, linux-mtd, linux-kernel, alvinzhou, leoyu,
Cheng Ming Lin
From: Cheng Ming Lin <chengminglin@mxic.com.tw>
MX35{U,L}F{2,4}G24AD-Z4I8 are Macronix serial NAND flashes.
Their main difference from MX35{U,L}F{2,4}G24AD lies in
the plane number. The plane number for those with the
postfix Z4I8 is 1.
These flashes have been validated on Xilinx zynq-picozed
board which include Macronix SPI Host.
Signed-off-by: Cheng Ming Lin <chengminglin@mxic.com.tw>
---
drivers/mtd/nand/spi/macronix.c | 38 +++++++++++++++++++++++++++++++++
1 file changed, 38 insertions(+)
diff --git a/drivers/mtd/nand/spi/macronix.c b/drivers/mtd/nand/spi/macronix.c
index ffcaf1a6947e..ae33bdca94e0 100644
--- a/drivers/mtd/nand/spi/macronix.c
+++ b/drivers/mtd/nand/spi/macronix.c
@@ -158,6 +158,15 @@ static const struct spinand_info macronix_spinand_table[] = {
&update_cache_variants),
SPINAND_HAS_QE_BIT,
SPINAND_ECCINFO(&mx35lfxge4ab_ooblayout, NULL)),
+ SPINAND_INFO("MX35LF2G24AD-Z4I8",
+ SPINAND_ID(SPINAND_READID_METHOD_OPCODE_DUMMY, 0x64, 0x03),
+ NAND_MEMORG(1, 2048, 128, 64, 2048, 40, 1, 1, 1),
+ NAND_ECCREQ(8, 512),
+ SPINAND_INFO_OP_VARIANTS(&read_cache_variants,
+ &write_cache_variants,
+ &update_cache_variants),
+ SPINAND_HAS_QE_BIT,
+ SPINAND_ECCINFO(&mx35lfxge4ab_ooblayout, NULL)),
SPINAND_INFO("MX35LF4G24AD",
SPINAND_ID(SPINAND_READID_METHOD_OPCODE_DUMMY, 0x35, 0x03),
NAND_MEMORG(1, 4096, 256, 64, 2048, 40, 2, 1, 1),
@@ -167,6 +176,15 @@ static const struct spinand_info macronix_spinand_table[] = {
&update_cache_variants),
SPINAND_HAS_QE_BIT,
SPINAND_ECCINFO(&mx35lfxge4ab_ooblayout, NULL)),
+ SPINAND_INFO("MX35LF4G24AD-Z4I8",
+ SPINAND_ID(SPINAND_READID_METHOD_OPCODE_DUMMY, 0x75, 0x03),
+ NAND_MEMORG(1, 4096, 256, 64, 2048, 40, 1, 1, 1),
+ NAND_ECCREQ(8, 512),
+ SPINAND_INFO_OP_VARIANTS(&read_cache_variants,
+ &write_cache_variants,
+ &update_cache_variants),
+ SPINAND_HAS_QE_BIT,
+ SPINAND_ECCINFO(&mx35lfxge4ab_ooblayout, NULL)),
SPINAND_INFO("MX31LF1GE4BC",
SPINAND_ID(SPINAND_READID_METHOD_OPCODE_DUMMY, 0x1e),
NAND_MEMORG(1, 2048, 64, 64, 1024, 20, 1, 1, 1),
@@ -207,6 +225,16 @@ static const struct spinand_info macronix_spinand_table[] = {
SPINAND_HAS_QE_BIT,
SPINAND_ECCINFO(&mx35lfxge4ab_ooblayout,
mx35lf1ge4ab_ecc_get_status)),
+ SPINAND_INFO("MX35UF4G24AD-Z4I8",
+ SPINAND_ID(SPINAND_READID_METHOD_OPCODE_DUMMY, 0xf5, 0x03),
+ NAND_MEMORG(1, 4096, 256, 64, 2048, 40, 1, 1, 1),
+ NAND_ECCREQ(8, 512),
+ SPINAND_INFO_OP_VARIANTS(&read_cache_variants,
+ &write_cache_variants,
+ &update_cache_variants),
+ SPINAND_HAS_QE_BIT,
+ SPINAND_ECCINFO(&mx35lfxge4ab_ooblayout,
+ mx35lf1ge4ab_ecc_get_status)),
SPINAND_INFO("MX35UF4GE4AD",
SPINAND_ID(SPINAND_READID_METHOD_OPCODE_DUMMY, 0xb7, 0x03),
NAND_MEMORG(1, 4096, 256, 64, 2048, 40, 1, 1, 1),
@@ -237,6 +265,16 @@ static const struct spinand_info macronix_spinand_table[] = {
SPINAND_HAS_QE_BIT,
SPINAND_ECCINFO(&mx35lfxge4ab_ooblayout,
mx35lf1ge4ab_ecc_get_status)),
+ SPINAND_INFO("MX35UF2G24AD-Z4I8",
+ SPINAND_ID(SPINAND_READID_METHOD_OPCODE_DUMMY, 0xe4, 0x03),
+ NAND_MEMORG(1, 2048, 128, 64, 2048, 40, 1, 1, 1),
+ NAND_ECCREQ(8, 512),
+ SPINAND_INFO_OP_VARIANTS(&read_cache_variants,
+ &write_cache_variants,
+ &update_cache_variants),
+ SPINAND_HAS_QE_BIT,
+ SPINAND_ECCINFO(&mx35lfxge4ab_ooblayout,
+ mx35lf1ge4ab_ecc_get_status)),
SPINAND_INFO("MX35UF2GE4AD",
SPINAND_ID(SPINAND_READID_METHOD_OPCODE_DUMMY, 0xa6, 0x03),
NAND_MEMORG(1, 2048, 128, 64, 2048, 40, 1, 1, 1),
--
2.25.1
^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [PATCH 1/2] mtd: spinand: Support serial NAND for reading two bytes ID
2024-06-28 8:54 ` [PATCH 1/2] mtd: spinand: Support serial NAND for reading two bytes ID Cheng Ming Lin
@ 2024-07-01 9:43 ` Miquel Raynal
2024-07-03 6:09 ` Cheng Ming Lin
0 siblings, 1 reply; 5+ messages in thread
From: Miquel Raynal @ 2024-07-01 9:43 UTC (permalink / raw)
To: Cheng Ming Lin
Cc: vigneshr, richard, linux-mtd, linux-kernel, alvinzhou, leoyu,
Cheng Ming Lin
Hi,
linchengming884@gmail.com wrote on Fri, 28 Jun 2024 16:54:43 +0800:
> From: Cheng Ming Lin <chengminglin@mxic.com.tw>
>
> Adding the Device ID 2 on Macronix Serial Flash.
>
> When the number of flashes increases, we need to utilize
> Device ID 2 to distinguish between different flashes.
>
> These flashes have been validated on Xilinx zynq-picozed
> board which included Macronix SPI Host.
>
> Signed-off-by: Cheng Ming Lin <chengminglin@mxic.com.tw>
> ---
...
> SPINAND_INFO("MX35UF1GE4AD",
> - SPINAND_ID(SPINAND_READID_METHOD_OPCODE_DUMMY, 0x96),
> + SPINAND_ID(SPINAND_READID_METHOD_OPCODE_DUMMY, 0x96, 0x03),
> NAND_MEMORG(1, 2048, 128, 64, 1024, 20, 1, 1, 1),
> NAND_ECCREQ(8, 512),
> SPINAND_INFO_OP_VARIANTS(&read_cache_variants,
> @@ -289,7 +288,7 @@ static const struct spinand_info macronix_spinand_table[] = {
> SPINAND_ECCINFO(&mx35lfxge4ab_ooblayout,
> mx35lf1ge4ab_ecc_get_status)),
> SPINAND_INFO("MX35UF1GE4AC",
> - SPINAND_ID(SPINAND_READID_METHOD_OPCODE_DUMMY, 0x92),
> + SPINAND_ID(SPINAND_READID_METHOD_OPCODE_DUMMY, 0x92, 0x01),
> NAND_MEMORG(1, 2048, 64, 64, 1024, 20, 1, 1, 1),
> NAND_ECCREQ(4, 512),
> SPINAND_INFO_OP_VARIANTS(&read_cache_variants,
> @@ -298,7 +297,6 @@ static const struct spinand_info macronix_spinand_table[] = {
> SPINAND_HAS_QE_BIT,
> SPINAND_ECCINFO(&mx35lfxge4ab_ooblayout,
> mx35lf1ge4ab_ecc_get_status)),
> -
This is style, and if you care should be in another patch.
> SPINAND_INFO("MX31LF2GE4BC",
> SPINAND_ID(SPINAND_READID_METHOD_OPCODE_DUMMY, 0x2e),
> NAND_MEMORG(1, 2048, 64, 64, 2048, 40, 1, 1, 1),
> @@ -309,7 +307,7 @@ static const struct spinand_info macronix_spinand_table[] = {
> SPINAND_HAS_QE_BIT,
> SPINAND_ECCINFO(&mx35lfxge4ab_ooblayout,
> mx35lf1ge4ab_ecc_get_status)),
> - SPINAND_INFO("MX3UF2GE4BC",
> + SPINAND_INFO("MX31UF2GE4BC",
This is a fix that should have the right tags (stable/fixes) and be in
another patch.
Also, maybe you want this patch content to be backported. If it's the
case, please add the necessary tags here as well.
> SPINAND_ID(SPINAND_READID_METHOD_OPCODE_DUMMY, 0xae),
> NAND_MEMORG(1, 2048, 64, 64, 2048, 40, 1, 1, 1),
> NAND_ECCREQ(8, 512),
Thanks,
Miquèl
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH 1/2] mtd: spinand: Support serial NAND for reading two bytes ID
2024-07-01 9:43 ` Miquel Raynal
@ 2024-07-03 6:09 ` Cheng Ming Lin
0 siblings, 0 replies; 5+ messages in thread
From: Cheng Ming Lin @ 2024-07-03 6:09 UTC (permalink / raw)
To: Miquel Raynal
Cc: vigneshr, richard, linux-mtd, linux-kernel, alvinzhou, leoyu,
Cheng Ming Lin
Hi,
Miquel Raynal <miquel.raynal@bootlin.com> 於 2024年7月1日 週一 下午5:43寫道:
>
> Hi,
>
> linchengming884@gmail.com wrote on Fri, 28 Jun 2024 16:54:43 +0800:
>
> > From: Cheng Ming Lin <chengminglin@mxic.com.tw>
> >
> > Adding the Device ID 2 on Macronix Serial Flash.
> >
> > When the number of flashes increases, we need to utilize
> > Device ID 2 to distinguish between different flashes.
> >
> > These flashes have been validated on Xilinx zynq-picozed
> > board which included Macronix SPI Host.
> >
> > Signed-off-by: Cheng Ming Lin <chengminglin@mxic.com.tw>
> > ---
>
> ...
>
> > SPINAND_INFO("MX35UF1GE4AD",
> > - SPINAND_ID(SPINAND_READID_METHOD_OPCODE_DUMMY, 0x96),
> > + SPINAND_ID(SPINAND_READID_METHOD_OPCODE_DUMMY, 0x96, 0x03),
> > NAND_MEMORG(1, 2048, 128, 64, 1024, 20, 1, 1, 1),
> > NAND_ECCREQ(8, 512),
> > SPINAND_INFO_OP_VARIANTS(&read_cache_variants,
> > @@ -289,7 +288,7 @@ static const struct spinand_info macronix_spinand_table[] = {
> > SPINAND_ECCINFO(&mx35lfxge4ab_ooblayout,
> > mx35lf1ge4ab_ecc_get_status)),
> > SPINAND_INFO("MX35UF1GE4AC",
> > - SPINAND_ID(SPINAND_READID_METHOD_OPCODE_DUMMY, 0x92),
> > + SPINAND_ID(SPINAND_READID_METHOD_OPCODE_DUMMY, 0x92, 0x01),
> > NAND_MEMORG(1, 2048, 64, 64, 1024, 20, 1, 1, 1),
> > NAND_ECCREQ(4, 512),
> > SPINAND_INFO_OP_VARIANTS(&read_cache_variants,
> > @@ -298,7 +297,6 @@ static const struct spinand_info macronix_spinand_table[] = {
> > SPINAND_HAS_QE_BIT,
> > SPINAND_ECCINFO(&mx35lfxge4ab_ooblayout,
> > mx35lf1ge4ab_ecc_get_status)),
> > -
>
> This is style, and if you care should be in another patch.
Okay, we currently have no plans to make this modification.
>
> > SPINAND_INFO("MX31LF2GE4BC",
> > SPINAND_ID(SPINAND_READID_METHOD_OPCODE_DUMMY, 0x2e),
> > NAND_MEMORG(1, 2048, 64, 64, 2048, 40, 1, 1, 1),
> > @@ -309,7 +307,7 @@ static const struct spinand_info macronix_spinand_table[] = {
> > SPINAND_HAS_QE_BIT,
> > SPINAND_ECCINFO(&mx35lfxge4ab_ooblayout,
> > mx35lf1ge4ab_ecc_get_status)),
> > - SPINAND_INFO("MX3UF2GE4BC",
> > + SPINAND_INFO("MX31UF2GE4BC",
>
> This is a fix that should have the right tags (stable/fixes) and be in
> another patch.
>
> Also, maybe you want this patch content to be backported. If it's the
> case, please add the necessary tags here as well.
>
Sure, we will separate this modification from this patch series.
> > SPINAND_ID(SPINAND_READID_METHOD_OPCODE_DUMMY, 0xae),
> > NAND_MEMORG(1, 2048, 64, 64, 2048, 40, 1, 1, 1),
> > NAND_ECCREQ(8, 512),
>
>
> Thanks,
> Miquèl
Thanks,
Chengming
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2024-07-03 6:10 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-06-28 8:54 [PATCH 0/2] Add support for Macronix serial NAND flash Cheng Ming Lin
2024-06-28 8:54 ` [PATCH 1/2] mtd: spinand: Support serial NAND for reading two bytes ID Cheng Ming Lin
2024-07-01 9:43 ` Miquel Raynal
2024-07-03 6:09 ` Cheng Ming Lin
2024-06-28 8:54 ` [PATCH 2/2] mtd: spinand: macronix: Add support for serial NAND flash Cheng Ming Lin
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox