Microchip® Advanced Software Framework

 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Matrix (MATRIX)

Purpose

The Bus Matrix implements a multi-layer AHB that enables parallel access paths between multiple AHB masters and slaves in a system, which increases the overall bandwidth.

Modules

 

Macros

#define MATRIX_WPMR_WPKEY_PASSWD   MATRIX_WPMR_WPKEY(0x4D4154U)
 

Functions

burst_type_t matrix_get_master_burst_type (uint32_t ul_id)
 Get undefined length burst type of the specified master. More...
 
arbitration_type_t matrix_get_slave_arbitration_type (uint32_t ul_id)
 Get slave arbitration type of the specified slave. More...
 
defaut_master_t matrix_get_slave_default_master_type (uint32_t ul_id)
 Get default master type of the specified slave. More...
 
uint32_t matrix_get_slave_fixed_default_master (uint32_t ul_id)
 Get fixed default master of the specified slave. More...
 
uint32_t matrix_get_slave_priority (uint32_t ul_id)
 Get priority for the specified slave access. More...
 
uint32_t matrix_get_slave_slot_cycle (uint32_t ul_id)
 Get slot cycle of the specified slave. More...
 
uint32_t matrix_get_writeprotect_status (void)
 Get write protect status. More...
 
void matrix_set_master_burst_type (uint32_t ul_id, burst_type_t burst_type)
 Set undefined length burst type of the specified master. More...
 
void matrix_set_slave_arbitration_type (uint32_t ul_id, arbitration_type_t type)
 Set slave arbitration type of the specified slave. More...
 
void matrix_set_slave_default_master_type (uint32_t ul_id, defaut_master_t type)
 Set default master type of the specified slave. More...
 
void matrix_set_slave_fixed_default_master (uint32_t ul_id, uint32_t ul_fixed_id)
 Set fixed default master of the specified slave. More...
 
void matrix_set_slave_priority (uint32_t ul_id, uint32_t ul_prio)
 Set priority for the specified slave access. More...
 
void matrix_set_slave_slot_cycle (uint32_t ul_id, uint32_t ul_slot_cycle)
 Set slot cycle of the specified slave. More...
 
void matrix_set_writeprotect (uint32_t ul_enable)
 Enable or disable write protect of MATRIX registers. More...
 

#define MATRIX_WPMR_WPKEY_PASSWD   MATRIX_WPMR_WPKEY(0x4D4154U)

Referenced by matrix_set_writeprotect().

burst_type_t matrix_get_master_burst_type ( uint32_t  ul_id)

Get undefined length burst type of the specified master.

Parameters
ul_idMaster index.
Returns
Undefined length burst type.
arbitration_type_t matrix_get_slave_arbitration_type ( uint32_t  ul_id)

Get slave arbitration type of the specified slave.

Parameters
ul_idSlave index.
Returns
Arbitration type.
defaut_master_t matrix_get_slave_default_master_type ( uint32_t  ul_id)

Get default master type of the specified slave.

Parameters
ul_idSlave index.
Returns
Default master type.
uint32_t matrix_get_slave_fixed_default_master ( uint32_t  ul_id)

Get fixed default master of the specified slave.

Parameters
ul_idSlave index.
Returns
Fixed default master index.
uint32_t matrix_get_slave_priority ( uint32_t  ul_id)

Get priority for the specified slave access.

Parameters
ul_idSlave index.
Returns
Bitmask OR of priorities of master x.
uint32_t matrix_get_slave_slot_cycle ( uint32_t  ul_id)

Get slot cycle of the specified slave.

Parameters
ul_idSlave index.
Returns
Number of slot cycle.
uint32_t matrix_get_writeprotect_status ( void  )

Get write protect status.

Returns
Write protect status.
void matrix_set_master_burst_type ( uint32_t  ul_id,
burst_type_t  burst_type 
)

Set undefined length burst type of the specified master.

Parameters
ul_idMaster index.
burst_typeUndefined length burst type.
void matrix_set_slave_arbitration_type ( uint32_t  ul_id,
arbitration_type_t  type 
)

Set slave arbitration type of the specified slave.

Parameters
ul_idSlave index.
typeArbitration type.

Referenced by main().

void matrix_set_slave_default_master_type ( uint32_t  ul_id,
defaut_master_t  type 
)

Set default master type of the specified slave.

Parameters
ul_idSlave index.
typeDefault master type.

Referenced by main().

void matrix_set_slave_fixed_default_master ( uint32_t  ul_id,
uint32_t  ul_fixed_id 
)

Set fixed default master of the specified slave.

Parameters
ul_idSlave index.
ul_fixed_idFixed default master index.
void matrix_set_slave_priority ( uint32_t  ul_id,
uint32_t  ul_prio 
)

Set priority for the specified slave access.

Parameters
ul_idSlave index.
ul_prioBitmask OR of priorities of master x.
void matrix_set_slave_slot_cycle ( uint32_t  ul_id,
uint32_t  ul_slot_cycle 
)

Set slot cycle of the specified slave.

Parameters
ul_idSlave index.
ul_slot_cycleNumber of slot cycle.
void matrix_set_writeprotect ( uint32_t  ul_enable)

Enable or disable write protect of MATRIX registers.

Parameters
ul_enable1 to enable, 0 to disable.

References MATRIX_WPMR_WPKEY_PASSWD.