19 #if !defined(QSPI_FLASH_SANITY_CHECKS)
25 #define QSPI_FLASH_SANITY_CHECKS 0
94 size_t page_size_bytes;
96 size_t flash_size_kbytes;
106 uint32_t busy_poll_cmd;
107 uint8_t busy_poll_bit;
108 uint8_t busy_poll_ready_value;
113 uint32_t sr2_read_cmd;
114 uint32_t sr2_write_cmd;
137 #define QSPI_FLASH_STATUS_REG_WIP_BM 0x01
143 #define QSPI_FLASH_STATUS_REG_WEL_BM 0x02
158 uint32_t size_log2 = ctx->erase_info[erase_type].size_log2;
159 return size_log2 > 0 ? (1 << size_log2) : 0;
180 return ctx->erase_info[erase_type].size_log2;
void qspi_flash_write(qspi_flash_ctx_t *ctx, const uint8_t *data, uint32_t address, size_t len)
void qspi_flash_write_nibble_swapped(qspi_flash_ctx_t *ctx, const uint8_t *data, uint32_t address, size_t len)
void qspi_flash_xip_read(qspi_flash_ctx_t *ctx, uint8_t *data, uint32_t address, size_t len)
bool qspi_flash_write_in_progress(qspi_flash_ctx_t *ctx)
void qspi_flash_deinit(qspi_flash_ctx_t *ctx)
qspi_flash_page_program_cmd_t
Definition: qspi_flash.h:28
void qspi_flash_write_enable(qspi_flash_ctx_t *ctx)
void qspi_flash_read_nibble_swapped(qspi_flash_ctx_t *ctx, uint8_t *data, uint32_t address, size_t len)
void qspi_flash_fast_read(qspi_flash_ctx_t *ctx, uint8_t *data, uint32_t address, size_t len)
void qspi_flash_write_disable(qspi_flash_ctx_t *ctx)
void qspi_flash_xip_read_nibble_swapped(qspi_flash_ctx_t *ctx, uint8_t *data, uint32_t address, size_t len)
bool qspi_flash_quad_enable_write(qspi_flash_ctx_t *ctx, bool set)
void qspi_flash_read_status_register(qspi_flash_ctx_t *ctx, uint8_t *val, size_t len)
void qspi_flash_read_register(qspi_flash_ctx_t *ctx, uint32_t cmd, uint8_t *val, size_t len)
void qspi_flash_read(qspi_flash_ctx_t *ctx, uint8_t *data, uint32_t address, size_t len)
void qspi_flash_wait_while_write_in_progress(qspi_flash_ctx_t *ctx)
void qspi_flash_erase(qspi_flash_ctx_t *ctx, uint32_t address, qspi_flash_erase_length_t erase_length)
void qspi_flash_read_id(qspi_flash_ctx_t *ctx, uint8_t *val, size_t len)
void qspi_flash_write_status_register(qspi_flash_ctx_t *ctx, const uint8_t *val, size_t len)
void qspi_flash_write_register(qspi_flash_ctx_t *ctx, uint32_t cmd, const uint8_t *val, size_t len)
void qspi_flash_init(qspi_flash_ctx_t *ctx)
void qspi_flash_poll_status_register(qspi_flash_ctx_t *ctx, const uint8_t mask, const uint8_t val)
qspi_flash_erase_length_t
Definition: qspi_flash.h:125
void qspi_flash_sfdp_read(qspi_flash_ctx_t *ctx, uint8_t *data, uint32_t address, size_t len)
void qspi_flash_poll_register(qspi_flash_ctx_t *ctx, uint32_t cmd, const uint8_t mask, const uint8_t val)
@ qspi_flash_page_program_1_1_1
Definition: qspi_flash.h:33
@ qspi_flash_page_program_1_1_4
Definition: qspi_flash.h:42
@ qspi_flash_page_program_1_4_4
Definition: qspi_flash.h:51
@ qspi_flash_erase_2
Definition: qspi_flash.h:127
@ qspi_flash_erase_chip
Definition: qspi_flash.h:130
@ qspi_flash_erase_4
Definition: qspi_flash.h:129
@ qspi_flash_erase_1
Definition: qspi_flash.h:126
@ qspi_flash_erase_3
Definition: qspi_flash.h:128
qspi_io_source_clock_t
Definition: qspi_io.h:33
Definition: qspi_flash.h:57
qspi_io_source_clock_t source_clock
Definition: qspi_flash.h:70
int custom_clock_setup
Definition: qspi_flash.h:77
qspi_flash_page_program_cmd_t quad_page_program_cmd
Definition: qspi_flash.h:83
qspi_io_ctx_t qspi_io_ctx
Definition: qspi_flash.h:63