![]() |
Altera SoCAL
16.0
The Altera SoC Abstraction Layer (SoCAL) API Reference Manual
|
This register is used by the OTG host in the internal DMA mode to maintain the current buffer pointer for IN/OUT transactions. The starting DMA address must be DWORD-aligned.
Register Layout
Bits | Access | Reset | Description |
---|---|---|---|
[31:0] | RW | 0x0 | DMA Address |
Field : DMA Address - hcdma12 | |
Non-Isochronous: This field holds the start address of the 512 bytes page. The first descriptor in the list should be located in this address. The first descriptor may be or may not be ready. The core starts processing the list from the CTD value. This field holds the address of the 2*(nTD+1) bytes of locations in which the isochronous descriptors are present where N is based on nTD as per Table below [31:N] Base Address [N-1:3] Offset [2:0] 000 HS ISOC FS ISOC nTD N nTD N 7 6 1 4 15 7 3 5 31 8 7 6 63 9 15 7 127 10 31 8 255 11 63 9 [N-1:3] (Isoc):[8:3] (Non Isoc): Current Transfer Desc(CTD): Non Isochronous: This value is in terms of number of descriptors. The values can be from 0 to 63. 0 - 1 descriptor. 63 - 64 descriptors. This field indicates the current descriptor processed in the list. This field is updated both by application and the core. for example, if the application enables the channel after programming CTD=5, then the core will start processing the 6th descriptor. The address is obtained by adding a value of (8bytes*5=) 40(decimal) to DMAAddr. Isochronous: CTD for isochronous is based on the current frame/microframe value. Need to be set to zero by application. Field Access Macros: | |
#define | ALT_USB_HOST_HCDMA12_HCDMA12_LSB 0 |
#define | ALT_USB_HOST_HCDMA12_HCDMA12_MSB 31 |
#define | ALT_USB_HOST_HCDMA12_HCDMA12_WIDTH 32 |
#define | ALT_USB_HOST_HCDMA12_HCDMA12_SET_MSK 0xffffffff |
#define | ALT_USB_HOST_HCDMA12_HCDMA12_CLR_MSK 0x00000000 |
#define | ALT_USB_HOST_HCDMA12_HCDMA12_RESET 0x0 |
#define | ALT_USB_HOST_HCDMA12_HCDMA12_GET(value) (((value) & 0xffffffff) >> 0) |
#define | ALT_USB_HOST_HCDMA12_HCDMA12_SET(value) (((value) << 0) & 0xffffffff) |
Data Structures | |
struct | ALT_USB_HOST_HCDMA12_s |
Macros | |
#define | ALT_USB_HOST_HCDMA12_OFST 0x294 |
#define | ALT_USB_HOST_HCDMA12_ADDR(base) ALT_CAST(void *, (ALT_CAST(char *, (base)) + ALT_USB_HOST_HCDMA12_OFST)) |
Typedefs | |
typedef struct ALT_USB_HOST_HCDMA12_s | ALT_USB_HOST_HCDMA12_t |
struct ALT_USB_HOST_HCDMA12_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_HOST_HCDMA12.
Data Fields | ||
---|---|---|
uint32_t | hcdma12: 32 | DMA Address |
#define ALT_USB_HOST_HCDMA12_HCDMA12_LSB 0 |
The Least Significant Bit (LSB) position of the ALT_USB_HOST_HCDMA12_HCDMA12 register field.
#define ALT_USB_HOST_HCDMA12_HCDMA12_MSB 31 |
The Most Significant Bit (MSB) position of the ALT_USB_HOST_HCDMA12_HCDMA12 register field.
#define ALT_USB_HOST_HCDMA12_HCDMA12_WIDTH 32 |
The width in bits of the ALT_USB_HOST_HCDMA12_HCDMA12 register field.
#define ALT_USB_HOST_HCDMA12_HCDMA12_SET_MSK 0xffffffff |
The mask used to set the ALT_USB_HOST_HCDMA12_HCDMA12 register field value.
#define ALT_USB_HOST_HCDMA12_HCDMA12_CLR_MSK 0x00000000 |
The mask used to clear the ALT_USB_HOST_HCDMA12_HCDMA12 register field value.
#define ALT_USB_HOST_HCDMA12_HCDMA12_RESET 0x0 |
The reset value of the ALT_USB_HOST_HCDMA12_HCDMA12 register field.
#define ALT_USB_HOST_HCDMA12_HCDMA12_GET | ( | value | ) | (((value) & 0xffffffff) >> 0) |
Extracts the ALT_USB_HOST_HCDMA12_HCDMA12 field value from a register.
#define ALT_USB_HOST_HCDMA12_HCDMA12_SET | ( | value | ) | (((value) << 0) & 0xffffffff) |
Produces a ALT_USB_HOST_HCDMA12_HCDMA12 register field value suitable for setting the register.
#define ALT_USB_HOST_HCDMA12_OFST 0x294 |
The byte offset of the ALT_USB_HOST_HCDMA12 register from the beginning of the component.
#define ALT_USB_HOST_HCDMA12_ADDR | ( | base | ) | ALT_CAST(void *, (ALT_CAST(char *, (base)) + ALT_USB_HOST_HCDMA12_OFST)) |
The address of the ALT_USB_HOST_HCDMA12 register.
typedef struct ALT_USB_HOST_HCDMA12_s ALT_USB_HOST_HCDMA12_t |
The typedef declaration for register ALT_USB_HOST_HCDMA12.