hcfg

         Host Configuration Register
      
Module Instance Base Address Register Address
i_usbotg_0_hostgrp 0xFFB00400 0xFFB00400
i_usbotg_1_hostgrp 0xFFB40400 0xFFB40400

Offset: 0x0

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

perschedena

RW 0x0

frlisten

RW 0x0

descdma

RW 0x0

Reserved

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

resvalid

RW 0x2

ena32khzs

RW 0x0

Reserved

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 ENABLED
0x1 DISABLED
RW 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 DISABLED
0x1 ENABLED
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 RESERVED
0x1 ENTRY8
0x2 ENTRY16
0x3 ENTRY32
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 DISABLED
0x1 ENABLED
RW 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 DISABLED
0x1 ENABLED
RW 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 HSFSLS
0x1 FSLS
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 CLK3060
0x1 CLK48
0x2 CLK6
RW 0x0