USB Host Controller Reset and Clock Control
14-116
14.9.3 USB Host Controller Hardware Reset
Reset of the USB host controller is provided by the ULPD module. The
PER_EN bit in the MPU reset control 2 register controls the reset to many
OMAP5910 peripherals, including the USB host controller. When held in reset,
the USB host controller does not generate any USB activity on its USB ports.
The USB host controller requires that its 48-MHz clock input (from the
OMAP5910 ULPD module) be active and that the OMAP5910 configuration
register CONF_MOD_USB_HOST_HHC_UHOST_EN_R bit be set in order
to complete its reset sequence.
There is a delay of approximately 72 cycles of the ULPD USB host controller
48-MHz clock before the USB host controller is successfully reset. This delay
starts at the latest of PER_EN bit set, CONF_MOD_USB_HOST_HHC_
UHOST_EN_R bit set, or 48-MHz clock start. When the USB host controller
is in hardware reset, read or write accesses to its registers have no effect. It
is recommended that USB host controller software read the HcRevision and
HcHCCA registers after deasserting reset to verify the proper reset values. If
the read values for both HcRevision and HcHCCA are not the correct, reset
the values and continue reading until the proper reset values are seen.
The CONF_MOD_USB_HOST_HHC_UHOST_EN_R bit, when cleared, also
holds the USB host controller in a hardware reset. While the USB host control-
ler is in reset, reads from the USB host controller registers do not return valid
data and writes to the USB host controller registers have no effect.
Software that initializes the USB host controller must ensure that the reset is
turned off, that the ULPD 48-MHz clock for the USB host controller is enabled,
and that the MOD_CONF_CTRL_0 register CONF_MOD_USB_HOST_HHC
_UHOST_EN_R bit is set. It must then wait until reads of both the HcRevision
register and the HcHCCA register return their correct reset default values.
14.9.4 USB Host Controller OHCI Reset
The OHCI Specification for USB provides the HCR bit in the HCCommand
Status register, which resets the OHCI controller. This reset may be used to
reset the OHCI functionality and has no effect on the USB host controller local
bus and MPU public peripheral bus interfaces.