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

Description

Device IN Endpoint 2 Transfer Size Register

Register Layout

Bits Access Reset Description
[18:0] RW 0x0 ALT_USB_DEV_DIEPTSIZ2_XFERSIZE
[28:19] RW 0x0 ALT_USB_DEV_DIEPTSIZ2_PKTCNT
[30:29] RW 0x0 ALT_USB_DEV_DIEPTSIZ2_MC
[31] ??? 0x0 UNDEFINED

Field : xfersize

Transfer Size (XferSize)

Indicates the transfer size in bytes For endpoint 0. The core

interrupts the application only after it has exhausted the transfer

size amount of data. The transfer size can be Set to the

maximum packet size of the endpoint, to be interrupted at the

end of each packet.

The core decrements this field every time a packet from the

external memory is written to the TxFIFO.

Field Access Macros:

#define ALT_USB_DEV_DIEPTSIZ2_XFERSIZE_LSB   0
 
#define ALT_USB_DEV_DIEPTSIZ2_XFERSIZE_MSB   18
 
#define ALT_USB_DEV_DIEPTSIZ2_XFERSIZE_WIDTH   19
 
#define ALT_USB_DEV_DIEPTSIZ2_XFERSIZE_SET_MSK   0x0007ffff
 
#define ALT_USB_DEV_DIEPTSIZ2_XFERSIZE_CLR_MSK   0xfff80000
 
#define ALT_USB_DEV_DIEPTSIZ2_XFERSIZE_RESET   0x0
 
#define ALT_USB_DEV_DIEPTSIZ2_XFERSIZE_GET(value)   (((value) & 0x0007ffff) >> 0)
 
#define ALT_USB_DEV_DIEPTSIZ2_XFERSIZE_SET(value)   (((value) << 0) & 0x0007ffff)
 

Field : pktcnt

Packet Count (PktCnt)

Indicates the total number of USB packets that constitute the

Transfer Size amount of data For endpoint 0.

This field is decremented every time a packet (maximum size or

short packet) is read from the TxFIFO.

Field Access Macros:

#define ALT_USB_DEV_DIEPTSIZ2_PKTCNT_LSB   19
 
#define ALT_USB_DEV_DIEPTSIZ2_PKTCNT_MSB   28
 
#define ALT_USB_DEV_DIEPTSIZ2_PKTCNT_WIDTH   10
 
#define ALT_USB_DEV_DIEPTSIZ2_PKTCNT_SET_MSK   0x1ff80000
 
#define ALT_USB_DEV_DIEPTSIZ2_PKTCNT_CLR_MSK   0xe007ffff
 
#define ALT_USB_DEV_DIEPTSIZ2_PKTCNT_RESET   0x0
 
#define ALT_USB_DEV_DIEPTSIZ2_PKTCNT_GET(value)   (((value) & 0x1ff80000) >> 19)
 
#define ALT_USB_DEV_DIEPTSIZ2_PKTCNT_SET(value)   (((value) << 19) & 0x1ff80000)
 

Field : mc

Applies to IN endpoints only.

For periodic IN endpoints, this field indicates the number of packets that must be transmitted per microframe on the USB. The core uses this field to calculate the data PID for isochronous IN endpoints.

2'b01: 1 packet

2'b10: 2 packets

2'b11: 3 packets

For non-periodic IN endpoints, this field is valid only in Internal DMA mode. It specifies the number of packets the core must fetchfor an IN endpoint before it switches to the endpoint pointed to by the Next Endpoint field of the Device Endpoint-n Control register (DIEPCTLn.NextEp)

Field Enumeration Values:

Enum Value Description
ALT_USB_DEV_DIEPTSIZ2_MC_E_PKTONE 0x1 1 packet
ALT_USB_DEV_DIEPTSIZ2_MC_E_PKTTWO 0x2 2 packets
ALT_USB_DEV_DIEPTSIZ2_MC_E_PKTTHREE 0x3 3 packets

