hprt

This register is available only in Host mode. Currently, the OTG Host supports only one port. A single register holds USB port-related information such as USB reset, enable, suspend, resume, connect status, and test mode for each port.The R_SS_WC bits in this register can trigger an interrupt to the application through the Host Port Interrupt bit of the Core Interrupt register (GINTSTS.PrtInt). On a Port Interrupt, the application must read this register and clear the bit that caused the interrupt. for the R_SS_WC bits, the application must write a 1 to the bit to clear the interrupt
Module Instance Base Address Register Address
usb0 0xFFB00000 0xFFB00440
usb1 0xFFB40000 0xFFB40440

Offset: 0x440

Access: RW

Important: To prevent indeterminate system behavior, reserved areas of memory must not be accessed by software or hardware. Any area of the memory map that is not explicitly defined as a register space or accessible memory is considered reserved.
Bit Fields
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16

Reserved

prtspd

RO 0x0

prttstctl

RW 0x0

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

prttstctl

RW 0x0

prtpwr

RW 0x0

prtlnsts

RO 0x0

Reserved

prtrst

RW 0x0

prtsusp

RO 0x0

prtres

RW 0x0

prtovrcurrchng

RO 0x0

prtovrcurract

RO 0x0

prtenchng

RO 0x0

prtena

RO 0x0

PrtConnDet

RO 0x0

prtconnsts

RO 0x0

hprt Fields

Bit Name Description Access Reset
18:17 prtspd

Indicates the speed of the device attached to this port.

Value Description
0x0 High speed
0x1 Full speed
0x2 Low speed
0x3 Reserved
RO 0x0
16:13 prttstctl

The application writes a nonzero value to this field to put the port into a Test mode, and the corresponding pattern is signaled on the port.

Value Description
0x0 Test mode disabled
0x1 Test_J mode
0x2 Test_K mode
0x3 Test_SE0_NAK mode
0x4 Test_Packet mode
0x5 Test_force_Enable
RW 0x0
12 prtpwr

The application uses this field to control power to this port, and the core can clear this bit on an over current condition.

Value Description
0x0 Power off
0x1 Power on
RW 0x0
11:10 prtlnsts

Indicates the current logic level USB data lines. Bit [10]: Logic level of D+ Bit [11]: Logic level of D-

Value Description
0x1 Logic level of D+
0x2 Logic level of D-
RO 0x0
8 prtrst

When the application sets this bit, a reset sequence is started on this port. The application must time the reset period and clear this bit after the reset sequence is complete. The application must leave this bit Set for at least a minimum duration mentioned below to start a reset on the port. The application can leave it Set for another 10 ms in addition to the required minimum duration, before clearing the bit, even though there is no maximum limit set by theUSB standard. This bit is cleared by the core even if there is no device connected to the Host. High speed: 50 ms Full speed/Low speed: 10 ms

Value Description
0x0 Port not in reset
0x1 Port in reset
RW 0x0
7 prtsusp

The application sets this bit to put this port in Suspend mode. The core only stops sending SOFs when this is Set. To stop the PHY clock, the application must Set the Port Clock Stop bit, which asserts the suspend input pin of the PHY. The read value of this bit reflects the current suspend status of the port. This bit is cleared by the core after a remote wakeup signal is detected or the application sets the Port Reset bit or Port Resume bit in this register or the Resume/Remote Wakeup Detected Interrupt bit or Disconnect Detected Interrupt bit in the Core Interrupt register (GINTSTS.WkUpInt or GINTSTS.DisconnInt, respectively). This bit is cleared by the core even if there is no device connected to the Host.

Value Description
0x0 Port not in Suspend mode
0x1 Port in Suspend mode
RO 0x0
6 prtres

The application sets this bit to drive resume signaling on the port. The core continues to drive the resume signal until the application clears this bit. If the core detects a USB remote wakeup sequence, as indicated by the Port Resume/Remote Wakeup Detected Interrupt bit of the Core Interrupt register (GINTSTS.WkUpInt), the core starts driving resume signaling without application intervention and clears this bit when it detects a disconnect condition. The read value of this bit indicates whether the core is currently drivingresume signaling. When LPM is enabled and the core is in the L1 (Sleep) state, setting this bit results in the following behavior: The core continues to drive the resume signal until a pre-determined time specified in the GLPMCFG.HIRD_Thres[3:0] field. If the core detects a USB remote wakeup sequence, as indicated by the Port L1 Resume/Remote L1 Wakeup Detected Interrupt bit of the Core Interrupt register (GINTSTS.L1WkUpInt), the core starts driving resume signaling without application intervention and clears this bit at the end of the resume. The read value of this bit indicates whether the core is currently driving resume signaling.

Value Description
0x0 No resume driven
0x1 Resume driven
RW 0x0
5 prtovrcurrchng

The core sets this bit when the status of the PortOvercurrent Active bit (bit 4) in this register changes.This bit can be set only by the core and the application should write 1 to clear it

Value Description
0x0 Status of port overcurrent no change
0x1 Status of port overcurrent changed
RO 0x0
4 prtovrcurract

Indicates the overcurrent condition of the port. 0x0: No overcurrent condition 0x1: Overcurrent condition

Value Description
0x0 No overcurrent condition
0x1 Overcurrent condition
RO 0x0
3 prtenchng

The core sets this bit when the status of the Port Enable bit [2] of this register changes. This bit can be set only by the core and the application should write 1 to clear it.

Value Description
0x0 Port Enable bit 2 no change
0x1 Port Enable bit 2 changed
RO 0x0
2 prtena

A port is enabled only by the core after a reset sequence, and is disabled by an overcurrent condition, a disconnect condition, or by the application clearing this bit. The application cannot Set this bit by a register write. It can only clear it to disable the port by writing 1. This bit does not trigger any interrupt to the application.

Value Description
0x0 Port disabled
0x1 Port enabled
RO 0x0
1 PrtConnDet

The core sets this bit when a device connection is detected to trigger an interrupt to the application using the Host Port Interrupt bit of the Core Interrupt register (GINTSTS.PrtInt). This bit can be set only by the core and the application should write 1 to clear it.The application must write a 1 to this bit to clear the interrupt.

Value Description
0x0 Device connection detected
0x1 No device connection detected
RO 0x0
0 prtconnsts

Defines whether port is attached.

Value Description
0x0 No device is attached to the port
0x1 A device is attached to the port
RO 0x0