flash4 2.0.0.0
flash4.h File Reference

This file contains API for Flash 4 Click driver. More...

#include "drv_digital_out.h"
#include "drv_digital_in.h"
#include "drv_spi_master.h"

Go to the source code of this file.

Data Structures

struct  flash4_t
 Click ctx object definition. More...
 
struct  flash4_cfg_t
 Click configuration structure definition. More...
 

Macros

#define FLASH4_MAP_MIKROBUS(cfg, mikrobus)
 
#define FLASH4_RETVAL   uint8_t
 
#define FLASH4_OK   0x00
 
#define FLASH4_INIT_ERROR   0xFF
 
#define FLASH4_MANUFACTURER_ID   0x01
 
#define FLASH4_DEVICE_ID   0x19
 
#define FLASH4_CMD_READ_ID   0x90
 
#define FLASH4_CMD_READ_IDENTIFICATION   0x9F
 
#define FLASH4_CMD_READ_ELECTRONIC_SIGNATURE   0xAB
 
#define FLASH4_CMD_READ_SERIAL_FLASH_PARAMETERS   0x5A
 
#define FLASH4_CMD_READ_STATUS_REG_1   0x05
 
#define FLASH4_CMD_READ_STATUS_REG_2   0x07
 
#define FLASH4_CMD_READ_CONFIGURATION_REG   0x35
 
#define FLASH4_CMD_READ_BANK_REG   0x16
 
#define FLASH4_CMD_WRITE_BANK_REG   0x17
 
#define FLASH4_CMD_ACCESS_BANK_REG   0xB9
 
#define FLASH4_CMD_WRITE_REGISTER_WRR   0x01
 
#define FLASH4_CMD_WRITE_ENABLE_WREN   0x06
 
#define FLASH4_CMD_WRITE_DISABLE_WRDI   0x04
 
#define FLASH4_CMD_CLEAR_STATUS_REG   0x30
 
#define FLASH4_CMD_READ_ECC_STATUS_REG   0x18
 
#define FLASH4_CMD_READ_AUTO_BOOT_REG   0x14
 
#define FLASH4_CMD_WRITE_AUTO_BOOT_REG   0x15
 
#define FLASH4_CMD_PROGRAM_NVDLR   0x43
 
#define FLASH4_CMD_WRITE_VDLR   0x4A
 
#define FLASH4_CMD_READ_DATA_LEARNING_PATTERN   0x41
 
#define FLASH4_CMD_READ_FLASH   0x03
 
#define FLASH4_CMD_4READ_FLASH   0x13
 
#define FLASH4_CMD_FAST_READ_FLASH   0x0B
 
#define FLASH4_CMD_FAST_4READ_FLASH   0x0C
 
#define FLASH4_CMD_FAST_READ_DDR   0x0D
 
#define FLASH4_CMD_FAST_4READ_DDR   0x0E
 
#define FLASH4_CMD_PAGE_PROGRAM   0x02
 
#define FLASH4_CMD_PAGE_4PROGRAM   0x12
 
#define FLASH4_CMD_PROGRAM_SUSPEND   0x85
 
#define FLASH4_CMD_PROGRAM_RESUME   0x8A
 
#define FLASH4_CMD_SECTOR_ERASE   0xD8
 
#define FLASH4_CMD_SECTOR_4ERASE   0xDC
 
#define FLASH4_CMD_BULK_ERASE   0xC7
 
#define FLASH4_CMD_ERASE_SUSPEND   0x75
 
#define FLASH4_CMD_ERASE_RESUME   0x7A
 
#define FLASH4_CMD_WRITE_OTP_PROGRAM   0x42
 
#define FLASH4_CMD_READ_OTP   0x4B
 
#define FLASH4_CMD_READ_ASP   0x2B
 
#define FLASH4_CMD_WRITE_ASP_PROGRAM   0x2F
 
#define FLASH4_CMD_READ_DYB   0xE0
 
