28#ifndef HAL_XSNOR_MICRON_N25Q_H
29#define HAL_XSNOR_MICRON_N25Q_H
31#include "oop_base_object.h"
53#define N25Q_OPT_DUMMY_CYCLES_MASK (15U << 0)
60#define N25Q_OPT_DUMMY_CYCLES(n) ((n) << 0)
69#define N25Q_OPT_NO_WIDTH_SWITCH (1U << 4)
74#define N25Q_OPT_USE_SUBSECTORS (1U << 5)
82#define N25Q_OPT_NICE_WAITING (1U << 6)
146#if (XSNOR_USE_WSPI == TRUE) || defined (__DOXYGEN__)
#define CC_FORCE_INLINE
Enforces a function inline.
static const struct EFlashDriverVMT vmt
uint32_t flash_sector_t
Type of a flash sector number.
flash_state_t
Driver state machine possible states.
uint32_t flash_offset_t
Type of a flash offset.
flash_error_t
Type of a flash error code.
struct xsnor_config xsnor_config_t
Type of a SNOR configuration structure.
struct xsnor_commands xsnor_commands_t
Type of a commands configuration structure.
flash_error_t __n25q_mmap_on_impl(void *ip, uint8_t **addrp)
Override of method xsnor_device_mmap_on().
flash_error_t __n25q_start_erase_sector_impl(void *ip, flash_sector_t sector)
Override of method xsnor_device_start_erase_sector().
void * __n25q_objinit_impl(void *ip, const void *vmt)
Implementation of object creation.
static CC_FORCE_INLINE hal_xsnor_micron_n25q_c * n25qObjectInit(hal_xsnor_micron_n25q_c *self)
Default initialization function of hal_xsnor_micron_n25q_c.
flash_error_t __n25q_read_impl(void *ip, flash_offset_t offset, size_t n, uint8_t *rp)
Override of method xsnor_device_read().
flash_error_t __n25q_start_erase_all_impl(void *ip)
Override of method xsnor_device_start_erase_all().
const struct hal_xsnor_micron_n25q_vmt __hal_xsnor_micron_n25q_vmt
VMT structure of SNOR Micron N25Q driver class.
flash_error_t __n25q_query_erase_impl(void *ip, unsigned *msec)
Override of method xsnor_device_query_erase().
flash_error_t __n25q_init_impl(void *ip)
Override of method xsnor_device_init().
void __n25q_dispose_impl(void *ip)
Implementation of object finalization.
flash_error_t __n25q_program_impl(void *ip, flash_offset_t offset, size_t n, const uint8_t *pp)
Override of method xsnor_device_program().
void __n25q_mmap_off_impl(void *ip)
Override of method xsnor_device_mmap_off().
flash_error_t __n25q_verify_erase_impl(void *ip, flash_sector_t sector)
Override of method xsnor_device_verify_erase().
uint32_t mutex_t
Type of a mutex.
Generated SNOR Base Driver header.
Type of a flash device descriptor.
Class hal_xsnor_micron_n25q_c virtual methods table.
flash_error_t(* program)(void *ip, flash_offset_t offset, size_t n, const uint8_t *pp)
flash_error_t(* start_erase_sector)(void *ip, flash_sector_t sector)
flash_error_t(* query_erase)(void *ip, unsigned *msec)
flash_error_t(* mmap_on)(void *ip, uint8_t **addrp)
void(* dispose)(void *ip)
flash_error_t(* init)(void *ip)
flash_error_t(* verify_erase)(void *ip, flash_sector_t sector)
flash_error_t(* read)(void *ip, flash_offset_t offset, size_t n, uint8_t *rp)
flash_error_t(* start_erase_all)(void *ip)
void(* mmap_off)(void *ip)
Structure representing a SNOR Micron N25Q driver class.
flash_interface_i fls
Implemented interface flash_interface_i.
const xsnor_config_t * config
Driver configuration.
const xsnor_commands_t * commands
Current commands configuration.
flash_state_t state
Driver state.
mutex_t mutex
Flash access mutex.
flash_descriptor_t descriptor
Flash descriptor.
const struct hal_xsnor_micron_n25q_vmt * vmt
Virtual Methods Table.