Skip to content

Commit 8a2644d

Browse files
saschahauerambarus
authored andcommitted
mtd: spi-nor: Add support for Cypress cy15x104q
The Cypress cy15b104q and cy15v104q are 4Mbit serial SPI F-RAM devices. Add support for them to the spi-nor driver. The actual Device ID of this chip is 7f 7f 7f 7f 7f 7f c2 2c 04. That is six times the continuation code 7f followed by c2 for Ramtron. Unfortunately the chip sends the Device ID in reversed order, so the continuation code is not at the beginning, but instead at the end. Even more unfortunate is that when reading further the chip sends more 7f codes which means we are not even able to count the continuation codes. We can only hope that this reversed Device ID will never match any other devices ID. Collisions are improbable as of now, the solution from above is good enough. In case of future collisions one can introduce an INFO9 macro, with the downsize that struct flash_info would grow and we have lots of flashes. A more elegant solution would be to introduce dedicated flash ID tables for each bank in JESP106BA. Signed-off-by: Sascha Hauer <[email protected]> [[email protected]: amend commit description with possible future solutions in case collisions occur.] Signed-off-by: Tudor Ambarus <[email protected]>
1 parent 1ac71ec commit 8a2644d

File tree

1 file changed

+2
-0
lines changed

1 file changed

+2
-0
lines changed

drivers/mtd/spi-nor/spansion.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -102,6 +102,8 @@ static const struct flash_info spansion_parts[] = {
102102
{ "s25fl256l", INFO(0x016019, 0, 64 * 1024, 512,
103103
SECT_4K | SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ |
104104
SPI_NOR_4B_OPCODES) },
105+
{ "cy15x104q", INFO6(0x042cc2, 0x7f7f7f, 512 * 1024, 1,
106+
SPI_NOR_NO_ERASE) },
105107
};
106108

107109
static void spansion_post_sfdp_fixups(struct spi_nor *nor)

0 commit comments

Comments
 (0)