#define FLASH4_CMD_WRITE_DYB   0xE1
 
#define FLASH4_CMD_READ_PPB   0xE2
 
#define FLASH4_CMD_WRITE_PPB   0xE3
 
#define FLASH4_CMD_ERASE_PPB   0xE4
 
#define FLASH4_CMD_READ_PPB_LOCK_BIT   0xA7
 
#define FLASH4_CMD_WRITE_PPB_LOCK_BIT   0xA6
 
#define FLASH4_CMD_SOFTWARE_RESET   0xF0
 
#define FLASH4_CMD_MODE_BIT_RESET   0xFF
 

Functions

void flash4_cfg_setup (flash4_cfg_t *cfg)
 Config Object Initialization function.
 
FLASH4_RETVAL flash4_init (flash4_t *ctx, flash4_cfg_t *cfg)
 Initialization function. *.
 
void flash4_generic_transfer (flash4_t *ctx, uint8_t *wr_buf, uint16_t wr_len, uint8_t *rd_buf, uint16_t rd_len)
 Generic transfer function.
 
void flash4_read_manufacturer_id (flash4_t *ctx, uint8_t *device_id)
 Read Manufacturer ID function.
 
void flash4_read_identification (flash4_t *ctx, uint8_t *out_data, uint8_t n_data)
 Read Identification function.
 
uint8_t flash4_read_electronic_id (flash4_t *ctx)
 Read Electronic Signature function.
 
void flash4_read_serial_flash_parameters (flash4_t *ctx, uint8_t *out_params, uint8_t c)
 Read Serial Flash Discoverable Parameters function.
 
uint8_t flash4_read_byte (flash4_t *ctx, uint8_t reg)
 Read byte from register function.
 
void flash4_write_byte (flash4_t *ctx, uint8_t reg, uint8_t data_buff)
 Write one byte to register function.
 
void flash4_write_command (flash4_t *ctx, uint8_t cmd)
 Write command function.
 
void flash4_write_reg (flash4_t *ctx, uint8_t status, uint8_t config)
 Write data to register function.
 
void flash4_read_ecc (flash4_t *ctx, uint8_t *out_ecc, uint8_t n_dummy)
 Read ECC Status Register function.
 
void flash4_read_auto_boot (flash4_t *ctx, uint8_t *out_ab)
 Read AutoBoot Register function.
 
void flash4_read_flash (flash4_t *ctx, uint8_t *out_data, uint32_t addr, uint8_t n_data)
 Read Flash function.
 
void flash4_read_flash_4 (flash4_t *ctx, uint8_t *out_data, uint32_t addr, uint8_t n_data)
 Read Flash with 4 byte address function.
 
void flash4_fast_read_flash (flash4_t *ctx, uint8_t *out_data, uint32_t addr, uint8_t n_data_dummy)
 Fast read Flash function.
 
void flash4_fast_read_flash_4 (flash4_t *ctx, uint8_t *out_data, uint8_t addr, uint8_t n_data)
 Fast read Flash with 4 byte address function.
 
void flash4_page_program_4 (flash4_t *ctx, uint8_t *in_data, uint32_t addr, uint8_t n_data)
 Write data to address with 4 byte address function.
 
void flash4_sector_erase (flash4_t *ctx, uint32_t addr)
 Sector Erase function.
 
void flash4_sector_erase_4 (flash4_t *ctx, uint32_t addr)
 Sector Erase for 4 bytes address function.
 
uint8_t flash4_check_wip (flash4_t *ctx)
 Function for wip.
 
uint8_t flash4_check_wel (flash4_t *ctx)
 Function for wel.
 
uint8_t flash4_check_ps (flash4_t *ctx)
 Function for ps.
 
uint8_t flash4_check_es (flash4_t *ctx)
 Function for es.
 
void flash4_reset (flash4_t *ctx)
 Function for reset.
 

Detailed Description

This file contains API for Flash 4 Click driver.