semperflash2 2.0.0.0
semperflash2.h File Reference

This file contains API for Semper Flash 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  semperflash2_t
 Click ctx object definition. More...
 
struct  semperflash2_cfg_t
 Click configuration structure definition. More...
 
struct  semperflash2_config_t
 Flash configuration structure. More...
 

Macros

#define SEMPERFLASH2_MAP_MIKROBUS(cfg, mikrobus)
 
#define SEMPERFLASH2_RETVAL   uint8_t
 
#define SEMPERFLASH2_OK   0x00
 
#define SEMPERFLASH2_INIT_ERROR   0xFF
 
#define SEMPERFLASH2_MANUFACTURER_DEVICE_ID   0x9F
 
#define SEMPERFLASH2_JEDEC_SERIAL_FLASH_DISCOVER_PARAMS   0x5A
 
#define SEMPERFLASH2_DEVICE_ID   0x4C
 
#define SEMPERFLASH2_READ_STATUS_REG_1   0x05
 
#define SEMPERFLASH2_READ_STATUS_REG_2   0x07
 
#define SEMPERFLASH2_READ_CFG_REG_1   0x35
 
#define SEMPERFLASH2_READ_ANY_REG   0x65
 
#define SEMPERFLASH2_WRITE_ENABLE   0x06
 
#define SEMPERFLASH2_WRITE_ENABLE_VOLATILE   0x50
 
#define SEMPERFLASH2_WRITE_DISABLE   0x04
 
#define SEMPERFLASH2_WRITE_REG   0x01
 
#define SEMPERFLASH2_WRITE_ANY_REG   0x71
 
#define SEMPERFLASH2_CLEAR_PROGRAM_ERASE_ERROR   0x30
 
#define SEMPERFLASH2_ENTER_4_BYTE_ADDR_MODE   0xB7
 
#define SEMPERFLASH2_EXIT_4_BYTE_ADDR_MODE   0xB8
 
#define SEMPERFLASH2_READ_DATA_LEARN_PATT_REG   0x41
 
#define SEMPERFLASH2_PROGRAM_DATA_LEARN_PATT   0x43
 
#define SEMPERFLASH2_WRITE_DATA_LEARN_PATT   0x4A
 
#define SEMPERFLASH2_AUTOBOOT_REG_WRITE   0x15
 
#define SEMPERFLASH2_READ_ECC_STATUS   0x19
 
#define SEMPERFLASH2_CLEAR_ECC_STATUS   0x1B
 
#define SEMPERFLASH2_DATA_INT_CHECK   0x5B
 
#define SEMPERFLASH2_READ_0   0x03
 
#define SEMPERFLASH2_READ_1   0x13
 
#define SEMPERFLASH2_FAST_READ_0   0x0B
 
#define SEMPERFLASH2_FAST_READ_1   0x0C
 
#define SEMPERFLASH2_PROGRAM_PAGE_0   0x02
 
#define SEMPERFLASH2_PROGRAM_PAGE_1   0x12
 
#define SEMPERFLASH2_ERASE_4K_0   0x20
 
#define SEMPERFLASH2_ERASE_4K_1   0x21
 
#define SEMPERFLASH2_ERASE_256K_1   0xD8
 
#define SEMPERFLASH2_ERASE_256K_2   0xDC
 
#define SEMPERFLASH2_ERASE_CHIP_1   0x60
 
#define SEMPERFLASH2_ERASE_CHIP_2   0xC7
 
#define SEMPERFLASH2_ERASE_STATUS   0xD0
 
#define SEMPERFLASH2_ERASE_CNT   0x5D
 
#define SEMPERFLASH2_SUSPEND_ERASE_PROG_DATA_CHECK   0x75
 
#define SEMPERFLASH2_SUSPEND_ERASE_PROG   0x85
 
#define SEMPERFLASH2_RESUME_ERASE_PROG_DATA_CHECK   0x7A
 
#define SEMPERFLASH2_RESUME_ERASE_PROG   0x8A
 
#define SEMPERFLASH2_PROG_SECURE_SILICON_REGION   0x42
 
#define SEMPERFLASH2_READ_SECURE_SILICON_REGION   0x4B
 
#define SEMPERFLASH2_ASP_PROG   0x2F
 
#define SEMPERFLASH2_READ_DYNAMIC_PROTECION_BIT   0xFA
 
#define SEMPERFLASH2_WRITE_DYNAMIC_PROTECION_BIT   0xFB
 
