Altera SoCAL  16.0
The Altera SoC Abstraction Layer (SoCAL) API Reference Manual
 All Data Structures Variables Typedefs Groups
Register : Host Channel 4 Split Control Register - hcsplt4

Description

Channel_number 4

Register Layout

Bits Access Reset Description
[6:0] RW 0x0 Port Address
[13:7] RW 0x0 Hub Address
[15:14] RW 0x0 Transaction Position
[16] RW 0x0 Do Complete Split
[30:17] ??? 0x0 UNDEFINED
[31] RW 0x0 Split Enable

Field : Port Address - prtaddr

This field is the port number of the recipient transactiontranslator.

Field Access Macros:

#define ALT_USB_HOST_HCSPLT4_PRTADDR_LSB   0
 
#define ALT_USB_HOST_HCSPLT4_PRTADDR_MSB   6
 
#define ALT_USB_HOST_HCSPLT4_PRTADDR_WIDTH   7
 
#define ALT_USB_HOST_HCSPLT4_PRTADDR_SET_MSK   0x0000007f
 
#define ALT_USB_HOST_HCSPLT4_PRTADDR_CLR_MSK   0xffffff80
 
#define ALT_USB_HOST_HCSPLT4_PRTADDR_RESET   0x0
 
#define ALT_USB_HOST_HCSPLT4_PRTADDR_GET(value)   (((value) & 0x0000007f) >> 0)
 
#define ALT_USB_HOST_HCSPLT4_PRTADDR_SET(value)   (((value) << 0) & 0x0000007f)
 

Field : Hub Address - hubaddr

This field holds the device address of the transaction translator's hub.

Field Access Macros:

#define ALT_USB_HOST_HCSPLT4_HUBADDR_LSB   7
 
#define ALT_USB_HOST_HCSPLT4_HUBADDR_MSB   13
 
#define ALT_USB_HOST_HCSPLT4_HUBADDR_WIDTH   7
 
#define ALT_USB_HOST_HCSPLT4_HUBADDR_SET_MSK   0x00003f80
 
#define ALT_USB_HOST_HCSPLT4_HUBADDR_CLR_MSK   0xffffc07f
 
#define ALT_USB_HOST_HCSPLT4_HUBADDR_RESET   0x0
 
#define ALT_USB_HOST_HCSPLT4_HUBADDR_GET(value)   (((value) & 0x00003f80) >> 7)
 
#define ALT_USB_HOST_HCSPLT4_HUBADDR_SET(value)   (((value) << 7) & 0x00003f80)
 

Field : Transaction Position - xactpos

This field is used to determine whether to send all, first, middle, or last payloads with each OUT transaction.

Field Enumeration Values:

Enum Value Description
ALT_USB_HOST_HCSPLT4_XACTPOS_E_MIDDLE 0x0 Mid. This is the middle payload of this
: transaction (which is larger than 188 bytes)
ALT_USB_HOST_HCSPLT4_XACTPOS_E_END 0x1 End. This is the last payload of this
: transaction (which is larger than 188 bytes)
ALT_USB_HOST_HCSPLT4_XACTPOS_E_BEGIN 0x2 Begin. This is the first data payload of this
: transaction (which is larger than 188 bytes)
ALT_USB_HOST_HCSPLT4_XACTPOS_E_ALL 0x3 All. This is the entire data payload is of this
: transaction (which is less than or equal to 188
: bytes)

Field Access Macros:

#define ALT_USB_HOST_HCSPLT4_XACTPOS_E_MIDDLE   0x0
 
#define ALT_USB_HOST_HCSPLT4_XACTPOS_E_END   0x1
 
#define ALT_USB_HOST_HCSPLT4_XACTPOS_E_BEGIN   0x2
 
#define ALT_USB_HOST_HCSPLT4_XACTPOS_E_ALL   0x3
 
#define ALT_USB_HOST_HCSPLT4_XACTPOS_LSB   14
 
#define ALT_USB_HOST_HCSPLT4_XACTPOS_MSB   15
 
#define ALT_USB_HOST_HCSPLT4_XACTPOS_WIDTH   2
 
#define ALT_USB_HOST_HCSPLT4_XACTPOS_SET_MSK   0x0000c000
 
#define ALT_USB_HOST_HCSPLT4_XACTPOS_CLR_MSK   0xffff3fff
 
#define ALT_USB_HOST_HCSPLT4_XACTPOS_RESET   0x0
 
