GOTGCTL

         OTG Control and Status Register
      
Module Instance Base Address Register Address
i_usbotg_0_DWC_otg_intreg 0xFFB00000 0xFFB00000
i_usbotg_1_DWC_otg_intreg 0xFFB40000 0xFFB40000

Size: 32

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

RESERVED

RO 0x0

Reserved

CurMod

RO 0x0

OTGVer

RW 0x0

BSesVld

RO 0x0

ASesVld

RO 0x0

DbncTime

RO 0x0

ConIDSts

RO 0x1

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

Reserved

EHEn

RW 0x0

DevHNPEn

RW 0x0

HstSetHNPEn

RW 0x0

HNPReq

RW 0x0

HstNegScs

RO 0x0

BvalidOvVal

RW 0x0

BvalidOvEn

RW 0x0

AvalidOvVal

RW 0x0

AvalidOvEn

RW 0x0

VbvalidOvVal

RW 0x0

VbvalidOvEn

RW 0x0

SesReq

RW 0x0

SesReqScs

RO 0x0

GOTGCTL Fields

Bit Name Description Access Reset
31:28 RESERVED
RESERVED
RO 0x0
21 CurMod
Mode: Host and Device
Current Mode of Operation (CurMod)
Indicates the current mode.
 1'b0: Device mode
 1'b1: Host mode
Value Description
0x0 Current mode is device mode
0x1 Current mode is host mode
RO 0x0
20 OTGVer
OTG Version (OTGVer)
Indicates the OTG revision.
 1'b0: OTG Version 1.3. In this version the core supports Data line
       pulsing and VBus pulsing for SRP.
 1'b1: OTG Version 2.0. In this version the core supports only Data
       line pulsing for SRP.
Value Description
0x0 Supports OTG Version 1.3
0x1 Supports OTG Version 2.0
RW 0x0
19 BSesVld
Mode: Device only
B-Session Valid (BSesVld)
Indicates the Device mode transceiver status.
 1'b0: B-session is not valid.
 1'b1: B-session is valid.
In OTG mode, you can use this bit to determine if the device is
connected or disconnected.
Note: If you do not enable OTG features (such as SRP and HNP), the
read reset value will be 1.The vbus assigns the values internally for non-
SRP or non-HNP configurations.
Value Description
0x0 B-session is not valid
0x1 B-session is valid
RO 0x0
18 ASesVld
Mode: Host only
A-Session Valid (ASesVld)
Indicates the Host mode transceiver status.
 1'b0: A-session is not valid
 1'b1: A-session is valid
Note: If you do not enabled OTG features (such as SRP and HNP), the
read reset value will be 1.The vbus assigns the values internally for non-
SRP or non-HNP configurations.
Value Description
0x0 A-session is not valid
0x1 A-session is valid
RO 0x0
17 DbncTime
Mode: Host only
Long/Short Debounce Time (DbncTime)
Indicates the debounce time of a detected connection.
 1'b0: Long debounce time, used for physical connections
(100 ms + 2.5 micro-sec)
 1'b1: Short debounce time, used for soft connections (2.5 micro-sec)
