HCFG

         Host Configuration Register
      
Module Instance Base Address Register Address
i_usbotg_0_DWC_otg_intreg 0xFFB00000 0xFFB00400
i_usbotg_1_DWC_otg_intreg 0xFFB40000 0xFFB40400

Size: 32

Offset: 0x400

Access: RW

Important: The value of a reserved bit must be maintained in software. When you modify registers containing reserved bit fields, you must use a read-modify-write operation to preserve state and prevent indeterminate system behavior.
Bit Fields
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16

ModeChTimEn

RW 0x0

RESERVED

RO 0x0

PerSchedEna

RW 0x0

FrListEn

RW 0x0

DescDMA

RW 0x0

RESERVED1

RO 0x0

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

ResValid

RW 0x2

Ena32KHzS

RW 0x0

RESERVED2

RO 0x0

FSLSSupp

RW 0x0

FSLSPclkSel

RW 0x0

HCFG Fields

Bit Name Description Access Reset
31 ModeChTimEn
Mode Change Ready Timer Enable (ModeChTimEn)
This bit is used to enable/disable the Host core 
to wait  200 PHY clock cycles at the end of Resumeto change the opmode signal to the PHY to 00 
after Suspend or LPM.
1'b0 : The Host core waits for either 200 PHY clock cycles or a linestate 
of SE0 at the end of resume to the change the opmode from 2'b10 to 2'b00
1'b1 : The Host core waits only for a linstate of SE0 at the end of resume
to change the opmode from 2'b10 to 2'b00.
Value Description
0x0 The Host core waits for either 200 PHY clock cycles or a linestate of SE0 at the end of resume to change the opmode from 0x2 to 0x0
0x1 The Host core waits only for a linestate of SE0 at the end of resume to change the opmode from 0x2 to 0x0
RW 0x0
30:27 RESERVED
RESERVED
RO 0x0
26 PerSchedEna
Enable Periodic Scheduling (PerSchedEna):
Applicable in host DDMA mode only.
Enables periodic scheduling within the core. Initially, the bit is reset.
The core will not process any periodic channels. As soon as this bit is set,
the core will get ready to start scheduling periodic channels and 
sets HCFG.PerSchedStat. The setting of HCFG.PerSchedStat indicates the core
has enabled periodic scheduling. Once HCFG.PerSchedEna is set, 
the application is not supposed to again reset the bit unless HCFG.PerSchedStat
is set. As soon as this bit is reset, the core will get ready to
stop scheduling periodic channels and resets HCFG.PerSchedStat.
Value Description
0x0 Disables periodic scheduling within the core
0x1 Enables periodic scheduling within the core
RW 0x0
25:24 FrListEn
Frame List Entries(FrListEn). The value in the register specifies the number 
of entries in the Frame list.
This field is valid only in Scatter/Gather DMA mode.
2'b00: 8 Entries 
2'b01: 16 Entries
2'b10: 32 Entries
2'b11: 63 Entries
Value Description
0x0 8 Entries
0x1 16 Entries
0x2 32 Entries
0x3 63 Entries
RW 0x0
23 DescDMA
Enable Scatter/gather DMA in Host mode (DescDMA). 
When the Scatter/Gather DMA option selected during configuration 
of the RTL, the application can set this bit during initialization
to enable the Scatter/Gather DMA operation.
NOTE: This bit must be modified only once after a reset.
 \The following combinations are available for programming:
GAHBCFG.DMAEn=0,HCFG.DescDMA=0 => Slave mode 
GAHBCFG.DMAEn=0,HCFG.DescDMA=1 => Invalid
GAHBCFG.DMAEn=1,HCFG.DescDMA=0 => Buffered DMA mode 
GAHBCFG.DMAEn=1,HCFG.DescDMA=1 => Scatter/Gather DMA mode
Value Description
0x0 Scatter/Gather DMA in Host mode is disabled
0x1 Scatter/Gather DMA selected
RW 0x0
22:16 RESERVED1
RESERVED
RO 0x0
15:8 ResValid
Resume Validation Period  (ResValid)
This field is effective only when HCFG.Ena32KHzS is set.
It will control the resume period when the core resumes from suspend. 
The core counts for 'ResValid' number of clock cycles to detect a 
valid resume when this is set.
RW 0x2
7 Ena32KHzS
Enable 32 KHz Suspend mode (Ena32KHzS)
This bit can be set only in FS PHY interface is selected. 
Else, this bit needs to be set to zero. 
When FS PHY interface is chosen and this bit is set, 
the core expects that the PHY clock during Suspend is switched 
from 48 MHz to 32 KHz.
Value Description
0x0 32 KHz Suspend mode disabled
0x1 32 KHz Suspend mode enabled
RW 0x0
6:3 RESERVED2
RESERVED
RO 0x0
2 FSLSSupp
FS- and LS-Only Support (FSLSSupp)
The application uses this bit to control the core's enumeration
speed. Using this bit, the application can make the core
enumerate as a FS host, even If the connected device supports
HS traffic. Do not make changes to this field after initial
programming.
 1'b0: HS/FS/LS, based on the maximum speed supported by
the connected device
 1'b1: FS/LS-only, even If the connected device can support
HS
Value Description
0x0 HS/FS/LS, based on the maximum speed supported by the connected device
0x1 FS/LS-only, even if the connected device can support HS
RW 0x0
1:0 FSLSPclkSel
FS/LS PHY Clock Select (FSLSPclkSel)
When the core is in FS Host mode
 2'b00: PHY clock is running at 30/60 MHz
 2'b01: PHY clock is running at 48 MHz
 Others: Reserved
When the core is in LS Host mode
 2'b00: PHY clock is running at 30/60 MHz. When the
UTMI+/ULPI PHY Low Power mode is not selected, use
30/60 MHz.
 2'b01: PHY clock is running at 48 MHz. When the UTMI+
PHY Low Power mode is selected, use 48MHz If the PHY
supplies a 48 MHz clock during LS mode.
 2'b10: PHY clock is running at 6 MHz. In USB 1.1 FS mode,
use 6 MHz when the UTMI+ PHY Low Power mode is
selected and the PHY supplies a 6 MHz clock during LS
mode. If you select a 6 MHz clock during LS mode, you must
do a soft reset.
 2'b11: Reserved
Notes:
 When Core in FS mode, the internal and external clocks have the same frequency.
 When Core in LS mode,
- If FSLSPclkSel = 2'b00: Internal and external clocks have the same frequency
- If FSLSPclkSel = 2'b10: Internal clock is the divided by eight version of external 48 MHz clock
Value Description
0x0 PHY clock is running at 30/60 MHz
0x1 PHY clock is running at 48 MHz
0x2 PHY clock is running at 6 MHz
RW 0x0