Altera SoCAL  16.0
The Altera SoC Abstraction Layer (SoCAL) API Reference Manual
 All Data Structures Variables Typedefs Groups
Register : hcdma15

Description

Host Channel 15 DMA Address Register

Register Layout

Bits Access Reset Description
[31:0] RW 0x0 ALT_USB_HOST_HCDMA15_HCDMA15

Field : hcdma15

Buffer DMA Mode:

[31:0] DMA Address (DMAAddr)

This field holds the start address in the external memory from which the data for

the endpoint must be fetched or to which it must be stored. This register is

incremented on every AHB transaction.

Scatter-Gather DMA (DescDMA) Mode:

[31:9] (Non Isoc) Non-Isochronous:

[31:N] (Isoc) 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

nTD N

7 6

15 7

31 8

63 9

127 10

255 11

FS ISOC

nTD N

1 4

3 5

7 6

15 7

31 8

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/(micro)frame value. Need to be set

to zero by application.Scatter-Gather DMA (DescDMA) Mode:

[31:9] (Non Isoc) Non-Isochronous:

[31:N] (Isoc) 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

nTD N

7 6

15 7

31 8

63 9

127 10

255 11

FS ISOC

nTD N

1 4

3 5

7 6

15 7

31 8

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/(micro)frame value. Need to be set

to zero by application.

Field Access Macros:

#define ALT_USB_HOST_HCDMA15_HCDMA15_LSB   0
 
#define ALT_USB_HOST_HCDMA15_HCDMA15_MSB   31
 
#define ALT_USB_HOST_HCDMA15_HCDMA15_WIDTH   32
 
#define ALT_USB_HOST_HCDMA15_HCDMA15_SET_MSK   0xffffffff
 
#define ALT_USB_HOST_HCDMA15_HCDMA15_CLR_MSK   0x00000000
 
#define ALT_USB_HOST_HCDMA15_HCDMA15_RESET   0x0
 
#define ALT_USB_HOST_HCDMA15_HCDMA15_GET(value)   (((value) & 0xffffffff) >> 0)
 
#define ALT_USB_HOST_HCDMA15_HCDMA15_SET(value)   (((value) << 0) & 0xffffffff)
 

Data Structures

struct  ALT_USB_HOST_HCDMA15_s
 

Macros

#define ALT_USB_HOST_HCDMA15_RESET   0x00000000
 
#define ALT_USB_HOST_HCDMA15_OFST   0x2f4
 
#define ALT_USB_HOST_HCDMA15_ADDR(base)   ALT_CAST(void *, (ALT_CAST(char *, (base)) + ALT_USB_HOST_HCDMA15_OFST))
 

Typedefs

typedef struct
ALT_USB_HOST_HCDMA15_s 
ALT_USB_HOST_HCDMA15_t
 

Data Structure Documentation

struct ALT_USB_HOST_HCDMA15_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_HCDMA15.

Data Fields
uint32_t hcdma15: 32 ALT_USB_HOST_HCDMA15_HCDMA15

Macro Definitions

#define ALT_USB_HOST_HCDMA15_HCDMA15_LSB   0

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

#define ALT_USB_HOST_HCDMA15_HCDMA15_MSB   31

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

#define ALT_USB_HOST_HCDMA15_HCDMA15_WIDTH   32

The width in bits of the ALT_USB_HOST_HCDMA15_HCDMA15 register field.

#define ALT_USB_HOST_HCDMA15_HCDMA15_SET_MSK   0xffffffff

The mask used to set the ALT_USB_HOST_HCDMA15_HCDMA15 register field value.

#define ALT_USB_HOST_HCDMA15_HCDMA15_CLR_MSK   0x00000000

The mask used to clear the ALT_USB_HOST_HCDMA15_HCDMA15 register field value.

#define ALT_USB_HOST_HCDMA15_HCDMA15_RESET   0x0

The reset value of the ALT_USB_HOST_HCDMA15_HCDMA15 register field.

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

Extracts the ALT_USB_HOST_HCDMA15_HCDMA15 field value from a register.

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

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

#define ALT_USB_HOST_HCDMA15_RESET   0x00000000

The reset value of the ALT_USB_HOST_HCDMA15 register.

#define ALT_USB_HOST_HCDMA15_OFST   0x2f4

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

#define ALT_USB_HOST_HCDMA15_ADDR (   base)    ALT_CAST(void *, (ALT_CAST(char *, (base)) + ALT_USB_HOST_HCDMA15_OFST))

The address of the ALT_USB_HOST_HCDMA15 register.

Typedef Documentation

The typedef declaration for register ALT_USB_HOST_HCDMA15.