This file defines a useful set of functions for the HMATRIX module on AVR32 devices.
Definition in file hmatrix.h.
#include <avr32/io.h>
#include "compiler.h"
Go to the source code of this file.
Typedefs | |
typedef enum e_arbitration_types | arbitration_type_t |
typedef enum e_burst_types | burst_type_t |
typedef enum e_granting_schemes | granting_scheme_t |
Enumerations | |
enum | e_arbitration_types { round_robin = 0, fixed_priority = 1 } |
enum | e_burst_types { infinite = 0, single = 1, four_beat = 2, eight_beat = 3, sixteen_beat = 4 } |
enum | e_granting_schemes { no_default_master, last_accessed_master, fixed_default_master } |
Functions | |
void | hmatrix_configure_slave (hsb_slave_t slave, U8 max_cycles_per_burst, granting_scheme_t default_master_type, hsb_master_t default_master, arbitration_type_t arb_type) |
U32 | hmatrix_master_remap_address_decoding (hsb_master_t master, bool enable) |
void | hmatrix_set_master_burst_type (hsb_master_t master, burst_type_t burst_type) |
U32 | hmatrix_slave_set_master_access_priority (hsb_slave_t slave, hsb_master_t master, U8 priority) |
typedef enum e_arbitration_types arbitration_type_t |
typedef enum e_burst_types burst_type_t |
typedef enum e_granting_schemes granting_scheme_t |
enum e_arbitration_types |
Arbitration for bus access
Definition at line 80 of file hmatrix.h.
00080 { 00081 round_robin = 0, 00082 fixed_priority = 1 00083 };
enum e_burst_types |
Burst type polixy
Definition at line 68 of file hmatrix.h.
00068 { 00069 infinite = 0, 00070 single = 1, 00071 four_beat = 2, 00072 eight_beat = 3, 00073 sixteen_beat = 4 00074 };
enum e_granting_schemes |
Access schemes for selecting default master type accces
Definition at line 58 of file hmatrix.h.
00058 { 00059 no_default_master, 00060 last_accessed_master, 00061 fixed_default_master 00062 };
void hmatrix_configure_slave | ( | hsb_slave_t | slave, | |
U8 | max_cycles_per_burst, | |||
granting_scheme_t | default_master_type, | |||
hsb_master_t | default_master, | |||
arbitration_type_t | arb_type | |||
) |
This function will configure a HSB slave
slave | The slave to modify | |
default_master_type | Access type (granting scheme) | |
default_master | Set the default master. Only active if default_master_type is set to "fixed_default_master" | |
arb_type | Select arbitration scheme |
U32 hmatrix_master_remap_address_decoding | ( | hsb_master_t | master, | |
bool | enable | |||
) |
This function can enable or disable the address decoding for the given master
master | Which master to access | |
enable | Enable / disable address decoding |
void hmatrix_set_master_burst_type | ( | hsb_master_t | master, | |
burst_type_t | burst_type | |||
) |
This function sets the burst type used for a given master.
master | Which master to access | |
burst_type | The burst policy to use |
U32 hmatrix_slave_set_master_access_priority | ( | hsb_slave_t | slave, | |
hsb_master_t | master, | |||
U8 | priority | |||
) |
This function will set the master access priority for the given slave
slave | Which slave to modify | |
master | Set priority for this master | |
priority | The desired priority. Range: 0 through 15 |