diff options
Diffstat (limited to 'include/linux/mtd/cfi.h')
-rw-r--r-- | include/linux/mtd/cfi.h | 30 |
1 files changed, 21 insertions, 9 deletions
diff --git a/include/linux/mtd/cfi.h b/include/linux/mtd/cfi.h index df89f4275232..574d9ee066f1 100644 --- a/include/linux/mtd/cfi.h +++ b/include/linux/mtd/cfi.h | |||
@@ -253,6 +253,7 @@ struct cfi_bri_query { | |||
253 | #define P_ID_MITSUBISHI_STD 0x0100 | 253 | #define P_ID_MITSUBISHI_STD 0x0100 |
254 | #define P_ID_MITSUBISHI_EXT 0x0101 | 254 | #define P_ID_MITSUBISHI_EXT 0x0101 |
255 | #define P_ID_SST_PAGE 0x0102 | 255 | #define P_ID_SST_PAGE 0x0102 |
256 | #define P_ID_SST_OLD 0x0701 | ||
256 | #define P_ID_INTEL_PERFORMANCE 0x0200 | 257 | #define P_ID_INTEL_PERFORMANCE 0x0200 |
257 | #define P_ID_INTEL_DATA 0x0210 | 258 | #define P_ID_INTEL_DATA 0x0210 |
258 | #define P_ID_RESERVED 0xffff | 259 | #define P_ID_RESERVED 0xffff |
@@ -297,7 +298,7 @@ static inline uint32_t cfi_build_cmd_addr(uint32_t cmd_ofs, | |||
297 | * and 32bit devices on 16 bit busses | 298 | * and 32bit devices on 16 bit busses |
298 | * set the low bit of the alternating bit sequence of the address. | 299 | * set the low bit of the alternating bit sequence of the address. |
299 | */ | 300 | */ |
300 | if (((type * interleave) > bankwidth) && ((uint8_t)cmd_ofs == 0xaa)) | 301 | if (((type * interleave) > bankwidth) && ((cmd_ofs & 0xff) == 0xaa)) |
301 | addr |= (type >> 1)*interleave; | 302 | addr |= (type >> 1)*interleave; |
302 | 303 | ||
303 | return addr; | 304 | return addr; |
@@ -515,14 +516,25 @@ struct cfi_fixup { | |||
515 | void* param; | 516 | void* param; |
516 | }; | 517 | }; |
517 | 518 | ||
518 | #define CFI_MFR_ANY 0xffff | 519 | #define CFI_MFR_ANY 0xFFFF |
519 | #define CFI_ID_ANY 0xffff | 520 | #define CFI_ID_ANY 0xFFFF |
520 | 521 | #define CFI_MFR_CONTINUATION 0x007F | |
521 | #define CFI_MFR_AMD 0x0001 | 522 | |
522 | #define CFI_MFR_INTEL 0x0089 | 523 | #define CFI_MFR_AMD 0x0001 |
523 | #define CFI_MFR_ATMEL 0x001F | 524 | #define CFI_MFR_ATMEL 0x001F |
524 | #define CFI_MFR_SAMSUNG 0x00EC | 525 | #define CFI_MFR_EON 0x001C |
525 | #define CFI_MFR_ST 0x0020 /* STMicroelectronics */ | 526 | #define CFI_MFR_FUJITSU 0x0004 |
527 | #define CFI_MFR_HYUNDAI 0x00AD | ||
528 | #define CFI_MFR_INTEL 0x0089 | ||
529 | #define CFI_MFR_MACRONIX 0x00C2 | ||
530 | #define CFI_MFR_NEC 0x0010 | ||
531 | #define CFI_MFR_PMC 0x009D | ||
532 | #define CFI_MFR_SAMSUNG 0x00EC | ||
533 | #define CFI_MFR_SHARP 0x00B0 | ||
534 | #define CFI_MFR_SST 0x00BF | ||
535 | #define CFI_MFR_ST 0x0020 /* STMicroelectronics */ | ||
536 | #define CFI_MFR_TOSHIBA 0x0098 | ||
537 | #define CFI_MFR_WINBOND 0x00DA | ||
526 | 538 | ||
527 | void cfi_fixup(struct mtd_info *mtd, struct cfi_fixup* fixups); | 539 | void cfi_fixup(struct mtd_info *mtd, struct cfi_fixup* fixups); |
528 | 540 | ||