Zynq UltraScale+ Devices Register Reference > Module Summary > USB3_XHCI Module > OCTL (USB3_XHCI) Register

OCTL (USB3_XHCI) Register

OCTL (USB3_XHCI) Register Description

Register NameOCTL
Relative Address0x000000CC04
Absolute Address 0x00FE20CC04 (USB3_0_XHCI)
0x00FE30CC04 (USB3_1_XHCI)
Width32
TypemixedMixed types. See bit-field details.
Reset Value0x00000000
DescriptionOTG Control Register
The OTG Control register controls the behavior of the OTG function of the core.

OCTL (USB3_XHCI) Register Bit-Field Summary

Field NameBitsTypeReset ValueDescription
Reserved31:8roRead-only0x0Reserved
OTG3_GOERR 7rwNormal read/write0x0OTG3_GOERR
When set, this instructs the cores LTSSM to go to the error state during OTG 3.0 RSP.
The software must set this bit when TRSP_ACK_ERR, TRSP_CNF_ERR, or TRSP_WRST_ERR timeout occurs. This bit is self-cleared by the core when the LTSSM moves to the error state.
PeriMode 6rwNormal read/write0Peripheral Mode
The application uses this bit to program the core to work as a peripheral or as a host.
- 1b0: The OTG device acts as a host
- 1b1: The OTG device acts as a peripheral
PrtPwrCtl 5rwNormal read/write0x0Port Power Control
Application sets this bit to initiate Vbus drive when it is an A-device. The application must clear this bit only if it wants to switch off the Vbus to B-device. The core clears this bit in the following conditions:
Transition from any state to A-IDLE state defined in OTG2.0 state machine:
- When AIDL_BDIS_TOUT occurs in A_SUSPEND;
- When A_WAIT_BCON_TOUT occurs in A_WAIT_BCON;
- Transition to any B- state defined in OTG2.0 state machine;
HNPReq 4rwNormal read/write0HNP Request
- 1b0: No HNP request
- 1b1: HNP request
The application sets this bit to initiate a HNP request to the connected USB host. The application clears this bit by writing a 1b0 when either of the following is detected:
- OEVT.OTGBDevBHostEndEvnt
- OEVT.OTGBDevVBusChngEvnt
SesReq 3woWrite-only0Session Request
- 1b0: No session request
- 1b1: Session request
The application sets this bit to initiate a session request on the USB. Writing 1b1 to this field triggers the core to send SRP (data line pulsing) on the PHY interface.
In the absence of OEVT.OTGBDevSessVldDetEvnt after a session request, the application must wait for atleast TB_SRP_FAIL time (6 secs) before initiating another session request. This field returns 1b0 when read.
TermSelDLPulse 2rwNormal read/write0TermSel DLine Pulsing Selection
This bit selects utmi_termselect to drive data line pulse during SRP.
- 1b0: Data line pulsing using utmi_txvalid (default).
- 1b1: Data line pulsing using utmi_termsel.
DevSetHNPEn 1rwNormal read/write0Device Set RSP/HNP Enable
- 1b0: RSP/HNP is not enabled in the application.
- 1b1: RSP/HNP is enabled in the application.
The application sets this bit in the following scenario:
- In HS/FS mode, when it successfully receives a SetFeature.SetHNPEnable command from the connected USB host.
- In SS mode, when it has sent a b3_ntf_hst_rel to the A-device, or the A-device has sent an a3_ntf_host_req.
Note: The terminology RSP is used when the core is operating in SS mode, and HNP is used when the core is operating in non-SS mode.
HstSetHNPEn 0rwNormal read/write0Host Set RSP/HNP Enable.
- 1b0: Host Set RSP/HNP is not enabled;
- 1b1: Host Set RSP/HNP is enabled;
The application sets this bit in the following scenario:
- In HS/FS mode, when it has successfully enabled HNP (using the SetFeature.SetHNPEnable command) from the connected device.
- In SS mode, when it has successfully enabled the b3_rsp_enable feature in RSP-capable Device using SetFeature command while operating as an A-Host, or when it has received a b3_ntf_hst_rel through the SetFeature command while operating as A-peripheral.
Note: The terminology RSP is used when the core is operating in SS mode, and HNP is used when the core is operating in non-SS mode.