USB Open Host Controller Interface Functionality
14-5
Universal Serial Bus Host
14.2 USB Open Host Controller Interface Functionality
14.2.1 OHCI Controller Overview
The Open HCI—Open Host Controller Interface Specification for USB,
Release 1.0a defines a set of registers and data structures stored in system
memory that define how a USB host controller interfaces to system software.
This specification, in conjunction with the Universal Serial Bus Specification
Version 1.1, define most of the USB functionality that the OMAP5910 USB host
controller provides.
The OHCI Specification for USB focuses on two main aspects of the hardware
implementation of a USB host controller: its register set and the memory data
structures that define the activity to appear on the USB bus. Also discussed
are issues such as interrupt generation, USB host controller state, USB frame
management, and the methods that the hardware must use to process the lists
of data structures in system memory.
This document does not duplicate the information presented in the OHCI
Specification for USB or the USB Specification. OMAP5910 USB host control-
ler users can refer to the USB Specification and the OHCI Specification for
USB for detailed discussions of USB requirements and OHCI controller
operation.
14.2.2 OMAP5910 USB Host Controller Differences from OHCI Specification for USB
The OMAP5910 USB host controller implementation does not implement
every aspect of the functionality defined in the OHCI Specification for USB.
The differences focus on power switching, overcurrent reporting, and the
OHCI ownership change interrupt. Other restrictions are imposed by
OMAP5910 system memory addressing mechanisms and the effects of
OMAP5910 pin multiplexing options.
14.2.2.1
Power Switching Output Pins Not Supported
The OMAP5910 device does not provide pins that can be controlled directly
by the USB host controller OHCI port power control features. The OHCI
RhPortStatus(n) register port power control bits can be programmed by the
USB host controller driver software, but this does not have any direct effect on
any VBUS switching implemented on the board.
Users can use other GPIO pins or implementation-specific control
mechanisms to control VBUS switching.