#define ALT_USB_HOST_HCSPLT4_XACTPOS_GET(value)   (((value) & 0x0000c000) >> 14)
 
#define ALT_USB_HOST_HCSPLT4_XACTPOS_SET(value)   (((value) << 14) & 0x0000c000)
 

Field : Do Complete Split - compsplt

The application sets this field to request the OTG host to perform a complete split transaction.

Field Enumeration Values:

Enum Value Description
ALT_USB_HOST_HCSPLT4_COMPSPLT_E_NOSPLIT 0x0 No split transaction
ALT_USB_HOST_HCSPLT4_COMPSPLT_E_SPLIT 0x1 Split transaction

Field Access Macros:

#define ALT_USB_HOST_HCSPLT4_COMPSPLT_E_NOSPLIT   0x0
 
#define ALT_USB_HOST_HCSPLT4_COMPSPLT_E_SPLIT   0x1
 
#define ALT_USB_HOST_HCSPLT4_COMPSPLT_LSB   16
 
#define ALT_USB_HOST_HCSPLT4_COMPSPLT_MSB   16
 
#define ALT_USB_HOST_HCSPLT4_COMPSPLT_WIDTH   1
 
#define ALT_USB_HOST_HCSPLT4_COMPSPLT_SET_MSK   0x00010000
 
#define ALT_USB_HOST_HCSPLT4_COMPSPLT_CLR_MSK   0xfffeffff
 
#define ALT_USB_HOST_HCSPLT4_COMPSPLT_RESET   0x0
 
#define ALT_USB_HOST_HCSPLT4_COMPSPLT_GET(value)   (((value) & 0x00010000) >> 16)
 
#define ALT_USB_HOST_HCSPLT4_COMPSPLT_SET(value)   (((value) << 16) & 0x00010000)
 

Field : Split Enable - spltena

The application sets this field to indicate that this channel is enabled to perform split transactions.

Field Enumeration Values:

Enum Value Description
ALT_USB_HOST_HCSPLT4_SPLTENA_E_DISD 0x0 Split not enabled
ALT_USB_HOST_HCSPLT4_SPLTENA_E_END 0x1 Split enabled

Field Access Macros:

#define ALT_USB_HOST_HCSPLT4_SPLTENA_E_DISD   0x0
 
#define ALT_USB_HOST_HCSPLT4_SPLTENA_E_END   0x1
 
#define ALT_USB_HOST_HCSPLT4_SPLTENA_LSB   31
 
#define ALT_USB_HOST_HCSPLT4_SPLTENA_MSB   31
 
#define ALT_USB_HOST_HCSPLT4_SPLTENA_WIDTH   1
 
#define ALT_USB_HOST_HCSPLT4_SPLTENA_SET_MSK   0x80000000
 
#define ALT_USB_HOST_HCSPLT4_SPLTENA_CLR_MSK   0x7fffffff
 
#define ALT_USB_HOST_HCSPLT4_SPLTENA_RESET   0x0
 
#define ALT_USB_HOST_HCSPLT4_SPLTENA_GET(value)   (((value) & 0x80000000) >> 31)
 
#define ALT_USB_HOST_HCSPLT4_SPLTENA_SET(value)   (((value) << 31) & 0x80000000)
 

Data Structures

struct  ALT_USB_HOST_HCSPLT4_s
 

Macros

#define ALT_USB_HOST_HCSPLT4_OFST   0x184
 
#define ALT_USB_HOST_HCSPLT4_ADDR(base)   ALT_CAST(void *, (ALT_CAST(char *, (base)) + ALT_USB_HOST_HCSPLT4_OFST))
 

Typedefs

typedef struct
ALT_USB_HOST_HCSPLT4_s 
ALT_USB_HOST_HCSPLT4_t
 

Data Structure Documentation

struct ALT_USB_HOST_HCSPLT4_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_HCSPLT4.

Data Fields
uint32_t prtaddr: 7 Port Address
uint32_t hubaddr: 7 Hub Address
uint32_t xactpos: 2 Transaction Position
uint32_t compsplt: 1 Do Complete Split
uint32_t __pad0__: 14 UNDEFINED
uint32_t spltena: 1 Split Enable

Macro Definitions

#define ALT_USB_HOST_HCSPLT4_PRTADDR_LSB   0

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

#define ALT_USB_HOST_HCSPLT4_PRTADDR_MSB   6

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

