RZT Flexible Software Package Documentation
Release v2.2.0
|
|
Interface for accessing memory device via HyperBus.
The HyperBus API provides an interface that configures, writes, and erases sectors in HyperBus memory devices.
Data Structures | |
struct | hyperbus_status_t |
struct | hyperbus_cfg_t |
struct | hyperbus_api_t |
struct | hyperbus_instance_t |
Typedefs | |
typedef void | hyperbus_ctrl_t |
Enumerations | |
enum | hyperbus_burst_type_t |
enum | hyperbus_space_select_t |
enum | hyperbus_latency_count_t |
struct hyperbus_status_t |
struct hyperbus_cfg_t |
User configuration structure used by the open function
Data Fields | ||
---|---|---|
hyperbus_burst_type_t | burst_type | Burst type in HyperBus protocol. |
hyperbus_space_select_t | access_space | Access space in HyperBus protocol. |
hyperbus_latency_count_t | read_latency_count | Latency count in reading. |
hyperbus_latency_count_t | memory_write_latency_count | Latency count in memory writing. |
hyperbus_latency_count_t | register_write_latency_count | Latency count in register writing. |
uint32_t | sector_erase_size | Size of erase for sector erase. |
void const * | p_extend | Pointer to implementation specific extended configurations. |
struct hyperbus_api_t |
HyperBus implementations follow this API.
Data Fields | |
fsp_err_t(* | open )(hyperbus_ctrl_t *p_ctrl, hyperbus_cfg_t const *const p_cfg) |
fsp_err_t(* | burstTypeSet )(hyperbus_ctrl_t *p_ctrl, hyperbus_burst_type_t burst_type) |
fsp_err_t(* | accessSpaceSet )(hyperbus_ctrl_t *p_ctrl, hyperbus_space_select_t access_space) |
fsp_err_t(* | write )(hyperbus_ctrl_t *p_ctrl, uint8_t const *const p_src, uint8_t *const p_dest, uint32_t byte_count) |
fsp_err_t(* | erase )(hyperbus_ctrl_t *p_ctrl, uint8_t *const p_device_address, uint32_t byte_count) |
fsp_err_t(* | statusGet )(hyperbus_ctrl_t *ctrl_t, hyperbus_status_t *const p_status) |
fsp_err_t(* | autoCalibrate )(hyperbus_ctrl_t *p_ctrl) |
fsp_err_t(* | close )(hyperbus_ctrl_t *ctrl_t) |
fsp_err_t(* hyperbus_api_t::open) (hyperbus_ctrl_t *p_ctrl, hyperbus_cfg_t const *const p_cfg) |
Open the HyperBus driver module.
[in] | p_ctrl | Pointer to a driver handle |
[in] | p_cfg | Pointer to a configuration structure |
fsp_err_t(* hyperbus_api_t::burstTypeSet) (hyperbus_ctrl_t *p_ctrl, hyperbus_burst_type_t burst_type) |
Set Burst type.
[in] | p_ctrl | Pointer to a driver handle |
[in] | burst_type | Burst type |
fsp_err_t(* hyperbus_api_t::accessSpaceSet) (hyperbus_ctrl_t *p_ctrl, hyperbus_space_select_t access_space) |
Set Access space.
[in] | p_ctrl | Pointer to a driver handle |
[in] | access_space | Access space |
fsp_err_t(* hyperbus_api_t::write) (hyperbus_ctrl_t *p_ctrl, uint8_t const *const p_src, uint8_t *const p_dest, uint32_t byte_count) |
Program any number of bytes of data within a boundary into the flash.
[in] | p_ctrl | Pointer to a driver handle |
[in] | p_src | The memory address of the data to write to the flash device |
[in] | p_dest | The location in the flash device address space to write the data to. Refer to the accessible address in the data sheet of the connected device and set it within this range. |
[in] | byte_count | The number of bytes to write. Refer to the write data size and boundaries in the data sheet of the connected device and specify within a range that does not exceed these. |
fsp_err_t(* hyperbus_api_t::erase) (hyperbus_ctrl_t *p_ctrl, uint8_t *const p_device_address, uint32_t byte_count) |
Erase a certain number of bytes of the flash.
[in] | p_ctrl | Pointer to a driver handle |
[in] | p_device_address | The location in the flash device address space to start the erase from |
[in] | byte_count | The number of bytes to erase. Set to HYPERBUS_ERASE_SIZE_CHIP_ERASE to erase entire chip. |
fsp_err_t(* hyperbus_api_t::statusGet) (hyperbus_ctrl_t *ctrl_t, hyperbus_status_t *const p_status) |
Get the write or erase status of the flash.
[in] | p_ctrl | Pointer to a driver handle |
[out] | p_status | Current status of the HyperBus flash device stored here. |
fsp_err_t(* hyperbus_api_t::autoCalibrate) (hyperbus_ctrl_t *p_ctrl) |
AutoCalibrate the HyperBus driver module. Expected to be used when auto-calibrating HyperRAM device.
[in] | p_ctrl | Pointer to a driver handle |
fsp_err_t(* hyperbus_api_t::close) (hyperbus_ctrl_t *ctrl_t) |
Close the HyperBus driver module.
[in] | p_ctrl | Pointer to a driver handle |
struct hyperbus_instance_t |
This structure encompasses everything that is needed to use an instance of this interface.
Data Fields | ||
---|---|---|
hyperbus_ctrl_t * | p_ctrl | Pointer to the control structure for this instance. |
hyperbus_cfg_t const * | p_cfg | Pointer to the configuration structure for this instance. |
hyperbus_api_t const * | p_api | Pointer to the API structure for this instance. |
typedef void hyperbus_ctrl_t |
HyperBus control block. Allocate an instance specific control block to pass into the HyperBus API calls.
Initial read/write latency.