The HSB Bus Matrix implements a multi-layer bus structure that enables parallel access paths between multiple High Speed Bus (HSB) masters and slaves in a system, which increases the overall bandwidth.
Modules | |
Related Project(s) | |
In this section you can find all the projects related to the HSB BUS Matrix (HMATRIX). | |
Functions | |
void | hmatrix_disable (void) |
Disables the HMatrix. More... | |
void | hmatrix_enable (void) |
Enables the HMatrix. More... | |
void | hmatrix_get_slave_priority (enum hmatrix_slave_id slave_id, hmatrix_prs *p_prio) |
Get priority for the specified slave access. More... | |
void | hmatrix_init (void) |
Initializes the HMatrix. More... | |
void | hmatrix_master_ch_set_config (const enum hmatrix_master_id master_id, struct hmatrix_master_ch_conf *const config) |
Writes an HMatrix Master channel configuration to the hardware module. More... | |
void | hmatrix_set_slave_priority (enum hmatrix_slave_id slave_id, hmatrix_prs *p_prio) |
Set priority for the specified slave access. More... | |
void | hmatrix_slave_ch_set_config (const enum hmatrix_slave_id slave_id, struct hmatrix_slave_ch_conf *const config) |
Writes an HMatrix Slave channel configuration to the hardware module. More... | |
void hmatrix_disable | ( | void | ) |
Disables the HMatrix.
Stop the clock mask for the hMatrix.
References SLEEPMGR_SLEEP_1, sleepmgr_unlock_mode(), and sysclk_disable_peripheral_clock().
Referenced by run_hmatrix_test_arbitration(), run_hmatrix_test_master(), and run_hmatrix_test_slave().
void hmatrix_enable | ( | void | ) |
Enables the HMatrix.
Setup the clock mask for the hMatrix.
References sleepmgr_lock_mode(), SLEEPMGR_SLEEP_1, and sysclk_enable_peripheral_clock().
Referenced by main(), run_hmatrix_test_arbitration(), run_hmatrix_test_master(), and run_hmatrix_test_slave().
void hmatrix_get_slave_priority | ( | enum hmatrix_slave_id | slave_id, |
hmatrix_prs * | p_prio | ||
) |
Get priority for the specified slave access.
[in] | slave_id | Slave index. |
[in] | p_prio | Pointer to the priority register sets. |
void hmatrix_init | ( | void | ) |
Initializes the HMatrix.
Initializes the HMatrix ready for use. This setup the clock mask for the hMatrix.
References sysclk_enable_peripheral_clock().
void hmatrix_master_ch_set_config | ( | const enum hmatrix_master_id | master_id, |
struct hmatrix_master_ch_conf *const | config | ||
) |
Writes an HMatrix Master channel configuration to the hardware module.
Writes out a given configuration of a HMatrix Master channel configuration to the hardware module.
[in] | master_id | HMatrix Master channel to configure |
[in] | config | Configuration settings for the HMatrix Master |
References hmatrix_master_ch_conf::burst_type.
Referenced by run_hmatrix_test_arbitration(), run_hmatrix_test_master(), and run_hmatrix_test_slave().
void hmatrix_set_slave_priority | ( | enum hmatrix_slave_id | slave_id, |
hmatrix_prs * | p_prio | ||
) |
Set priority for the specified slave access.
[in] | slave_id | Slave index. |
[in] | p_prio | Pointer to the priority register sets. |
Referenced by run_hmatrix_test_arbitration().
void hmatrix_slave_ch_set_config | ( | const enum hmatrix_slave_id | slave_id, |
struct hmatrix_slave_ch_conf *const | config | ||
) |
Writes an HMatrix Slave channel configuration to the hardware module.
Writes out a given configuration of a HMatrix Slave channel configuration to the hardware module.
[in] | slave_id | HMatrix Slave channel to configure |
[in] | config | Configuration settings for the HMatrix Slave |
References hmatrix_slave_ch_conf::arbitration_type, hmatrix_slave_ch_conf::def_master_type, hmatrix_slave_ch_conf::fixed_def_master_number, and hmatrix_slave_ch_conf::slot_cycle.
Referenced by main(), run_hmatrix_test_arbitration(), run_hmatrix_test_master(), and run_hmatrix_test_slave().