9#ifndef FLASH_COMMON_CONFIG_H
10#define FLASH_COMMON_CONFIG_H
20#define WAIT_CYCLES_0 0x0
21#define WAIT_CYCLES_1 0x1
22#define WAIT_CYCLES_2 0x2
23#define WAIT_CYCLES_3 0x3
24#define WAIT_CYCLES_4 0x4
25#define WAIT_CYCLES_5 0x5
26#define WAIT_CYCLES_6 0x6
27#define WAIT_CYCLES_7 0x7
28#define WAIT_CYCLES_8 0x8
29#define WAIT_CYCLES_9 0x9
30#define WAIT_CYCLES_10 0x0A
33#define FLASH_WREN_CMD 0x06
34#define FLASH_WRDI_CMD 0x04
35#define FLASH_RDID_CMD 0x9F
36#define FLASH_RDSR1_CMD 0x05
37#define FLASH_WRSR1_CMD 0x01
38#define FLASH_RDSR2_CMD 0x35
39#define FLASH_WRSR2_CMD 0x31
40#define FLASH_RDSR3_CMD 0x15
41#define FLASH_WRSR3_CMD 0x11
42#define FLASH_SE_CMD 0x20
43#define FLASH_BE_CMD 0xD8
44#define FLASH_BE32K_CMD 0x52
45#define FLASH_CE_CMD 0xC7
46#define FLASH_DUMMY_CMD 0xC0
47#define FLASH_PP_CMD 0x02
48#define FLASH_4PP_CMD 0x38
49#define FLASH_DP_CMD 0xB9
50#define FLASH_RDP_CMD 0xAB
51#define FLASH_RD_CMD 0x03
52#define FLASH_FRD_CMD 0x0B
53#define FLASH_QRD_CMD 0xEB
54#define FLASH_RSTEN_CMD 0x66
55#define FLASH_RST_CMD 0x99
56#define FLASH_RDB_CMD 0xAB
58#define FLASH_MSID_CMD 0x90
59#define FLASH_UQID_CMD 0x4B
61#define FLASH_DATA_ONE_BYTE 0
62#define FLASH_DUMMY 0x0
64#define FLASH_XIP_TRANS_2_BYTE 0x1
65#define FLASH_XIP_TRANS_8_BYTE 0x7
67#define FLASH_QSPI_TRANSMIT_DMA_ENABLE 1
68#define FLASH_QSPI_TRANSMIT_DMA_DISABLE 2
70#define FLASH_WRITE_MAX_TRANS_CNT 0x100
71#define FLASH_CMD_LENGTH_4_BYTE 4
72#define MANUFACTURE_ID_LENGTH 3
73#define DEVICE_ID_LENGTH 2
76#define FLASH_MANUFACTURER_MXIC_MX25R80 0x1428C2
77#define FLASH_MANUFACTURER_MXIC_MX25R32 0x1628C2
78#define FLASH_MANUFACTURER_MXIC_MX25R64 0x1728C2
79#define FLASH_MANUFACTURER_MXIC_MX25U64 0x3725C2
80#define FLASH_MANUFACTURER_MXIC_MX25U128 0x3825C2
81#define FLASH_MANUFACTURER_MXIC_MX25U12843 0xC22538
83#define FLASH_MANUFACTURER_WINBOND_W25Q32 0x1660EF
85#define FLASH_MANUFACTURER_WINBOND_W25Q64 0x1760EF
87#define FLASH_MANUFACTURER_WINBOND_W25Q128 0x1860EF
88#define FLASH_MANUFACTURER_WINBOND_W25Q128JW 0x1880EF
89#define FLASH_MANUFACTURER_WINBOND_W25Q256 0x1960EF
90#define FLASH_MANUFACTURER_MICRON_MT25QU128 0x18BB20
91#define FLASH_MANUFACTURER_MICRON_MT25QU256 0x19BB20
93#define FLASH_MANUFACTURER_GIGADEVICE_GD25WQ64 0x1765C8
95#define FLASH_MANUFACTURER_GIGADEVICE_GD25LE64EX 0x1760C8
97#define FLASH_MANUFACTURER_GIGADEVICE_GD25LX128 0x1860C8
98#define FLASH_MANUFACTURER_GIGADEVICE_GD25LQ256 0x1960C8
99#define FLASH_MANUFACTURER_DOSILICON_FM25M64 0x1743F8
101#define FLASH_MANUFACTURER_GIGADEVICE_GD25LQ32D 0x1660C8
103#define FLASH_MANUFACTURER_DOSILICON_FM25M4AA 0x1842F8
105#define FLASH_MANUFACTURER_PUYA_P25Q32LX 0x166085
106#define FLASH_MANUFACTURER_PUYA_P25Q64SL 0x176085
108#define FLASH_MANUFACTURER_ADESTO_AT25SL128A 0x18421F
110#define FLASH_MANUFACTURER_MXIC_MX25U32 0x3625C2
111#define FLASH_MANUFACTURER_MXIC_MX25U256 0x3925C2
112#define FLASH_MANUFACTURER_ELITE_EN25SX128A 0x18781C
114#define FLASH_MANUFACTURER_DOSILICON_DS25M4AB 0x1842E5
115#define FLASH_MANUFACTURER_ELITE_EN25S32A 0x16381C
116#define FLASH_MANUFACTURER_XTX_XT25Q64D 0x17600B
117#define FLASH_MANUFACTURER_XTX_XT25Q128D 0x18600B
119#define FLASH_CMD_LEN_MAX 4
121#define addr_unalign(Addr, Boundary) ((Addr) & ((Boundary) - 1))
122#define addr_unalign_4b(Addr) addr_unalign((Addr), 4)
124#define FLASH_SIZE_4MB 0x400000
125#define FLASH_SIZE_8MB 0x800000
126#define FLASH_SIZE_16MB 0x1000000
127#define FLASH_SIZE_32MB 0x2000000
129#define FLASH_PAGE_SIZE 4096
131#define FLASH_BLOCK_32K_SIZE 0x8000
132#define FLASH_BLOCK_64K_SIZE 0x10000
134#define FLASH_W25Q64JWBYIQ_UNIQUE_ID 0xEC
135#define FLASH_W25Q32JWBYIQ_UNIQUE_ID 0xE9
136#define FLASH_W25Q128JWBYIQ_UNIQUE_ID 0xEB
struct flash_qspi_xip_config flash_qspi_xip_config_t
Flash进出xip配置。
#define FLASH_W25Q64JWBYIQ_UNIQUE_ID
Definition flash_common_config.h:134
#define FLASH_CMD_LEN_MAX
Definition flash_common_config.h:119
flash_cmd_type
Flash cmd type.
Definition flash_common_config.h:191
#define FLASH_MANUFACTURER_WINBOND_W25Q32
Definition flash_common_config.h:83
flash_support_manufacturer
支持的flash。
Definition flash_common_config.h:154
struct flash_cfg flash_cfg_t
Flash基础配置。
enum flash_cmd_type flash_cmd_type_t
Flash cmd type.
struct flash_qe_config flash_qe_config_t
Flash qspi使能配置。
struct flash_cmd_exe flash_cmd_exe_t
Flash 命令。
#define FLASH_MANUFACTURER_WINBOND_W25Q128
Definition flash_common_config.h:87
enum flash_support_manufacturer flash_support_manufacturer_t
支持的flash。
#define FLASH_W25Q32JWBYIQ_UNIQUE_ID
Definition flash_common_config.h:135
#define FLASH_W25Q128JWBYIQ_UNIQUE_ID
Definition flash_common_config.h:136
#define FLASH_MANUFACTURER_WINBOND_W25Q64
Definition flash_common_config.h:85
@ FLASH_CMD_TYPE_PROCESSING
Definition flash_common_config.h:193
@ FLASH_CMD_TYPE_CHECK
Definition flash_common_config.h:194
@ FLASH_CMD_TYPE_END
Definition flash_common_config.h:195
@ FLASH_CMD_TYPE_CMD
Definition flash_common_config.h:192
@ FLASH_ELITE_EN25SX128A
Definition flash_common_config.h:177
@ FLASH_GIGADEVICE_GD25LQ256
Definition flash_common_config.h:169
@ FLASH_XTX_XT25Q128D
Definition flash_common_config.h:181
@ FLASH_DOSILICON_FM25M4AA
Definition flash_common_config.h:172
@ FLASH_GIGADEVICE_GD25LB128
Definition flash_common_config.h:168
@ FLASH_MXIC_MX25U128
Definition flash_common_config.h:158
@ FLASH_GIGADEVICE_GD25LE64E
Definition flash_common_config.h:167
@ FLASH_MXIC_MX25U12843
Definition flash_common_config.h:176
@ FLASH_WINBOND_W25Q128JW
Definition flash_common_config.h:162
@ FLASH_WINBOND_W25Q128
Definition flash_common_config.h:161
@ FLASH_PUYA_P25Q64SL
Definition flash_common_config.h:182
@ FLASH_WINBOND_W25Q64
Definition flash_common_config.h:160
@ FLASH_GIGADEVICE_GD25LQ32D
Definition flash_common_config.h:171
@ FLASH_WINBOND_W25Q32
Definition flash_common_config.h:159
@ FLASH_XTX_XT25Q64D
Definition flash_common_config.h:180
@ FLASH_ELITE_EN25S32A
Definition flash_common_config.h:179
@ FLASH_MXIC_MX25U64
Definition flash_common_config.h:157
@ FLASH_DOSILICON_DS25M4AB
Definition flash_common_config.h:178
@ FLASH_MANUFACTURER_MAX
Definition flash_common_config.h:185
@ FLASH_ADESTO_AT25SL128A
Definition flash_common_config.h:174
@ FLASH_MICRON_MT25QU128
Definition flash_common_config.h:164
@ FLASH_MXIC_MX25R32
Definition flash_common_config.h:155
@ FLASH_MXIC_MX25R64
Definition flash_common_config.h:156
@ FLASH_MXIC_MX25U256
Definition flash_common_config.h:183
@ FLASH_WINBOND_W25Q256
Definition flash_common_config.h:163
@ FLASH_PUYA_P25Q32LC
Definition flash_common_config.h:173
@ FLASH_GIGADEVICE_GD25WQ64
Definition flash_common_config.h:166
@ FLASH_MICRON_MT25QU256
Definition flash_common_config.h:165
@ FLASH_MXIC_MX25R80
Definition flash_common_config.h:184
@ FLASH_MXIC_MX25U32
Definition flash_common_config.h:175
@ FLASH_DOSILICON_FM25M64
Definition flash_common_config.h:170
enum hal_spi_frame_format hal_spi_frame_format_t
SPI数据帧格式。
Flash基础配置。
Definition flash_common_config.h:267
uint32_t qspi_isinit
Definition flash_common_config.h:270
spi_bus_t bus
Definition flash_common_config.h:276
bool is_xip
Definition flash_common_config.h:280
uint32_t unique_id
Definition flash_common_config.h:274
flash_support_manufacturer_t flash_manufacturer
Definition flash_common_config.h:272
spi_attr_t attr
Definition flash_common_config.h:284
bool need_cmd_at_xip_mode
Definition flash_common_config.h:282
uint32_t isinit
Definition flash_common_config.h:268
spi_extra_attr_t extra_attr
Definition flash_common_config.h:286
hal_spi_frame_format_t mode
Definition flash_common_config.h:278
Flash 命令。
Definition flash_common_config.h:205
uint8_t cmd[4]
Definition flash_common_config.h:212
hal_spi_frame_format_t spi_frf_mode
Definition flash_common_config.h:208
flash_cmd_type_t cmd_type
Definition flash_common_config.h:206
uint8_t cmd_len
Definition flash_common_config.h:210
Flash qspi使能配置。
Definition flash_common_config.h:253
uint32_t manufacturer_id
Definition flash_common_config.h:254
flash_cmd_exe_t * flash_set_qe_cmd
Definition flash_common_config.h:256
Flash进出xip配置。
Definition flash_common_config.h:223
uint32_t enter_xip_after_wait_cycles_config
Definition flash_common_config.h:232
bool enter_xip_after_enable_32bit_addr
Definition flash_common_config.h:240
uint32_t enter_xip_before_trans_type
Definition flash_common_config.h:230
uint32_t enter_xip_after_inst_l
Definition flash_common_config.h:234
uint32_t enter_xip_before_wait_cycles_config
Definition flash_common_config.h:224
uint32_t enter_xip_after_trans_type
Definition flash_common_config.h:238
uint32_t enter_xip_after_addr_l
Definition flash_common_config.h:236
uint32_t enter_xip_before_inst_l
Definition flash_common_config.h:226
bool enter_xip_after_enable_wrap
Definition flash_common_config.h:242
uint32_t enter_xip_before_addr_l
Definition flash_common_config.h:228
SPI基础配置参数定义。
Definition hal_spi.h:397