HPM SDK
HPMicro Software Development Kit
xpi_driver_interface_t Struct Reference

XPI driver interface. More...

#include <hpm_romapi.h>

Data Fields

uint32_t version
 
hpm_stat_t(* get_default_config )(xpi_config_t *xpi_config)
 
hpm_stat_t(* get_default_device_config )(xpi_device_config_t *dev_config)
 
hpm_stat_t(* init )(XPI_Type *base, xpi_config_t *xpi_config)
 
hpm_stat_t(* config_ahb_buffer )(XPI_Type *base, xpi_ahb_buffer_cfg_t *ahb_buf_cfg)
 
hpm_stat_t(* config_device )(XPI_Type *base, xpi_device_config_t *dev_cfg, xpi_channel_t channel)
 
hpm_stat_t(* update_instr_table )(XPI_Type *base, const uint32_t *inst_base, uint32_t seq_idx, uint32_t num)
 
hpm_stat_t(* transfer_blocking )(XPI_Type *base, xpi_xfer_ctx_t *xfer)
 
void(* software_reset )(XPI_Type *base)
 
bool(* is_idle )(XPI_Type *base)
 
void(* update_dllcr )(XPI_Type *base, uint32_t serial_root_clk_freq, uint32_t data_valid_time, xpi_channel_t channel, uint32_t dly_target)
 
hpm_stat_t(* get_abs_apb_xfer_addr )(XPI_Type *base, xpi_xfer_channel_t channel, uint32_t in_addr, uint32_t *out_addr)
 

Detailed Description

XPI driver interface.

Field Documentation

◆ config_ahb_buffer

hpm_stat_t(* xpi_driver_interface_t::config_ahb_buffer)(XPI_Type *base, xpi_ahb_buffer_cfg_t *ahb_buf_cfg)

XPI driver interface: configure the device

◆ config_device

hpm_stat_t(* xpi_driver_interface_t::config_device)(XPI_Type *base, xpi_device_config_t *dev_cfg, xpi_channel_t channel)

XPI driver interface: update instruction talbe

◆ get_abs_apb_xfer_addr

hpm_stat_t(* xpi_driver_interface_t::get_abs_apb_xfer_addr)(XPI_Type *base, xpi_xfer_channel_t channel, uint32_t in_addr, uint32_t *out_addr)

◆ get_default_config

hpm_stat_t(* xpi_driver_interface_t::get_default_config)(xpi_config_t *xpi_config)

XPI driver interface: get default device configuration

◆ get_default_device_config

hpm_stat_t(* xpi_driver_interface_t::get_default_device_config)(xpi_device_config_t *dev_config)

XPI driver interface: initialize the XPI using xpi_config

◆ init

hpm_stat_t(* xpi_driver_interface_t::init)(XPI_Type *base, xpi_config_t *xpi_config) ( void  )

XPI driver interface: configure the AHB buffer

◆ is_idle

bool(* xpi_driver_interface_t::is_idle)(XPI_Type *base)

XPI driver interface: update delay line setting

◆ software_reset

void(* xpi_driver_interface_t::software_reset)(XPI_Type *base)

XPI driver interface: Check whether IP is idle

◆ transfer_blocking

hpm_stat_t(* xpi_driver_interface_t::transfer_blocking)(XPI_Type *base, xpi_xfer_ctx_t *xfer)

Software reset the XPI controller

◆ update_dllcr

void(* xpi_driver_interface_t::update_dllcr)(XPI_Type *base, uint32_t serial_root_clk_freq, uint32_t data_valid_time, xpi_channel_t channel, uint32_t dly_target)

XPI driver interface: Get absolute address for APB transfer

◆ update_instr_table

hpm_stat_t(* xpi_driver_interface_t::update_instr_table)(XPI_Type *base, const uint32_t *inst_base, uint32_t seq_idx, uint32_t num)

XPI driver interface: transfer command/data using block interface

◆ version

uint32_t xpi_driver_interface_t::version

< XPI driver interface: version XPI driver interface: get default configuration


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