![Intel IXP45X Developer'S Manual Download Page 418](http://html1.mh-extra.com/html/intel/ixp45x/ixp45x_developers-manual_2073092418.webp)
Intel
®
IXP45X and Intel
®
IXP46X Product Line of Network Processors—USB 2.0 Host Controller
Intel
®
IXP45X and Intel
®
IXP46X Product Line of Network Processors
Developer’s Manual
August 2006
418
Order Number: 306262-004US
9.14.4
Schedule Traversal Rules
The host controller executes transactions for devices using a simple, shared-memory
schedule. The schedule is comprised of a few data structures, organized into two
distinct lists. The data structures are designed to provide the maximum flexibility
required by USB, minimize memory traffic and hardware / software complexity.
System software maintains two schedules for the host controller: a periodic schedule
and an asynchronous schedule. The root of the periodic schedule is the
PERIODICLISTBASE register (see
Section 9.12.6, “PERIODICLISTBASE” on page 379
The PERIODICLISTBASE register is the physical memory base address of the periodic
frame list. The periodic frame list is an array of physical memory pointers. The objects
referenced from the frame list must be valid schedule data structures as defined in
Section 9.6.2, “Host Data Structure” on page 355
. In each micro-frame, if the periodic
Section 9.14.6, “Periodic Schedule” on page 425
) then the
host controller must execute from the periodic schedule before executing from the
asynchronous schedule. It will only execute from the asynchronous schedule after it
encounters the end of the periodic schedule. The host controller traverses the periodic
schedule by constructing an array offset reference from the PERIODICLISTBASE and
the FRINDEX registers (see
). It fetches the element and begins
traversing the graph of linked schedule data structures.
Table 170.
Behavior During Wake-Up Events
Port Status and Signaling Type
Signaled Port Response
Device State
D0
Not
D0
Port disabled, resume K-State received
No Effect
N/A
N/A
Port suspended, Resume K-State received
Resume reflected downstream on signaled port. Force Port
Resume status bit in PORTSC register is set to a one. Port
Change Detect bit in USBSTS register set to a one.
Port is enabled, disabled or suspended, and
the port's WKDSCNNT_E bit is a one. A
disconnect is detected.
Depending in the initial port state, the PORTSC Connect and
Enable status bits are set to zero, and the Connect Change
status bit is set to a one. Port Change Detect bit in the
USBSTS register is set to a one.
Port is enabled, disabled or suspended, and
the port's WKDSCNNT_E bit is a zero. A
disconnect is detected.
Depending on the initial port state, the PORTSC Connect and
Enable status bits are set to zero, and the Connect Change
status bit is set to a one. Port Change Detect bit in the
USBSTS register is set to a one.
Port is not connected and the port's
WKCNNT_E bit is a one. A connect is
detected.
PORTSC Connect Status and Connect Status Change bits are
set to a one. Port Change Detect bit in the USBSTS register is
set to a one.
Port is not connected and the port's
WKCNNT_E bit is a zero. A connect is
detected.
PORTSC Connect Status and Connect Status Change bits are
set to a one. Port Change Detect bit in the USBSTS register is
set to a one.
Port is connected and the port's WKOC_E
bit is a one. An over-current condition
occurs.
PORTSC Over-current Active, Over-current Change bits are
set to a one. If Port Enable/Disable bit is a one, it is set to a
zero. Port Change Detect bit in the USBSTS register is set to a
one
Port is connected and the port's WKOC_E
bit is a zero. An over-current condition
occurs.
PORTSC Over-current Active, Over-current Change bits are
set to a one. If Port Enable/Disable bit is a one, it is set to a
zero. Port Change Detect bit in the USBSTS register is set to a
one.
Notes:
1.
Hardware interrupt issued if Port Change Interrupt Enable bit in the USBINTR register is a one.
2.
PME# asserted if enabled (Note: PME Status must always be set to a one).
3.
PME# not asserted.