Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 9 additions & 5 deletions drivers/mtd/w25.c
Original file line number Diff line number Diff line change
Expand Up @@ -100,11 +100,13 @@

#define W25_JEDEC_WINBOND 0xef /* Winbond manufacturer ID */
#define W25_JEDEC_AMIC 0x37 /* AMIC manufacturer ID */
#define W25_JEDEC_MICRON 0x20 /* Micron/STMicro manufacturer ID (N25Q/M25P) */

#define W25X_JEDEC_MEMORY_TYPE 0x30 /* W25X memory type */
#define W25Q_JEDEC_MEMORY_TYPE_A 0x40 /* W25Q memory type */
#define W25Q_JEDEC_MEMORY_TYPE_B 0x60 /* W25Q memory type */
#define W25Q_JEDEC_MEMORY_TYPE_C 0x50 /* W25Q memory type */
#define W25Q_JEDEC_MEMORY_TYPE_D 0xba /* Micron N25Q memory type */

#define W25_JEDEC_CAPACITY_8MBIT 0x14 /* 256x4096 = 8Mbit memory capacity */
#define W25_JEDEC_CAPACITY_16MBIT 0x15 /* 512x4096 = 16Mbit memory capacity */
Expand Down Expand Up @@ -390,11 +392,13 @@ static inline int w25_readid(struct w25_dev_s *priv)
/* Check for a valid manufacturer and memory type */

if ((manufacturer == W25_JEDEC_WINBOND ||
manufacturer == W25_JEDEC_AMIC) &&
(memory == W25X_JEDEC_MEMORY_TYPE ||
memory == W25Q_JEDEC_MEMORY_TYPE_A ||
memory == W25Q_JEDEC_MEMORY_TYPE_B ||
memory == W25Q_JEDEC_MEMORY_TYPE_C))
manufacturer == W25_JEDEC_AMIC ||
manufacturer == W25_JEDEC_MICRON) &&
(memory == W25X_JEDEC_MEMORY_TYPE ||
memory == W25Q_JEDEC_MEMORY_TYPE_A ||
memory == W25Q_JEDEC_MEMORY_TYPE_B ||
memory == W25Q_JEDEC_MEMORY_TYPE_C ||
memory == W25Q_JEDEC_MEMORY_TYPE_D))
{
/* Okay.. is it a FLASH capacity that we understand? If so, save
* the FLASH capacity.
Expand Down