HPM SDK
HPMicro Software Development Kit
xpi_nor_driver_interface_t Struct Reference

XPI NOR driver interface. More...

#include <hpm_romapi.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)
 

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

◆ 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) ( void  )

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

◆ 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

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

◆ 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: