The flash chips vendors like
- Atmel
- EON
- ESMT
- Everspin
- Fujitsu
- GigaDevice
- Intel
- ISSI
- PMC
- non-JEDEC

have shared most of the spi-nor core code, so group
all of them into a common config CONFIG_SPI_NOR_MISC
this certainly reduced the individual chip configs.

Cc: Simon Glass <s...@chromium.org>
Cc: Bin Meng <bmeng...@gmail.com>
Cc: Mugunthan V N <mugunthan...@ti.com>
Cc: Michal Simek <michal.si...@xilinx.com>
Cc: Siva Durga Prasad Paladugu <siva...@xilinx.com>
Signed-off-by: Jagan Teki <jt...@openedev.com>
---
 drivers/mtd/spi-nor/Kconfig       | 17 ++++-------------
 drivers/mtd/spi-nor/spi-nor-ids.c | 21 ++++++++++++++-------
 2 files changed, 18 insertions(+), 20 deletions(-)

diff --git a/drivers/mtd/spi-nor/Kconfig b/drivers/mtd/spi-nor/Kconfig
index 15e0746..f9c6ca9 100644
--- a/drivers/mtd/spi-nor/Kconfig
+++ b/drivers/mtd/spi-nor/Kconfig
@@ -58,20 +58,11 @@ config SPI_NOR_BAR
          Bank/Extended address registers are used to access the flash
          which has size > 16MiB in 3-byte addressing.
 
-config SPI_FLASH_ATMEL
-       bool "Atmel SPI flash support"
+config SPI_NOR_MISC
+       bool "Miscellaneous SPI NOR flash's support"
        help
-         Add support for various Atmel SPI flash chips (AT45xxx and AT25xxx)
-
-config SPI_FLASH_EON
-       bool "EON SPI flash support"
-       help
-         Add support for various EON SPI flash chips (EN25xxx)
-
-config SPI_FLASH_GIGADEVICE
-       bool "GigaDevice SPI flash support"
-       help
-         Add support for various GigaDevice SPI flash chips (GD25xxx)
+         Add support for various Atmel, EON, ESMT, Everspin, Fujitsu,
+         GigaDevice, Intel, ISSI, PMC and non-JEDEC SPI NOR flash chips.
 
 config SPI_NOR_MACRONIX
        bool "Macronix SPI flash support"
diff --git a/drivers/mtd/spi-nor/spi-nor-ids.c 
b/drivers/mtd/spi-nor/spi-nor-ids.c
index b523948..4c22140 100644
--- a/drivers/mtd/spi-nor/spi-nor-ids.c
+++ b/drivers/mtd/spi-nor/spi-nor-ids.c
@@ -41,6 +41,7 @@
                .flash_read = _flash_read,                                      
\
                .flags = (_flags),
 
+#ifdef CONFIG_SPI_NOR_MISC
 #define CAT25_INFO(_sector_size, _n_sectors, _page_size, _addr_width, 
_flash_read, _flags)     \
                .sector_size = (_sector_size),                          \
                .n_sectors = (_n_sectors),                              \
@@ -48,6 +49,7 @@
                .addr_width = (_addr_width),                            \
                .flash_read = _flash_read,                                      
\
                .flags = (_flags),
