IP Library Granted Patent US 8,180,947
Granted Patent B2
US 8,180,947 · App. 11/230,979 · Granted May 15, 2012

USB on-the-go controller

Assignee: Advanced Micro Devices, Inc.
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,180,947
App. No.
11/230,979
Granted
May 15, 2012
Kind
B2
Abstract

A USB (Universal Serial Bus) controller technique for implementing OTG (On-The-Go) functionality is provided. The device may have an EHCI (Enhanced Host Controller Interface) compliant host control unit, and an OTG control unit to implement an OTG state machine partly in hardware and partly in software. The OTG control unit may have an OTG control register and an OTG status register which are accessible by software. Further, the USB controller device may have a device control unit to implement device functionality and a port multiplexer to assign a physical port to either the host or the device control unit. The OTG control unit may be comprised in the port multiplexer. Further, a software driver may read the OTG status register in response to receiving an interrupt from the USB controller device, and write to the OTG control register to force the USB controller device to change its OTG state.

Claims (29)

1. A USB (Universal Serial Bus) controller device having OTG (On-The-Go) functionality, the USB controller device comprising:

a host control unit having an EHCI (Enhanced Host Controller Interface) compliant host controller adapted to implement host functionality to perform data transfer to and/or from at least one USB peripheral device;

a device control unit adapted to implement device functionality to perform data transfer to and/or from a USB host device;

a port multiplexer adapted to assign a physical port to either said host control unit or said device control unit, wherein said port multiplexer comprises a port multiplexer capability register adapted to store capability information indicating functional capabilities of said port multiplexer, said port multiplexer capability register being accessible by software; and

an OTG control unit adapted to implement an OTG state machine to control operation of said host control unit, wherein said OTG control unit is adapted to implement said OTG state machine partly in hardware and partly in software;

wherein said OTG control unit comprises an OTG control register adapted to hold control information to control operation of said OTG control unit, said OTG control register being accessible by software;

wherein said OTG control register is writeable by software;

wherein said OTG control unit further comprises an OTG status register adapted to hold status information of said OTG control unit, said OTG status register being readable by software; and

wherein said OTG control unit is adapted to cause a software driver to read said OTG status register in response to a change of said status information.

2. The USB controller device of claim 1 , wherein said OTG control unit is adapted to apply an interrupt mechanism to cause said software driver to read said OTG status register.

3. The USB controller device of claim 1 , wherein said OTG control unit is adapted to have a part of said OTG state machine implemented by said software driver by allowing said software driver to read said OTG status register, perform a state transition in response thereto, and write control information to said OTG control register, said control information relating to the new state of said OTG state machine.

4. A USB (Universal Serial Bus) controller device having OTG (On-The-Go) functionality, the USB controller device comprising:

a host control unit having an EHCI (Enhanced Host Controller Interface) compliant host controller adapted to implement host functionality to perform data transfer to and/or from at least one USB peripheral device;

a device control unit adapted to implement device functionality to perform data transfer to and/or from a USB host device,

a port multiplexer adapted to assign a physical port to either said host control unit or said device control unit, wherein said port multiplexer comprises a port multiplexer capability register adapted to store capability information indicating functional capabilities of said port multiplexer, said port multiplexer capability register being accessible by software; and

an OTG control unit adapted to control operation of said host control unit, wherein said OTG control unit comprises:

an OTG control register adapted to hold control information to control operation of said OTG control unit; and

an OTG status register adapted to hold status information of said OTG control unit, wherein said OTG control and status registers are accessible by software;

wherein said OTG control register is writeable by software; and

wherein said OTG control unit is adapted to cause a software driver to read said OTG status register in response to a change of said status information.

5. The USB controller device of claim 4 , wherein said OTG control unit is adapted to apply an interrupt mechanism to cause said software driver to read said OTG status register.

6. The USB controller device of claim 4 , wherein said OTG control unit is adapted to have a part of an OTG state machine implemented by said software driver by allowing said software driver to read said OTG status register, perform a state transition in response thereto, and write control information to said OTG control register, said control information relating to the new state of said OTG state machine.

7. A USB (Universal Serial Bus) controller device comprising:

a host control unit having an EHCI (Enhanced Host Controller Interface) compliant host controller adapted to implement host functionality to perform data transfer to and/or from at least one USB peripheral device;

a device control unit adapted to implement device functionality to perform data transfer to and/or from at least one USB host device;

a port multiplexer adapted to assign a physical port to either said host control unit or said device control unit, wherein said port multiplexer comprises a port multiplexer capability register adapted to store capability information indicating functional capabilities of said port multiplexer, said port multiplexer capability register being accessible by software; and

an OTG (On-The-Go) control unit adapted to implement OTG functionality, wherein said OTG control unit is comprised in said port multiplexer;

wherein said port multiplexer comprises a port multiplex controller, wherein the port multiplex controller comprises software accessible registers, and wherein said OTG control unit comprises registers aliased from said software accessible registers of said port multiplex controller; and

wherein the register aliasing allows for having BIOS (Basic Input Output System) accesses and accesses by an OTG driver separated at a register level.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 20, 2005
From: HESSE, KAY; MUELLER, SVEN
To: ADVANCED MICRO DEVICES, INC.
Reel/Frame 017020/0943 →
Priority Claims (1)
DE 10 2004 057 756 · Oct 29, 2004 · national
Continuity (1)
Related Publication 20060095642A1 · May 4, 2006