#define SEMPERFLASH2_READ_PRESISTENT_PROTECTION_BIT   0xFC
 
#define SEMPERFLASH2_PROG_PRESISTENT_PROTECTION_BIT   0xFD
 
#define SEMPERFLASH2_ERASE_PRESISTENT_PROTECTION_BIT   0xE4
 
#define SEMPERFLASH2_WRITE_PPB_PROTECTION_LOCK_BIT   0xA6
 
#define SEMPERFLASH2_READ_PROG_PRESISTENT_PROTECION_LOCK_BIT   0xA7
 
#define SEMPERFLASH2_PROG_PASSWORD   0xE8
 
#define SEMPERFLASH2_PASSWORD_UNLOCK   0xE9
 
#define SEMPERFLASH2_SOFT_RESET_ENABLE   0x66
 
#define SEMPERFLASH2_SOFT_RESET   0x99
 
#define SEMPERFLASH2_LEGACY_SOFT_RESET   0xF0
 
#define SEMPERFLASH2_ENTER_DEEP_POWER_DOWN_MODE   0xB9
 
#define SEMPERFLASH2_PIN_STATE_HIGH   1
 
#define SEMPERFLASH2_PIN_STATE_LOW   0
 
#define SEMPERFLASH2_ID_ERROR   0xCC
 
#define SEMPERFLASH2_SIZE_ERROR   0xBB
 
#define SEMPERFLASH2_SUCCESS   0xAA
 
#define SEMPERFLASH2_MANUFACTURER_DEVICE_ID_VALUE   0x34
 
#define SEMPERFLASH2_DEVICE_ID_BYTE_SIZE   8
 
#define SEMPERFLASH2_STATUS_REG_1_DEFAULT   0x00
 
#define SEMPERFLASH2_STATUS_REG_1_PROGRAM_ERASE_REG_WRITE_ENABLE   0x02
 
#define SEMPERFLASH2_STATUS_REG_1_DEVICE_BUSY   0x01
 
#define SEMPERFLASH2_CFG_1_DEFAULT   0x00
 
#define SEMPERFLASH2_CFG_2_DEFAULT   0x00
 
#define SEMPERFLASH2_CFG_3_DEFAULT   0x00
 
#define SEMPERFLASH2_CFG_4_DEFAULT   0x00
 
#define SEMPERFLASH2_MANUFACTURER_DEVICE_ID_VALUE   0x34
 
#define SEMPERFLASH2_MEMORY_BUF_MAX_SIZE   512
 

Functions

void semperflash2_cfg_setup (semperflash2_cfg_t *cfg)
 Config Object Initialization function.
 
SEMPERFLASH2_RETVAL semperflash2_init (semperflash2_t *ctx, semperflash2_cfg_t *cfg)
 Initialization function.
 
void semperflash2_default_cfg (semperflash2_t *ctx)
 Click Default Configuration function.
 
void semperflash2_send_cmd (semperflash2_t *ctx, uint8_t cmd)
 Send command function.
 
void semperflash2_transfer_data (semperflash2_t *ctx, uint8_t *write_buf, uint16_t wbuf_size, uint8_t *read_buf, uint16_t rbuf_size)
 Transfer data function.
 
void semperflash2_generic_write (semperflash2_t *ctx, uint8_t *write_buf, uint16_t buf_size)
 Writing data function.
 
void semperflash2_write_config (semperflash2_t *ctx, semperflash2_config_t *cfg_data)
 Write configuration function.
 
uint8_t semperflash2_read_memory (semperflash2_t *ctx, uint32_t addr, uint8_t *data_buf, uint16_t buf_size)
 Read memory function.
 
uint8_t semperflash2_write_memory (semperflash2_t *ctx, uint32_t addr, uint8_t *data_buf, uint16_t buf_size)
 Write memory function.
 
void semperflash2_erase_memory (semperflash2_t *ctx, uint32_t addr)
 Erase memory function.
 
uint8_t semperflash2_get_device_id (semperflash2_t *ctx, uint8_t *id_buf)
 Get device ID function.
 
uint8_t semperflash2_check_manufacturer_id (semperflash2_t *ctx)
 Check manufacturer ID function.
 
uint8_t semperflash2_check_status_reg_1 (semperflash2_t *ctx)
 Check status register function.
 

Detailed Description

This file contains API for Semper Flash Click driver.