hmatrix.h File Reference


Detailed Description

HMATRIX driver.

This file defines a useful set of functions for the HMATRIX module on AVR32 devices.

Author:
Atmel Corporation: http://www.atmel.com
Support and FAQ: http://support.atmel.no/

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 Documentation

Definition at line 84 of file hmatrix.h.

Definition at line 75 of file hmatrix.h.

Definition at line 63 of file hmatrix.h.


Enumeration Type Documentation

Arbitration for bus access

Enumerator:
round_robin 
fixed_priority 

Definition at line 80 of file hmatrix.h.

00080                          {
00081   round_robin = 0,
00082   fixed_priority = 1
00083   };

Burst type polixy

Enumerator:
infinite 
single 
four_beat 
eight_beat 
sixteen_beat 

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   };

Access schemes for selecting default master type accces

Enumerator:
no_default_master 
last_accessed_master 
fixed_default_master 

Definition at line 58 of file hmatrix.h.

00058                         {
00059   no_default_master,
00060   last_accessed_master,
00061   fixed_default_master
00062   };


Function Documentation

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

Parameters:
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
Returns:
none

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

Parameters:
master Which master to access
enable Enable / disable address decoding
Returns:
none

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.

Parameters:
master Which master to access
burst_type The burst policy to use
Returns:
none

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

Parameters:
slave Which slave to modify
master Set priority for this master
priority The desired priority. Range: 0 through 15
Returns:
status SUCCESS or INVALID_ARGUMENT


Generated on Fri Feb 19 02:25:15 2010 for AVR32 UC3 - HMATRIX Example by  doxygen 1.5.5