XCORE SDK
XCORE Software Development Kit
Classes | Macros | Enumerations | Functions
qspi_flash.h File Reference

API for QSPI Flash. More...

#include <stdbool.h>
#include "qspi_io.h"

Go to the source code of this file.

Classes

struct  qspi_flash_ctx_t
 

Macros

#define QSPI_FLASH_SANITY_CHECKS   0
 
#define QSPI_FLASH_STATUS_REG_WIP_BM   0x01
 
#define QSPI_FLASH_STATUS_REG_WEL_BM   0x02
 

Enumerations

enum  qspi_flash_page_program_cmd_t { qspi_flash_page_program_1_1_1 , qspi_flash_page_program_1_1_4 , qspi_flash_page_program_1_4_4 }
 
enum  qspi_flash_erase_length_t {
  qspi_flash_erase_1 , qspi_flash_erase_2 , qspi_flash_erase_3 , qspi_flash_erase_4 ,
  qspi_flash_erase_chip
}
 

Functions

size_t qspi_flash_erase_type_size (qspi_flash_ctx_t *ctx, qspi_flash_erase_length_t erase_type)
 
uint32_t qspi_flash_erase_type_size_log2 (qspi_flash_ctx_t *ctx, qspi_flash_erase_length_t erase_type)
 
bool qspi_flash_quad_enable_write (qspi_flash_ctx_t *ctx, bool set)
 
void qspi_flash_write_enable (qspi_flash_ctx_t *ctx)
 
void qspi_flash_write_disable (qspi_flash_ctx_t *ctx)
 
bool qspi_flash_write_in_progress (qspi_flash_ctx_t *ctx)
 
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_write_register (qspi_flash_ctx_t *ctx, uint32_t cmd, const 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_read_register (qspi_flash_ctx_t *ctx, uint32_t cmd, uint8_t *val, size_t len)
 
void qspi_flash_read_status_register (qspi_flash_ctx_t *ctx, uint8_t *val, size_t len)
 
void qspi_flash_read_id (qspi_flash_ctx_t *ctx, uint8_t *val, size_t len)
 
void qspi_flash_poll_register (qspi_flash_ctx_t *ctx, uint32_t cmd, const uint8_t mask, const uint8_t val)
 
void qspi_flash_poll_status_register (qspi_flash_ctx_t *ctx, const uint8_t mask, const uint8_t val)
 
void qspi_flash_fast_read (qspi_flash_ctx_t *ctx, uint8_t *data, uint32_t address, size_t len)
 
void qspi_flash_read (qspi_flash_ctx_t *ctx, uint8_t *data, uint32_t address, size_t len)
 
void qspi_flash_read_nibble_swapped (qspi_flash_ctx_t *ctx, 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)
 
void qspi_flash_xip_read_nibble_swapped (qspi_flash_ctx_t *ctx, uint8_t *data, uint32_t address, size_t len)
 
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_sfdp_read (qspi_flash_ctx_t *ctx, uint8_t *data, uint32_t address, size_t len)
 
void qspi_flash_deinit (qspi_flash_ctx_t *ctx)
 
void qspi_flash_init (qspi_flash_ctx_t *ctx)
 

Detailed Description

API for QSPI Flash.