From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-wi0-f170.google.com ([209.85.212.170]) by bombadil.infradead.org with esmtps (Exim 4.80.1 #2 (Red Hat Linux)) id 1WSqsX-0008TJ-AF for linux-mtd@lists.infradead.org; Wed, 26 Mar 2014 16:40:38 +0000 Received: by mail-wi0-f170.google.com with SMTP id bs8so4778629wib.1 for ; Wed, 26 Mar 2014 09:40:14 -0700 (PDT) From: Lee Jones To: linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Subject: [PATCH 12/15] mtd: st_spi_fsm: Update Spansion device entries Date: Wed, 26 Mar 2014 16:39:26 +0000 Message-Id: <1395851969-13520-13-git-send-email-lee.jones@linaro.org> In-Reply-To: <1395851969-13520-1-git-send-email-lee.jones@linaro.org> References: <1395851969-13520-1-git-send-email-lee.jones@linaro.org> Cc: angus.clark@st.com, kernel@stlinux.com, Carmelo Amoroso , linux-mtd@lists.infradead.org, computersforpeace@gmail.com, lee.jones@linaro.org List-Id: Linux MTD discussion mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , From: Angus Clark This patch updates various Spansion device entries in the flash_types[] table: - Define full 6-byte READIDs for S25FL128Sx devices (and fix the 4th byte). This allows us to differentiate between S25FL129P and S25FL128S devices. - Add S25FL128Px device entries. Signed-off-by: Angus Clark Signed-off-by: Carmelo Amoroso Signed-off-by: Lee Jones --- drivers/mtd/devices/st_spi_fsm.c | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/drivers/mtd/devices/st_spi_fsm.c b/drivers/mtd/devices/st_spi_fsm.c index ced7dca..a223d8a 100644 --- a/drivers/mtd/devices/st_spi_fsm.c +++ b/drivers/mtd/devices/st_spi_fsm.c @@ -480,6 +480,7 @@ static struct flash_info flash_types[] = { /* * Spansion S25FLxxxP * - 256KiB and 64KiB sector variants (identified by ext. JEDEC) + * - S25FL128Px devices do not support DUAL or QUAD I/O */ #define S25FLXXXP_FLAG (FLASH_FLAG_READ_WRITE | \ FLASH_FLAG_READ_1_1_2 | \ @@ -490,6 +491,12 @@ static struct flash_info flash_types[] = { FLASH_FLAG_READ_FAST) RDID_INFO("s25fl032p", RDID({0x01, 0x02, 0x15, 0x4d, 0x00}), 5, 64 * 1024, 64, S25FLXXXP_FLAG, 80, stfsm_s25fl_config), + RDID_INFO("s25fl128p1", RDID({0x01, 0x20, 0x18, 0x03, 0x00}), 5, + 256 * 1024, 64, + (FLASH_FLAG_READ_WRITE | FLASH_FLAG_READ_FAST), 104, NULL), + RDID_INFO("s25fl128p0", RDID({0x01, 0x20, 0x18, 0x03, 0x01}), 5, + 64 * 1024, 256, + (FLASH_FLAG_READ_WRITE | FLASH_FLAG_READ_FAST), 104, NULL), RDID_INFO("s25fl129p0", RDID({0x01, 0x20, 0x18, 0x4d, 0x00}), 5, 256 * 1024, 64, S25FLXXXP_FLAG, 80, stfsm_s25fl_config), RDID_INFO("s25fl129p1", RDID({0x01, 0x20, 0x18, 0x4d, 0x01}), 5, @@ -503,17 +510,18 @@ static struct flash_info flash_types[] = { * so this information is captured in the board's flags. * - Supports 'DYB' sector protection. Depending on variant, sectors * may default to locked state on power-on. + * - S25FL127Sx handled as S25FL128Sx */ #define S25FLXXXS_FLAG (S25FLXXXP_FLAG | \ FLASH_FLAG_RESET | \ FLASH_FLAG_DYB_LOCKING) - RDID_INFO("s25fl128s0", RDID({0x01, 0x20, 0x18, 0x03, 0x00}), 5, + RDID_INFO("s25fl128s0", RDID({0x01, 0x20, 0x18, 0x4d, 0x00, 0x80}), 6, 256 * 1024, 64, S25FLXXXS_FLAG, 80, stfsm_s25fl_config), - RDID_INFO("s25fl128s1", RDID({0x01, 0x20, 0x18, 0x03, 0x01}), 5, + RDID_INFO("s25fl128s1", RDID({0x01, 0x20, 0x18, 0x4d, 0x01, 0x80}), 6, 64 * 1024, 256, S25FLXXXS_FLAG, 80, stfsm_s25fl_config), - RDID_INFO("s25fl256s0", RDID({0x01, 0x02, 0x19, 0x4d, 0x00}), 5, + RDID_INFO("s25fl256s0", RDID({0x01, 0x02, 0x19, 0x4d, 0x00, 0x80}), 6, 256 * 1024, 128, S25FLXXXS_FLAG, 80, stfsm_s25fl_config), - RDID_INFO("s25fl256s1", RDID({0x01, 0x02, 0x19, 0x4d, 0x01}), 5, + RDID_INFO("s25fl256s1", RDID({0x01, 0x02, 0x19, 0x4d, 0x01, 0x80}), 6, 64 * 1024, 512, S25FLXXXS_FLAG, 80, stfsm_s25fl_config), #define W25X_FLAG (FLASH_FLAG_READ_WRITE | \ -- 1.8.3.2