Atmel Software Framework

 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
USBB low-level driver module

USBB low-level driver module.

Warning
Bit-masks are used instead of bit-fields because PB registers require 32-bit write accesses while AVR32-GCC 4.0.2 builds 8-bit accesses even when volatile unsigned int bit-fields are specified.

Modules

 USBB endpoints
 Identifiers of USBB endpoints (USBB device operating mode).
 
 USBB pipes
 Identifiers of USBB pipes (USBB host operating mode).
 
 USBB standard types
 List of the standard types used in USBB.
 
 USBB IP properties
 These macros give access to IP properties.
 
 USBB common management drivers
 These macros manage the USBB controller.
 
 USBB device controller drivers
 These macros manage the USBB Device controller.
 
 USBB endpoint drivers
 These macros manage the common features of the endpoints.
 
 USBB endpoint DMA drivers
 These macros manage the common features of the endpoint DMA channels.
 
 USBB host controller drivers
 These macros manage the USBB Host controller.
 
 USBB pipe drivers
 These macros manage the common features of the pipes.
 
 USBB pipe DMA drivers
 These macros manage the common features of the pipe DMA channels.
 

Macros

#define MAX_PEP_NB   AVR32_USBB_EPT_NUM
 Maximal number of USBB pipes/endpoints. More...
 
#define Pep_fifo_access_64_post_inc()
 Post-increment operations associated with 64-, 32-, 16- and 8-bit accesses to the FIFO data registers of pipes/endpoints. More...
 
#define Pep_fifo_access_32_post_inc()
 
#define Pep_fifo_access_16_post_inc()   ++
 
#define Pep_fifo_access_8_post_inc()   ++
 

#define MAX_PEP_NB   AVR32_USBB_EPT_NUM

Maximal number of USBB pipes/endpoints.

This is the same value as the one produced by Usb_get_pipe_endpoint_max_nbr(). As it is constant and known for a given target, there is no need to decrease performance and to complexify program structure by using a value in memory. The use of MAX_PEP_NB is hence preferred here to the use of a variable initialized from Usb_get_pipe_endpoint_max_nbr().

Referenced by host_check_class(), host_disable_all_pipes(), is_any_interrupt_pipe_active(), reset_it_pipe_str(), usb_general_interrupt(), and usb_host_task().

#define Pep_fifo_access_16_post_inc ( )    ++
#define Pep_fifo_access_32_post_inc ( )
#define Pep_fifo_access_64_post_inc ( )

Post-increment operations associated with 64-, 32-, 16- and 8-bit accesses to the FIFO data registers of pipes/endpoints.

Note
64- and 32-bit accesses to FIFO data registers do not require pointer post-increment while 16- and 8-bit ones do.
Only for internal use.
#define Pep_fifo_access_8_post_inc ( )    ++