+#endif
 
 /* NOTE: double check command sets and memory organization when you add
  * more nor chips.  This current list focusses on newer chips, which
@@ -61,7 +63,7 @@
  * old entries may be missing 4K flag.
  */
 const struct spi_nor_info spi_nor_ids[] = {
-#ifdef CONFIG_SPI_FLASH_ATMEL          /* ATMEL */
+#ifdef CONFIG_SPI_NOR_MISC
        /* Atmel -- some are (confusingly) marketed as "DataFlash" */
        { "at25fs010",  INFO(0x1f6601, 0, 32 * 1024,   4, SNOR_READ_BASE, 
SECT_4K) },
        { "at25fs040",  INFO(0x1f6604, 0, 64 * 1024,   8, SNOR_READ_BASE, 
SECT_4K) },
@@ -83,7 +85,7 @@ const struct spi_nor_info spi_nor_ids[] = {
        { "at45db321d", INFO(0x1f2700, 0, 64 * 1024,  64, SNOR_READ_BASE, 
SECT_4K) },
        { "at45db641d", INFO(0x1f2800, 0, 64 * 1024, 128, SNOR_READ_BASE, 
SECT_4K) },
 #endif
-#ifdef CONFIG_SPI_FLASH_EON            /* EON */
+#ifdef CONFIG_SPI_NOR_MISC
        /* EON -- en25xxx */
        { "en25f32",    INFO(0x1c3116, 0, 64 * 1024,   64, SNOR_READ_BASE, 
SECT_4K) },
        { "en25p32",    INFO(0x1c2016, 0, 64 * 1024,   64, SNOR_READ_BASE, 0) },
@@ -95,6 +97,7 @@ const struct spi_nor_info spi_nor_ids[] = {
        { "en25qh256",  INFO(0x1c7019, 0, 64 * 1024,  512, SNOR_READ_BASE, 0) },
        { "en25s64",    INFO(0x1c3817, 0, 64 * 1024,  128, SNOR_READ_BASE, 
SECT_4K) },
 #endif
+#ifdef CONFIG_SPI_NOR_MISC
        /* ESMT */
        { "f25l32pa", INFO(0x8c2016, 0, 64 * 1024, 64, SNOR_READ_BASE, SECT_4K) 
},
 
@@ -104,20 +107,21 @@ const struct spi_nor_info spi_nor_ids[] = {
 
        /* Fujitsu */
        { "mb85rs1mt", INFO(0x047f27, 0, 128 * 1024, 1, SNOR_READ_BASE, 
SPI_NOR_NO_ERASE) },
-
-#ifdef CONFIG_SPI_FLASH_GIGADEVICE     /* GIGADEVICE */
+#endif
+#ifdef CONFIG_SPI_NOR_MISC
        /* GigaDevice */
        { "gd25q32", INFO(0xc84016, 0, 64 * 1024,  64, SNOR_READ_BASE, SECT_4K) 
},
        { "gd25q64", INFO(0xc84017, 0, 64 * 1024, 128, SNOR_READ_BASE, SECT_4K) 
},
        { "gd25q128", INFO(0xc84018, 0, 64 * 1024, 256, SNOR_READ_BASE, 
SECT_4K) },
        { "gd25lq32", INFO(0xc86016, 0, 64 * 1024,  64, SNOR_READ_BASE, 
SECT_4K) },
 #endif
+#ifdef CONFIG_SPI_NOR_MISC
        /* Intel/Numonyx -- xxxs33b */
        { "160s33b",  INFO(0x898911, 0, 64 * 1024,  32, SNOR_READ_BASE, 0) },
        { "320s33b",  INFO(0x898912, 0, 64 * 1024,  64, SNOR_READ_BASE, 0) },
        { "640s33b",  INFO(0x898913, 0, 64 * 1024, 128, SNOR_READ_BASE, 0) },
-
-#ifdef CONFIG_SPI_FLASH_ISSI           /* ISSI */
+#endif
+#ifdef CONFIG_SPI_NOR_MISC
        /* ISSI */
        { "is25cd512", INFO(0x7f9d20, 0, 32 * 1024,   2, SNOR_READ_BASE, 
SECT_4K) },
        { "is25lp032", INFO(0x9d6016, 0, 64 * 1024,  64, SNOR_READ_BASE, 0) },
@@ -154,11 +158,12 @@ const struct spi_nor_info spi_nor_ids[] = {
        { "n25q512ax3",  INFO(0x20ba20, 0, 64 * 1024, 1024, SNOR_READ_FULL, 
SNOR_WRITE_QUAD | SECT_4K | USE_FSR) },
        { "n25q00",      INFO(0x20ba21, 0, 64 * 1024, 2048, SNOR_READ_FULL, 
SNOR_WRITE_QUAD | SECT_4K | USE_FSR) },
 #endif
+#ifdef CONFIG_SPI_NOR_MISC
        /* PMC */
        { "pm25lv512",   INFO(0,        0, 32 * 1024,    2, SNOR_READ_BASE, 
SECT_4K_PMC) },
        { "pm25lv010",   INFO(0,        0, 32 * 1024,    4, SNOR_READ_BASE, 
SECT_4K_PMC) },
        { "pm25lq032",   INFO(0x7f9d46, 0, 64 * 1024,   64, SNOR_READ_BASE, 
SECT_4K) },
-
+#endif
 #ifdef CONFIG_SPI_NOR_SPANSION /* SPANSION */
        /* Spansion -- single (large) sector size only, at least
         * for the chips listed here (without boot sectors).
@@ -266,11 +271,13 @@ const struct spi_nor_info spi_nor_ids[] = {
        { "w25q64dw", INFO(0xef6017, 0, 64 * 1024, 128, SNOR_READ_FULL, 
SNOR_WRITE_QUAD | SECT_4K) },
        { "w25q128fw", INFO(0xef6018, 0, 64 * 1024, 256, SNOR_READ_FULL, 
SNOR_WRITE_QUAD | SECT_4K) },
 #endif
+#ifdef CONFIG_SPI_NOR_MISC
        /* Catalyst / On Semiconductor -- non-JEDEC */
        { "cat25c11", CAT25_INFO(  16, 8, 16, 1, SNOR_READ_BASE, 
SPI_NOR_NO_ERASE | SPI_NOR_NO_FR) },
        { "cat25c03", CAT25_INFO(  32, 8, 16, 2, SNOR_READ_BASE, 
SPI_NOR_NO_ERASE | SPI_NOR_NO_FR) },
        { "cat25c09", CAT25_INFO( 128, 8, 32, 2, SNOR_READ_BASE, 
SPI_NOR_NO_ERASE | SPI_NOR_NO_FR) },
        { "cat25c17", CAT25_INFO( 256, 8, 32, 2, SNOR_READ_BASE, 
SPI_NOR_NO_ERASE | SPI_NOR_NO_FR) },
        { "cat25128", CAT25_INFO(2048, 8, 64, 2, SNOR_READ_BASE, 
SPI_NOR_NO_ERASE | SPI_NOR_NO_FR) },
+#endif
        { },
 };
-- 
1.9.1

_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot

Reply via email to