RV32 SoC DS UG
High-Perf RV32 SoC DS UG
RV64 SoC DS UG API and Examples
Embedded IDE UG
Loading...
Searching...
No Matches
spiFlash_list.h
Go to the documentation of this file.
1
2// Copyright (C) 2013-2026 Efinix Inc. All rights reserved.
3// Full license header bsp/efinix/EfxSapphireSocRV64/include/LICENSE.MD
5
6#ifndef SPI_FLASH_DEVICE_H
7#define SPI_FLASH_DEVICE_H
8
20
21#include <stdint.h>
22#include <stddef.h>
23#include "type.h"
24#include "soc.h"
25
26#ifdef __cplusplus
27extern "C" {
28#endif
29
36
37/* ========================================================================== */
38/* SUB-GROUP : FLASH CAPABILITY FLAGS */
39/* ========================================================================== */
68
77 #define FLAG_4BYTE_SUPPORT (1 << 0)
78
83 #define FLAG_4BYTE_EXIT_ISSI (1 << 1)
84
90 #define FLAG_UNLOCK_ON_PROBE (1 << 2)
92
102 #define FLAG_QE_SR2_BIT1 (1 << 3)
103
107 #define FLAG_QE_SR1_BIT6 (1 << 4)
108
110
118 #define FLAG_DREAD_SUPPORT (1 << 6)
119
123 #define FLAG_QREAD_SUPPORT (1 << 7)
125
134 #define FLAG_QE_ENABLE_VIA_SR (FLAG_QE_SR2_BIT1 | FLAG_QE_SR1_BIT6)
136 // End of SPI_FLASH_DRV_F
138
139/* ========================================================================== */
140/* SUB-GROUP : VENDOR PROFILES */
141/* ========================================================================== */
176 #define PROFILE_WINBOND_64 (FLAG_DREAD_SUPPORT | FLAG_QREAD_SUPPORT | FLAG_QE_SR2_BIT1)
177
178 #define PROFILE_WINBOND_128 (FLAG_DREAD_SUPPORT | FLAG_QE_SR2_BIT1)
179
180 #define PROFILE_MACRONIX_LARGE (FLAG_DREAD_SUPPORT | FLAG_QREAD_SUPPORT| FLAG_4BYTE_SUPPORT | \
181 FLAG_QE_SR1_BIT6 | FLAG_UNLOCK_ON_PROBE)
182
183 #define PROFILE_ISSI_LARGE (FLAG_DREAD_SUPPORT | FLAG_QREAD_SUPPORT | FLAG_4BYTE_SUPPORT | \
184 FLAG_QE_SR1_BIT6 | FLAG_4BYTE_EXIT_ISSI)
185
186 #define PROFILE_GIGA_LARGE (FLAG_QREAD_SUPPORT | FLAG_4BYTE_SUPPORT )
189
190/* ========================================================================== */
191/* SUB-GROUP : JEDEC IDENTIFIERS */
192/* ========================================================================== */
193
217 #define JEDEC_ID_GD25LB512MEYIGR 0xC8671A00
219
228 #define JEDEC_ID_W25Q128JVSIQ 0xEF401800
229
235 #define JEDEC_ID_W25Q64JWSSIQ 0xEF601700
237
246 #define JEDEC_ID_MX25U25645GZ4I00 0xC2253900
248
257 #define JEDEC_ID_IS25WP512M 0x9D701A00
259
264 #define JEDEC_ID_UNSupported 0xFFFFFFFF
266 // End of SPI_FLASH_JEDECS
269
270/* ========================================================================== */
271/* SUB-GROUP : DATA STRUCTURES */
272/* ========================================================================== */
286 typedef int (*flash_hook)(void *flash_instance);
287
349 // End of SPI_FLASH_Types
351
352
353/* ========================================================================== */
354/* SUB-GROUP : Supported Flash Device Info */
355/* ========================================================================== */
356
374 extern const spiFlash_info_t known_flash[];
375 // End of FLASH_INFO group
377
378#ifdef __cplusplus
379}
380#endif
381 // End of SPI_FLASH_LIST group
383
384#endif // SPI_FLASH_DEVICE_H
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).
uint32_t u32
Definition type.h:26