Discussion:
[PATCH v3 0/2] mtd: spi-nor: add entry for mt35xu512aba flash
Yogesh Narayan Gaur
2018-10-12 02:23:03 UTC
Permalink
Add MFR_ID information, 0x002C, related to the Micron flash.
Currently, MFR_ID 0x0020 is being specified as Micron flash ID but
these are actually CFI ID of STMicro flashes.

Rename SNOR_MFR_MICRON to SNOR_MFR_ST and add entry for
SNOR_MFR_MICRON having CFI ID value of Micron flash.
Add entry of mt35xu512aba [1] flash in spi_nor_ids table.

[1] https://www.micron.com/resource-details/0b74b806-bbf1-4c24-b07b-35e2799bb6ff

Yogesh Gaur (2):
mtd: spi-nor: add macros related to MICRON flash
mtd: spi-nor: add entry for mt35xu512aba flash

Changes for v3:
- Modified flash node style as suggested by Tudor.
Changes for v2:
- Removed checkpatch warning, 80 character limit, in patch
'mtd: spi-nor: add entry for mt35xu512aba flash'.

drivers/mtd/spi-nor/spi-nor.c | 15 ++++++++++++---
include/linux/mtd/cfi.h | 1 +
include/linux/mtd/spi-nor.h | 3 ++-
3 files changed, 15 insertions(+), 4 deletions(-)
--
1.9.1
Yogesh Narayan Gaur
2018-10-12 02:23:08 UTC
Permalink
Some MICRON related macros in spi-nor domain were ST.
Rename entries related to STMicroelectronics under macro SNOR_MFR_ST.

Added entry of MFR Id for Micron flashes, 0x002C.

Signed-off-by: Yogesh Gaur <***@nxp.com>
Reviewed-by: Tudor Ambarus <***@microchip.com>
---
Changes for v3:
- None
Changes for v2:
- None

drivers/mtd/spi-nor/spi-nor.c | 9 ++++++---
include/linux/mtd/cfi.h | 1 +
include/linux/mtd/spi-nor.h | 3 ++-
3 files changed, 9 insertions(+), 4 deletions(-)