#define ALT_USB_HOST_HCSPLT4_PRTADDR_WIDTH   7

The width in bits of the ALT_USB_HOST_HCSPLT4_PRTADDR register field.

#define ALT_USB_HOST_HCSPLT4_PRTADDR_SET_MSK   0x0000007f

The mask used to set the ALT_USB_HOST_HCSPLT4_PRTADDR register field value.

#define ALT_USB_HOST_HCSPLT4_PRTADDR_CLR_MSK   0xffffff80

The mask used to clear the ALT_USB_HOST_HCSPLT4_PRTADDR register field value.

#define ALT_USB_HOST_HCSPLT4_PRTADDR_RESET   0x0

The reset value of the ALT_USB_HOST_HCSPLT4_PRTADDR register field.

#define ALT_USB_HOST_HCSPLT4_PRTADDR_GET (   value)    (((value) & 0x0000007f) >> 0)

Extracts the ALT_USB_HOST_HCSPLT4_PRTADDR field value from a register.

#define ALT_USB_HOST_HCSPLT4_PRTADDR_SET (   value)    (((value) << 0) & 0x0000007f)

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

#define ALT_USB_HOST_HCSPLT4_HUBADDR_LSB   7

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

#define ALT_USB_HOST_HCSPLT4_HUBADDR_MSB   13

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

#define ALT_USB_HOST_HCSPLT4_HUBADDR_WIDTH   7

The width in bits of the ALT_USB_HOST_HCSPLT4_HUBADDR register field.

#define ALT_USB_HOST_HCSPLT4_HUBADDR_SET_MSK   0x00003f80

The mask used to set the ALT_USB_HOST_HCSPLT4_HUBADDR register field value.

#define ALT_USB_HOST_HCSPLT4_HUBADDR_CLR_MSK   0xffffc07f

The mask used to clear the ALT_USB_HOST_HCSPLT4_HUBADDR register field value.

#define ALT_USB_HOST_HCSPLT4_HUBADDR_RESET   0x0

The reset value of the ALT_USB_HOST_HCSPLT4_HUBADDR register field.

#define ALT_USB_HOST_HCSPLT4_HUBADDR_GET (   value)    (((value) & 0x00003f80) >> 7)

Extracts the ALT_USB_HOST_HCSPLT4_HUBADDR field value from a register.

#define ALT_USB_HOST_HCSPLT4_HUBADDR_SET (   value)    (((value) << 7) & 0x00003f80)

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

#define ALT_USB_HOST_HCSPLT4_XACTPOS_E_MIDDLE   0x0

Enumerated value for register field ALT_USB_HOST_HCSPLT4_XACTPOS

Mid. This is the middle payload of this transaction (which is larger than 188 bytes)

#define ALT_USB_HOST_HCSPLT4_XACTPOS_E_END   0x1

Enumerated value for register field ALT_USB_HOST_HCSPLT4_XACTPOS

End. This is the last payload of this transaction (which is larger than 188 bytes)

#define ALT_USB_HOST_HCSPLT4_XACTPOS_E_BEGIN   0x2

Enumerated value for register field ALT_USB_HOST_HCSPLT4_XACTPOS

Begin. This is the first data payload of this transaction (which is larger than 188 bytes)

#define ALT_USB_HOST_HCSPLT4_XACTPOS_E_ALL   0x3

Enumerated value for register field ALT_USB_HOST_HCSPLT4_XACTPOS

All. This is the entire data payload is of this transaction (which is less than or equal to 188 bytes)

#define ALT_USB_HOST_HCSPLT4_XACTPOS_LSB   14

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

#define ALT_USB_HOST_HCSPLT4_XACTPOS_MSB   15

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

#define ALT_USB_HOST_HCSPLT4_XACTPOS_WIDTH   2

The width in bits of the ALT_USB_HOST_HCSPLT4_XACTPOS register field.

#define ALT_USB_HOST_HCSPLT4_XACTPOS_SET_MSK   0x0000c000

The mask used to set the ALT_USB_HOST_HCSPLT4_XACTPOS register field value.

#define ALT_USB_HOST_HCSPLT4_XACTPOS_CLR_MSK   0xffff3fff

The mask used to clear the ALT_USB_HOST_HCSPLT4_XACTPOS register field value.

#define ALT_USB_HOST_HCSPLT4_XACTPOS_RESET   0x0