Value Description
0x0 Long debounce time, used for physical connections (100 ms + 2.5 micro-sec)
0x1 Short debounce time, used for soft connections (2.5 micro-sec
RO 0x0
16 ConIDSts
Mode: Host and Device
Connector ID Status (ConIDSts)
Indicates the connector ID status on a connect event.
 1'b0: The DWC_otg core is in A-Device mode
 1'b1: The DWC_otg core is in B-Device mode
Value Description
0x0 The DWC_otg core is in A-Device mode
0x1 The DWC_otg core is in B-Device mode
RO 0x1
12 EHEn
Mode: SRP Capable Host
Embedded Host Enable (EHEn)
1'b0: Disable Embedded Host Mode
1'b1: Enable Embedded Host Mode
Value Description
0x0 OTG A Device state machine is selected
0x1 Embedded Host state machine is selected
RW 0x0
11 DevHNPEn
Mode: Device only
Device HNP Enabled (DevHNPEn)
The application sets this bit when it successfully receives a
SetFeature.SetHNPEnable command from the connected USB
host.
 1'b0: HNP is not enabled in the application
 1'b1: HNP is enabled in the application
Value Description
0x0 HNP is disabled
0x1 HNP is enabled
RW 0x0
10 HstSetHNPEn
Mode: Host only
Host Set HNP Enable (HstSetHNPEn)
The application sets this bit when it has successfully enabled
HNP (using the SetFeature.SetHNPEnable command) on the
connected device.
 1'b0: Host Set HNP is not enabled
 1'b1: Host Set HNP is enabled
Value Description
0x0 Host Set HNP is not enabled
0x1 Host Set HNP is enabled
RW 0x0
9 HNPReq
Mode: Device only
HNP Request (HNPReq)
The application sets this bit to initiate an HNP request to the
connected USB host. The application can clear this bit by writing
a 0 when the Host Negotiation Success Status Change bit in the
OTG Interrupt register (GOTGINT.HstNegSucStsChng) is SET.
The core clears this bit when the HstNegSucStsChng bit is
cleared.
 1'b0: No HNP request
 1'b1: HNP request
Value Description
0x0 No HNP request
0x1 HNP request
RW 0x0
8 HstNegScs
Mode: Device only
Host Negotiation Success (HstNegScs)
The core sets this bit when host negotiation is successful. The
core clears this bit when the HNP Request (HNPReq) bit in this
register is SET.
 1'b0: Host negotiation failure
 1'b1: Host negotiation success
Value Description
0x0 Host negotiation failure
0x1 Host negotiation success
RO 0x0
7 BvalidOvVal
B-Peripheral Session Valid OverrideValue (BvalidOvVal)
This bit is used to set Override value for Bvalid 
signal when GOTGCTL.BvalidOvEn is set.
1'b0 : Bvalid value is 1'b0 when GOTGCTL.BvalidOvEn =1
1'b1 : Bvalid value is 1'b1 when GOTGCTL.BvalidOvEn =1
Value Description
0x0 Bvalid value when GOTGCTL.BvalidOvEn =1
0x1 Bvalid value when GOTGCTL.BvalidOvEn =1
RW 0x0
6 BvalidOvEn
B-Peripheral Session Valid Override Enable (BvalidOvEn)
This bit is used to enable/disable the software to 
override the Bvalid signal using the GOTGCTL.BvalidOvVal.
1'b1 : Internally Bvalid received from the PHY is overridden with GOTGCTL.BvalidOvVal.
1'b0 : Override is disabled and bvalid signal from the respective PHY selected is used
internally by the core.
Value Description
0x0 Override is disabled and bvalid signal from the respective PHY selected is used internally by the core
0x1 Internally Bvalid received from the PHY is overridden with GOTGCTL.BvalidOvVal
RW 0x0
5 AvalidOvVal
A-Peripheral Session Valid OverrideValue (AvalidOvVal)
This bit is used to set Override value for Avalid signal
when GOTGCTL.AvalidOvEn is set.
1'b0 : Avalid value is 1'b0 when GOTGCTL.AvalidOvEn =1
1'b1 : Avalid value is 1'b1 when GOTGCTL.AvalidOvEn =1
Value Description
0x0 Avalid value is 1'b0 when GOTGCTL.AvalidOvEn =1
0x1 Avalid value is 1'b1 when GOTGCTL.AvalidOvEn =1
RW 0x0
4 AvalidOvEn
A-Peripheral Session Valid Override Enable (AvalidOvEn)
This bit is used to enable/disable the software to  
override the Avalid signal using the GOTGCTL.AvalidOvVal.
1'b1 : Internally Avalid received from the PHY is overridden with GOTGCTL.AvalidOvVal.
1'b0 : Override is disabled and avalid signal from the respective PHY selected is used
internally by the core
Value Description
0x0 Derive AValid from PHY
0x1 Derive Avalid from GOTGCTL.AvalidOvVal
RW 0x0
3 VbvalidOvVal
VBUS Valid OverrideValue (VbvalidOvVal)
This bit is used to set Override value for vbusvalid
signal when GOTGCTL.VbvalidOvEn is set.
1'b0 : vbusvalid value is 1'b0 when GOTGCTL.VbvalidOvEn =1
1'b1 : vbusvalid value is 1'b1 when GOTGCTL.VbvalidOvEn =1
Value Description
0x0 vbusvalid value when GOTGCTL.VbvalidOvEn = 1
0x1 vbusvalid value when GOTGCTL.VbvalidOvEn is 1
RW 0x0
2 VbvalidOvEn
VBUS Valid Override Enable (VbvalidOvEn)  
This bit is used to enable/disable the software to
override the Bvalid signal using the GOTGCTL.VbvalidOvVal.
1'b1 : Internally Bvalid received from the PHY is overridden with GOTGCTL.VbvalidOvVal.
1'b0 : Override is disabled and bvalid signal from the respective PHY selected is used
internally by the core
Value Description
0x0 Override is disabled and bvalid signal from the respective PHY selected is used internally by the core
0x1 The vbus-valid signal received from the PHY is overridden with GOTGCTL.VbvalidOvVal
RW 0x0
1 SesReq
Mode: Device only
Session Request (SesReq)
The application sets this bit to initiate a session request on the
USB. The application can clear this bit by writing a 0 when the
Host Negotiation Success Status Change bit in the OTG
Interrupt register (GOTGINT.HstNegSucStsChng) is SET. The
core clears this bit when the HstNegSucStsChng bit is cleared.
If you use the USB 1.1 Full-Speed Serial Transceiver interface to
initiate the session request, the application must wait until the
VBUS discharges to 0.2 V, after the B-Session Valid bit in this
register (GOTGCTL.BSesVld) is cleared. This discharge time
varies between different PHYs and can be obtained from the
PHY vendor.
 1'b0: No session request
 1'b1: Session request
Value Description
0x0 No session request
0x1 Session request
RW 0x0
0 SesReqScs
Mode: Device only
Session Request Success (SesReqScs)
The core sets this bit when a session request initiation is
successful.
 1'b0: Session request failure
 1'b1: Session request success
Value Description
0x0 Session request failure
0x1 Session request success
RO 0x0