diff --git a/drivers/mtd/spi-nor/spi-nor.c b/drivers/mtd/spi-nor/spi-nor.c
index 9407ca5..b8b494f 100644
--- a/drivers/mtd/spi-nor/spi-nor.c
+++ b/drivers/mtd/spi-nor/spi-nor.c
@@ -284,6 +284,7 @@ static inline int set_4byte(struct spi_nor *nor, const struct flash_info *info,
u8 cmd;

switch (JEDEC_MFR(info)) {
+ case SNOR_MFR_ST:
case SNOR_MFR_MICRON:
/* Some Micron need WREN command; all will accept it */
need_wren = true;
@@ -1388,7 +1389,7 @@ static int spi_nor_is_locked(struct mtd_info *mtd, loff_t ofs, uint64_t len)
{ "mx66l1g45g", INFO(0xc2201b, 0, 64 * 1024, 2048, SECT_4K | SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ) },
{ "mx66l1g55g", INFO(0xc2261b, 0, 64 * 1024, 2048, SPI_NOR_QUAD_READ) },

- /* Micron */
+ /* Micron <--> ST Micro */
{ "n25q016a", INFO(0x20bb15, 0, 64 * 1024, 32, SECT_4K | SPI_NOR_QUAD_READ) },
{ "n25q032", INFO(0x20ba16, 0, 64 * 1024, 64, SPI_NOR_QUAD_READ) },
{ "n25q032a", INFO(0x20bb16, 0, 64 * 1024, 64, SPI_NOR_QUAD_READ) },
@@ -3223,6 +3224,7 @@ static int spi_nor_init_params(struct spi_nor *nor,
params->quad_enable = macronix_quad_enable;
break;

+ case SNOR_MFR_ST:
case SNOR_MFR_MICRON:
break;

@@ -3671,8 +3673,9 @@ int spi_nor_scan(struct spi_nor *nor, const char *name,
mtd->_resume = spi_nor_resume;

/* NOR protection support for STmicro/Micron chips and similar */
- if (JEDEC_MFR(info) == SNOR_MFR_MICRON ||
- info->flags & SPI_NOR_HAS_LOCK) {
+ if (JEDEC_MFR(info) == SNOR_MFR_ST ||
+ JEDEC_MFR(info) == SNOR_MFR_MICRON ||
+ info->flags & SPI_NOR_HAS_LOCK) {
nor->flash_lock = stm_lock;
nor->flash_unlock = stm_unlock;
nor->flash_is_locked = stm_is_locked;
diff --git a/include/linux/mtd/cfi.h b/include/linux/mtd/cfi.h
index 9b57a9b..cbf7716 100644
--- a/include/linux/mtd/cfi.h
+++ b/include/linux/mtd/cfi.h
@@ -377,6 +377,7 @@ struct cfi_fixup {
#define CFI_MFR_SHARP 0x00B0
#define CFI_MFR_SST 0x00BF
#define CFI_MFR_ST 0x0020 /* STMicroelectronics */
+#define CFI_MFR_MICRON 0x002C /* Micron */
#define CFI_MFR_TOSHIBA 0x0098
#define CFI_MFR_WINBOND 0x00DA

diff --git a/include/linux/mtd/spi-nor.h b/include/linux/mtd/spi-nor.h
index 7f0c730..8b1acf6 100644
--- a/include/linux/mtd/spi-nor.h
+++ b/include/linux/mtd/spi-nor.h
@@ -23,7 +23,8 @@
#define SNOR_MFR_ATMEL CFI_MFR_ATMEL
#define SNOR_MFR_GIGADEVICE 0xc8
#define SNOR_MFR_INTEL CFI_MFR_INTEL
-#define SNOR_MFR_MICRON CFI_MFR_ST /* ST Micro <--> Micron */
+#define SNOR_MFR_ST CFI_MFR_ST /* ST Micro */
+#define SNOR_MFR_MICRON CFI_MFR_MICRON /* Micron */
#define SNOR_MFR_MACRONIX CFI_MFR_MACRONIX
#define SNOR_MFR_SPANSION CFI_MFR_AMD
#define SNOR_MFR_SST CFI_MFR_SST
--
1.9.1
Boris Brezillon
2018-10-12 06:07:53 UTC
Permalink
On Fri, 12 Oct 2018 02:23:08 +0000
Post by Yogesh Narayan Gaur
Some MICRON related macros in spi-nor domain were ST.
Rename entries related to STMicroelectronics under macro SNOR_MFR_ST.
Added entry of MFR Id for Micron flashes, 0x002C.
---
- None
- None
drivers/mtd/spi-nor/spi-nor.c | 9 ++++++---
include/linux/mtd/cfi.h | 1 +
include/linux/mtd/spi-nor.h | 3 ++-
3 files changed, 9 insertions(+), 4 deletions(-)
diff --git a/drivers/mtd/spi-nor/spi-nor.c b/drivers/mtd/spi-nor/spi-nor.c
index 9407ca5..b8b494f 100644
--- a/drivers/mtd/spi-nor/spi-nor.c
+++ b/drivers/mtd/spi-nor/spi-nor.c
@@ -284,6 +284,7 @@ static inline int set_4byte(struct spi_nor *nor, const struct flash_info *info,
u8 cmd;
switch (JEDEC_MFR(info)) {
/* Some Micron need WREN command; all will accept it */
need_wren = true;
@@ -1388,7 +1389,7 @@ static int spi_nor_is_locked(struct mtd_info *mtd, loff_t ofs, uint64_t len)
{ "mx66l1g45g", INFO(0xc2201b, 0, 64 * 1024, 2048, SECT_4K | SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ) },
{ "mx66l1g55g", INFO(0xc2261b, 0, 64 * 1024, 2048, SPI_NOR_QUAD_READ) },
- /* Micron */
+ /* Micron <--> ST Micro */
{ "n25q016a", INFO(0x20bb15, 0, 64 * 1024, 32, SECT_4K | SPI_NOR_QUAD_READ) },
{ "n25q032", INFO(0x20ba16, 0, 64 * 1024, 64, SPI_NOR_QUAD_READ) },
{ "n25q032a", INFO(0x20bb16, 0, 64 * 1024, 64, SPI_NOR_QUAD_READ) },
@@ -3223,6 +3224,7 @@ static int spi_nor_init_params(struct spi_nor *nor,
params->quad_enable = macronix_quad_enable;
break;
break;
@@ -3671,8 +3673,9 @@ int spi_nor_scan(struct spi_nor *nor, const char *name,
mtd->_resume = spi_nor_resume;
/* NOR protection support for STmicro/Micron chips and similar */
- if (JEDEC_MFR(info) == SNOR_MFR_MICRON ||
- info->flags & SPI_NOR_HAS_LOCK) {
+ if (JEDEC_MFR(info) == SNOR_MFR_ST ||
+ JEDEC_MFR(info) == SNOR_MFR_MICRON ||
+ info->flags & SPI_NOR_HAS_LOCK) {
nor->flash_lock = stm_lock;
nor->flash_unlock = stm_unlock;
nor->flash_is_locked = stm_is_locked;
Are you sure ST and Micron NORs work the same way WRT locking, 4-byte
addressing mode and Quad enable?
Post by Yogesh Narayan Gaur
diff --git a/include/linux/mtd/cfi.h b/include/linux/mtd/cfi.h
index 9b57a9b..cbf7716 100644
--- a/include/linux/mtd/cfi.h
+++ b/include/linux/mtd/cfi.h
@@ -377,6 +377,7 @@ struct cfi_fixup {
#define CFI_MFR_SHARP 0x00B0
#define CFI_MFR_SST 0x00BF
#define CFI_MFR_ST 0x0020 /* STMicroelectronics */
+#define CFI_MFR_MICRON 0x002C /* Micron */
#define CFI_MFR_TOSHIBA 0x0098
#define CFI_MFR_WINBOND 0x00DA
diff --git a/include/linux/mtd/spi-nor.h b/include/linux/mtd/spi-nor.h
index 7f0c730..8b1acf6 100644
--- a/include/linux/mtd/spi-nor.h
+++ b/include/linux/mtd/spi-nor.h
@@ -23,7 +23,8 @@
#define SNOR_MFR_ATMEL CFI_MFR_ATMEL
#define SNOR_MFR_GIGADEVICE 0xc8
#define SNOR_MFR_INTEL CFI_MFR_INTEL
-#define SNOR_MFR_MICRON CFI_MFR_ST /* ST Micro <--> Micron */
+#define SNOR_MFR_ST CFI_MFR_ST /* ST Micro */
+#define SNOR_MFR_MICRON CFI_MFR_MICRON /* Micron */
#define SNOR_MFR_MACRONIX CFI_MFR_MACRONIX
#define SNOR_MFR_SPANSION CFI_MFR_AMD
#define SNOR_MFR_SST CFI_MFR_SST
Yogesh Narayan Gaur
2018-10-12 06:31:51 UTC
Permalink
Hi Boris,
-----Original Message-----
Sent: Friday, October 12, 2018 11:38 AM
Subject: Re: [PATCH v3 1/2] mtd: spi-nor: add macros related to MICRON flash
On Fri, 12 Oct 2018 02:23:08 +0000
Post by Yogesh Narayan Gaur
Some MICRON related macros in spi-nor domain were ST.
Rename entries related to STMicroelectronics under macro SNOR_MFR_ST.
Added entry of MFR Id for Micron flashes, 0x002C.
---
- None
- None
drivers/mtd/spi-nor/spi-nor.c | 9 ++++++---
include/linux/mtd/cfi.h | 1 +
include/linux/mtd/spi-nor.h | 3 ++-
3 files changed, 9 insertions(+), 4 deletions(-)
diff --git a/drivers/mtd/spi-nor/spi-nor.c
b/drivers/mtd/spi-nor/spi-nor.c index 9407ca5..b8b494f 100644
--- a/drivers/mtd/spi-nor/spi-nor.c
+++ b/drivers/mtd/spi-nor/spi-nor.c
@@ -284,6 +284,7 @@ static inline int set_4byte(struct spi_nor *nor, const
struct flash_info *info,
Post by Yogesh Narayan Gaur
u8 cmd;
switch (JEDEC_MFR(info)) {
/* Some Micron need WREN command; all will accept it */
need_wren = true;
@@ -1388,7 +1389,7 @@ static int spi_nor_is_locked(struct mtd_info *mtd,
loff_t ofs, uint64_t len)
Post by Yogesh Narayan Gaur
{ "mx66l1g45g", INFO(0xc2201b, 0, 64 * 1024, 2048, SECT_4K |
SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ) },
Post by Yogesh Narayan Gaur
{ "mx66l1g55g", INFO(0xc2261b, 0, 64 * 1024, 2048,
SPI_NOR_QUAD_READ) },
- /* Micron */
+ /* Micron <--> ST Micro */
{ "n25q016a", INFO(0x20bb15, 0, 64 * 1024, 32, SECT_4K |
SPI_NOR_QUAD_READ) },
Post by Yogesh Narayan Gaur
{ "n25q032", INFO(0x20ba16, 0, 64 * 1024, 64,
SPI_NOR_QUAD_READ) },
Post by Yogesh Narayan Gaur
{ "n25q032a", INFO(0x20bb16, 0, 64 * 1024, 64,
SPI_NOR_QUAD_READ) },
Post by Yogesh Narayan Gaur
@@ -3223,6 +3224,7 @@ static int spi_nor_init_params(struct spi_nor *nor,
params->quad_enable = macronix_quad_enable;
break;
break;
@@ -3671,8 +3673,9 @@ int spi_nor_scan(struct spi_nor *nor, const char
*name,
Post by Yogesh Narayan Gaur
mtd->_resume = spi_nor_resume;
/* NOR protection support for STmicro/Micron chips and similar */
- if (JEDEC_MFR(info) == SNOR_MFR_MICRON ||
- info->flags & SPI_NOR_HAS_LOCK) {
+ if (JEDEC_MFR(info) == SNOR_MFR_ST ||
+ JEDEC_MFR(info) == SNOR_MFR_MICRON ||
+ info->flags & SPI_NOR_HAS_LOCK) {
nor->flash_lock = stm_lock;
nor->flash_unlock = stm_unlock;
nor->flash_is_locked = stm_is_locked;
Are you sure ST and Micron NORs work the same way WRT locking, 4-byte
addressing mode and Quad enable?
Have checked for the Micron flash, MT35x wrt locking, 4-byte addressing mode.
For Macronix and Spansion flash there is special handling required for quad mode but not needed for ST flash.
This flash didn't support quad mode and have checked that other Micron flash also didn't need special handling for quad mode.
--
Regards
Yogesh Gaur.
Post by Yogesh Narayan Gaur
diff --git a/include/linux/mtd/cfi.h b/include/linux/mtd/cfi.h index
9b57a9b..cbf7716 100644
--- a/include/linux/mtd/cfi.h
+++ b/include/linux/mtd/cfi.h
@@ -377,6 +377,7 @@ struct cfi_fixup {
#define CFI_MFR_SHARP 0x00B0
#define CFI_MFR_SST 0x00BF
#define CFI_MFR_ST 0x0020 /* STMicroelectronics */
+#define CFI_MFR_MICRON 0x002C /* Micron */
#define CFI_MFR_TOSHIBA 0x0098
#define CFI_MFR_WINBOND 0x00DA
diff --git a/include/linux/mtd/spi-nor.h b/include/linux/mtd/spi-nor.h
index 7f0c730..8b1acf6 100644
--- a/include/linux/mtd/spi-nor.h
+++ b/include/linux/mtd/spi-nor.h
@@ -23,7 +23,8 @@
#define SNOR_MFR_ATMEL CFI_MFR_ATMEL
#define SNOR_MFR_GIGADEVICE 0xc8
#define SNOR_MFR_INTEL CFI_MFR_INTEL
-#define SNOR_MFR_MICRON CFI_MFR_ST /* ST Micro <--> Micron
*/
Post by Yogesh Narayan Gaur
+#define SNOR_MFR_ST CFI_MFR_ST /* ST Micro */
+#define SNOR_MFR_MICRON CFI_MFR_MICRON /* Micron */
#define SNOR_MFR_MACRONIX CFI_MFR_MACRONIX
#define SNOR_MFR_SPANSION CFI_MFR_AMD
#define SNOR_MFR_SST CFI_MFR_SST
Yogesh Narayan Gaur
2018-10-23 09:39:25 UTC
Permalink
Hi,

Did we have have any comments or remarks about this patch-series, if not please apply.

Both patches in the series been reviewed by Tudor.

--
Regards
Yogesh Gaur
-----Original Message-----
From: Yogesh Narayan Gaur
Sent: Friday, October 12, 2018 12:02 PM
Subject: RE: [PATCH v3 1/2] mtd: spi-nor: add macros related to MICRON flash
Hi Boris,
-----Original Message-----
Sent: Friday, October 12, 2018 11:38 AM
Subject: Re: [PATCH v3 1/2] mtd: spi-nor: add macros related to MICRON flash
On Fri, 12 Oct 2018 02:23:08 +0000
Post by Yogesh Narayan Gaur
Some MICRON related macros in spi-nor domain were ST.
Rename entries related to STMicroelectronics under macro SNOR_MFR_ST.
Added entry of MFR Id for Micron flashes, 0x002C.
---
- None
- None
drivers/mtd/spi-nor/spi-nor.c | 9 ++++++---
include/linux/mtd/cfi.h | 1 +
include/linux/mtd/spi-nor.h | 3 ++-
3 files changed, 9 insertions(+), 4 deletions(-)
diff --git a/drivers/mtd/spi-nor/spi-nor.c
b/drivers/mtd/spi-nor/spi-nor.c index 9407ca5..b8b494f 100644
--- a/drivers/mtd/spi-nor/spi-nor.c
+++ b/drivers/mtd/spi-nor/spi-nor.c
@@ -284,6 +284,7 @@ static inline int set_4byte(struct spi_nor *nor, const
struct flash_info *info,
Post by Yogesh Narayan Gaur
u8 cmd;
switch (JEDEC_MFR(info)) {
/* Some Micron need WREN command; all will accept it */
need_wren = true;
@@ -1388,7 +1389,7 @@ static int spi_nor_is_locked(struct mtd_info *mtd,
loff_t ofs, uint64_t len)
Post by Yogesh Narayan Gaur
{ "mx66l1g45g", INFO(0xc2201b, 0, 64 * 1024, 2048, SECT_4K |
SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ) },
Post by Yogesh Narayan Gaur
{ "mx66l1g55g", INFO(0xc2261b, 0, 64 * 1024, 2048,
SPI_NOR_QUAD_READ) },
- /* Micron */
+ /* Micron <--> ST Micro */
{ "n25q016a", INFO(0x20bb15, 0, 64 * 1024, 32, SECT_4K |
SPI_NOR_QUAD_READ) },
Post by Yogesh Narayan Gaur
{ "n25q032", INFO(0x20ba16, 0, 64 * 1024, 64,
SPI_NOR_QUAD_READ) },
Post by Yogesh Narayan Gaur
{ "n25q032a", INFO(0x20bb16, 0, 64 * 1024, 64,
SPI_NOR_QUAD_READ) },
Post by Yogesh Narayan Gaur
@@ -3223,6 +3224,7 @@ static int spi_nor_init_params(struct spi_nor *nor,
params->quad_enable = macronix_quad_enable;
break;
break;
@@ -3671,8 +3673,9 @@ int spi_nor_scan(struct spi_nor *nor, const char
*name,
Post by Yogesh Narayan Gaur
mtd->_resume = spi_nor_resume;
/* NOR protection support for STmicro/Micron chips and similar */
- if (JEDEC_MFR(info) == SNOR_MFR_MICRON ||
- info->flags & SPI_NOR_HAS_LOCK) {
+ if (JEDEC_MFR(info) == SNOR_MFR_ST ||
+ JEDEC_MFR(info) == SNOR_MFR_MICRON ||
+ info->flags & SPI_NOR_HAS_LOCK) {
nor->flash_lock = stm_lock;
nor->flash_unlock = stm_unlock;
nor->flash_is_locked = stm_is_locked;
Are you sure ST and Micron NORs work the same way WRT locking, 4-byte
addressing mode and Quad enable?
Have checked for the Micron flash, MT35x wrt locking, 4-byte addressing mode.
For Macronix and Spansion flash there is special handling required for quad
mode but not needed for ST flash.
This flash didn't support quad mode and have checked that other Micron flash
also didn't need special handling for quad mode.
--
Regards
Yogesh Gaur.
Post by Yogesh Narayan Gaur
diff --git a/include/linux/mtd/cfi.h b/include/linux/mtd/cfi.h index
9b57a9b..cbf7716 100644
--- a/include/linux/mtd/cfi.h
+++ b/include/linux/mtd/cfi.h
@@ -377,6 +377,7 @@ struct cfi_fixup {
#define CFI_MFR_SHARP 0x00B0
#define CFI_MFR_SST 0x00BF
#define CFI_MFR_ST 0x0020 /* STMicroelectronics */
+#define CFI_MFR_MICRON 0x002C /* Micron */
#define CFI_MFR_TOSHIBA 0x0098
#define CFI_MFR_WINBOND 0x00DA
diff --git a/include/linux/mtd/spi-nor.h
b/include/linux/mtd/spi-nor.h index 7f0c730..8b1acf6 100644
--- a/include/linux/mtd/spi-nor.h
+++ b/include/linux/mtd/spi-nor.h
@@ -23,7 +23,8 @@
#define SNOR_MFR_ATMEL CFI_MFR_ATMEL
#define SNOR_MFR_GIGADEVICE 0xc8
#define SNOR_MFR_INTEL CFI_MFR_INTEL
-#define SNOR_MFR_MICRON CFI_MFR_ST /* ST Micro <-->
Micron
*/
Post by Yogesh Narayan Gaur
+#define SNOR_MFR_ST CFI_MFR_ST /* ST Micro */
+#define SNOR_MFR_MICRON CFI_MFR_MICRON /*
Micron */
Post by Yogesh Narayan Gaur
#define SNOR_MFR_MACRONIX CFI_MFR_MACRONIX
#define SNOR_MFR_SPANSION CFI_MFR_AMD
#define SNOR_MFR_SST CFI_MFR_SST
Yogesh Narayan Gaur
2018-10-23 10:00:53 UTC
Permalink
Hi Boris,
-----Original Message-----
Sent: Tuesday, October 23, 2018 3:27 PM
Subject: Re: [PATCH v3 1/2] mtd: spi-nor: add macros related to MICRON flash
Hi Yogesh,
On Tue, 23 Oct 2018 09:39:25 +0000
Post by Yogesh Narayan Gaur
Hi,
Did we have have any comments or remarks about this patch-series, if not
please apply.
Sorry, but it was already too late for this release, and the merge window just
started, so it will have to wait at least 2 more weeks.
Ok.
We've been lagging with SPI NOR patches for the last couple releases because I
clearly don't have time to review those contributions, and it seems Marek does
not have time either.
Post by Yogesh Narayan Gaur
Both patches in the series been reviewed by Tudor.
Things are improving a bit thanks to Tudor's involvement in the review process,
but I'd like to remember you that you, as a regular contributor to the spi-nor
subsystem, can help us with that too. That is, help review patches coming from
others instead of only focusing on your own contributions.
Sure, I would start doing the review of other contributor patches.

--
Regards
Yogesh Gaur.
Regards,
Boris
Yogesh Narayan Gaur
2018-11-16 06:54:57 UTC
Permalink
Hi Boris,

Please apply this patch series [1] in the coming release.

--
Regards
Yogesh Gaur
[1] https://patchwork.ozlabs.org/project/linux-mtd/list/?series=70384
-----Original Message-----
From: Yogesh Narayan Gaur
Sent: Tuesday, October 23, 2018 3:31 PM
Subject: RE: [PATCH v3 1/2] mtd: spi-nor: add macros related to MICRON flash
Hi Boris,
-----Original Message-----
Sent: Tuesday, October 23, 2018 3:27 PM
Subject: Re: [PATCH v3 1/2] mtd: spi-nor: add macros related to MICRON flash
Hi Yogesh,
On Tue, 23 Oct 2018 09:39:25 +0000
Post by Yogesh Narayan Gaur
Hi,
Did we have have any comments or remarks about this patch-series,
if not
please apply.
Sorry, but it was already too late for this release, and the merge
window just started, so it will have to wait at least 2 more weeks.
Ok.
We've been lagging with SPI NOR patches for the last couple releases
because I clearly don't have time to review those contributions, and
it seems Marek does not have time either.
Post by Yogesh Narayan Gaur
Both patches in the series been reviewed by Tudor.
Things are improving a bit thanks to Tudor's involvement in the review
process, but I'd like to remember you that you, as a regular
contributor to the spi-nor subsystem, can help us with that too. That
is, help review patches coming from others instead of only focusing on your
own contributions.
Sure, I would start doing the review of other contributor patches.
--
Regards
Yogesh Gaur.
Regards,
Boris
T***@microchip.com
2018-10-23 09:58:16 UTC
Permalink
Hi,
Post by Yogesh Narayan Gaur
Hi,
Did we have have any comments or remarks about this patch-series, if not please apply.
Now that the octal mode is close to an end, it would make sense to wait for it,
so that you can add the octal flag for this memory when introduced. Of course,
not a show stopper.

Cheers,
ta
Post by Yogesh Narayan Gaur
Both patches in the series been reviewed by Tudor.
--
Regards
Yogesh Gaur
-----Original Message-----
From: Yogesh Narayan Gaur
Sent: Friday, October 12, 2018 12:02 PM
Subject: RE: [PATCH v3 1/2] mtd: spi-nor: add macros related to MICRON flash
Hi Boris,
-----Original Message-----
Sent: Friday, October 12, 2018 11:38 AM
Subject: Re: [PATCH v3 1/2] mtd: spi-nor: add macros related to MICRON flash
On Fri, 12 Oct 2018 02:23:08 +0000
Post by Yogesh Narayan Gaur
Some MICRON related macros in spi-nor domain were ST.
Rename entries related to STMicroelectronics under macro SNOR_MFR_ST.
Added entry of MFR Id for Micron flashes, 0x002C.
---
- None
- None
drivers/mtd/spi-nor/spi-nor.c | 9 ++++++---
include/linux/mtd/cfi.h | 1 +
include/linux/mtd/spi-nor.h | 3 ++-
3 files changed, 9 insertions(+), 4 deletions(-)
diff --git a/drivers/mtd/spi-nor/spi-nor.c
b/drivers/mtd/spi-nor/spi-nor.c index 9407ca5..b8b494f 100644
--- a/drivers/mtd/spi-nor/spi-nor.c
+++ b/drivers/mtd/spi-nor/spi-nor.c
@@ -284,6 +284,7 @@ static inline int set_4byte(struct spi_nor *nor, const
struct flash_info *info,
Post by Yogesh Narayan Gaur
u8 cmd;
switch (JEDEC_MFR(info)) {
/* Some Micron need WREN command; all will accept it */
need_wren = true;
@@ -1388,7 +1389,7 @@ static int spi_nor_is_locked(struct mtd_info *mtd,
loff_t ofs, uint64_t len)
Post by Yogesh Narayan Gaur
{ "mx66l1g45g", INFO(0xc2201b, 0, 64 * 1024, 2048, SECT_4K |
SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ) },
Post by Yogesh Narayan Gaur
{ "mx66l1g55g", INFO(0xc2261b, 0, 64 * 1024, 2048,
SPI_NOR_QUAD_READ) },
- /* Micron */
+ /* Micron <--> ST Micro */
{ "n25q016a", INFO(0x20bb15, 0, 64 * 1024, 32, SECT_4K |
SPI_NOR_QUAD_READ) },
Post by Yogesh Narayan Gaur
{ "n25q032", INFO(0x20ba16, 0, 64 * 1024, 64,
SPI_NOR_QUAD_READ) },
Post by Yogesh Narayan Gaur
{ "n25q032a", INFO(0x20bb16, 0, 64 * 1024, 64,
SPI_NOR_QUAD_READ) },
Post by Yogesh Narayan Gaur
@@ -3223,6 +3224,7 @@ static int spi_nor_init_params(struct spi_nor *nor,
params->quad_enable = macronix_quad_enable;
break;
break;
@@ -3671,8 +3673,9 @@ int spi_nor_scan(struct spi_nor *nor, const char
*name,
Post by Yogesh Narayan Gaur
mtd->_resume = spi_nor_resume;
/* NOR protection support for STmicro/Micron chips and similar */
- if (JEDEC_MFR(info) == SNOR_MFR_MICRON ||
- info->flags & SPI_NOR_HAS_LOCK) {
+ if (JEDEC_MFR(info) == SNOR_MFR_ST ||
+ JEDEC_MFR(info) == SNOR_MFR_MICRON ||
+ info->flags & SPI_NOR_HAS_LOCK) {
nor->flash_lock = stm_lock;
nor->flash_unlock = stm_unlock;
nor->flash_is_locked = stm_is_locked;
Are you sure ST and Micron NORs work the same way WRT locking, 4-byte
addressing mode and Quad enable?
Have checked for the Micron flash, MT35x wrt locking, 4-byte addressing mode.
For Macronix and Spansion flash there is special handling required for quad
mode but not needed for ST flash.
This flash didn't support quad mode and have checked that other Micron flash
also didn't need special handling for quad mode.
--
Regards
Yogesh Gaur.
Post by Yogesh Narayan Gaur
diff --git a/include/linux/mtd/cfi.h b/include/linux/mtd/cfi.h index
9b57a9b..cbf7716 100644
--- a/include/linux/mtd/cfi.h
+++ b/include/linux/mtd/cfi.h
@@ -377,6 +377,7 @@ struct cfi_fixup {
#define CFI_MFR_SHARP 0x00B0
#define CFI_MFR_SST 0x00BF
#define CFI_MFR_ST 0x0020 /* STMicroelectronics */
+#define CFI_MFR_MICRON 0x002C /* Micron */
#define CFI_MFR_TOSHIBA 0x0098
#define CFI_MFR_WINBOND 0x00DA
diff --git a/include/linux/mtd/spi-nor.h
b/include/linux/mtd/spi-nor.h index 7f0c730..8b1acf6 100644
--- a/include/linux/mtd/spi-nor.h
+++ b/include/linux/mtd/spi-nor.h
@@ -23,7 +23,8 @@
#define SNOR_MFR_ATMEL CFI_MFR_ATMEL
#define SNOR_MFR_GIGADEVICE 0xc8
#define SNOR_MFR_INTEL CFI_MFR_INTEL
-#define SNOR_MFR_MICRON CFI_MFR_ST /* ST Micro <-->
Micron
*/
Post by Yogesh Narayan Gaur
+#define SNOR_MFR_ST CFI_MFR_ST /* ST Micro */
+#define SNOR_MFR_MICRON CFI_MFR_MICRON /*
Micron */
Post by Yogesh Narayan Gaur
#define SNOR_MFR_MACRONIX CFI_MFR_MACRONIX
#define SNOR_MFR_SPANSION CFI_MFR_AMD
#define SNOR_MFR_SST CFI_MFR_SST
Yogesh Narayan Gaur
2018-10-12 02:23:13 UTC
Permalink
Add entry for mt35xu512aba Micron NOR flash.
This flash is having uniform sector erase size of 128KB, have
support of FSR(flag status register), flash size is 64MB and
supports 4-byte commands.

Signed-off-by: Yogesh Gaur <***@nxp.com>
Reviewed-by: Tudor Ambarus <***@microchip.com>
---
Changes for v3:
- Modified flash node style as suggested by Tudor.
Changes for v2:
- Removed checkpatch warning, 80 character limit.
drivers/mtd/spi-nor/spi-nor.c | 6 ++++++
1 file changed, 6 insertions(+)

diff --git a/drivers/mtd/spi-nor/spi-nor.c b/drivers/mtd/spi-nor/spi-nor.c
index b8b494f..0b8a6e0 100644
--- a/drivers/mtd/spi-nor/spi-nor.c
+++ b/drivers/mtd/spi-nor/spi-nor.c
@@ -1405,6 +1405,12 @@ static int spi_nor_is_locked(struct mtd_info *mtd, loff_t ofs, uint64_t len)
{ "n25q00a", INFO(0x20bb21, 0, 64 * 1024, 2048, SECT_4K | USE_FSR | SPI_NOR_QUAD_READ | NO_CHIP_ERASE) },
{ "mt25qu02g", INFO(0x20bb22, 0, 64 * 1024, 4096, SECT_4K | USE_FSR | SPI_NOR_QUAD_READ | NO_CHIP_ERASE) },

+ /* Micron */
+ {
+ "mt35xu512aba", INFO(0x2c5b1a, 0, 128 * 1024, 512,
+ SECT_4K | USE_FSR | SPI_NOR_4B_OPCODES)
+ },
+
/* PMC */
{ "pm25lv512", INFO(0, 0, 32 * 1024, 2, SECT_4K_PMC) },
{ "pm25lv010", INFO(0, 0, 32 * 1024, 4, SECT_4K_PMC) },
--
1.9.1
Boris Brezillon
2018-11-21 14:39:04 UTC
Permalink
Post by Yogesh Narayan Gaur
Some MICRON related macros in spi-nor domain were ST.
Rename entries related to STMicroelectronics under macro SNOR_MFR_ST.
Added entry of MFR Id for Micron flashes, 0x002C.
Applied to http://git.infradead.org/linux-mtd.git spi-nor/next, thanks.

Boris
Boris Brezillon
2018-11-21 14:39:01 UTC
Permalink
Post by Yogesh Narayan Gaur
Add entry for mt35xu512aba Micron NOR flash.
This flash is having uniform sector erase size of 128KB, have
support of FSR(flag status register), flash size is 64MB and
supports 4-byte commands.
Applied to http://git.infradead.org/linux-mtd.git spi-nor/next, thanks.

Boris

Loading...