Field Access Macros:

#define ALT_USB_DEV_DIEPTSIZ2_MC_E_PKTONE   0x1
 
#define ALT_USB_DEV_DIEPTSIZ2_MC_E_PKTTWO   0x2
 
#define ALT_USB_DEV_DIEPTSIZ2_MC_E_PKTTHREE   0x3
 
#define ALT_USB_DEV_DIEPTSIZ2_MC_LSB   29
 
#define ALT_USB_DEV_DIEPTSIZ2_MC_MSB   30
 
#define ALT_USB_DEV_DIEPTSIZ2_MC_WIDTH   2
 
#define ALT_USB_DEV_DIEPTSIZ2_MC_SET_MSK   0x60000000
 
#define ALT_USB_DEV_DIEPTSIZ2_MC_CLR_MSK   0x9fffffff
 
#define ALT_USB_DEV_DIEPTSIZ2_MC_RESET   0x0
 
#define ALT_USB_DEV_DIEPTSIZ2_MC_GET(value)   (((value) & 0x60000000) >> 29)
 
#define ALT_USB_DEV_DIEPTSIZ2_MC_SET(value)   (((value) << 29) & 0x60000000)
 

Data Structures

struct  ALT_USB_DEV_DIEPTSIZ2_s
 

Macros

#define ALT_USB_DEV_DIEPTSIZ2_RESET   0x00000000
 
#define ALT_USB_DEV_DIEPTSIZ2_OFST   0x150
 
#define ALT_USB_DEV_DIEPTSIZ2_ADDR(base)   ALT_CAST(void *, (ALT_CAST(char *, (base)) + ALT_USB_DEV_DIEPTSIZ2_OFST))
 

Typedefs

typedef struct
ALT_USB_DEV_DIEPTSIZ2_s 
ALT_USB_DEV_DIEPTSIZ2_t
 

Data Structure Documentation

struct ALT_USB_DEV_DIEPTSIZ2_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_DIEPTSIZ2.

Data Fields
uint32_t xfersize: 19 ALT_USB_DEV_DIEPTSIZ2_XFERSIZE
uint32_t pktcnt: 10 ALT_USB_DEV_DIEPTSIZ2_PKTCNT
uint32_t mc: 2 ALT_USB_DEV_DIEPTSIZ2_MC
uint32_t __pad0__: 1 UNDEFINED

Macro Definitions

#define ALT_USB_DEV_DIEPTSIZ2_XFERSIZE_LSB   0

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

#define ALT_USB_DEV_DIEPTSIZ2_XFERSIZE_MSB   18

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

#define ALT_USB_DEV_DIEPTSIZ2_XFERSIZE_WIDTH   19

The width in bits of the ALT_USB_DEV_DIEPTSIZ2_XFERSIZE register field.

#define ALT_USB_DEV_DIEPTSIZ2_XFERSIZE_SET_MSK   0x0007ffff

The mask used to set the ALT_USB_DEV_DIEPTSIZ2_XFERSIZE register field value.

#define ALT_USB_DEV_DIEPTSIZ2_XFERSIZE_CLR_MSK   0xfff80000

The mask used to clear the ALT_USB_DEV_DIEPTSIZ2_XFERSIZE register field value.

#define ALT_USB_DEV_DIEPTSIZ2_XFERSIZE_RESET   0x0

The reset value of the ALT_USB_DEV_DIEPTSIZ2_XFERSIZE register field.

#define ALT_USB_DEV_DIEPTSIZ2_XFERSIZE_GET (   value)    (((value) & 0x0007ffff) >> 0)

Extracts the ALT_USB_DEV_DIEPTSIZ2_XFERSIZE field value from a register.

#define ALT_USB_DEV_DIEPTSIZ2_XFERSIZE_SET (   value)    (((value) << 0) & 0x0007ffff)

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

