HPM SDK
HPMicro Software Development Kit
xpi_nor_driver_interface_t Struct Reference

XPI NOR driver interface. More...

#include <hpm_romapi_xpi_nor_def.h>

Data Fields

uint32_t version
 
hpm_stat_t(* get_config )(XPI_Type *base, xpi_nor_config_t *nor_cfg, xpi_nor_config_option_t *cfg_option)
 
hpm_stat_t(* init )(XPI_Type *base, xpi_nor_config_t *nor_config)
 
hpm_stat_t(* enable_write )(XPI_Type *base, xpi_xfer_channel_t channel, const xpi_nor_config_t *nor_config, uint32_t addr)
 
hpm_stat_t(* get_status )(XPI_Type *base, xpi_xfer_channel_t channel, const xpi_nor_config_t *nor_config, uint32_t addr, uint16_t *out_status)
 
hpm_stat_t(* wait_busy )(XPI_Type *base, xpi_xfer_channel_t channel, const xpi_nor_config_t *nor_config, uint32_t addr)
 
hpm_stat_t(* erase )(XPI_Type *base, xpi_xfer_channel_t channel, const xpi_nor_config_t *nor_config, uint32_t start, uint32_t length)
 
hpm_stat_t(* erase_chip )(XPI_Type *base, xpi_xfer_channel_t channel, const xpi_nor_config_t *nor_config)
 
hpm_stat_t(* erase_sector )(XPI_Type *base, xpi_xfer_channel_t channel, const xpi_nor_config_t *nor_config, uint32_t addr)
 
hpm_stat_t(* erase_block )(XPI_Type *base, xpi_xfer_channel_t channel, const xpi_nor_config_t *nor_config, uint32_t addr)
 
hpm_stat_t(* program )(XPI_Type *base, xpi_xfer_channel_t channel, const xpi_nor_config_t *nor_config, const uint32_t *src, uint32_t dst_addr, uint32_t length)
 
hpm_stat_t(* read )(XPI_Type *base, xpi_xfer_channel_t channel, const xpi_nor_config_t *nor_config, uint32_t *dst, uint32_t start, uint32_t length)
 
hpm_stat_t(* page_program_nonblocking )(XPI_Type *base, xpi_xfer_channel_t channel, const xpi_nor_config_t *nor_config, const uint32_t *src, uint32_t dst_addr, uint32_t length)
 
hpm_stat_t(* erase_sector_nonblocking )(XPI_Type *base, xpi_xfer_channel_t channel, const xpi_nor_config_t *nor_config, uint32_t addr)
 
hpm_stat_t(* erase_block_nonblocking )(XPI_Type *base, xpi_xfer_channel_t channel, const xpi_nor_config_t *nor_config, uint32_t addr)
 
hpm_stat_t(* erase_chip_nonblocking )(XPI_Type *base, xpi_xfer_channel_t channel, const xpi_nor_config_t *nor_config)
 
uint32_t reserved0 [3]
 
hpm_stat_t(* auto_config )(XPI_Type *base, xpi_nor_config_t *nor_cfg, xpi_nor_config_option_t *cfg_option)
 
hpm_stat_t(* get_property )(XPI_Type *base, xpi_nor_config_t *nor_cfg, uint32_t property_id, uint32_t *value)
 
uint32_t reserved1
 
hpm_stat_t(* post_erase_sector_nonblocking )(XPI_Type *base, xpi_xfer_channel_t chn, xpi_nor_config_t *nor_cfg, uint32_t addr)
 
hpm_stat_t(* post_erase_block_nonblocking )(XPI_Type *base, xpi_xfer_channel_t chn, xpi_nor_config_t *nor_cfg, uint32_t addr)
 
hpm_stat_t(* post_erase_chip_nonblocking )(XPI_Type *base, xpi_xfer_channel_t chn, xpi_nor_config_t *nor_cfg)
 
