Altera SoCAL  16.0
The Altera SoC Abstraction Layer (SoCAL) API Reference Manual
 All Data Structures Variables Typedefs Groups
Register : Host Frame Number Frame Time Remaining Register - hfnum

Description

This register contains the free space information for the Periodic TxFIFO and the Periodic Transmit Request Queue

Register Layout

Bits Access Reset Description
[15:0] R 0x3fff Frame Number
[31:16] R 0x0 Frame Time Remaining

Field : Frame Number - frnum

This field increments when a new SOF is transmitted on the USB, and is reset to 0 when it reaches 0x3FFF. Reads Return the Frame number value.

Field Enumeration Values:

Enum Value Description
ALT_USB_HOST_HFNUM_FRNUM_E_INACT 0x0 No SOF is transmitted
ALT_USB_HOST_HFNUM_FRNUM_E_ACT 0x1 SOF is transmitted

Field Access Macros:

#define ALT_USB_HOST_HFNUM_FRNUM_E_INACT   0x0
 
#define ALT_USB_HOST_HFNUM_FRNUM_E_ACT   0x1
 
#define ALT_USB_HOST_HFNUM_FRNUM_LSB   0
 
#define ALT_USB_HOST_HFNUM_FRNUM_MSB   15
 
#define ALT_USB_HOST_HFNUM_FRNUM_WIDTH   16
 
#define ALT_USB_HOST_HFNUM_FRNUM_SET_MSK   0x0000ffff
 
#define ALT_USB_HOST_HFNUM_FRNUM_CLR_MSK   0xffff0000
 
#define ALT_USB_HOST_HFNUM_FRNUM_RESET   0x3fff
 
#define ALT_USB_HOST_HFNUM_FRNUM_GET(value)   (((value) & 0x0000ffff) >> 0)
 
#define ALT_USB_HOST_HFNUM_FRNUM_SET(value)   (((value) << 0) & 0x0000ffff)
 

Field : Frame Time Remaining - frrem

Indicates the amount of time remaining in the current microframe (HS) or Frame (FS/LS), in terms of PHY clocks. This field decrements on each PHY clock. When it reaches zero, this field is reloaded with the value in the Frame Interval register and a new SOF is transmitted on the USB.

Field Access Macros:

#define ALT_USB_HOST_HFNUM_FRREM_LSB   16
 
#define ALT_USB_HOST_HFNUM_FRREM_MSB   31
 
#define ALT_USB_HOST_HFNUM_FRREM_WIDTH   16
 
#define ALT_USB_HOST_HFNUM_FRREM_SET_MSK   0xffff0000
 
#define ALT_USB_HOST_HFNUM_FRREM_CLR_MSK   0x0000ffff
 
#define ALT_USB_HOST_HFNUM_FRREM_RESET   0x0
 
#define ALT_USB_HOST_HFNUM_FRREM_GET(value)   (((value) & 0xffff0000) >> 16)
 
#define ALT_USB_HOST_HFNUM_FRREM_SET(value)   (((value) << 16) & 0xffff0000)
 

Data Structures

struct  ALT_USB_HOST_HFNUM_s
 

Macros

#define ALT_USB_HOST_HFNUM_OFST   0x8
 
#define ALT_USB_HOST_HFNUM_ADDR(base)   ALT_CAST(void *, (ALT_CAST(char *, (base)) + ALT_USB_HOST_HFNUM_OFST))
 

Typedefs

typedef struct ALT_USB_HOST_HFNUM_s ALT_USB_HOST_HFNUM_t
 

Data Structure Documentation

struct ALT_USB_HOST_HFNUM_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_HFNUM.

Data Fields
const uint32_t frnum: 16 Frame Number
const uint32_t frrem: 16 Frame Time Remaining

Macro Definitions

#define ALT_USB_HOST_HFNUM_FRNUM_E_INACT   0x0

Enumerated value for register field ALT_USB_HOST_HFNUM_FRNUM

No SOF is transmitted

#define ALT_USB_HOST_HFNUM_FRNUM_E_ACT   0x1

Enumerated value for register field ALT_USB_HOST_HFNUM_FRNUM

SOF is transmitted

#define ALT_USB_HOST_HFNUM_FRNUM_LSB   0

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

#define ALT_USB_HOST_HFNUM_FRNUM_MSB   15

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

#define ALT_USB_HOST_HFNUM_FRNUM_WIDTH   16

The width in bits of the ALT_USB_HOST_HFNUM_FRNUM register field.

#define ALT_USB_HOST_HFNUM_FRNUM_SET_MSK   0x0000ffff

The mask used to set the ALT_USB_HOST_HFNUM_FRNUM register field value.

#define ALT_USB_HOST_HFNUM_FRNUM_CLR_MSK   0xffff0000

The mask used to clear the ALT_USB_HOST_HFNUM_FRNUM register field value.

#define ALT_USB_HOST_HFNUM_FRNUM_RESET   0x3fff

The reset value of the ALT_USB_HOST_HFNUM_FRNUM register field.

#define ALT_USB_HOST_HFNUM_FRNUM_GET (   value)    (((value) & 0x0000ffff) >> 0)

Extracts the ALT_USB_HOST_HFNUM_FRNUM field value from a register.

#define ALT_USB_HOST_HFNUM_FRNUM_SET (   value)    (((value) << 0) & 0x0000ffff)

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

#define ALT_USB_HOST_HFNUM_FRREM_LSB   16

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

#define ALT_USB_HOST_HFNUM_FRREM_MSB   31

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

#define ALT_USB_HOST_HFNUM_FRREM_WIDTH   16

The width in bits of the ALT_USB_HOST_HFNUM_FRREM register field.

#define ALT_USB_HOST_HFNUM_FRREM_SET_MSK   0xffff0000

The mask used to set the ALT_USB_HOST_HFNUM_FRREM register field value.

#define ALT_USB_HOST_HFNUM_FRREM_CLR_MSK   0x0000ffff

The mask used to clear the ALT_USB_HOST_HFNUM_FRREM register field value.

#define ALT_USB_HOST_HFNUM_FRREM_RESET   0x0

The reset value of the ALT_USB_HOST_HFNUM_FRREM register field.

#define ALT_USB_HOST_HFNUM_FRREM_GET (   value)    (((value) & 0xffff0000) >> 16)

Extracts the ALT_USB_HOST_HFNUM_FRREM field value from a register.

#define ALT_USB_HOST_HFNUM_FRREM_SET (   value)    (((value) << 16) & 0xffff0000)

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

#define ALT_USB_HOST_HFNUM_OFST   0x8

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

#define ALT_USB_HOST_HFNUM_ADDR (   base)    ALT_CAST(void *, (ALT_CAST(char *, (base)) + ALT_USB_HOST_HFNUM_OFST))

The address of the ALT_USB_HOST_HFNUM register.

Typedef Documentation

The typedef declaration for register ALT_USB_HOST_HFNUM.