#define ALT_USB_DEV_DIEPTSIZ2_PKTCNT_LSB   19

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

#define ALT_USB_DEV_DIEPTSIZ2_PKTCNT_MSB   28

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

#define ALT_USB_DEV_DIEPTSIZ2_PKTCNT_WIDTH   10

The width in bits of the ALT_USB_DEV_DIEPTSIZ2_PKTCNT register field.

#define ALT_USB_DEV_DIEPTSIZ2_PKTCNT_SET_MSK   0x1ff80000

The mask used to set the ALT_USB_DEV_DIEPTSIZ2_PKTCNT register field value.

#define ALT_USB_DEV_DIEPTSIZ2_PKTCNT_CLR_MSK   0xe007ffff

The mask used to clear the ALT_USB_DEV_DIEPTSIZ2_PKTCNT register field value.

#define ALT_USB_DEV_DIEPTSIZ2_PKTCNT_RESET   0x0

The reset value of the ALT_USB_DEV_DIEPTSIZ2_PKTCNT register field.

#define ALT_USB_DEV_DIEPTSIZ2_PKTCNT_GET (   value)    (((value) & 0x1ff80000) >> 19)

Extracts the ALT_USB_DEV_DIEPTSIZ2_PKTCNT field value from a register.

#define ALT_USB_DEV_DIEPTSIZ2_PKTCNT_SET (   value)    (((value) << 19) & 0x1ff80000)

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

#define ALT_USB_DEV_DIEPTSIZ2_MC_E_PKTONE   0x1

Enumerated value for register field ALT_USB_DEV_DIEPTSIZ2_MC

1 packet

#define ALT_USB_DEV_DIEPTSIZ2_MC_E_PKTTWO   0x2

Enumerated value for register field ALT_USB_DEV_DIEPTSIZ2_MC

2 packets

#define ALT_USB_DEV_DIEPTSIZ2_MC_E_PKTTHREE   0x3

Enumerated value for register field ALT_USB_DEV_DIEPTSIZ2_MC

3 packets

#define ALT_USB_DEV_DIEPTSIZ2_MC_LSB   29

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

#define ALT_USB_DEV_DIEPTSIZ2_MC_MSB   30

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

#define ALT_USB_DEV_DIEPTSIZ2_MC_WIDTH   2

The width in bits of the ALT_USB_DEV_DIEPTSIZ2_MC register field.

#define ALT_USB_DEV_DIEPTSIZ2_MC_SET_MSK   0x60000000

The mask used to set the ALT_USB_DEV_DIEPTSIZ2_MC register field value.

#define ALT_USB_DEV_DIEPTSIZ2_MC_CLR_MSK   0x9fffffff

The mask used to clear the ALT_USB_DEV_DIEPTSIZ2_MC register field value.

#define ALT_USB_DEV_DIEPTSIZ2_MC_RESET   0x0

The reset value of the ALT_USB_DEV_DIEPTSIZ2_MC register field.

#define ALT_USB_DEV_DIEPTSIZ2_MC_GET (   value)    (((value) & 0x60000000) >> 29)

Extracts the ALT_USB_DEV_DIEPTSIZ2_MC field value from a register.

#define ALT_USB_DEV_DIEPTSIZ2_MC_SET (   value)    (((value) << 29) & 0x60000000)

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

#define ALT_USB_DEV_DIEPTSIZ2_RESET   0x00000000

The reset value of the ALT_USB_DEV_DIEPTSIZ2 register.

#define ALT_USB_DEV_DIEPTSIZ2_OFST   0x150

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

#define ALT_USB_DEV_DIEPTSIZ2_ADDR (   base)    ALT_CAST(void *, (ALT_CAST(char *, (base)) + ALT_USB_DEV_DIEPTSIZ2_OFST))

The address of the ALT_USB_DEV_DIEPTSIZ2 register.

Typedef Documentation

The typedef declaration for register ALT_USB_DEV_DIEPTSIZ2.