6#ifndef SPI_FLASH_DEVICE_H
7#define SPI_FLASH_DEVICE_H
77 #define FLAG_4BYTE_SUPPORT (1 << 0)
83 #define FLAG_4BYTE_EXIT_ISSI (1 << 1)
90 #define FLAG_UNLOCK_ON_PROBE (1 << 2)
102 #define FLAG_QE_SR2_BIT1 (1 << 3)
107 #define FLAG_QE_SR1_BIT6 (1 << 4)
118 #define FLAG_DREAD_SUPPORT (1 << 6)
123 #define FLAG_QREAD_SUPPORT (1 << 7)
134 #define FLAG_QE_ENABLE_VIA_SR (FLAG_QE_SR2_BIT1 | FLAG_QE_SR1_BIT6)
176 #define PROFILE_WINBOND_64 (FLAG_DREAD_SUPPORT | FLAG_QREAD_SUPPORT | FLAG_QE_SR2_BIT1)
178 #define PROFILE_WINBOND_128 (FLAG_DREAD_SUPPORT | FLAG_QE_SR2_BIT1)
180 #define PROFILE_MACRONIX_LARGE (FLAG_DREAD_SUPPORT | FLAG_QREAD_SUPPORT| FLAG_4BYTE_SUPPORT | \
181 FLAG_QE_SR1_BIT6 | FLAG_UNLOCK_ON_PROBE)
183 #define PROFILE_ISSI_LARGE (FLAG_DREAD_SUPPORT | FLAG_QREAD_SUPPORT | FLAG_4BYTE_SUPPORT | \
184 FLAG_QE_SR1_BIT6 | FLAG_4BYTE_EXIT_ISSI)
186 #define PROFILE_GIGA_LARGE (FLAG_QREAD_SUPPORT | FLAG_4BYTE_SUPPORT )
217 #define JEDEC_ID_GD25LB512MEYIGR 0xC8671A00
228 #define JEDEC_ID_W25Q128JVSIQ 0xEF401800
235 #define JEDEC_ID_W25Q64JWSSIQ 0xEF601700
246 #define JEDEC_ID_MX25U25645GZ4I00 0xC2253900
257 #define JEDEC_ID_IS25WP512M 0x9D701A00
264 #define JEDEC_ID_UNSupported 0xFFFFFFFF
const spiFlash_info_t known_flash[]
Internal table of factory-supported SPI Flash devices.
int(* flash_hook)(void *flash_instance)
Post-Initialization Hook Function Pointer.
SPI Flash Device Descriptor.
const char * part_no
String representation of Part Number (e.g., "W25Q128").
flash_hook post_init_hook
Optional callback (NULL if unused).
u32 jedec_id
Expected JEDEC ID (Manuf + Type + Cap).
u32 flags
Capability Flags (Flash Capability Flags).