![]() |
RZT Flexible Software Package Documentation
Release v3.0.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_command_address_t |
struct | hyperbus_direct_transfer_t |
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_command_address_t |
Command-address bit information in HyperBus protocol
struct hyperbus_direct_transfer_t |
Structure to define a direct transfer.
Data Fields | ||
---|---|---|
hyperbus_command_address_t | command_address | Command/Address. |
union hyperbus_direct_transfer_t | __unnamed__ | |
uint8_t | dummy_cycles | Number of dummy cycles. |
uint8_t | data_length | Data length. |
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 *const p_ctrl, hyperbus_space_select_t access_space) |
fsp_err_t(* | directTransfer )(hyperbus_ctrl_t *const p_ctrl, hyperbus_direct_transfer_t *const p_transfer) |
fsp_err_t(* | write )(hyperbus_ctrl_t *const p_ctrl, uint8_t const *const p_src, uint8_t *const p_dest, uint32_t byte_count) |
fsp_err_t(* | erase )(hyperbus_ctrl_t *const p_ctrl, uint8_t *const p_device_address, uint32_t byte_count) |
fsp_err_t(* | statusGet )(hyperbus_ctrl_t *const ctrl_t, hyperbus_status_t *const p_status) |
fsp_err_t(* | autoCalibrate )(hyperbus_ctrl_t *const p_ctrl) |
fsp_err_t(* | close )(hyperbus_ctrl_t *const 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 *const 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::directTransfer) (hyperbus_ctrl_t *const p_ctrl, hyperbus_direct_transfer_t *const p_transfer) |
Direct Read/Write raw data from/to the HyperBus.
[in] | p_ctrl | Pointer to a driver handle |
[in] | p_transfer | Pointer to command-address, data values and lengths |
fsp_err_t(* hyperbus_api_t::write) (hyperbus_ctrl_t *const 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 *const 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 *const 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 *const 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 *const 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.