Altera SoCAL  16.0
The Altera SoC Abstraction Layer (SoCAL) API Reference Manual
 All Data Structures Variables Typedefs Groups
Register : Device IN Endpoint 3 DMA Address Registe - diepdma3

Description

DMA Addressing.

Register Layout

Bits Access Reset Description
[31:0] RW Unknown DMA Address

Field : DMA Address - diepdma3

Holds the start address of the external memory for storing or fetching endpoint data. for control endpoints, this field stores control OUT data packets as well as SETUP transaction data packets. When more than three SETUP packets are received back-to-back, the SETUP data packet in the memory is overwritten. This register is incremented on every AHB transaction. The application can give only a DWORD-aligned address.

When Scatter/Gather DMA mode is not enabled, the application programs the start address value in this field.

When Scatter/Gather DMA mode is enabled, this field indicates the base pointer for the descriptor list.

Field Access Macros:

#define ALT_USB_DEV_DIEPDMA3_DIEPDMA3_LSB   0
 
#define ALT_USB_DEV_DIEPDMA3_DIEPDMA3_MSB   31
 
#define ALT_USB_DEV_DIEPDMA3_DIEPDMA3_WIDTH   32
 
#define ALT_USB_DEV_DIEPDMA3_DIEPDMA3_SET_MSK   0xffffffff
 
#define ALT_USB_DEV_DIEPDMA3_DIEPDMA3_CLR_MSK   0x00000000
 
#define ALT_USB_DEV_DIEPDMA3_DIEPDMA3_RESET   0x0
 
#define ALT_USB_DEV_DIEPDMA3_DIEPDMA3_GET(value)   (((value) & 0xffffffff) >> 0)
 
#define ALT_USB_DEV_DIEPDMA3_DIEPDMA3_SET(value)   (((value) << 0) & 0xffffffff)
 

Data Structures

struct  ALT_USB_DEV_DIEPDMA3_s
 

Macros

#define ALT_USB_DEV_DIEPDMA3_OFST   0x174
 
#define ALT_USB_DEV_DIEPDMA3_ADDR(base)   ALT_CAST(void *, (ALT_CAST(char *, (base)) + ALT_USB_DEV_DIEPDMA3_OFST))
 

Typedefs

typedef struct
ALT_USB_DEV_DIEPDMA3_s 
ALT_USB_DEV_DIEPDMA3_t
 

Data Structure Documentation

struct ALT_USB_DEV_DIEPDMA3_s

WARNING: The C register and register group struct declarations are provided for convenience and illustrative purposes. They should, however, be used with caution as the C language standard provides no guarantees about the alignment or atomicity of device memory accesses. The recommended practice for writing hardware drivers is to use the SoCAL access macros and alt_read_word() and alt_write_word() functions.

The struct declaration for register ALT_USB_DEV_DIEPDMA3.

Data Fields
uint32_t diepdma3: 32 DMA Address

Macro Definitions

#define ALT_USB_DEV_DIEPDMA3_DIEPDMA3_LSB   0

The Least Significant Bit (LSB) position of the ALT_USB_DEV_DIEPDMA3_DIEPDMA3 register field.

#define ALT_USB_DEV_DIEPDMA3_DIEPDMA3_MSB   31

The Most Significant Bit (MSB) position of the ALT_USB_DEV_DIEPDMA3_DIEPDMA3 register field.

#define ALT_USB_DEV_DIEPDMA3_DIEPDMA3_WIDTH   32

The width in bits of the ALT_USB_DEV_DIEPDMA3_DIEPDMA3 register field.

#define ALT_USB_DEV_DIEPDMA3_DIEPDMA3_SET_MSK   0xffffffff

The mask used to set the ALT_USB_DEV_DIEPDMA3_DIEPDMA3 register field value.

#define ALT_USB_DEV_DIEPDMA3_DIEPDMA3_CLR_MSK   0x00000000

The mask used to clear the ALT_USB_DEV_DIEPDMA3_DIEPDMA3 register field value.

#define ALT_USB_DEV_DIEPDMA3_DIEPDMA3_RESET   0x0

The reset value of the ALT_USB_DEV_DIEPDMA3_DIEPDMA3 register field is UNKNOWN.

#define ALT_USB_DEV_DIEPDMA3_DIEPDMA3_GET (   value)    (((value) & 0xffffffff) >> 0)

Extracts the ALT_USB_DEV_DIEPDMA3_DIEPDMA3 field value from a register.

#define ALT_USB_DEV_DIEPDMA3_DIEPDMA3_SET (   value)    (((value) << 0) & 0xffffffff)

Produces a ALT_USB_DEV_DIEPDMA3_DIEPDMA3 register field value suitable for setting the register.

#define ALT_USB_DEV_DIEPDMA3_OFST   0x174

The byte offset of the ALT_USB_DEV_DIEPDMA3 register from the beginning of the component.

#define ALT_USB_DEV_DIEPDMA3_ADDR (   base)    ALT_CAST(void *, (ALT_CAST(char *, (base)) + ALT_USB_DEV_DIEPDMA3_OFST))

The address of the ALT_USB_DEV_DIEPDMA3 register.

Typedef Documentation

The typedef declaration for register ALT_USB_DEV_DIEPDMA3.