![Intel IXP45X Скачать руководство пользователя страница 485](http://html1.mh-extra.com/html/intel/ixp45x/ixp45x_developers-manual_2073092485.webp)
Intel
®
IXP45X and Intel
®
IXP46X Product Line of Network Processors
August 2006
Developer’s Manual
Order Number: 306262--, Revision: 004US
485
USB 2.0 Host Controller—Intel
®
IXP45X and Intel
®
IXP46X Product Line of Network Processors
9.14.15.1.3 Short Packet
Reception of a data packet that is less than the endpoint’s Max Packet size during
Control, Bulk or Interrupt transfers signals the completion of the transfer. Whenever a
short packet completion occurs during a queue head execution, the USBINT bit in the
USBSTS register is set to a one. If the USB Interrupt Enable bit is set in the USBINTR
register, a hardware interrupt is signaled to the system at the next interrupt threshold.
9.14.15.2 Host Controller Event Interrupts
These interrupt sources are independent of the interrupt threshold (with the one
exception being the Interrupt on Async Advance, see
“Interrupt on Async Advance” on
).
9.14.15.2.1 Port Change Events
Port registers contain status and status change bits. When the status change bits are
set to a one, the host controller sets the Port Change Detect bit in the USBSTS register
to a one. If the Port Change Interrupt Enable bit in the USBINTR register is a one, then
the host controller will issue a hardware interrupt. The port status change bits include:
• Connect Status Change
• Port Enable/Disable Change
• Over-current Change
• Force Port Resume
9.14.15.2.2 Frame List Rollover
This event indicates that the host controller has wrapped the frame list. The current
programmed size of the frame list effects how often this interrupt occurs. If the frame
list size is 1024, then the interrupt will occur every 1,024 ms, if it is 512, then it will
occur every 512 ms, etc. When a frame list rollover is detected, the host controller sets
the Frame List Rollover bit in the USBSTS register to a one. If the Frame List Rollover
Enable bit in the USBINTR register is set to a one, the host controller issues a hardware
interrupt. This interrupt is not delayed to the next interrupt threshold.
9.14.15.2.3 Interrupt on Async Advance
This event is used for deterministic removal of queue heads from the asynchronous
schedule. Whenever the host controller advances the on-chip context of the
asynchronous schedule, it evaluates the value of the Interrupt on Async Advance
Doorbell bit in the USBCMD register. If it is a one, it sets the Interrupt on Async
Advance bit in the USBSTS register to a one. If the Interrupt on Async Advance Enable
bit in the USBINTR register is a one, the host controller issues a hardware interrupt at
the next interrupt threshold. A detailed explanation of this feature is described in
Section 9.14.8.2, “Removing Queue Heads from Asynchronous Schedule” on page 432
.
9.14.15.2.4 Host System Error
The host controller is a bus master and any interaction between the host controller and
the system may experience errors. The type of host error may be catastrophic to the
host controller (such as a Master Abort) making it impossible for the host controller to
continue in a coherent fashion. In the presence of non-catastrophic host errors, such as
parity errors, the host controller could potentially continue operation. The
recommended behavior for these types of errors is to escalate it to a catastrophic error
and halt the host controller. Host-based error must result in the following actions:
• The Run/Stop bit in the USBCMD register is set to a zero.
• The following bits in the USBSTS register are set: