| @@ -327,6 +327,7 @@ bool SerialFlashChip::ready() | |||
| #define ID0_MICRON 0x20 | |||
| #define ID0_MACRONIX 0xC2 | |||
| #define ID0_SST 0xBF | |||
| #define ID0_ADESTO 0x1F | |||
| //#define FLAG_32BIT_ADDR 0x01 // larger than 16 MByte address | |||
| //#define FLAG_STATUS_CMD70 0x02 // requires special busy flag check | |||
| @@ -452,6 +453,9 @@ uint32_t SerialFlashChip::capacity(const uint8_t *id) | |||
| { | |||
| uint32_t n = 1048576; // unknown chips, default to 1 MByte | |||
| if (id[0] == ID0_ADESTO && id[1] == 0x89) { | |||
| n = 1048576*16; //16MB | |||
| } else | |||
| if (id[2] >= 16 && id[2] <= 31) { | |||
| n = 1ul << id[2]; | |||
| } else | |||
| @@ -488,6 +492,7 @@ N25Q512A 4 64 | |||
| N25Q00AA 4 64 | |||
| S25FL512S 256 | |||
| SST26VF032 4 | |||
| AT25SF128A 32 64 | |||
| */ | |||
| @@ -520,5 +525,6 @@ SST26VF032 4 | |||
| // SST25VF032 4 64 BF 25 4A | |||
| // SST26VF064 8 ? BF 26 43 | |||
| // LE25U40CMC 1/2 64 62 06 13 | |||
| // Adesto AT25SF128A 16 1F 89 01 | |||
| SerialFlashChip SerialFlash; | |||