28#ifndef HAL_XSNOR_MACRONIX_MX25_H
29#define HAL_XSNOR_MACRONIX_MX25_H
31#include "oop_base_object.h"
53#define MX25_OPT_DUMMY_CYCLES_MASK (15U << 0)
60#define MX25_OPT_DUMMY_CYCLES(n) ((n) << 0)
69#define MX25_OPT_NO_WIDTH_SWITCH (1U << 4)
74#define MX25_OPT_USE_SUBSECTORS (1U << 5)
82#define MX25_OPT_NICE_WAITING (1U << 6)
87#define MX25_OPT_USE_DTR (1U << 7)
151#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 __mx25_mmap_on_impl(void *ip, uint8_t **addrp)
Override of method xsnor_device_mmap_on().
void __mx25_mmap_off_impl(void *ip)
Override of method xsnor_device_mmap_off().
static CC_FORCE_INLINE hal_xsnor_macronix_mx25_c * mx25ObjectInit(hal_xsnor_macronix_mx25_c *self)
Default initialization function of hal_xsnor_macronix_mx25_c.
flash_error_t __mx25_query_erase_impl(void *ip, unsigned *msec)
Override of method xsnor_device_query_erase().
void __mx25_dispose_impl(void *ip)
Implementation of object finalization.
flash_error_t __mx25_program_impl(void *ip, flash_offset_t offset, size_t n, const uint8_t *pp)
Override of method xsnor_device_program().
flash_error_t __mx25_start_erase_sector_impl(void *ip, flash_sector_t sector)
Override of method xsnor_device_start_erase_sector().
flash_error_t __mx25_read_impl(void *ip, flash_offset_t offset, size_t n, uint8_t *rp)
Override of method xsnor_device_read().
flash_error_t __mx25_init_impl(void *ip)
Override of method xsnor_device_init().
const struct hal_xsnor_macronix_mx25_vmt __hal_xsnor_macronix_mx25_vmt
VMT structure of SNOR Macronix MX25 driver class.
flash_error_t __mx25_start_erase_all_impl(void *ip)
Override of method xsnor_device_start_erase_all().
flash_error_t __mx25_verify_erase_impl(void *ip, flash_sector_t sector)
Override of method xsnor_device_verify_erase().
void * __mx25_objinit_impl(void *ip, const void *vmt)
Implementation of object creation.
uint32_t mutex_t
Type of a mutex.
Generated SNOR Base Driver header.
Type of a flash device descriptor.
Class hal_xsnor_macronix_mx25_c virtual methods table.
flash_error_t(* start_erase_all)(void *ip)
flash_error_t(* start_erase_sector)(void *ip, flash_sector_t sector)
flash_error_t(* query_erase)(void *ip, unsigned *msec)
flash_error_t(* program)(void *ip, flash_offset_t offset, size_t n, const uint8_t *pp)
flash_error_t(* mmap_on)(void *ip, uint8_t **addrp)
flash_error_t(* init)(void *ip)
void(* mmap_off)(void *ip)
void(* dispose)(void *ip)
flash_error_t(* read)(void *ip, flash_offset_t offset, size_t n, uint8_t *rp)
flash_error_t(* verify_erase)(void *ip, flash_sector_t sector)
Structure representing a SNOR Macronix MX25 driver class.
const struct hal_xsnor_macronix_mx25_vmt * vmt
Virtual Methods Table.
const xsnor_config_t * config
Driver configuration.
mutex_t mutex
Flash access mutex.
flash_descriptor_t descriptor
Flash descriptor.
const xsnor_commands_t * commands
Current commands configuration.
flash_interface_i fls
Implemented interface flash_interface_i.
flash_state_t state
Driver state.