From patchwork Tue Mar 22 07:38:15 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jagan Teki X-Patchwork-Id: 600468 X-Patchwork-Delegate: jagannadh.teki@gmail.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from theia.denx.de (theia.denx.de [85.214.87.163]) by ozlabs.org (Postfix) with ESMTP id 3qTlJV14gzz9s5l for ; Tue, 22 Mar 2016 18:51:38 +1100 (AEDT) Received: from localhost (localhost [127.0.0.1]) by theia.denx.de (Postfix) with ESMTP id 4CF42A77C9; Tue, 22 Mar 2016 08:45:50 +0100 (CET) Received: from theia.denx.de ([127.0.0.1]) by localhost (theia.denx.de [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 1HoeMWXHFgIP; Tue, 22 Mar 2016 08:45:50 +0100 (CET) Received: from theia.denx.de (localhost [127.0.0.1]) by theia.denx.de (Postfix) with ESMTP id B7D3AA78D7; Tue, 22 Mar 2016 08:45:20 +0100 (CET) Received: from localhost (localhost [127.0.0.1]) by theia.denx.de (Postfix) with ESMTP id 21C11A7823 for ; Tue, 22 Mar 2016 08:44:29 +0100 (CET) Received: from theia.denx.de ([127.0.0.1]) by localhost (theia.denx.de [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id l7qzy7Vy4bZj for ; Tue, 22 Mar 2016 08:44:29 +0100 (CET) X-policyd-weight: NOT_IN_SBL_XBL_SPAMHAUS=-1.5 NOT_IN_SPAMCOP=-1.5 NOT_IN_BL_NJABL=-1.5 (only DNSBL check requested) Received: from mail-pf0-f196.google.com (mail-pf0-f196.google.com [209.85.192.196]) by theia.denx.de (Postfix) with ESMTPS id 2A3A2A7839 for ; Tue, 22 Mar 2016 08:43:47 +0100 (CET) Received: by mail-pf0-f196.google.com with SMTP id q129so34872756pfb.3 for ; Tue, 22 Mar 2016 00:43:47 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=ZtREuwwK9fh/UMPKKMwlTEwNEyKprClx7s0lfAxCAnE=; b=XoswYTC1qyzbp5pEKao7kunKgRFCfAk1gkNVSMLwc4E5OrnJkFUD0eodefX8VqZmAc H/KUE+j22nYlWnTanIkUvbQp6hPu1y6LwZWKfzzt43CHCQJwhdAOa0UJfWbERmIj08BZ HLdqZS1/SABGD7WEJTO+PB1IwZptkmdRVe+qcYpeMfYBhUs3VfAg60C/w+3xQKVvNAYp FG2cl6dqF9dyjjfZm3+CJfKn+zx2meJRsX38x2TBhXFQ5u+Xf/pKxbJpRAE2mTyAbXRC KxIdiedpBm8pWpqfHsESfBhyBYZMWHUSalIOwUSX1GHzkGHN6e2etFro4tO7l9uQMBVn vTbw== X-Gm-Message-State: AD7BkJLQdhJyFMFluaiLawH6wF6AI2s341PliBl3rJat10vwRloFvjCEKDouer46BgxATA== X-Received: by 10.66.140.14 with SMTP id rc14mr51913499pab.65.1458632626385; Tue, 22 Mar 2016 00:43:46 -0700 (PDT) Received: from jteki-Latitude-E7450.amcc.com ([182.73.239.130]) by smtp.gmail.com with ESMTPSA id ko9sm45814957pab.37.2016.03.22.00.43.41 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Tue, 22 Mar 2016 00:43:45 -0700 (PDT) From: Jagan Teki To: u-boot@lists.denx.de Date: Tue, 22 Mar 2016 13:08:15 +0530 Message-Id: <1458632319-24866-63-git-send-email-jteki@openedev.com> X-Mailer: git-send-email 1.9.1 In-Reply-To: <1458632319-24866-1-git-send-email-jteki@openedev.com> References: <1458632319-24866-1-git-send-email-jteki@openedev.com> Cc: Michal Simek , Siva Durga Prasad Paladugu , Jagan Teki Subject: [U-Boot] [PATCH v7 63/87] mtd: spi-nor: Add CONFIG_SPI_NOR_MISC X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.15 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" 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 Cc: Bin Meng Cc: Mugunthan V N Cc: Michal Simek Cc: Siva Durga Prasad Paladugu Signed-off-by: Jagan Teki --- 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 { }, };