The reset value of the ALT_USB_HOST_HCSPLT4_XACTPOS register field.

#define ALT_USB_HOST_HCSPLT4_XACTPOS_GET (   value)    (((value) & 0x0000c000) >> 14)

Extracts the ALT_USB_HOST_HCSPLT4_XACTPOS field value from a register.

#define ALT_USB_HOST_HCSPLT4_XACTPOS_SET (   value)    (((value) << 14) & 0x0000c000)

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

#define ALT_USB_HOST_HCSPLT4_COMPSPLT_E_NOSPLIT   0x0

Enumerated value for register field ALT_USB_HOST_HCSPLT4_COMPSPLT

No split transaction

#define ALT_USB_HOST_HCSPLT4_COMPSPLT_E_SPLIT   0x1

Enumerated value for register field ALT_USB_HOST_HCSPLT4_COMPSPLT

Split transaction

#define ALT_USB_HOST_HCSPLT4_COMPSPLT_LSB   16

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

#define ALT_USB_HOST_HCSPLT4_COMPSPLT_MSB   16

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

#define ALT_USB_HOST_HCSPLT4_COMPSPLT_WIDTH   1

The width in bits of the ALT_USB_HOST_HCSPLT4_COMPSPLT register field.

#define ALT_USB_HOST_HCSPLT4_COMPSPLT_SET_MSK   0x00010000

The mask used to set the ALT_USB_HOST_HCSPLT4_COMPSPLT register field value.

#define ALT_USB_HOST_HCSPLT4_COMPSPLT_CLR_MSK   0xfffeffff

The mask used to clear the ALT_USB_HOST_HCSPLT4_COMPSPLT register field value.

#define ALT_USB_HOST_HCSPLT4_COMPSPLT_RESET   0x0

The reset value of the ALT_USB_HOST_HCSPLT4_COMPSPLT register field.

#define ALT_USB_HOST_HCSPLT4_COMPSPLT_GET (   value)    (((value) & 0x00010000) >> 16)

Extracts the ALT_USB_HOST_HCSPLT4_COMPSPLT field value from a register.

#define ALT_USB_HOST_HCSPLT4_COMPSPLT_SET (   value)    (((value) << 16) & 0x00010000)

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

#define ALT_USB_HOST_HCSPLT4_SPLTENA_E_DISD   0x0

Enumerated value for register field ALT_USB_HOST_HCSPLT4_SPLTENA

Split not enabled

#define ALT_USB_HOST_HCSPLT4_SPLTENA_E_END   0x1

Enumerated value for register field ALT_USB_HOST_HCSPLT4_SPLTENA

Split enabled

#define ALT_USB_HOST_HCSPLT4_SPLTENA_LSB   31

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

#define ALT_USB_HOST_HCSPLT4_SPLTENA_MSB   31

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

#define ALT_USB_HOST_HCSPLT4_SPLTENA_WIDTH   1

The width in bits of the ALT_USB_HOST_HCSPLT4_SPLTENA register field.

#define ALT_USB_HOST_HCSPLT4_SPLTENA_SET_MSK   0x80000000

The mask used to set the ALT_USB_HOST_HCSPLT4_SPLTENA register field value.

#define ALT_USB_HOST_HCSPLT4_SPLTENA_CLR_MSK   0x7fffffff

The mask used to clear the ALT_USB_HOST_HCSPLT4_SPLTENA register field value.

#define ALT_USB_HOST_HCSPLT4_SPLTENA_RESET   0x0

The reset value of the ALT_USB_HOST_HCSPLT4_SPLTENA register field.

#define ALT_USB_HOST_HCSPLT4_SPLTENA_GET (   value)    (((value) & 0x80000000) >> 31)

Extracts the ALT_USB_HOST_HCSPLT4_SPLTENA field value from a register.

#define ALT_USB_HOST_HCSPLT4_SPLTENA_SET (   value)    (((value) << 31) & 0x80000000)

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

#define ALT_USB_HOST_HCSPLT4_OFST   0x184

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

#define ALT_USB_HOST_HCSPLT4_ADDR (   base)    ALT_CAST(void *, (ALT_CAST(char *, (base)) + ALT_USB_HOST_HCSPLT4_OFST))

The address of the ALT_USB_HOST_HCSPLT4 register.

Typedef Documentation

The typedef declaration for register ALT_USB_HOST_HCSPLT4.