hpm_stat_t(* post_page_program_nonblocking )(XPI_Type *base, xpi_xfer_channel_t chn, xpi_nor_config_t *nor_config, const uint32_t *src, uint32_t dst_addr, uint32_t length)
 
void(* sip_flash_power_on )(XPI_Type *base)
 
void(* sip_flash_power_off )(XPI_Type *base)
 
void(* enable_hybrid_xpi )(XPI_Type *base)
 
void(* disable_hybrid_xpi )(XPI_Type *base)
 

Detailed Description

XPI NOR driver interface.

Field Documentation

◆ auto_config

hpm_stat_t(* xpi_nor_driver_interface_t::auto_config) (XPI_Type *base, xpi_nor_config_t *nor_cfg, xpi_nor_config_option_t *cfg_option)

XPI NOR driver interface: Get FLASH properties

◆ disable_hybrid_xpi

void(* xpi_nor_driver_interface_t::disable_hybrid_xpi) (XPI_Type *base)

◆ enable_hybrid_xpi

void(* xpi_nor_driver_interface_t::enable_hybrid_xpi) (XPI_Type *base)

Disable Hybrid mode

◆ enable_write

hpm_stat_t(* xpi_nor_driver_interface_t::enable_write) (XPI_Type *base, xpi_xfer_channel_t channel, const xpi_nor_config_t *nor_config, uint32_t addr)

XPI NOR driver interface: Get FLASH status register

◆ erase

hpm_stat_t(* xpi_nor_driver_interface_t::erase) (XPI_Type *base, xpi_xfer_channel_t channel, const xpi_nor_config_t *nor_config, uint32_t start, uint32_t length)

XPI NOR driver interface: Erase the whole FLASH

◆ erase_block

hpm_stat_t(* xpi_nor_driver_interface_t::erase_block) (XPI_Type *base, xpi_xfer_channel_t channel, const xpi_nor_config_t *nor_config, uint32_t addr)

XPI NOR driver interface: Program data to specified FLASH address

◆ erase_block_nonblocking

hpm_stat_t(* xpi_nor_driver_interface_t::erase_block_nonblocking) (XPI_Type *base, xpi_xfer_channel_t channel, const xpi_nor_config_t *nor_config, uint32_t addr)

XPI NOR driver interface: erase the whole FLASh using nonblocking interface

◆ erase_chip

hpm_stat_t(* xpi_nor_driver_interface_t::erase_chip) (XPI_Type *base, xpi_xfer_channel_t channel, const xpi_nor_config_t *nor_config)

XPI NOR driver interface: Erase specified FLASH sector

◆ erase_chip_nonblocking

hpm_stat_t(* xpi_nor_driver_interface_t::erase_chip_nonblocking) (XPI_Type *base, xpi_xfer_channel_t channel, const xpi_nor_config_t *nor_config)

◆ erase_sector

hpm_stat_t(* xpi_nor_driver_interface_t::erase_sector) (XPI_Type *base, xpi_xfer_channel_t channel, const xpi_nor_config_t *nor_config, uint32_t addr)

XPI NOR driver interface: Erase specified FLASH block

◆ erase_sector_nonblocking

hpm_stat_t(* xpi_nor_driver_interface_t::erase_sector_nonblocking) (XPI_Type *base, xpi_xfer_channel_t channel, const xpi_nor_config_t *nor_config, uint32_t addr)

XPI NOR driver interface: erase FLASH block using nonblocking interface

◆ get_config

hpm_stat_t(* xpi_nor_driver_interface_t::get_config) (XPI_Type *base, xpi_nor_config_t *nor_cfg, xpi_nor_config_option_t *cfg_option)

XPI NOR driver interface: initialize FLASH

◆ get_property

hpm_stat_t(* xpi_nor_driver_interface_t::get_property) (XPI_Type *base, xpi_nor_config_t *nor_cfg, uint32_t property_id, uint32_t *value)

◆ get_status

hpm_stat_t(* xpi_nor_driver_interface_t::get_status) (XPI_Type *base, xpi_xfer_channel_t channel, const xpi_nor_config_t *nor_config, uint32_t addr, uint16_t *out_status)

XPI NOR driver interface: Wait when FLASH is still busy

◆ init

hpm_stat_t(* xpi_nor_driver_interface_t::init) (XPI_Type *base, xpi_nor_config_t *nor_config)

XPI NOR driver interface: Enable write access to FLASH

◆ page_program_nonblocking

hpm_stat_t(* xpi_nor_driver_interface_t::page_program_nonblocking) (XPI_Type *base, xpi_xfer_channel_t channel, const xpi_nor_config_t *nor_config, const uint32_t *src, uint32_t dst_addr, uint32_t length)

XPI NOR driver interface: erase FLASH sector using nonblocking interface

◆ post_erase_block_nonblocking

hpm_stat_t(* xpi_nor_driver_interface_t::post_erase_block_nonblocking) (XPI_Type *base, xpi_xfer_channel_t chn, xpi_nor_config_t *nor_cfg, uint32_t addr)

Post Erase Chip Nonblocking operation: For Hybrid mode only

◆ post_erase_chip_nonblocking

hpm_stat_t(* xpi_nor_driver_interface_t::post_erase_chip_nonblocking) (XPI_Type *base, xpi_xfer_channel_t chn, xpi_nor_config_t *nor_cfg)

Post Page Program Nonblocking operation: For Hybrid mode only

◆ post_erase_sector_nonblocking

hpm_stat_t(* xpi_nor_driver_interface_t::post_erase_sector_nonblocking) (XPI_Type *base, xpi_xfer_channel_t chn, xpi_nor_config_t *nor_cfg, uint32_t addr)

Post Erase Block Nonblocking operation: For Hybrid mode only

◆ post_page_program_nonblocking

hpm_stat_t(* xpi_nor_driver_interface_t::post_page_program_nonblocking) (XPI_Type *base, xpi_xfer_channel_t chn, xpi_nor_config_t *nor_config, const uint32_t *src, uint32_t dst_addr, uint32_t length)

Turn on the power for Internal FLASH

◆ program

hpm_stat_t(* xpi_nor_driver_interface_t::program) (XPI_Type *base, xpi_xfer_channel_t channel, const xpi_nor_config_t *nor_config, const uint32_t *src, uint32_t dst_addr, uint32_t length)

XPI NOR driver interface: read data from specified FLASH address

◆ read

hpm_stat_t(* xpi_nor_driver_interface_t::read) (XPI_Type *base, xpi_xfer_channel_t channel, const xpi_nor_config_t *nor_config, uint32_t *dst, uint32_t start, uint32_t length)

XPI NOR driver interface: program FLASH page using nonblocking interface

◆ reserved0

uint32_t xpi_nor_driver_interface_t::reserved0[3]

XPI NOR driver interface: automatically configuration flash based on the cfg_option setting

◆ reserved1

uint32_t xpi_nor_driver_interface_t::reserved1

Post Erase Sector Nonblocking operation: For Hybrid mode only

◆ sip_flash_power_off

void(* xpi_nor_driver_interface_t::sip_flash_power_off) (XPI_Type *base)

Enable Hybrid mode

◆ sip_flash_power_on

void(* xpi_nor_driver_interface_t::sip_flash_power_on) (XPI_Type *base)

Turn off the power for Internal FLASH

◆ version

uint32_t xpi_nor_driver_interface_t::version

< XPI NOR driver interface: API version XPI NOR driver interface: Get FLASH configuration

◆ wait_busy

hpm_stat_t(* xpi_nor_driver_interface_t::wait_busy) (XPI_Type *base, xpi_xfer_channel_t channel, const xpi_nor_config_t *nor_config, uint32_t addr)

XPI NOR driver interface: erase a specified FLASH region


The documentation for this struct was generated from the following file: