The ISP1562 is a Peripheral Component Interconnect (PCI)-based, single-chip Universal
Serial Bus (USB) Host Controller. It integrates two Original USB Open Host Controller
Interface (OHCI) cores, one Hi-Speed USB Enhanced Host Controller Interface (EHCI)
core, and two transceivers that are compliant with Hi-Speed USB and Original USB. The
functional parts of the ISP1562 are fully compliant with
Rev. 2.0,Open Host Controller Interface Specification for USB Rev. 1.0a,Enhanced Host
Controller Interface Specification for Universal Serial Bus Rev. 1.0,PCI Local Bus
Specification Rev. 2.2
The integrated high performance USB transceivers allow the ISP1562 to handle all
Hi-Speed USB transfer speed modes: high-speed (480 Mbit/s), full-speed (12 Mbit/s) and
low-speed (1.5 Mbit/s). The ISP1562 provides two downstream ports, allowing
simultaneous connection of USB devices at different speeds.
Universal Serial Bus Specification
, and
PCI Bus Power Management Interface Specification Rev. 1.1
.
2.Features
The ISP1562 is fully compatible with various operating system drivers, such as Microsoft
Windows standard OHCI and EHCI drivers that are present in Windows XP,
Windows 2000 and Red Hat Linux.
The ISP1562 directly interfaces to any 32-bit, 33 MHz PCI bus. Its PCI pins can source
3.3 V. The PCI interface fully complies with
The ISP1562isideally suited for use in Hi-Speed USB mobile applications and embedded
solutions. The ISP1562 uses a 12 MHz crystal.
■ Complies with
■ Supports data transfer at high-speed (480 Mbit/s), full-speed (12 Mbit/s) and
low-speed (1.5 Mbit/s)
■ Two Original USB OHCI cores comply with
Specification for USB Rev. 1.0a
■ One Hi-Speed USB EHCI core complies with
Specification for Universal Serial Bus Rev. 1.0
■ Supports PCI 32-bit, 33 MHz interface compliant with
Rev. 2.2
standard
■ Compliant with
hosts (EHCI and OHCI), and supports all power states: D0, D1, D2, D3
Universal Serial Bus Specification Rev. 2.0
, with support for D3
PCI Bus Power Management Interface Specification Rev. 1.1
standby and wake-up modes; all I/O pins are 3.3 V
cold
PCI Local Bus Specification Rev. 2.2
Open Host Controller Interface
Enhanced Host Controller Interface
PCI Local Bus Specification
and D3
hot
.
for all
cold
Page 2
Philips Semiconductors
■ CLKRUN support for mobile applications, such as internal notebook design
■ Configurable subsystem ID and subsystem Vendor ID through external EEPROM
■ Digital and analog powerseparation forbetter Electro-Magnetic Interference (EMI) and
Electro-Static Discharge (ESD) protection
■ Supports hot Plug and Play and remote wake-up of peripherals
■ Supports individual power switching and individual overcurrent protection for
downstream ports
■ Supports partial dynamic port-routing capability for downstream ports that allows
sharing of the same physical downstream ports between the Original USB Host
Controller and the Hi-Speed USB Host Controller
■ Uses 12 MHz crystal oscillator to reduce system cost and EMI emissions
■ Supports dual power supply: PCI V
■ Operates at +3.3 V power supply input
■ Low power consumption
■ Full industrial operating temperature range from −40 °Cto+85°C
■ Full-scan design with high fault coverage (93 % to 95 %) ensures high quality
■ Available in LQFP100 package.
aux(3V3)
and V
ISP1562
USB PCI Host Controller
CC
3.Applications
■ Digital consumer appliances
■ Notebook
■ PCI add-on card
■ PC motherboard
■ Set-Top Box (STB)
■ Web appliances.
4.Ordering information
Table 1:Ordering information
Type numberPackage
NameDescriptionVersion
ISP1562BELQFP100plastic low profile quad flat package; 100 leads; body 14 x 14 x 1.4 mmSOT407-1
GNDD64-digital ground
AD[5]65I/Obit 5 of multiplexed PCI address and data
AD[4]66I/Obit 4 of multiplexed PCI address and data
AD[3]67I/Obit 3 of multiplexed PCI address and data
AD[2]68I/Obit 2 of multiplexed PCI address and data
AD[1]69I/Obit 1 of multiplexed PCI address and data
AD[0]70I/Obit 0 of multiplexed PCI address and data
V
GNDA72-analog ground
AUX1V873-1.8 V auxiliary output voltage; only forvoltageconditioning; cannot be
XTAL174AIcrystal oscillator input; this can also be a 12 MHz clock input
XTAL275AOcrystal oscillator output (12 MHz); leave open when clock is used
GNDD76-digital ground
V
OC1_N78Iovercurrent sense input for the USB downstream port 1 (digital)
PWE1_N79Opower enable for the USB downstream port 1
GNDA80-analog ground
RREF81AI/Oanalog connection for the external resistor (12 kΩ±1%)
GNDA82-analog ground
DM183AI/OD−; analog connection for the USB downstream port 1; leave this pin
GNDA84-analog ground
DP185AI/OD+; analog connection forthe USB downstream port 1; leave this pin
V
OC2_N87Iovercurrent sense input for the USB downstream port 2 (digital)
PWE2_N88Opower enable for the USB downstream port 2
GNDA89-analog ground
[1]
CC(I/O)
CC(I/O)_AUX
DDA_AUX
PinType Description
71-3.3 V supply voltage; used to power pads; add a 100 nF decoupling
77-3.3 V auxiliary supply voltage; used to power pads; add a 100 nF
86-auxiliary analog supply voltage; add a 100 nF decoupling capacitor
…continued
PCI pad; 3.3 V signaling
PCI pad; 3.3 V signaling
PCI pad; 3.3 V signaling
PCI pad; 3.3 V signaling
PCI pad; 3.3 V signaling
PCI pad; 3.3 V signaling
capacitor
used to supply power to external components; add a 100 nF
decoupling capacitor
An OHCI Host Controller per port transfersdata to devices at the Original USB defined bit
rate of 12 Mbit/s or 1.5 Mbit/s.
7.2 EHCI Host Controller
The EHCI Host Controller transfers data to a Hi-Speed USB compliant device at the
Hi-Speed USB defined bit rate of 480 Mbit/s. When the EHCI Host Controller has the
ownership of a port, the OHCI Host Controllers are not allowed to modify the port register.
All additional port bit definitions required for the Enhanced Host Controller are not visible
to the OHCI Host Controller.
7.3 Dynamic port-routing logic
The port-routing feature allows sharing of the same physical downstream ports between
the Original USB Host Controller and the Hi-Speed USB Host Controller.This requirement
of the
Enhanced Host Controller Interface Specification for Universal Serial Bus Rev. 1.0
provides ports that are multiplexed with the ports of the OHCI.
ISP1562
USB PCI Host Controller
The EHCI is responsible for the port-routing switching mechanism. Two register bits are
used for ownership switching. During power-onand system reset, the defaultownership of
all downstream ports is the OHCI. The Enhanced Host Controller Driver (HCD) controls
the ownership during normal functionality.
7.4 Hi-Speed USB analog transceivers
The Hi-Speed USB analog transceivers directly interface to the USB cables through
integrated termination resistors. These transceivers can transmit and receive serial data
at all data rates: high-speed (480 Mbit/s), full-speed (12 Mbit/s) and low-speed
(1.5 Mbit/s).
7.5 Power management
The ISP1562 provides an advanced power management capability interface that is
compliant with
controlled and managed by the interaction between drivers and PCI registers.
For a detailed description on power management, see Section 10.
PCI Bus Power Management Interface Specification Rev. 1.1
7.6 Phase-Locked Loop (PLL)
A 12 MHz-to-30 MHz and 48 MHz clock multiplier PLL is integrated on-chip. This allows
the use of a low-cost 12 MHz crystal, which also minimizes EMI. No external components
are required for the PLL to operate.
with dips at t2 to t3 and t4 to t5. At t0, POR will
CC(I/O)
start with 1. At t1, the detector passes through the trip level. Another delay will be added
before POR drops to 0 to ensure that the length of the generated detector pulse, POR, is
large enough to reset asynchronous flip-flops. If the dip is too short (t4 to t5 < 11 µs),
POR will not react and will stay LOW.
V
CC(I/O)
V
POR(trip)
t0t1
V
POR(trip)
is typically 1.2 V.
t2
t3
t4
t5
004aaa664
POR
Fig 3. Power-on reset.
7.8 Power supply
Figure 4 shows the ISP1562 power supply connection.
is not present on PCI, the pin should be connected to PCI 3.3 V.
aux(3V3)
004aaa665
100 nF
Fig 4. Power supply connection.
8.1 PCI interface
The PCI interface has three functions. The first function (#0) and the second function (#1)
are for the OHCI Host Controllers, and the third function (#2) is for the EHCI Host
Controller. All functions support both master and target accesses, and share the same
PCI interrupt signal INTA#. These functions provide memory-mapped, addressable
operational registers as required in
Rev. 1.0a
Rev. 1.0
and
Enhanced Host Controller Interface Specification for Universal Serial Bus
.
Open Host Controller Interface Specification for USB
Each function has its own configuration space. The PCI enumerator should allocate the
memory address space for each of these functions. Power management is implemented
in each PCI function and all power states are provided. This allows the system to achieve
low power consumption by switching off the functions that are not required.
8.1.1 PCI configuration space
ISP1562
USB PCI Host Controller
PCI Local Bus Specification Rev. 2.2
ISP1562 provides its ownPCI configuration registers, which can vary in size. In addition to
the basic PCI configuration header registers, these functions implement capability
registers to support power management.
The registers of each of these functions are accessed bythe respectivedriver.Section 8.2
provides a detailed description of the various PCI configuration registers.
8.1.2 PCI initiator and target
A PCI initiator initiates PCI transactions to the PCI bus. A PCI target responds to PCI
transactions as a slave. In the case of the ISP1562, the two Open Host Controllers and
the Enhanced Host Controller function as both initiators or targets of PCI transactions
issued by the host CPU.
All USB Host Controllers have their own operational registers that can be accessed by the
system driver software. Drivers use these registers to configure the Host Controller
hardware system, issue commands to it, and monitor the status of the current hardware
operation. The Host Controller plays the role of a PCI target. All operational registers of
the Host Controllers are the PCI transaction targets of the CPU.
Normal USB transfers require the Host Controller to access system memory fields, which
are allocated by USB HCDs and PCI drivers. The Host Controller hardware interacts with
the HCD by accessing these buffers. The Host Controller works as an initiator in this case
and becomes a PCI master.
requires that each of the three PCI functions of the
8.2 PCI configuration registers
The OHCI USB Host Controllers and the EHCI USB Host Controller contain two sets of
software-accessible hardware registers: PCI configuration registers and memory-mapped
Host Controller registers.
A set of configuration registers is implemented for each of the three PCI functions of the
ISP1562, see Table 3.
Remark: In addition to the normal PCI header, from offset index 00h to 3Fh,
implementation-specific registers are defined to support power management and
function-specific features.
Table 3:PCI configuration space registers of OHCI1, OHCI2 and EHCI
Address Bits 31 to 24 Bits 23 to 16 Bits 15 to 8Bits 7 to 0Reset value
[1] Reset values that are highlighted—for example, 0—indicate read and write accesses; and reset values that are not highlighted—for
example, 0—indicate read-only.
[2] See Section 8.2.3.4.
The HCD does not usually interact with the PCI configuration space. The configuration
space is used only by the PCI enumerator to identify the USB Host Controller and assign
appropriate system resources by reading the Vendor ID (VID) and the Device ID (DID).
8.2.1 PCI configuration header registers
The Enhanced Host Controller implements the normal PCI header register values, except
the values for the memory-mapping base address register, serial bus number and Device
ID.
8.2.1.1 Vendor ID register
This read-only register identifies the manufacturer of the device. PCI Special Interest
Group (PCI-SIG) assigns valid vendor identifiers to ensure the uniqueness of the
identifier. The bit description is shown in Table 4.
Table 4:VID - Vendor ID register (address 00h) bit description
Legend: * reset value
BitSymbolAccess ValueDescription
15 to 0VID[15:0]R1131h*Vendor ID: This read-only register value is assigned
8.2.1.2 Device ID register
This is a 2 B read-only register that identifies a particular device.The identifier is allocated
by Philips Semiconductors. Table 5 shows the bit description of the register.
Table 5:DID - Device ID register (address 02h) bit description
Legend: * reset value
BitSymbolAccess ValueDescription
15 to 0DID[15:0]R156Xh*
[1] X is 1h for OHCI1 and OHCI2; X is 2h for EHCI.
8.2.1.3 Command register
This is a 2 B register that provides coarse control over the ability of a device to generate
and respond to PCI cycles. The bit allocation of the Command register is given in Table 6.
When logic 0 is written to this register, the device is logically disconnected from the PCI
bus for all accesses, except configuration accesses. All devices are required to support
this base level of functionality. Individual bits in the Command register may or may not
support this base level of functionality.
ISP1562
USB PCI Host Controller
to Philips Semiconductors by PCI-SIG as 1131h.
[1]
Device ID: This register value is defined by Philips
Semiconductors to identify the USB Host Controller
IC product.
Table 6:Command register (address 04h) bit allocation
Table 7:Command register (address 04h) bit description
BitSymbolDescription
15 to 10reserved9FBBEFast Back-to-Back Enable: This bit controls whether a master can do
8SERRESERR# Enable: This bit is an enable bit for the SERR# driver. All devices
7SCTRLStepping Control: This bit controls whether a device does address and
6PERParity Error Response: This bit controls the response of a device to
5VGAPSVGA Palette Snoop: This bit controls how VGA compatible and graphics
4MWIEMemory Write and Invalidate Enable: This is an enable bit for using the
3SCSpecial Cycles: Controls the action of a device on Special Cycle
ISP1562
USB PCI Host Controller
fast back-to-back transactions to various devices. The initialization
software must set this bit if all targets are fast back-to-back capable.
0 — Fast back-to-back transactions are only allowed to the same agent
(value after RST#)
1 — The master is allowed to generate fast back-to-back transactions to
different agents.
that have an SERR# pin must implement this bit. Address parity errors
are reported only if this bit and the PER bit are logic 1.
0 — Disable the SERR# driver
1 — Enable the SERR# driver.
data stepping. Devicesthat neverdo stepping must clear this bit. Devices
that always do stepping must set this bit. Devicesthat can do either,must
make this bit read and write, and initialize it to logic 1 after RST#.
parity errors. When the bit is set, the device must take its normal action
when a parity error is detected. When the bit is logic 0, the device sets
DPE (bit 15 in the Status register) when an error is detected, but does not
assert PERR# and continues normal operation. The state of this bit after
RST# is logic 0. Devices that check parity must implement this bit.
Devices are required to generate parity, even if parity checking is
disabled.
devices handle accesses to VGA palette registers.
0 — The device should treat palette write accesses like all other
accesses.
1 — Palette snooping is enabled, that is, the device does not respond to
palette register writes and snoops data.
VGA compatible devices should implement this bit.
Memory Write and Invalidate command.
0 — Memory Writes must be used instead. State after RST# is logic 0.
1 — Masters may generate the command.
This bit must be implemented by master devices that can generate the
Memory Write and Invalidate command.
operations.
0 — Causes the deviceto ignore all Special Cycle operations. State after
RST# is logic 0.
1 — Allows the device to monitor Special Cycle operations.
Table 9:Status register (address 06h) bit description
BitSymbolDescription
10 to 9DEVSELT
[1:0]
8MDPEMaster Data Parity Error: This bit is implemented by bus masters. It is set
DEVSEL Timing: These bits encode the timing of DEVSEL#. There are
three allowable timing to assert DEVSEL#:
00b — Fast
01b — Medium
10b — Slow
11b — Reserved.
These bits are read-only and must indicate the slowest time that a device
asserts DEVSEL# for any bus command, except Configuration Read and
Configuration Write.
when the following three conditions are met:
…continued
• The bus agent asserted PERR# itself, on a read; or observed PERR#
asserted, on a write.
• The agent setting the bit acted as the bus master for the operation in
which error occurred.
• PER (bit 6 in the Command register) is set.
7FBBCFast Back-to-Back Capable: This read-only bit indicates whether the
target is capable of accepting fast back-to-back transactions when the
transactions are not to the same agent. This bit can be set to logic 1, if the
device can accept these transactions; and must be set to logic 0 otherwise.
6reserved566MC66 MHz Capable: This read-only bit indicates whether this device is
capable of running at 66 MHz.
0 — 33 MHz
1 — 66 MHz.
4CL Capabilities List: This read-only bit indicates whether this device
implements the pointer for a new capabilities linked list at offset 34h.
0 — No new capabilities linked list is available
1 — The value read at offset 34h is a pointer in configuration space to a
linked list of new capabilities.
3 to 0reserved-
8.2.1.5 Revision ID register
This 1 B read-only register indicates a device-specific revision identifier. The value is
chosen by the vendor. This field is a vendor-defined extension of the Device ID. The
Revision ID register bit description is given in Table 10.
Table 10: REVID - Revision ID register (address 08h) bit description
Legend: * reset value
BitSymbolAccessValueDescription
7 to 0 REVID[7:0]R11h*Revision ID: This byte specifies the design revision
number of functions.
8.2.1.6 Class Code register
Class Code is a 24-bit read-only register used to identify the generic function of the
device, and in some cases, a specific register-level programming interface. Table 11
shows the bit allocation of the register.
The Class Code register is divided into three byte-size fields. The upper byte is a base
class code that broadly classifies the type of function the device performs. The middle
byte is a sub-class code that identifies more specifically the function of the device. The
lower byte identifies a specific register-level programming interface, if any, so that
device-independent software can interact with the device.
Table 11: Class Code register (address 09h) bit allocation
[1] X is 1h for OHCI1 and OHCI2; X is 2h for EHCI.
[1]
Table 12: Class Code register (address 09h) bit description
BitSymbolDescription
23 to 16BCC[7:0]Base Class Code: 0Ch is the base class code assigned to this byte. It
15 to 8SCC[7:0]Sub-Class Code: 03h is the sub-class code assigned to this byte. It
7 to 0RLPI[7:0]Register-Level Programming Interface: 10h is the programming
8.2.1.7 CacheLine Size register
The CacheLine Size register is a read and write single-byte register that specifies the
system CacheLine size in units of DWords. This register must be implemented by master
devices that can generate the Memory Write and Invalidate command. The value in this
register is also used by master devices to determine whether to use Read, Read Line or
Read Multiple command to access the memory.
Slave devices that want to allow memory bursting using a CacheLine-wrap addressing
mode must implement this register to know when a burst sequence wraps to the
beginning of the CacheLine.
This field must be initialized to logic 0 on activation of RST#. Table 13 shows the bit
description of the CacheLine Size register.
implies a serial bus controller.
implies the USB Host Controller.
interface code assigned to OHCI, which is USB 1.1 specification
compliant. 20h is the programming interface code assigned to EHCI,
which is USB 2.0 specification compliant.
BitSymbolAccess ValueDescription
7 to 0 CLS[7:0]R/W00h*CacheLine Size: This byte identifies the system
8.2.1.8 Latency Timer register
This register specifies—in units of PCI bus clocks—the value of the Latency Timer for the
PCI bus master. Table 14 shows the bit description of the Latency Timer register.
BitSymbolAccessValueDescription
7 to 0LT[7:0]R/W00h*Latency Timer: This byte identifies the latency timer.
8.2.1.9 Header Type register
The Header Type register identifies the layout of the second part of the predefined header,
beginning at byte 10h in configuration space. It also identifies whether the device contains
multiple functions. For bit allocation, see Table 15.
ISP1562
USB PCI Host Controller
CacheLine size.
Table 15: Header Type register (address 0Eh) bit allocation
Table 16: Header Type register (address 0Eh) bit description
BitSymbolDescription
7MFDMulti-Function Device: This bit identifies a multifunction device.
0 — The device has single function.
1 — The device has multiple functions.
6 to 0HT[6:0]Header Type: These bits identify the layout of the part of the
predefined header, beginning at byte 10h in configuration space.
8.2.1.10 Base Address register 0
Power-up softwaremust build a consistent address map beforebooting the machine to an
operating system. This means it must determine how much memory is in the system, and
how much address space the I/O controllers in the system require. After determining this
information, power-up software can map the I/O controllers into reasonable locations and
proceed with system boot. To do this mapping in a device-independent manner, the base
registers for this mapping are placed in the predefined header portion of configuration
space.
Bit 0 in all Base Address registers is read-only and used to determine whether the register
maps into memory or I/O space. Base Address registers that map to memory space must
return logic 0 in bit 0. Base Address registers that map to I/O space must return logic 1 in
bit 0.
The bit description of the BAR 0 register is given in Table 17.
Table 17: BAR 0 - Base Address register 0 (address 10h) bit description
Legend: * reset value
BitSymbolAccess ValueDescription
31 to 0 BAR 0[31:0]R/W0000
8.2.1.11 Subsystem Vendor ID register
The Subsystem Vendor ID register is used to uniquely identify the expansion board or
subsystem where the PCI deviceresides. This register allows expansionboard vendorsto
distinguish their boards, even though the boards may have the same Vendor ID and
Device ID.
Subsystem Vendor IDs are assigned by PCI-SIG to maintain uniqueness. The bit
description of the Subsystem Vendor ID register is given in Table 18.
Table 18: SVID - Subsystem Vendor ID register (address 2Ch) bit description
Legend: * reset value
BitSymbolAccessValueDescription
15 to 0 SVID[15:0]R1131h*Subsystem Vendor ID: 1131h is the subsystem
0000h*
ISP1562
USB PCI Host Controller
Base Address to Memory-Mapped Host Controller
Register Space: The memory size required by OHCI
and EHCI are 4 kB and 256 B, respectively. Therefore,
BAR 0[31:12] is assigned to the two OHCI ports, and
BAR 0[31:8] is assigned to the EHCI port.
Vendor ID assigned to Philips Semiconductors.
8.2.1.12 Subsystem ID register
Subsystem ID values are vendorspecific. The bit description of the Subsystem ID register
is given in Table 19.
Table 19: SID - Subsystem ID register (address 2Eh) bit description
Legend: * reset value
BitSymbolAccessValueDescription
15 to 0SID[15:0]R156Xh*
[1] X is 1h for OHCI1 and OHCI2; X is 2h for EHCI.
8.2.1.13 Capabilities Pointer register
This register is used to point to a linked list of new capabilities implemented by the device.
This register is only valid if CL (bit 4 in the Status register) is set. If implemented, bit 1 and
bit 0 are reserved and should be set to 00b. Software should mask these bits off before
using this register as a pointer in configuration space to the first entry of a linked list of
new capabilities. The bit description of the register is given in Table 20.
This is a 1 B register used to communicate interrupt line routing information. This register
must be implemented by any device or device function that uses an interrupt pin. The
interrupt allocation is done by the BIOS. The POST software needs to write the routing
information to this register because it initializes and configures the system.
The value in this register specifies which input of the system interrupt controller(s) the
interrupt pin of the device is connected. This valueis used by device drivers and operating
systems to determine priority and vector information. Values in this register are system
architecture specific. The bit description of the register is given in Table 21.
Table 21: IL - Interrupt Line register (address 3Ch) bit description
Legend: * reset value
BitSymbolAccessValueDescription
7 to 0 IL[7:0]R/W00h*Interrupt Line: Indicates which IRQ is used to report
8.2.1.15 Interrupt Pin register
This 1 B register is use to specify which interrupt pin the device or device function uses.
ISP1562
USB PCI Host Controller
interrupt from the ISP1562.
A value of 1h corresponds to INTA#,2h corresponds to INTB#, 3h corresponds to INTC#,
and 4h corresponds to INTD#. Devices or functions that do not use interrupt pin must set
this register to logic 0. The bit description is given in Table 22.
Table 22: IP - Interrupt Pin register (address 3Dh) bit description
Legend: * reset value
BitSymbolAccessValueDescription
7 to 0 IP[7:0]R01h*Interrupt Pin: INTA# is the default interrupt pin used
8.2.1.16 Min_Gnt and Max_Lat registers
The Minimum Grant (Min_Gnt) and Maximum Latency (Max_Lat) registers are used to
specify the desired settings of the device for latency timer values. For both registers, the
value specifies a period of time in units of 250 ns. Logic 0 indicates that the device has no
major requirements for setting latency timers.
The Min_Gnt register bit description is given in Table 23.
Table 23: Min_Gnt - Minimum Grant register (address 3Eh) bit description
Legend: * reset value
BitSymbolAccess ValueDescription
7 to 0 MIN_GNT
[7:0]
[1] X is 1h for OHCI1 and OHCI2; X is 2h for EHCI.
R0Xh*
by the ISP1562.
[1]
Min_Gnt: It is used to specify how long a burst period
the device needs, assuming a clock rate of 33MHz.
The Max_Lat register bit description is given in Table 24.
Table 24: Max_Lat - Maximum Latency register (address 3Fh) bit description
Legend: * reset value
BitSymbolAccess ValueDescription
7 to 0 MAX_LAT
[1] XX is 2Ah for OHCI1 and OHCI2; XX is 10h for EHCI.
8.2.1.17 TRDY Timeout register
This is a read and write register at address 40h. The default and recommended value is
00h—TRDY timeout disabled. This value can, however, be modified. It is an
implementation-specific register, and not a standard PCI configuration register.
The TRDY timer is 13 bits—the lower 5 bits are fixed as logic 0, and the upper 8 bits are
determined by the TRDY Timeout register value. The timeout is calculated by multiplying
the 13-bit timer with the PCI CLK cycle time.
This register determines the maximum TRDY delay without asserting the UE
(Unrecoverable Error) bit. If TRDY is longer than the delay determined by this register
value, then the UE bit will be set.
[7:0]
RXXh*
ISP1562
USB PCI Host Controller
[1]
Max_Lat: It is used to specify how often the device
needs to gain access to the PCI bus.
8.2.1.18 Retry Timeout register
The defaultvalue of this read and write register is 80h, and is located at address 41h. This
value can, however, be modified. Programming this register as 00h means that retry
timeout is disabled. This is an implementation-specific register, and not a standard PCI
configuration register.
The timeout is determined by multiplying the register value with the PCI CLK cycle time.
This register determines the maximumnumber of PCI retires beforethe UEbit is set. If the
number of retries is longer than the delay determined by this register value, then the UE
bit will be set.
In addition to the PCI configuration header registers, EHCI needs some additional PCI
configuration space registers to indicate the serial bus release number, downstream port
wake-up event capability, and adjust the USB bus frame length for Start-of-Frame (SOF).
The EHCI-specific PCI registers are given in Table 25.
Table 25: EHCI-specific PCI registers
OffsetRegister
60hSerial Bus Release Number (SBRN)
61hFrame Length Adjustment (FLADJ)
62h to 63hPort Wake Capability (PORTWAKECAP)
8.2.2.1 SBRN register
The Serial Bus Release Number (SBRN) register is a 1 B register, and the bit description
is given in Table 26. This register contains the release number of the USB specification
with which this USB Host Controller module is compliant.
Table 26: SBRN - Serial Bus Release Number register (address 60h) bit description
Legend: * reset value
BitSymbolAccess ValueDescription
7 to 0SBRN[7:0] R20h*Serial Bus Specification Release Number: This
register value is to identify Serial Bus Specification
Rev. 2.0. All other combinations are reserved.
8.2.2.2 FLADJ register
This feature is used to adjust any offset from the clocksource that generates the clockthat
drives the SOF counter. When a new value is written to these six bits, the length of the
frame is adjusted. The bit allocation of the Frame Length Adjustment (FLADJ) register is
given in Table 27.
7 to 6reserved5 to 0FLADJ[5:0]Frame Length Timing Value:Eachdecimal value change to this register
corresponds to 16 high-speed bit times. The SOF cycle time—number of
SOF counter clock periods to generate a SOF micro frame length—is
equal to 59488 + value in this field. The default value is decimal 32 (20h),
which gives a SOF cycle time of 60000.
FLADJ valueSOF cycle time
(480 MHz)
0 (00h)59488
1 (01h)59504
2 (02h)59520
::
31 (1Fh)59984
32 (20h)60000
::
62 (3Eh)60480
63 (3Fh)60496
8.2.2.3 PORTWAKECAP register
Port Wake Capability (PORTWAKECAP) is a 2 B register used to establish a policy about
which ports are for wake events; see Table 29. Bit positions 15 to 1 in the mask
correspond to a physical port implemented on the current EHCI controller. Logic 1 in a bit
position indicates that a device connected below the port can be enabled as a wake-up
device and the port may be enabled for disconnect or connect, or overcurrent events as
wake-up events. This is an information only mask register. The bits in this register do not
affect the actual operation of the EHCI Host Controller. The system-specific policy can be
established by BIOS initializing this register to a system-specific value. The system
software uses the information in this register when enabling devices and ports for remote
wake-up.
Table 29: PORTWAKECAP - Port Wake Capability register (address 62h) bit description
Legend: * reset value
BitSymbolAccessValueDescription
15 to 0PORTWAKECAP
8.2.3 Power management registers
Table 30: Power Management registers
OffsetRegister
Value read from address 34h+ 0hCapability Identifier (Cap_ID)
Value read from address 34h+ 1hNext Item Pointer (Next_Item_Ptr)
Value read from address 34h+ 2hPower Management Capabilities (PMC)
Value read from address 34h+ 4hPower Management Control/Status (PMCSR)
Value read from address 34h+ 6hPower Management Control/Status PCI-to-PCI Bridge
Value read from address 34h+ 7hData
[15:0]
ISP1562
USB PCI Host Controller
R/W0007h*Port Wake-Up Capability Mask: EHCI
does not implement this feature.
Support Extensions (PMCSR_BSE)
8.2.3.1 Cap_ID register
The Capability Identifier (Cap_ID) register when read by the system software as 01h
indicates that the data structure currently being pointed to is the PCI Power Management
data structure. Each function of a PCI device may have only one item in its capability list
with Cap_ID set to 01h. The bit description of the register is given in Table 31.
Table 31: Cap_ID - Capability Identifier register bit description
Address: Value read from address 34h+ 0h
Legend: * reset value
BitSymbolAccessValueDescription
7 to 0 CAP_ID[7:0] R01h*ID: This field when 01h identifies thelinked list item as
8.2.3.2 Next_Item_Ptr register
The Next Item Pointer (Next_Item_Ptr) register describes the location of the next item in
the function’s capability list. The value given is an offset into the function’s PCI
configuration space. If the function does not implement any other capabilities defined by
the PCI-SIG for inclusion in the capabilities list, or if power management is the last item in
the list, then this register must be set to 00h. See Table 32.
Table 32: Next_Item_Ptr - Next Item Pointer register bit description
Address: Value read from address 34h+ 1h
Legend: * reset value
BitSymbolAccess ValueDescription
7 to 0 NEXT_ITEM_
PTR[7:0]
R00h*Next Item Pointer: This field provides an offset into
the function’s PCI configuration space, pointing to the
location of thenext item in the function’s capability list.
If there are no additional items in the capabilities list,
this register is set to 00h.
8.2.3.3 PMC register
The Power Management Capabilities (PMC) register is a 2 B register, and the bit
allocation is given in Table 33. This register provides information on the capabilities of the
function related to power management.
Table 33: PMC - Power Management Capabilities register bit allocation
Table 34: PMC - Power Management Capabilities register bit description
Address: Value read from address 34h+ 2h
BitSymbolDescription
15 to 11 PME_S
[4:0]
10D2_SD2_Support: If this bit is logic 1, this function supports the D2 Power
9D1_SD1_Support: If this bit is logic 1, this function supports the D1 Power
PME_Support: These bits indicate the power states in which the function
may assert PME#. Logic 0 for any bit indicates that the function is not
capable of asserting the PME# signal while in that power state.
PME_S[0] — PME# can be asserted from D0
PME_S[1] — PME# can be asserted from D1
PME_S[2] — PME# can be asserted from D2
PME_S[3] — PME# can be asserted from D3
PME_S[4] — PME# can be asserted from D3
Management State. Functions that do not support D2 must always return
logic 0 for this bit.
Management State. Functions that do not support D1 must always return
logic 0 for this bit.
Table 34: PMC - Power Management Capabilities register bit description
…continued
Address: Value read from address 34h+ 2h
BitSymbolDescription
8 to 6AUX_C
[2:0]
Aux_Current: This three-bit field reports the V
requirements for the PCI function.
If the Data register is implemented by this function:
aux(3V3)
auxiliary current
• A read from this field needs to return a value of 000b.
• The Data register takes precedence over this field for V
requirement reporting.
If the PME# generation from D3
(PMC[15] = 0), this field must return a value of 000b when read.
For functions that support PME# from D3
register,the bit assignments corresponding to the maximum current required
for V
111b — 375 mA
110b — 320 mA
101b — 270 mA
100b — 220 mA
011b — 160 mA
010b — 100 mA
001b — 55 mA
000b — 0 (self powered).
5DSIDevice Specific Initialization: This bit indicates whether special
initialization of this function is required, beyond the standard PCI
configuration header, before the generic class device driver is able to use it.
This bit is not used by some operating systems. For example, Microsoft
Windows and Windows NT do not use this bit to determine whether to use
D3. Instead, it is determined using the capabilities of the driver.
Logic 1 indicates that the function requires a device-specific initialization
sequence, following transition to D0 un-initialized state.
4reserved 3PMIPME Clock:
0 — Indicates that no PCI clock is required for the function to generate
PME#.
1 — Indicates that the function relies on the presence of the PCI clock for the
PME# operation.
Functions that do not support the PME# generation in any state must return
logic 0 for this field.
2 to 0VER[2:0] Version: A value of 010b indicates that this function complies with
aux(3V3)
are:
Power Management Interface Specification Rev. 1.1
is not supported by the function
cold
and do not implement the Data
cold
.
aux(3V3)
current
PCI Bus
8.2.3.4 PMCSR register
The Power Management Control/Status (PMCSR) register is a 2 B register used to
manage the power management state of the PCI function, as well as to allow and monitor
Power Management Events (PMEs). The bit allocation of the register is given in Table 35.
[1] Sticky bit, if the function supports PME# from D3
function does not support PME# from D3
[2] The reserved bits should always be written with the reset value.
cold
, then X is indeterminate at the time of initial operating system boot; X is 0 if the
cold
.
Table 36: PMCSR - Power Management Control/Status register bit description
Address: Value read from address 34h+ 4h
BitSymbolDescription
15PMESPME Status: This bit is set when the function normally asserts the PME#
signal independent of the state of the PMEE bit. Writing logic 1 to this bit
clears it and causes the function to stop asserting PME#, if enabled. Writing
logic 0 has no effect. This bit defaults to logic 0, if the function does not
support the PME# generation from D3
generation from D3
the operating system each time the operating system is initially loaded.
14 to 13 DS[1:0]Data Scale: This two-bit read-only field indicates the scaling factor when
interpreting the valueof the Data register.The value and meaning of this field
vary, depending on which data value is selected by the D_S field. This field is
a required component of the Data register (offset 7) and must be
implemented, if the Data register is implemented. If the Data register is not
implemented, this field must return 00b when PMCSR is read.
12 to 9D_S
[3:0]
Data_Select: This four-bit field selects the data that is reported through the
Data register and the D_S field. This field is a required component of the
Data register (offset 7) and must be implemented, if the Data register is
implemented. If the Data register is not implemented, this field must return
00b when PMCSR is read.
. If the function supports the PME#
, then this bit is sticky and mustbe explicitly cleared by
Table 36: PMCSR - Power Management Control/Status register bit description
Address: Value read from address 34h+ 4h
BitSymbolDescription
8PMEEPME Enabled: Logic 1 allows the function to assert PME#. When it is
logic 0, PME# assertion is disabled. This bit defaultsto logic 0, if the function
does not support the PME# generation from D3
PME# from D3
operating system each time the operating system is initially loaded.
7 to 2reserved 1 to 0PS[1:0]Power State: This two-bit field is used to determine the current power state
of the EHCI function and to set the function into a new power state. The
definition of the field values is given as:
00b — D0
01b — D1
10b — D2
11b — D3
If the software attempts to write an unsupported, optional state to this field,
the write operation must complete normally on the bus; however, the data is
discarded and no status change occurs.
8.2.3.5 PMCSR_BSE register
The PMCSR PCI-to-PCI Bridge Support Extensions(PMCSR_BSE) register supports PCI
bridge-specific functionality and is required for all PCI-to-PCI bridges. The bit allocation of
this register is given in Table 37.
hot
…continued
. If the function supports
, then this bit is sticky and must be explicitly cleared by the
cold
.
cold
Table 37: PMCSR_BSE - PMCSR PCI-to-PCI Bridge Support Extensions register bit allocation
Table 38: PMCSR_BSE - PMCSR PCI-to-PCI Bridge Support Extensions register bit
Address: Value read from address 34h+ 6h
BitSymbolDescription
7BPCC_ENBus Power/Clock Control Enable:
6B2_B3#
5 to 0reserved-
description
ISP1562
USB PCI Host Controller
1 — Indicates that the bus power or clock control mechanism as defined in
Table 39 is enabled
0 — Indicates that the bus or power control policies as defined in
are disabled.
When the Bus Power or Clock Control mechanism is disabled, the bridge’s
PMCSR Power State (PS) field cannot be used by the system software to
control the power or clock of the bridge’s secondary bus.
B2/B3 support for D3
to occur as a direct result of programming the function to D3
1 — Indicates that when the bridge function is programmed to D3
secondary bus’s PCI clock will be stopped (B2).
0 — Indicates that when the bridge function is programmed to D3
secondary bus will have its power removed (B3).
This bit is only meaningful if bit 7 (BPCC_EN) is logic 1.
: The state of this bit determines the action that is
hot
hot
Table 39
.
hot
hot
, its
, its
Table 39: PCI bus power and clock control
Originatingdevice’s
bridge PM state
D0B0none
D1B1none
D2B2clock stopped on secondary bus
D3
hot
D3
cold
8.2.3.6 Data register
The Data register is an optional, 1 B register that provides a mechanism for the function to
report state dependent operating data, such as power consumed or heat dissipated.
Table 40 shows the bit description of the register.
Table 40: Data register bit description
Address: Value read from address 34h+ 7h
Legend: * reset value
BitSymbolAccess ValueDescription
7 to 0 DATA[7:0] R00h*DA TA: This register is used to report the state dependent
Secondary bus
PM state
B2, B3clock stopped and PCI VCC removed from secondary
B3none
Resultant actions by bridge
(either direct or indirect)
bus (B3 only); for definition of B2_B3#, see
data requested by the D_S field of the PMCSR register.
The value of this register is scaled by the value reported by
the DS field of the PMCSR register.
A simple I2C-bus interface is provided in the ISP1562 to read customized vendor ID,
product ID and some other configuration bits from an external EEPROM.
The I2C-bus interface is for bidirectional communication between ICs using two serial bus
wires: SDA (data) and SCL (clock). Both lines are driven by open-drain circuits and must
be connected to the positive supply voltage through pull-up resistors when in use;
otherwise, they must be connected to ground.
9.1 Protocol
The I2C-bus protocol defines the following conditions:
• Bus free: both SDA and SCL are HIGH
• START: a HIGH-to-LOW transition on SDA, while SCL is HIGH
• STOP: a LOW-to-HIGH transition on SDA, while SCL is HIGH
• Data valid: after a START condition, data on SDA is stable during the HIGH period of
SCL; data on SDA may only change while SCL is LOW.
ISP1562
USB PCI Host Controller
Each device on the I2C-bus has a unique slave address,which the master uses to select a
device for access.
The master starts a data transfer using a START condition and ends it by generating a
STOP condition. Transfers can only be initiated when the bus is free. The receiver must
acknowledge each byte by using a LOW level on SDA during the ninth clock pulse on
SCL.
For detailed information, refer to
The I2C-bus Specification, Version 2.1
.
9.2 Hardware connections
The ISP1562 can be connected to an external EEPROM through the I2C-bus interface.
The hardware connections are shown in Figure 5.
The slave address that the ISP1562 uses to access the EEPROM is 1010000b. Page
mode addressing is not supported. Therefore, pins A0, A1 and A2 of the EEPROM must
be connected to ground (logic 0).
9.3 Information loading from EEPROM
Figure 6 shows the content of the EEPROM memory. If the EEPROM is not present, the
default values of Device ID, Vendor ID, subsystem VID and subsystem DID assigned to
Philips Semiconductors by PCI-SIG will be loaded. For default values, see Table 3.
ISP1562
USB PCI Host Controller
address
0
1
2
3
4
5
6
7
L = LOW; H = HIGH.
Fig 6. Information loading from EEPROM.
10. Power management
004aaa124
subsystem vendor ID (L)
subsystem vendor ID (H)
subsystem device ID (L) - OHCI
subsystem device ID (H) - OHCI
subsystem device ID (L) - EHCI
subsystem device ID (H) - EHCI
reserved - FFh
signature
15h - loads subsystem vendor ID, device ID
1Ah - loads default values defined by Philips Semiconductors
10.1 PCI bus power states
The PCI bus can be characterized by one of the four power management states: B0, B1,
B2 and B3.
B0 state (PCI clock = 33 MHz, PCI bus power = on) — This corresponds to the bus
being fully operational.
B1 state (PCI clock = intermittent clock operation mode, PCI bus power = on) —
When a PCI bus is in B1, PCI VCC is still applied to all devices on the bus. No bus
transactions, however, are allowed to take place on the bus. The B1 state indicates a
perpetual idle state on the PCI bus.
B2 state (PCI clock = stop, PCI bus power = on) — PCI VCC is still applied on the bus,
but the clock is stopped and held in the LOW state.
B3 state (PCI clock = stop, PCI bus power = off) — PCI VCC is removed from all
devices on the PCI bus segment.
Reset state — When the USB bus is in the reset state, the USB system is stopped.
Operational state — When the USB bus is in the active state, the USB system is
operating normally.
Suspend state — When the USB bus is in the suspend state, the USB system is
stopped.
Resume state — When the USB bus is in the resume state, the USB system is operating
normally.
11. USB Host Controller registers
Each Host Controller contains a set of on-chip operational registers that are mapped to
un-cached memory of the system addressable space. This memory space must begin on
a DWord (32-bit) boundary.The size of the allocated space is defined bythe initial valuein
the Base Address register 0. HCDs must interact with these registers to implement USB
functionality.
ISP1562
USB PCI Host Controller
After the PCI enumeration driver finishes the PCI device configuration, the new base
address of these memory-mapped operational registers is defined in BAR 0. The HCD
can access these registers by using the address of base address value + offset.
Table 41 contains a list of Host Controller registers.
[1] Reset values that are highlighted—for example, 0—are the ISP1562 implementation-specific reset values; and reset valuesthat are not
highlighted—for example, 0—are compliant with OHCI and EHCI specifications.
…continued
[1]
Func1
OHCI2 (1P)
EHCI registerReset value
Func2
EHCI (2P)
[1]
For the OHCI Host Controller, there are only operational registers for the USB operation.
For the Enhanced Host Controller, there are two types of registers: one set of read-only
capability registers and one set of read and write operational registers.
11.1 OHCI USB Host Controller operational registers
OHCI HCDs need to communicate with these registers to implement USB data transfers.
Based on their functions, these registers are classified into four partitions:
• Control and Status
• Memory Pointer
• Frame Counter
• Root Hub.
11.1.1 HcRevision register
Table 42: HcRevision - Host Controller Revision register bit allocation
Address: Value read from func0 or func1 of address 10h+ 00h
Table 43: HcRevision - Host Controller Revision register bit description
Address: Value read from func0 or func1 of address 10h+ 00h
BitSymbolDescription
31 to 8reserved7 to 0REV[7:0]Revision: This read-only field contains the BCD representation of the
version of the HCI specification that is implemented by this Host
Controller. For example, a value of 11h corresponds to version 1.1. All
of the Host Controller implementations that are compliant with this
specification need to have a value of 10h.
11.1.2 HcControl register
This register defines the operating modes for the Host Controller. All the fields in this
register, except for HCFS and RWC, are modified only by the HCD. The bit allocation is
given in Table 44.
Table 44: HcControl - Host Controller Control register bit allocation
Address: Value read from func0 or func1 of address 10h+ 04h
Table 45: HcControl - Host Controller Control register bit description
Address: Value read from func0 or func1 of address 10h+ 04h
BitSymbolDescription
31 to 11reserved 10RWERemoteWakeupEnable: This bit is used by the HCD to enable or disable
9RWCRemoteWakeupConnected: This bit indicates whether the Host
8IRInterruptRouting: This bit determines the routing of interrupts generated
7 to 6HCFS
5BLEBulkListEnable: This bit is set to enable the processing of the bulk list in
[1:0]
ISP1562
USB PCI Host Controller
the remote wake-up feature on detecting upstream resume signaling.
When this bit and RD (bit 3) in the HcInterruptStatus register are set, a
remote wake-up is signaled to the host system. Setting this bit has no
impact on the generation of hardware interrupt.
Controller supports remote wake-up signaling. If remote wake-up is
supported and used by the system, it is the responsibility of the system
firmware to set this bit during POST. The Host Controller clears the bit on
a hardware reset but does not alter it on a software reset. Remote
wake-up signaling of the host system is host-bus-specific and is not
described in this specification.
by events registered in HcInterruptStatus. If clear, all interrupts are routed
to the normal host bus interrupt mechanism. If set, interrupts are routed to
the System Management Interrupt. The HCD clears this bit on a hardware
reset, but it does not alter this bit on a software reset. The HCD uses this
bit as a tag to indicate the ownership of the Host Controller.
A transition to USBOPERATIONAL from another state causes SOF
generation to begin 1 ms later. The HCD may determine whether the Host
Controller has begun sending SOFs by reading SF (bit 2) in
HcInterruptStatus.
This field may be changed by the Host Controller only when in the
USBSUSPEND state. The Host Controller may move from the
USBSUSPEND state to the USBRESUME state after detecting the
resume signaling from a downstream port.
The Host Controller enters USBSUSPEND after a software reset; it enters
USBRESET after a hardware reset. The latter also resets the Root Hub
and asserts subsequent reset signaling to downstream ports.
the next frame. If cleared by the HCD, processing of the bulk list does not
occur after the next SOF. The Host Controller checks this bit whenever it
wants to process the list. When disabled, the HCD may modify the list. If
HcBulkCurrentED is pointing to an Endpoint Descriptor (ED) to be
removed, the HCD must advance the pointer by updating
HcBulkCurrentED before re-enabling processing of the list.
Table 45: HcControl - Host Controller Control register bit description
Address: Value read from func0 or func1 of address 10h+ 04h
BitSymbolDescription
4CLEControlListEnable: This bit is set to enable the processing of the control
list in the next frame. If cleared by the HCD, processing of the control list
does not occur after the next SOF. The Host Controller must check this bit
wheneverit wants to process the list. When disabled, the HCD may modify
the list. If HcControlCurrentED is pointing to an ED to be removed, the
HCD must advance the pointer by updating HcControlCurrentED before
re-enabling processing of the list.
3IEIsochronousEnable: This bit is used by the HCD to enable or disable
processing of isochronous EDs. While processing the periodic list in a
frame, the Host Controller checks the status of this bit when it finds an
isochronous ED (F = 1). If set (enabled), the Host Controller continues
processing the EDs. If cleared (disabled), the Host Controller halts
processing of the periodic list—which now contains only isochronous
EDs—and begins processing the bulk or control lists. Setting this bit is
guaranteed to take effect in the next frame and not the current frame.
2PLEPeriodicListEnable: This bit is set to enable the processing of the
periodic list in the next frame. If cleared by the HCD, processing of the
periodic list does not occur after the next SOF. The Host Controller must
check this bit before it starts processing the list.
1 to 0CBSR
[1:0]
ControlBulkServiceRatio: This specifies the service ratio of control EDs
over bulk EDs. Before processing any of the nonperiodic lists, the Host
Controller must compare the ratio specified with its internal count on how
many nonempty control EDs are processed, in determining whether to
continue serving another control ED or switchingto bulk EDs. The internal
count must be retained when crossing the frame boundary. After a reset,
the HCD is responsible to restore this value.
00b — 1 : 1
01b — 2 : 1
10b — 3 : 1
11b — 4 : 1.
…continued
11.1.3 HcCommandStatus register
The HcCommandStatus register is used by the Host Controller to receive commands
issued by the HCD. It also reflects the current status of the Host Controller. To the HCD, it
appears as a ‘write to set’ register. The Host Controller must ensure that bits written as
logic 1 become set in the register while bits written as logic 0 remain unchanged in the
register. The HCD may issue multiple distinct commands to the Host Controller without
concern for corrupting previouslyissued commands. The HCD has normal read access to
all bits.
The SOC[1:0] field (bits 17 and 16 in the HcCommandStatus register) indicates the
number of frames with which the Host Controller has detected the scheduling overrun
error. This occurs when the periodic list does not complete before EOF. When a
scheduling overrun error is detected, the Host Controller increments the counter and sets
SO (bit 0 in the HcInterruptStatus register).
Table 46 shows the bit allocation of the HcCommandStatus register.
[1] The reserved bits should always be written with the reset value.
Table 47: HcCommandStatus - Host Controller Command Status register bit description
Address: Value read from func0 or func1 of address 10h+ 08h
BitSymbolDescription
31 to 18reserved17 to 16SOC[1:0]SchedulingOverrunCount: The bit is incremented on each scheduling
overrun error. It is initialized to 00b and wraps around at 11b. It must be
incremented when a scheduling overrun is detected, even if SO (bit 0 in
HcInterruptStatus) is already set. This is used by the HCD to monitor any
persistent scheduling problems.
15 to 4reserved3OCROwnershipChangeRequest: This bit is set by an OS HCD to request a
change of control of the Host Controller. When set, the Host Controller
must set OC (bit 30 in HcInterruptStatus). After the changeover,this bit is
cleared and remains so until the next request from the OS HCD.
Table 47: HcCommandStatus - Host Controller Command Status register bit
BitSymbolDescription
2BLFBulkListFilled: This bit is used to indicate whether there are any
1CLFControlListFilled: This bit is used to indicate whether there are any TDs
0HCRHostControllerReset: This bit is set by the HCD to initiate a software
description
ISP1562
USB PCI Host Controller
…continued
Transfer Descriptors (TDs) on the bulk list. It is set by the HCD whenever
it adds a TD to an ED in the bulk list. When the Host Controller begins to
process the head of the bulk list, it checks Bulk-Filled (BF). If BLF is
logic 0, the Host Controller does not need to process the bulk list. If BLF
is logic 1, the Host Controller needs to start processing the bulk list and
set BF to logic 0. If the Host Controller finds a TD on the list, then the
Host Controller needs to set BLF to logic 1, causing the bulk list
processing to continue. If no TD is found on the bulk list, and if the HCD
does not set BLF, then BLF is still logic 0 when the Host Controller
completes processing the bulk list and the bulk list processing stops.
on the control list. It is set by the HCD wheneverit adds a TD to an ED in
the control list.
When the Host Controller begins to process the head of the control list, it
checks CLF. If CLF is logic 0, the Host Controller does not need to
process the control list. If Control-Filled (CF) is logic 1, the Host
Controller needs to start processing the control list and set CLF to
logic 0. If the Host Controller finds a TD on the list, then the Host
Controller needs to set CLF to logic 1, causing the control list processing
to continue. If no TD is found on the control list, and if the HCD does not
set CLF, then CLF is still logic 0 when the Host Controller completes
processing the control list and the control list processing stops.
reset of theHost Controller. Regardless of the functional stateof the Host
Controller, it moves to the USBSUSPEND state in which most of the
operational registers are reset, except those stated otherwise; for
example, IR (bit 8) in the HcControl register, and no host bus accesses
are allowed. This bit is cleared by the Host Controller on completing the
reset operation. The reset operation must be completed within 10 µs.
This bit, when set, should not cause a reset to the Root Hub and no
subsequent reset signaling should be asserted to its downstream ports.
11.1.4 HcInterruptStatus register
This is a 4 B register that provides the status of the events that cause hardware interrupts.
The bit allocation of the register is given in Table 48. When an event occurs, the Host
Controller sets the corresponding bit in this register. When a bit becomes set, a hardware
interrupt is generated, if the interrupt is enabled in the HcInterruptEnable register (see
Table 50) and the MIE (MasterInterruptEnable) bit is set. The HCD may clear specific bits
in this register by writing logic 1 to the bit positions to be cleared. The HCD may not set
any of these bits. The Host Controller does not clear the bit.
Table 48: HcInterruptStatus - Host Controller Interrupt Status register bit allocation
Address: Value read from func0 or func1 of address 10h+ 0Ch
[1] The reserved bits should always be written with the reset value.
RHSCFNOUERDSFWDHSO
Table 49: HcInterruptStatus - Host Controller Interrupt Status register bit description
Address: Value read from func0 or func1 of address 10h+ 0Ch
BitSymbolDescription
31reserved30OCOwnershipChange: This bit is set by the Host Controller when HCD sets
OCR (bit 3) in the HcCommandStatus register. This event, when
unmasked, will always immediately generate a System Management
Interrupt (SMI). This bit is forced to logic 0 when the SMI# pin is not
implemented.
29 to 7reserved6RHSCRootHubStatusChange: This bit is set when the content of HcRhStatus or
the content of any of HcRhPortStatus[NumberofDownstreamPort] has
changed.
5FNOFrameNumberOverflow: This bit is set when the MSB of HcFmNumber
(bit 15) changes value, or after the HccaFrameNumber is updated.
4UE UnrecoverableError: This bit is set when the Host Controller detects a
system error not related to USB. The Host Controller should not proceed
with any processing nor signaling before the system error is corrected. The
HCD clears this bit after the Host Controller is reset.
3RD ResumeDetected: This bit is set when the Host Controller detects that a
device on the USB is asserting resume signaling. This bit is set by the
transition from no resume signaling to resume signaling. This bit is not set
when the HCD sets the USBRESUME state.
2SF Start-of-Frame: At the start of each frame, this bit is set by the Host
Controller and an SOF token is generated at the same time.
1WDHWritebackDoneHead: This bit is immediately set after the Host Controller
has written HcDoneHead to HccaDoneHead. Further, updates of
HccaDoneHead occur only after this bit is cleared. The HCD should only
clear this bit after it has saved the content of HccaDoneHead.
0SO SchedulingOverrun: This bit is set when USB schedules for current frame
overruns and after the update of HccaFrameNumber. A scheduling overrun
increments the SOC[1:0] field (bits 17 to 16 of HcCommandStatus).
Each enable bit in the HcInterruptEnable register corresponds to an associated interrupt
bit in the HcInterruptStatus register. The HcInterruptEnable register is used to control
which events generate a hardware interrupt. A hardware interrupt is requested on the host
bus if the following conditions occur:
• A bit is set in the HcInterruptStatus register.
• The corresponding bit in the HcInterruptEnable register is set.
• The MIE (MasterInterruptEnable) bit is set.
Writing logic 1 to a bit in this register sets the corresponding bit, whereas writing logic 0 to
a bit in this register leaves the corresponding bit unchanged. On a read, the current value
of this register is returned. The bit allocation is given in Table 50.
Table 51: HcInterruptEnable - Host Controller Interrupt Enable register bit
BitSymbolDescription
6RHSCRoot Hub Status Change:
5FNOFrame Number Overflow:
4UE Unrecoverable Error:
3RD Resume Detect:
2SF Start-of-Frame:
1WDHHcDoneHead Writeback:
0SO Scheduling Overrun:
description
ISP1562
USB PCI Host Controller
…continued
0 — Ignore
1 — Enables interrupt generation because of Root Hub Status Change.
0 — Ignore
1 — Enables interrupt generation because of Frame Number Overflow.
0 — Ignore
1 — Enables interrupt generation because of Unrecoverable Error.
0 — Ignore
1 — Enables interrupt generation because of Resume Detect.
0 — Ignore
1 — Enables interrupt generation because of Start-of-Frame.
0 — Ignore
1 — Enables interrupt generation because of HcDoneHead Writeback.
0 — Ignore
1 — Enables interrupt generation because of Scheduling Overrun.
11.1.6 HcInterruptDisable register
Each disable bit in the HcInterruptDisable register corresponds to an associated interrupt
bit in the HcInterruptStatus register. The HcInterruptDisable register is coupled with the
HcInterruptEnable register. Therefore, writing logic 1 to a bit in this register clears the
corresponding bit in the HcInterruptEnable register, whereas writing logic 0 to a bit in this
register leaves the corresponding bit in the HcInterruptEnable register unchanged. On a
read, the current value of the HcInterruptEnable register is returned.
The register contains 4 B, and the bit allocation is given in Table 52.
The HcHCCA register contains the physical address of the Host Controller
Communication Area (HCCA). The bit allocation is given in Table 54. The HCD
determines the alignment restrictions by writing all 1s to HcHCCA and reading the content
of HcHCCA. The alignment is evaluated by examining the number of zeroes in the lower
order bits. The minimum alignment is 256 B; therefore, bits 0 through 7 will always return
logic 0 when read. This area is used to hold the control structures and the interrupt table
that are accessed by both the Host Controller and the HCD.
Table 54: HcHCCA - Host Controller Communication Area register bit allocation
Address: Value read from func0 or func1 of address 10h+ 18h
[1] The reserved bits should always be written with the reset value.
Table 55: HcHCCA - Host Controller Communication Area register bit description
Address: Value read from func0 or func1 of address 10h+ 18h
BitSymbolDescription
31 to 8HCCA[23:0]Host Controller Communication Area Base Address: This is the
base address of the HCCA.
7 to 0reserved-
11.1.8 HcPeriodCurrentED register
The HcPeriodCurrentED register contains the physical address of the current isochronous
or interrupt ED. Table 56 shows the bit allocation of the register.
Table 56: HcPeriodCurrentED - Host Controller Period Current Endpoint Descriptor register bit allocation
Address: Value read from func0 or func1 of address 10h+ 1Ch
Address: Value read from func0 or func1 of address 10h+ 1Ch
BitSymbolDescription
31 to 4PCED[27:0]PeriodCurrentED: This is used by the Host Controller to point to the
head of one of the periodic lists that must be processed in the current
frame. The content of this register is updated by the Host Controller
after a periodic ED is processed. The HCD may read the content in
determining which ED is being processed at the time of reading.
3 to 0reserved-
11.1.9 HcControlHeadED register
The HcControlHeadED register contains the physical address of the first ED of the control
list. The bit allocation is given in Table 58.
Table 58: HcControlHeadED - Host Controller Control Head Endpoint Descriptor register bit allocation
Address: Value read from func0 or func1 of address 10h+ 20h
Table 61: HcControlCurrentED - Host Controller Control Current Endpoint Descriptor
register bit description
Address: Value read from func0 or func1 of address 10h+ 24h
BitSymbolDescription
31 to 4CCED[27:0] ControlCurrentED: This pointer is advanced to the next ED after serving
the present. The Host Controller must continue processing the list from
where it leftoff in the last frame. When it reaches the end of the control list,
the Host Controller checks CLF (bit 1 of HcCommandStatus). If set, it
copies the content of HcControlHeadED to HcControlCurrentED and
clears the bit. If not set, it does nothing. The HCD is allowed to modify this
register only when CLE (bit 4 in the HcControl register) is cleared. When
set, the HCD only reads the instantaneous value of this register. Initially,
this is set to logic 0 to indicate the end of the control list.
[1] The reserved bits should always be written with the reset value.
Table 63: HcBulkHeadED - Host Controller Bulk Head Endpoint Descriptor register bit
description
Address: Value read from func0 or func1 of address 10h+ 28h
BitSymbolDescription
31 to 4BHED[27:0]BulkHeadED: The Host Controller traversesthe bulk list starting with
the HcBulkHeadED pointer. The content is loaded from HCCA during
the initialization of the Host Controller.
3 to 0reserved-
11.1.12 HcBulkCurrentED register
This register contains the physical address of the current endpoint of the bulk list. The
endpoints are ordered according to their insertion to the list because the bulk list must be
served in a round-robin fashion. The bit allocation is given in Table 64.
Table 64: HcBulkCurrentED - Host Controller Bulk Current Endpoint Descriptor register bit allocation
Address: Value read from func0 or func1 of address 10h+ 2Ch
[1] The reserved bits should always be written with the reset value.
Table 65: HcBulkCurrentED - Host Controller Bulk Current Endpoint Descriptor register bit
description
Address: Value read from func0 or func1 of address 10h+ 2Ch
BitSymbolDescription
31 to 4 BCED[27:0]BulkCurrentED: This is advanced to the nextED after the Host Controller
has served the current ED. The Host Controller continues processing the
list from where it left off in the last frame. When it reaches the end of the
bulk list, the Host Controller checks CLF (bit 1 of HcCommandStatus). If
the CLF bit is not set, nothing is done. If the CLF bit is set, it copies the
content of HcBulkHeadED to HcBulkCurrentED and clears the CLF bit.
The HCD can modify this register only when BLE (bit 5 in the HcControl
register) is cleared. When HcControl is set, the HCD reads the
instantaneous value of this register. This is initially set to logic 0 to indicate
the end of the bulk list.
3 to 0reserved-
[1]
11.1.13 HcDoneHead register
The HcDoneHead register contains the physical address of the last completed TD that
was added to the Done queue. In normal operation, the HCD need not read this register
because its content is periodically written to the HCCA. Table 66 contains the bit allocation
of the register.
Table 66: HcDoneHead - Host Controller Done Head register bit allocation
Address: Value read from func0 or func1 of address 10h+ 30h
[1] The reserved bits should always be written with the reset value.
Table 67: HcDoneHead - Host Controller Done Head register bit description
Address: Value read from func0 or func1 of address 10h+ 30h
BitSymbolDescription
31 to 4DH[27:0]DoneHead: When a TD is completed, the Host Controller writes the
content of HcDoneHead to the NextTD field of the TD. The Host
Controller then overwrites the content of HcDoneHead with the
address of this TD. This is set to logic0 whenever the Host Controller
writes the content of this register to HCCA.
3 to 0reserved-
[1]
11.1.14 HcFmInterval register
This register contains a 14-bit value that indicates the bit time interval in a frame—that is,
between two consecutive SOFs—and a 15-bit value indicating the full-speed maximum
packet size that the Host Controller may transmit or receive, without causing a scheduling
overrun. The HCD may carry out minor adjustment on FI (FrameInterval) by writing a new
value over the present at each SOF. This provides the possibility for the Host Controller to
synchronize with an external clocking resource and to adjust any unknown local clock
offset. The bit allocation of the register is given in Table 68.
Address: Value read from func0 or func1 of address 10h+ 34h
BitSymbolDescription
31FITFrameIntervalToggle: The HCD toggles this bit whenever it loads a
new value to FrameInterval.
30 to 16FSMPS[14:0] FSLargestDataPacket: This field specifies the value that is loaded
into the largest data packet counter at the beginning of each frame.
The counter value represents the largest amount of data in bits that
can be sent or received by the Host Controller ina single transactionat
any given time, without causing a scheduling overrun. The field value
is calculated by the HCD.
15 to 14reserved13 to 0FI[13:0]FrameInterval: This specifies the interval between two consecutive
SOFs in bittimes. The nominalvalue is set to 11,999. The HCD should
store the current value of this field before resetting the Host Controller
to reset this field to its nominal value. The HCD can then restore the
stored value on completing the reset sequence.
11.1.15 HcFmRemaining register
This register is a 14-bit down counter showing the bit time remaining in the current frame.
Table 70 contains the bit allocation of this register.
Address: Value read from func0 or func1 of address 10h+ 38h
BitSymbolDescription
31FRTFrameRemainingToggle: This bit is loaded from FIT (bit 31 of
HcFmInterval) whenever FR[13:0] reaches 0. This bit is used by the HCD
for the synchronization between FI[13:0] (bits 13 to 0 of HcFmInterval) and
FR[13:0].
30 to 14 reserved13 to 0FR[13:0]FrameRemaining: This counter is decremented at each bit time. When it
reaches 0, it is reset by loading the FI[13:0] valuespecified in HcFmInterval
at the nextbit time boundary.When entering the USBOPERATIONALstate,
the Host Controller reloads the content with FI[13:0] of HcFmInterval and
uses the updated value from the next SOF.
11.1.16 HcFmNumber register
This register is a 16-bit counter, and the bit allocation is given in Table 72. It provides a
timing reference among events happening in the Host Controller and the HCD. The HCD
may use the 16-bit value specified in this register and generate a 32-bit frame number,
without requiring frequent access to the register.
Table 72: HcFmNumber - Host Controller Frame Number register bit allocation
Address: Value read from func0 or func1 of address 10h+ 3Ch
[1] The reserved bits should always be written with the reset value.
[1]
Table 73: HcFmNumber - Host Controller Frame Number register bit description
Address: Value read from func0 or func1 of address 10h+ 3Ch
BitSymbolDescription
31 to 14reserved13 to 0FN[13:0]FrameNumber: Incremented when HcFmRemaining is reloaded. It
must be rolled over to 0h after FFFFh. Automatically incremented
when entering the USBOPERATIONAL state. The content is written to
HCCA after the Host Controller has incremented FrameNumber at
each frame boundary and sent an SOF but before the Host Controller
reads the first ED in that frame. After writing to HCCA, the Host
Controller sets SF (bit 2 in HcInterruptStatus).
[1]
FN[13:8]
11.1.17 HcPeriodicStart register
This register has a 14-bit programmable value that determines when is the earliest time
for the Host Controller to start processing the periodic list. For bit allocation, see Table 74.
Address: Value read from func0 or func1 of address 10h+ 40h
BitSymbolDescription
31 to 14reserved13 to 0P_S[13:0]PeriodicStart: After a hardware reset, this field is cleared. It is then set
by the HCD during the Host Controller initialization. The value is roughly
calculated as 10 % of HcFmInterval. A typical value is 3E67h. When
HcFmRemaining reaches the value specified, processing of the periodic
lists have priority over control or bulk processing. The Host Controller,
therefore, starts processing the interrupt list after completing the current
control or bulk transaction that is in progress.
11.1.18 HcLSThreshold register
This register contains an 11-bit value used by the Host Controller to determine whether to
commit to the transfer of a maximum of 8 B low-speed packet before EOF. Neither the
Host Controller nor the HCD can change this value. For bit allocation, see Table 76.
Table 76: HcLSThreshold - Host Controller LS Threshold register bit allocation
Address: Value read from func0 or func1 of address 10h+ 44h
Table 77: HcLSThreshold - Host Controller LS Threshold register bit description
Address: Value read from func0 or func1 of address 10h+ 44h
BitSymbolDescription
31 to 12reserved11 to 0LST[11:0]LSThreshold: This field contains a value that is compared to the FR[13:0]
field, before initiating a low-speed transaction. The transaction is started
only if FR ≥ this field. The value is calculated by the HCD, considering the
transmission and setup overhead.
11.1.19 HcRhDescriptorA register
This register is the first of two registers describing the characteristics of the Root Hub.
Reset values are implementation-specific.
Table 78 contains the bit allocation of the HcRhDescriptorA register.
Table 78: HcRhDescriptorA - Host Controller Root Hub Descriptor A register bit allocation
Address: Value read from func0 or func1 of address 10h+ 48h
Table 79: HcRhDescriptorA - Host Controller Root Hub Descriptor A register bit
Address: Value read from func0 or func1 of address 10h+ 48h
BitSymbolDescription
31 to 24 POTPGT
23 to 13 reserved12NOCPNoOverCurrentProtection: This bit describes how the overcurrent status
11OCPMOverCurrentProtectionMode: This bit describes how the overcurrent
10DTDeviceType:This bit specifies that the Root Hub is not a compound device.
9NPSNoPowerSwitching: This bit is used to specify whether power switching is
8PSMPowerSwitchingMode: This bit is used to specify how the power switching
7 to 0NDP[7:0]NumberDownstreamPorts: These bits specify the number of downstream
description
[7:0]
ISP1562
USB PCI Host Controller
PowerOnToPowerGoodTime: This byte specifies the duration the HCD
must wait before accessing a powered-on port of the Root Hub. It is
implementation-specific. The unit of time is 2 ms. The duration is calculated
as POTPGT x 2 ms.
for Root Hub ports are reported. When this bit is cleared, the OCPM bit
specifies global or per-port reporting.
0 — Overcurrent status is collectively reported for all downstream ports
1 — No overcurrent protection supported.
status for Root Hub ports are reported. At reset, this fields reflects the same
mode as PowerSwitchingMode. This field is valid only if the NOCP bit is
cleared.
0 — Overcurrent status is collectively reported for all downstream ports
1 — Overcurrent status is reported on a per-port basis.
The Root Hub is not permitted to be a compound device. This field should
always read logic 0.
supported or ports are always powered. It is implementation-specific. When
this bit is cleared, the PSM bit specifies global or per-port switching.
0 — Ports are power switched
1 — Ports are always powered on when the Host Controller is powered on.
of Root Hub ports is controlled. It is implementation-specific. This field is
only valid if the NPS field is cleared.
0 — All ports are powered at the same time
1 — Each port is individually powered. This mode allows port power to be
controlled by either the global switch or per-port switching. If the PPCM
(PortPowerControlMask) bit is set, the port responds only to port power
commands (Set/ClearPortPower). If the port mask is cleared, then the port
is controlled only by the global power switch (Set/ClearGlobalPower).
ports supported by the Root Hub. It is implementation-specific. The
minimum number of ports is 1. The maximum number of ports supported by
OHCI is 15.
11.1.20 HcRhDescriptorB register
The HcRhDescriptorB register is the second of two registers describing the characteristics
of the Root Hub. The bit allocation is given in Table 80. These fields are written during
initialization to correspond to the system implementation. Reset values are
implementation-specific.
Table 81: HcRhDescriptorB - Host Controller Root Hub Descriptor B register bit
description
Address: Value read from func0 or func1 of address 10h+ 4Ch
BitSymbolDescription
31 to 16 PPCM
[15:0]
15 to 0DR
[15:0]
PortPowerControlMask: Each bit indicates whether a port is affected by a
global power control command when PowerSwitchingMode is set. When set,
only the power state of the port is affected by per-port power control
(Set/ClearPortPower). When cleared, the port is controlled by the global
power switch (Set/ClearGlobalPower). If the device is configured to global
switching mode (PowerSwitchingMode = 0), this field is not valid.
Bit 0 — Reserved
Bit 1 — Ganged-power mask on port 1
Bit 2 — Ganged-power mask on port 2.
DeviceRemovable: Each bit is dedicated to a port of the Root Hub. When
cleared, the attached device is removable. When set, the attached device is
not removable.
Bit 0 — Reserved
Bit 1 — Device attached to port 1
Bit 2 — Device attached to port 2.
11.1.21 HcRhStatus register
This register is divided into two parts. The lower word of a DWord represents the Hub
Status field, and the upper word represents the Hub Status Change field. Reserved bits
should always be written as logic 0. Table 82 shows the bit allocation of the register.
Table 83: HcRhStatus - Host Controller Root Hub Status register bit description
Address: Value read from func0 or func1 of address 10h+ 50h
BitSymbolDescription
14 to 2reserved1OCIOverCurrentIndicator: This bit reports overcurrentconditions when global
reporting is implemented. When set, an overcurrent condition exists. When
cleared, all power operations are normal. If the per-port overcurrent
protection is implemented, this bit is always logic 0.
0LPSOn read—LocalPowerStatus: The Root Hub does not support the local
power status feature. Therefore, this bit is always read as logic 0.
On write—ClearGlobalPower: In global power mode
(PowerSwitchingMode = 0), logic 1 is written to this bit to turn off power to
all ports (clear PortPowerStatus). In per-port power mode, it clears
PortPowerStatus only on ports whose PortPowerControlMask bit is not set.
Writing logic 0 has no effect.
11.1.22 HcRhPortStatus[4:1] register
The HcRhPortStatus[4:1] register is used to control and report port events on a per-port
basis. NumberDownstreamPorts represents the number of HcRhPortStatus registers that
are implemented in hardware. The lower word reflects the port status. The upper word
reflects the status change bits. Some status bits are implemented with special write
behavior. If a transaction—token through handshake—is in progress when a write to
change port status occurs, the resulting port status change is postponed until the
transaction completes. Always write logic 0 to the reserved bits. The bit allocation of the
register is given in Table 84.
…continued
Table 84: HcRhPortStatus[4:1] - Host Controller Root Hub Port Status[4:1] register bit allocation
Address: Value read from func0 or func1 of address 10h+ 54h
Table 85: HcRhPortStatus[4:1] - Host Controller Root Hub Port Status[4:1] register bit
Address: Value read from func0 or func1 of address 10h+ 54h
BitSymbolDescription
2PSSOn read—PortSuspendStatus: This bit indicates whether the port is
1PESOn read—PortEnableStatus: This bit indicates whether the port is enabled
0CCSOn read—CurrentConnectStatus: This bit reflects the current state of the
description
ISP1562
USB PCI Host Controller
…continued
suspended or is in the resume sequence. It is set by a SetSuspendState
write and cleared when PSSC (PortSuspendStatusChange) is set at the
end of the resume interval. This bit is not set if CCS
(CurrentConnectStatus) is cleared. This bit is also cleared when PRSC is
set at the end of the port reset or when the Host Controller is placed in the
USBRESUME state. If an upstream resume is in progress, it will propagate
to the Host Controller.
0 — Port is not suspended
1 — Port is suspended.
On write—SetPortSuspend: The HCD can set the PSS
(PortSuspendStatus) bit by writing logic 1 to this bit. Writing logic 0 has no
effect. If CCS is cleared, this write does not set PSS; instead it sets CSS.
This informs the driver that it attempted to suspend a disconnected port.
or disabled. The Root Hub may clear this bit when an overcurrent condition,
disconnect event, switched-off power or operational bus error is detected.
This change also causes PortEnabledStatusChange to be set. The HCD
can set this bit by writing SetPortEnable and clear it by writing
ClearPortEnable.This bit cannot be set when CCS (CurrentConnectStatus)
is cleared. This bit is also set on completing a port reset when
ResetStatusChange is set or on completing a port suspend when
SuspendStatusChange is set.
0 — Port is disabled
1 — Port is enabled.
On write—SetPortEnable: The HCD can set PES (PortEnableStatus) by
writing logic 1. Writing logic 0 has no effect. If CCS is cleared, this write
does not set PES, but instead sets CSC (ConnectStatusChange). This
informs the driver that it attempted to enable a disconnected port.
downstream port.
0 — No device connected
1 — Device connected.
On write—ClearPortEnable: The HCD can write logic 1 to this bit to clear
the PES (PortEnableStatus) bit.Writing logic 0 hasno effect. The CCS bit is
not affected by any write.
Remark: This bit always reads logic1 when the attached device is
nonremovable (DeviceRemovable[NDP]).
11.2 EHCI controller capability registers
Other than the OHCI Host Controller, there are some registers in EHCI that define the
capability of EHCI. The address range of these registers is located before the operational
registers.
11.2.1 CAPLENGTH/HCIVERSION register
The bit allocation of this 4 B register is given in Table 86.
Address: Value read from func2 of address 10h+ 00h
BitSymbolDescription
31 to 16 HCIVERSION
[15:0]
15 to 8reserved7 to 0CAPLENGTH
[7:0]
Host Controller Interface Version Number: This field contains a BCD
encoded version number of the interface to which the Host Controller
interface conforms.
Capability Register Length: This is used as an offset. It is added to
the register base to find the beginning of the operational register space.
11.2.2 HCSPARAMS register
The Host Controller Structural Parameters (HCSPARAMS) register is a set of fields that
are structural parameters. The bit allocation is given in Table 88.
Address: Value read from func2 of address 10h+ 04h
BitSymbolDescription
31 to 16reserved15 to 12N_CC
[3:0]
11 to 8N_PCC
[3:0]
7PRRPort Routing Rules: This field indicates the method used to map ports
6 to 5reserved4PPCPort Power Control: This field indicates whether the Host Controller
3 to 0N_PORTS
[3:0]
Number of Companion Controller: This field indicates the number of
companion controllers associated with this Hi-Speed USB Host
Controller. A value of zero in this field indicates there are no companion
Host Controllers. Port-ownership hand-off is not supported. Only
high-speed devices are supported on the Host Controller root ports. A
value larger than zero in this field indicates there are companion Original
USB Host Controller(s). Port-ownership hand-offs are supported.
Number of Ports per Companion Controller: This field indicates the
number of ports supported per companion Host Controller. It is used to
indicate the port routing configuration to the system software. For
example, if N_PORTS has a value of 6 and N_CC has a value of 2, then
N_PCC can have a value of 3. The convention is that the first N_PCC
ports are assumed to be routed to companion controller 1, the next
N_PCC ports to companion controller 2, and so on. In the previous
example, N_PCC could have been 4, in which case the first four are
routed to companion controller 1 and the last two are routed to
companion controller 2.
The number in this field must be consistent with N_PORTS and N_CC.
to companion controllers.
0 — The first N_PCC ports are routed to the lowest numbered function
companion Host Controller, the next N_PCC ports are routed to the next
lowest function companion controller, and so on.
1 — The port routing is explicitly enumerated by the first N_PORTS
elements of the HCSP-PORTROUTE array.
implementation includes port power control. Logic 1 indicates the port
has port power switches. Logic 0 indicates the port does not have port
power switches. The value of this field affectsthe functionality of the Port
Power field in each port status and control register.
N_Ports: This field specifies the number of physical downstream ports
implemented on this Host Controller. The value in this field determines
how many port registers are addressable in the operational register
space. Logic 0 in this field is undefined.
Address: Value read from func2 of address 10h+ 08h
BitSymbolDescription
31 to 8reserved 7 to 4IST[3:0]Isochronous Scheduling Threshold: Default = implementation dependent.
This field indicates—relative to the current position of the executing Host
Controller—where software can reliably update the isochronous schedule.
When IST[3] is logic 0, the value of the least significant three bits indicates
the number of micro frames a Host Controller can hold a set of isochronous
data structures—one or more—before flushing the state. When IST[3] is
logic 1, the host software assumes the Host Controller may cache an
isochronous data structure for an entire frame.
3 to 2reserved 1PFLFProgrammable Frame List Flag: Default = implementation dependent. If
this bit is cleared, the system software must use a frame list length of
1024 elements with the Host Controller. The USBCMD register FLS[1:0]
(bits 3 and 2) is read-only and should be cleared. If PFLF is set, the system
software can specify and use a smaller frame list and configure the host
through the FLS bit. The frame list must always be aligned on a 4 kB page
boundary to ensure that the frame list is always physically contiguous.
064AC64-bit Addressing Capability: This field contains the addressing range
capability.
0 — Data structures using 32-bit address memory pointers
1 — Data structures using 64-bit address memory pointers.
The HCSP-PORTROUTE (Companion Port Route Description) register is an optional
read-only field that is valid only if PRR (bit 7 in the HCSPARAMS register) is logic 1. Its
address is value read from func2 of address 10h + 0Ch.
This field is a 15-element nibble array—each 4 bits is one array element. Each array
location corresponds one-to-one with a physical port provided by the Host Controller. For
example, PORTROUTE[0] corresponds to the first PORTSC port, PORTROUTE[1] to the
second PORTSC port, and so on. The value of each element indicates to which of the
companion Host Controllers this port is routed. Only the first N_PORTS elements have
valid information. A value of zero indicates that the port is routed to the lowest numbered
function companion Host Controller. A value of one indicates that the port is routed to the
next lowest numbered function companion Host Controller, and so on.
11.3 Operational registers of Enhanced USB Host Controller
11.3.1 USBCMD register
The USB Command (USBCMD) register indicates the command to be executed by the
serial Host Controller. Writing to this register causes a command to be executed. Table 92
shows the bit allocation.
ISP1562
USB PCI Host Controller
Table 92: USBCMD - USB Command register bit allocation
Address: Value read from func2 of address 10h+ 20h
Table 93: USBCMD - USB Command register bit description
Address: Value read from func2 of address 10h+ 20h
BitSymbolDescription
31 to 24reserved23 to 16ITC[7:0]Interrupt Threshold Control: Default = 08h. This field is used by the
15 to 8reserved7LHCRLight Host Controller Reset: This control bit is not required. It allows the
6IAADInterrupt on Asynchronous Advance Doorbell: This bit is used as a
ISP1562
USB PCI Host Controller
system software to select the maximum rate at which the Host Controller
will issue interrupts. If software writes an invalid value to this register, the
results are undefined. Valid values are:
Software modifications to this field while HCH (bit 12) in the USBSTS
register is zero results in undefined behavior.
driver software to reset the EHCI controller, without affecting the state of
the ports or the relationship to the companion Host Controllers. If not
implemented, a read of this field will always return zero.Ifimplemented, on
read:
0 — Indicates that the Light Host Controller Reset has completed and it is
ready for the host software to reinitialize the Host Controller
1 — Indicates that the Light Host Controller Reset has not yet completed.
doorbell by software to notify the Host Controller to issue an interrupt the
next time it advances the asynchronous schedule. Software must write
logic 1 to this bit to ring the doorbell. When the Host Controller has evicted
all appropriate cached schedule states, it sets IAA (bit 5 in the USBSTS
register). If IAAE (bit 5 in the USBINTR register) is logic 1, then the Host
Controller will assert an interrupt at the next interrupt threshold. The Host
Controller sets this bit to logic 0 after it sets IAA. Software should not set
this bit when the asynchronous schedule is inactive because this results in
an undefined value.
Table 93: USBCMD - USB Command register bit description
Address: Value read from func2 of address 10h+ 20h
BitSymbolDescription
5ASEAsynchronous Schedule Enable: Default = 0. This bit controls whether
the Host Controller skips processing the asynchronous schedule.
0 — Do not process the asynchronous schedule
1 — Use the ASYNCLISTADDR register to access the asynchronous
schedule.
4PSEPeriodic Schedule Enable: Default = 0. This bit controls whether the
Host Controller skips processing the periodic schedule.
0 — Do not process the periodic schedule
1 — Use the PERIODICLISTBASE register to access the periodic
schedule.
3 to 2FLS[1:0]Frame List Size: Default = 00b. This field is read and write only if PFLF
(bit 1) in the HCCPARAMS register is set to logic 1. This field specifies the
size of the frame list. The size the frame list controls which bits in the
Frame Index register should be used for the frame list current index.
00b — 1024 elements (4096 B)
01b — 512 elements (2048 B)
10b — 256 elements (1024 B) for small environments
11b — reserved.
1HCRESET Host Controller Reset: This control bit is used by the software to reset
the Host Controller. The effectsof this on Root Hub registers are similar to
a chip hardware reset. Setting this bit causes the Host Controller to reset
its internal pipelines, timers, counters, state machines, and so on, to their
initial values. Any transaction currently in progress on USB is immediately
terminated. A USB reset is not driven on downstream ports. This reset
does not affect the PCI Configuration registers. All operational registers,
including port registers and port state machines, are set to their initial
values. Port ownership reverts to the companion Host Controller(s). The
software must reinitialize the Host Controller to return it to an operational
state. This bit is cleared by the Host Controller when the reset process is
complete. Software cannot terminate the reset process early by writing
logic 0to this register.Softwareshould check that bit HCH islogic 0 before
setting this bit. Attempting to reset an actively running Host Controller
results in undefined behavior.
0RSRun/Stop: 1 = Run. 0 = Stop. When set, the Host Controller executes the
schedule. The Host Controller continues execution as long as this bit is
set. When thisbit is cleared, the Host Controller completes the current and
active transactions in the USB pipeline, and then halts. Bit HCH indicates
when the Host Controller has finished the transaction and has entered the
stopped state. Software should check that the HCH bit is logic 1, before
setting this bit.
…continued
11.3.2 USBSTS register
The USB Status (USBSTS) register indicates pending interrupts and various states of the
Host Controller. The status resulting from a transaction on the serial bus is not indicated in
this register. Software clears the register bits by writing ones to them. The bit allocation is
given in Table 94.
[1] The reserved bits should always be written with the reset value.
Table 95: USBSTS - USB Status register bit description
Address: Value read from func2 of address 10h+ 24h
BitSymbolDescription
31 to 16reserved15ASSAsynchronous Schedule Status: Default = 0. The bit reports the
current real status of the asynchronous schedule. If this bit is logic 0,
the status of the asynchronous schedule is disabled. If this bit is logic 1,
the status of the asynchronous schedule is enabled. The Host
Controller is not required to immediately disable or enable the
asynchronous schedule when software changes ASE (bit 5 in the
USBCMD register). When this bit and the ASE bit have the same value,
the asynchronous schedule is either enabled (1) or disabled (0).
14PSSTATPeriodic Schedule Status: Default = 0. This bit reports the current
status of the periodic schedule. If this bit is logic 0, the status of the
periodic schedule is disabled. If this bit is logic 1, the status of the
periodic schedule is enabled. The Host Controller is not required to
immediately disable or enable the periodic schedule when software
changes PSE (bit 4) in the USBCMD register. When this bit and the
PSE bit have the same value, the periodic schedule is either enabled (1)
or disabled (0).
13RECLReclamation: Default = 0. This is a read-only status bit that is used to
detect an empty asynchronous schedule.
12HCHHCHalted: Default = 1. This bit is logic 0 when RS (bit 0) in the
USBCMD register is logic 1. The Host Controller sets this bit to logic 1
after it has stopped executingbecause the RS bit is set to logic 0, either
by software or by the Host Controller hardware. For example, on an
internal error.
Table 95: USBSTS - USB Status register bit description
Address: Value read from func2 of address 10h+ 24h
BitSymbolDescription
11 to 6reserved5IAAInterrupt on Asynchronous Advance: Default = 0. The system
software can force the Host Controller to issue an interrupt the next time
the Host Controller advances the asynchronous schedule by writing
logic 1 to IAAD (bit 6) in the USBCMD register. This status bit indicates
the assertion of that interrupt source.
4HSEHost System Error: The Host Controller sets this bit when a serious
error occurs during a host system access, involving the Host Controller
module. In a PCI system, conditions that set this bit include PCI parity
error, PCI master abort and PCI target abort. When this error occurs,
the Host Controller clears RS (bit 0 in the USBCMD register) to prevent
further execution of the scheduled TDs.
3FLRFrame List Rollover: The Host Controller sets this bit to logic 1 when
the frame list index rolls over from its maximum value to zero. The exact
value at which the rollover occurs depends on the frame list size. For
example, if the frame list size—as programmed in FLS (bits 3 to 2) of
the USBCMD register—is 1024, the Frame Index register rolls over
everytime bit 13 of the FRINDEX register toggles. Similarly,ifthe size is
512, the Host Controller sets this bit to logic 1 every time bit 12 of the
FRINDEX register toggles.
2PCDPort Change Detect: The Host Controller sets this bit to logic 1 when
any port— where PO (bit 13 of PORTSC) is cleared—changes to
logic 1, or FPR (bit 6 of PORTSC) changes to logic 1 as aresult of a J-K
transition detected on a suspended port. This bit is allowed to be
maintained in the auxiliary powerwell. Alternatively,it is also acceptable
that—on a D3-to-D0 transition of the EHCI Host Controller device—this
bit is loaded with the logical OR of all the PORTSC change bits,
including force port resume, overcurrent change, enable or disable
change, and connect status change.
1USBERR
INT
0USBINTUSB Interrupt: The Host Controller sets this bit on completing a USB
USB Error Interrupt: The Host Controller sets this bit when an error
condition occurs because of completing a USB transaction. For
example, error counter underflow. If the Transfer Descriptor (TD) on
which the error interrupt occurred also had its IOC bit set, both this bit
and the USBINT bit are set. For details, refer to the
Controller Interface Specification for Universal Serial Bus Rev. 1.0
transaction, which results in the retirement of a TD that had its IOC bit
set. The Host Controller also sets this bit when a short packet is
detected, that is, the actual number of bytes received was less than the
expected number of bytes. For details, refer to the
Controller Interface Specification for Universal Serial Bus Rev. 1.0
…continued
Enhanced Host
.
Enhanced Host
.
11.3.3 USBINTR register
The USB Interrupt Enable (USBINTR) register enables and disables reporting of the
corresponding interrupt to the software. When a bit is set and the corresponding interrupt
is active, an interrupt is generated to the host. Interrupt sources that are disabled in this
register still appear in USBSTS to allow the software to poll for events. The USBSTS
register bit allocation is given in Table 96.
[1] The reserved bits should always be written with the reset value.
Table 97: USBINTR - USB Interrupt Enable register bit description
Address: Value read from func2 of address 10h+ 28h
BitSymbolDescription
31 to 6reserved5IAAEInterrupt on Asynchronous Advance Enable: When this bit and IAA
(bit 5 in the USBSTS register) are set, the Host Controller issues an
interrupt at the next interrupt threshold. The interrupt is acknowledged by
software clearing bit IAA.
4HSEEHost System ErrorEnable:When this bit and HSE (bit 4 in the USBSTS
register) are set, the Host Controller issues an interrupt. The interrupt is
acknowledged by software clearing bit HSE.
3FLREFrame List Rollover Enable: When this bit and FLR (bit 3 in the
USBSTS register) are set, the Host Controller issues an interrupt. The
interrupt is acknowledged by software clearing bit FLR.
2PCIEPort Change Interrupt Enable: When this bit and PCD (bit 2 in the
USBSTS register) are set, the Host Controller issues an interrupt. The
interrupt is acknowledged by software clearing bit PCD.
1USB
ERRINTE
0USBINTEUSB Interrupt Enable: When this bit and USBINT (bit 0 in the USBSTS
USB Error Interrupt Enable: When this bit and USBERRINT (bit 1 in the
USBSTS register) are set, the Host Controller issues an interrupt at the
next interrupt threshold. The interrupt is acknowledged by software
clearing bit USBERRINT.
register) are set, the Host Controller issues an interrupt at the next
interrupt threshold. The interrupt is acknowledged by software clearing
bit USBINT.
The Frame Index (FRINDEX) register is used by the Host Controller to index into the
periodic frame list. The register updates every 125 µs—once each micro frame.
Bits N to 3 are used to select a particular entry in the periodic frame list during periodic
schedule execution. The number of bits used for the index depends on the size of the
frame list as set by the system software in FLS[1:0] (bits 3 to 2) of the USBCMD register.
This register must be written as a DWord. Byte writes produce undefined results. This
register cannot be written unless the Host Controller is in the halted state, as indicated by
HCH (bit 12 in the USBSTS register). A write to this register while RS (bit 0 in the
USBCMD register) is set produces undefined results. Writes to this register also affect the
SOF value.
The bit allocation is given in Table 98.
Table 98: FRINDEX - Frame Index register bit allocation
Address: Value read from func2 of address 10h+ 2Ch
Table 99: FRINDEX - Frame Index register bit description
Address: Value read from func2 of address 10h+ 2Ch
BitSymbolDescription
31 to 14 reserved13 to 0FRINDEX
[13:0]
ISP1562
USB PCI Host Controller
Frame Index: Bits in this register are used forthe frame number in the SOF
packet and as the index into the frame list. The value in this register
increments at the end of each time frame. For example, micro frame. The
bits used for the frame number in the SOF token are taken from bits 13 to 3
of this register. Bits N to 3 are used for the frame list current index. This
means that each location of the frame list is accessed eight times—frames
or micro frames—before moving to the next index.
The following illustrates values of N based on the value of FLS[1:0]
(bits 3 to 2 in the USBCMD register).
FLS[1:0]Number elementsN
00b 102412
01b51211
10b 25610
11breserved-
11.3.5 PERIODICLISTBASE register
The Periodic Frame List Base Address (PERIODLISTBASE) register contains the
beginning address of the periodic frame list in the system memory.If the Host Controller is
in 64-bit mode—as indicated by logic 1 in 64AC (bit 0 of the HCCSPARAMS register)—the
most significant 32 bits of every control data structure address comes from the
CTRLDSSEGMENT register. The system software loads this register before starting the
schedule execution by the Host Controller. The memory structure referenced by this
physical memory pointer is assumed as 4 kB aligned. The contents of this register are
combined with the FRINDEX register to enable the Host Controller to step through the
periodic frame list in sequence.
The bit allocation is given in Table 100.
Table 100: PERIODICLISTBASE - Periodic Frame List Base Address register bit allocation
Address: Value read from func2 of address 10h+ 34h
[1] The reserved bits should always be written with the reset value.
Table 101: PERIODICLISTBASE - Periodic Frame List Base Address register bit description
Address: Value read from func2 of address 10h+ 34h
BitSymbolDescription
31 to 12BA[19:0]Base Address: These bits correspond to memory address signals
31 to 12, respectively.
11 to 0reserved-
[1]
11.3.6 ASYNCLISTADDR register
This 32-bit register contains the address of the next asynchronous queue head to be
executed.If the Host Controller is in 64-bit mode—as indicated by logic 1 in 64AC (bit 0 of
the HCCPARAMS register)—the most significant 32 bits of every control data structure
address comes from the CTRLDSSEGMENT register. Bits 4 to 0 of this register always
return zeroswhen read. The memory structure referencedby the physical memory pointer
is assumed as 32 B (cache aligned). For bit allocation, see Table 102.
Table 102: ASYNCLISTADDR - Current Asynchronous List Address register bit allocation
Address: Value read from func2 of address 10h+ 38h
[1] The reserved bits should always be written with the reset value.
Table 105: CONFIGFLAG - Configure Flag register bit description
Address: Value read from func2of address 10h + 60h
BitSymbolDescription
31 to 1reserved0CFConfigure Flag: The host software sets this bit as the last action in its
process of configuring the Host Controller. This bit controls the default
port-routing control logic.
0 — Portrouting control logic default-routes each port to an implementation
dependent classic Host Controller
1 — Port routing control logic default-routes all ports to this Host Controller.
11.3.8 PORTSC registers 1, 2
The Port Status and Control (PORTSC) register is in the auxiliary power well. It is only
reset by hardware when the auxiliary power is initially applied or in response to a Host
Controller reset. The initial conditions of a port are:
If the port has power control, software cannot change the state of the port until it sets the
port power bits. Software must not attempt to change the state of the port until power is
stable on the port; maximum delay is 20 ms from the transition. For bit allocation, see
Table 106.
Table 106: PORTSC 1, 2 - Port Status and Control 1, 2 register bit allocation
Address: Value read from func2 of address 10h+ 64h + (4 x Port Number−1) where Port Number is 1, 2
Wake on Disconnect Enable: Default = 0. Setting this bit enables the port
to be sensitive to device disconnects as wake-up events.
be sensitive to device connects as wake-up events.
[1]
[1]
[1]
Page 76
Philips Semiconductors
ISP1562
USB PCI Host Controller
Table 107: PORTSC 1, 2 - Port Status and Control 1, 2 register bit description
…continued
Address: Value read from func2 of address 10h+ 64h + (4 x Port Number−1) where Port Number
is 1, 2
BitSymbolDescription
19 to 16 PTC[3:0]Port Test Control: Default = 0000b. When this field is logic 0, the port is
not operating in test mode. A nonzero value indicates that it is operating in
test mode and test mode is indicated by the value. The encoding of the test
mode bits are:
0000b — Test mode disabled
0001b — Test J_STATE
0010b — Test K_STATE
0011b — Test SE0_NAK
0100b — Test packet
0101b — Test FORCE_ENABLE
0110b to 1111b — reserved.
15 to 14 reserved13POPort Owner: Default = 1. This bit unconditionally goes to logic 0 when CF
(bit 0) in the CONFIGFLAG register makes logic 0 to logic 1 transition. This
bit unconditionally goes to logic 1 when the CF bit is logic 0. The system
software uses this field to release ownership of the port to a selected Host
Controller,if the attached deviceis not a high-speed device. Software writes
logic 1 to this bit, if the attached device is not a high-speed device. Logic 1
in this bit means that a companion Host Controller owns and controls the
port.
12PPPort Power: The function of this bit depends on the value of PPC (bit 4) in
the HCSPARAMS register.
If PPC = 0 and PP = 1 — The Host Controller does not have port power
control switches. Always powered.
If PPC = 1 and PP = 1 or 0 — The Host Controller has port power control
switches. This bit represents the current setting of the switch: logic0 = off,
logic 1 = on. When PP is logic 0, the port is nonfunctional and will notreport
any status.
When an overcurrent condition is detected on a powered port and PPC is
logic 1, the PP bit in each affected port may be changed by the Host
Controller from logic 1 to logic 0, removing power from the port.
11 to 10 LS[1:0]Line Status: This field reflects the current logical levels of the DP (bit 11)
and DM (bit 10) signal lines. These bits are used to detect low-speed USB
devices before the port reset and enable sequence. This field is valid only
when the Port Enablebit is logic 0, and the Current Connect Status bit is set
to logic 1.
00b — SE0: Not a low-speed device, perform EHCI reset
01b — K-state: Low-speed device, release ownership of port
10b — J-state: Not a low-speed device, perform EHCI reset
11b — Undefined: Not a low-speed device, perform EHCI reset.
Table 107: PORTSC 1, 2 - Port Status and Control 1, 2 register bit description
Address: Value read from func2 of address 10h+ 64h + (4 x Port Number−1) where Port Number
is 1, 2
BitSymbolDescription
8PR Port Reset: Logic 1 means the port is in reset. Logic 0 means the port is
not in reset. Default = 0. When software sets this bit from logic 0, the bus
reset sequence as defined in
started. Software clears this bit to terminate the bus reset sequence.
Software must hold this bit at logic 1 until the reset sequence, as specified
in
Universal Serial Bus Specification Rev. 2.0
Remark: When software sets this bit, it must also clear the Port Enable bit.
Remark: When software clears this bit, there may be a delay before the bit
status changes to logic 0 because it will not read logic 0 until the reset is
completed. If the port is in high-speed mode after reset is completed, the
Host Controller will automatically enable this port; it can set the Port Enable
bit. A Host Controller must terminate the reset and stabilize the state of the
port within 2 ms of software changing this bit from logic 1 to logic 0. For
example, if the port detects that the attached device is high-speed during a
reset, then the Host Controller must enable the port within 2 ms of software
clearing this bit.
HCH (bit 12) in the USBSTS register must be logic 0 before software
attempts to use this bit. The Host Controller may hold Port Reset asserted
when the HCH bit is set.
7SUSPSuspend: Default = 0. Logic 1 means the port is in the suspend state.
Logic 0 means the port is not suspended. The PED (Port Enabled) bit and
this bit define the port states as follows:
PED = 0 and SUSP = X — Port is disabled
PED = 1 and SUSP = 0 — Port is enabled
PED = 1 and SUSP = 1 — Port is suspended.
When in the suspend state, downstream propagation of data is blocked on
this port, except for the port reset. If a transaction was in progress when this
bit was set, blocking occurs at the end of the current transaction. In the
suspend state, the port is sensitive to resume detection. The bit status does
not change until the port is suspended and there may be a delay in
suspending a port, if there is atransaction currently in progress on the USB.
Attempts to clear this bit are ignored by the Host Controller. The Host
Controller will unconditionally set this bit to logic 0 when:
Universal Serial Bus Specification Rev. 2.0
, is completed.
[1]
…continued
is
• Software changes the FPR (Force Port Resume) bit to logic 0.
• Software changes the PR (Port Reset) bit to logic 1.
If the host software sets this bit when the Port Enabled bit is logic 0, the
results are undefined.
Table 107: PORTSC 1, 2 - Port Status and Control 1, 2 register bit description
…continued
Address: Value read from func2 of address 10h+ 64h + (4 x Port Number−1) where Port Number
is 1, 2
BitSymbolDescription
6FPRForce PortResume: Logic 1 means resume detected or driven on the port.
Logic 0 means no resume (K-state) detected or driven on the port.
Default = 0. Software sets this bit to drive the resume signaling. The Host
Controller sets this bit if a J-to-K transition is detected, while the port is in
the suspend state. When this bit changes to logic 1 because a J-to-K
transition is detected, PCD (bit 2) in the USBSTS register is also set to
logic 1. If software sets this bit to logic 1, the Host Controller must not set
the PCD bit. When the EHCI controller owns the port, the resumesequence
follows the sequence specified in
Rev. 2.0
. The resume signaling (full-speed ‘K’) is driven on the port as long
Universal Serial Bus Specification
as this bit remains set. Software must time the resume and clear this bit
after the correct amount of time has elapsed. Clearing this bit causes the
port to return to high-speed mode, forcing the bus below the port into a
high-speed idle. This bit will remain at logic 1, until the port has switchedto
the high-speed idle.The Host Controller must complete this transition within
2 ms of software clearing this bit.
[1]
5OCCOvercurrent Change: Default= 0. This bit is set to logic 1 when there is a
change in overcurrent active. Software clears this bit by setting it to logic 1.
4OCAOvercurrent Active: Default = 0. If set to logic 1, this port has an
overcurrent condition. If set to logic 0, this port does not have an
overcurrent condition. This bit will automatically change from logic 1 to
logic 0 when the overcurrent condition is removed.
3PEDCPort Enable/Disable Change: Logic 1 means the port enabled or disabled
status has changed. Logic 0 means no change. Default= 0. For the root
hub, this bit is set only when a port is disabled because of the appropriate
conditions existing at the EOF2 point. For definition of port error, refer to
Chapter 11 of
this bit by setting it.
Universal Serial Bus Specification Rev. 2.0
[1]
. Software clears
2PEDPort Enabled/Disabled: Logic 1 means enable. Logic 0 means disable.
Default = 0. Ports can only be enabled by the Host Controller as a part of
the reset and enable sequence. Software cannot enable a port by writing
logic 1 to this field. The Host Controller will only set this bit when the reset
sequence determines that the attached device is a high-speed device.
Ports can be disabledby either a faultcondition or by host software. The bit
status does not change until the port state has changed. There may be a
delay in disabling or enabling a port because of other Host Controller and
bus events. When the port is disabled, downstream propagation of data is
blocked on this port, except for reset.
[1]
1ECSCConnect Status Change: Logic 1 means change in ECCS. Logic 0 means
no change. Default = 0. This bit indicates a change has occurred in the
ECCS of the port. The Host Controller sets this bit for all changes to the
port device connect status, even if the system software has not cleared an
existing connect status change. For example, the insertion status changes
two times before the system software has cleared the changed condition,
hub hardware will be setting an already-set bit, that is, the bit will remain
set. Software clears this bit by writing logic 1 to it.
[1]
0ECCSCurrent Connect Status: Logic 1 indicates a device is present on the port.
Logic 0 indicates no device is present. Default = 0. This value reflects the
current state of the port and may not directly correspond to the event that
caused the ECSC bit to be set.
[1]
[1] These fields read logic 0, if the PP bit is logic 0.
no device connected to the ISP1562
one high-speed device connected to the ISP156258mA
two high-speed devices connected to the ISP156276mA
no device connected to the ISP1562
one high-speed device connected to the ISP156244mA
two high-speed devices connected to the ISP156262mA
V
CC(I/O)+VI(VREG3V3)
no device connected to the ISP1562
one high-speed device connected to the ISP156214mA
two high-speed devices connected to the ISP156214mA
[1] When one or two full-speed or low-speed power devices are connected, the power consumption is comparable to the power
consumption when no high-speed devices are connected. There is a difference of approximately 1 mA.
[1]
[1]
[1]
39mA
26mA
13mA
Table 109 shows the power consumption in S1 and S3 suspend modes.
Table 109: Power consumption: S1 and S3
Power stateTypUnit
S120mA
S38
[1] When I2C-bus is present.
[2] For details, refer to the ISP1562 errata.
In accordance with the Absolute Maximum Rating System (IEC 60134).
SymbolParameterConditionsMinMaxUnit
V
CC(I/O)
V
I(VREG3V3)
V
CC(I/O)_AUX
V
I(VAUX3V3)
supply voltage to I/O pins−0.5+4.6V
supply voltage to internal regulator−0.5+4.6V
auxiliary supply voltage to I/O pins−0.5+4.6V
auxiliary input voltage to internal
supply voltage to I/O pins3.03.33.6V
supply voltage to internal regulator3.03.33.6V
auxiliary supply voltage to I/O pins3.03.33.6V
auxiliary input voltage to internal
Table 116: Dynamic characteristics: system clock timing
SymbolParameterConditionsMinTypMaxUnit
Reset
t
W(RESET_N)
Crystal oscillator
f
clk
R
S
C
L
External clock input
V
I
Jexternal clock jitter--50ppm
, t
t
CR
CF
δclock duty cycle-50-%
pulse width on pin RESET_N crystal oscillator running-10-µs
PCI clock31-33MHz
external clock input
[1]
crystal
[2]
-12-MHz
series resistance--100Ω
load capacitance-18-pF
input voltage1.651.81.95V
rise time and fall time--3ns
[1] Recommended accuracy of the clock frequency is 50 ppm for the crystal and oscillator.
[2] Suggested values for external capacitors when using a crystal are 22 pF to 27 pF.
Table 117: Dynamic characteristics: I2C-bus interface (SDA and SCL)
V
= 3.0 V to 3.6 V; T
CC(I/O)
=−40°Cto+85°C; unless otherwise specified.
amb
SymbolParameterConditionsMinTypMaxUnit
t
CF
[1] The capacitive load for each bus line (Cb) is specified in pF. To meet the specification for VOL and the maximum rise time (300 ns), use
18.1 Introduction to soldering surface mount packages
This text gives a very brief insight to a complex technology. A more in-depth account of
soldering ICs can be found in our
(document order number 9398 652 90011).
There is no soldering method that is ideal for all surface mount IC packages. Wave
soldering can still be used for certain surface mount ICs, but it is not suitable for fine pitch
SMDs. In these situations reflow soldering is recommended.
18.2 Reflow soldering
Reflow soldering requires solder paste (a suspension of fine solder particles, flux and
binding agent) to be applied to the printed-circuit board by screen printing, stencilling or
pressure-syringe dispensing before package placement. Driven by legislation and
environmental forces the worldwide use of lead-free solder pastes is increasing.
Several methods exist for reflowing; for example, convection or convection/infrared
heating in a conveyor type oven. Throughput times (preheating, soldering and cooling)
vary between 100 seconds and 200 seconds depending on heating method.
ISP1562
USB PCI Host Controller
Data Handbook IC26; Integrated Circuit Packages
Typical reflow peak temperatures range from 215 °Cto270°C depending on solder paste
material. The top-surface temperature of the packages should preferably be kept:
• below 225 °C (SnPb process) or below 245 °C (Pb-free process)
– for all BGA, HTSSON..T and SSOP..T packages
– for packages with a thickness ≥ 2.5 mm
– for packages with a thickness < 2.5 mm and a volume ≥ 350 mm3 so called
thick/large packages.
• below 240 °C (SnPb process) or below 260 °C (Pb-free process) for packages with a
thickness < 2.5 mm and a volume < 350 mm3 so called small/thin packages.
Moisture sensitivity precautions, as indicated on packing, must be respected at all times.
18.3 Wave soldering
Conventional single wave soldering is not recommended for surface mount devices
(SMDs) or printed-circuit boards with a high component density, as solder bridging and
non-wetting can present major problems.
To overcome these problems the double-wave soldering method was specifically
developed.
If wave soldering is used the following conditions must be observed for optimal results:
• Use a double-wave soldering method comprising a turbulent wave with high upward
pressure followed by a smooth laminar wave.
• For packages with leads on two sides and a pitch (e):
– larger than or equal to 1.27 mm, the footprint longitudinal axis is preferred to be
parallel to the transport direction of the printed-circuit board;
– smaller than 1.27 mm, the footprint longitudinal axis must be parallel to the
The footprint must incorporate solder thieves at the downstream end.
• For packages with leads on four sides, the footprint must be placed at a 45° angle to
the transport direction of the printed-circuit board. The footprint must incorporate
solder thieves downstream and at the side corners.
During placement and before soldering, the package must be fixed with a droplet of
adhesive. The adhesive can be applied by screen printing, pin transfer or syringe
dispensing. The package can be soldered after the adhesive is cured.
Typical dwell time of the leads in the wave ranges from 3 seconds to 4 seconds at 250 °C
or 265 °C, depending on solder material applied, SnPb or Pb-free respectively.
A mildly-activated flux will eliminate the need for removal of corrosive residues in most
applications.
18.4 Manual soldering
Fix the component by first soldering two diagonally-opposite end leads. Use a low voltage
(24 V or less) soldering iron applied to the flat part of the lead. Contact time must be
limited to 10 seconds at up to 300 °C.
ISP1562
USB PCI Host Controller
transport direction of the printed-circuit board.
When using a dedicated tool, all other leads can be soldered in one operation within
2 seconds to 5 seconds between 270 °C and 320 °C.
18.5 Package related soldering information
Table 123: Suitability of surface mount IC packages for wave and reflow soldering methods
[1] For more detailed information on the BGA packages refer to the
[2] All surface mount (SMD) packages are moisture sensitive. Depending upon the moisture content, the
[3] These transparent plastic packages are extremely sensitive to reflow soldering conditions and must on no
[1]
Soldering method
WaveReflow
[3]
[3]
, LBGA, LFBGA, SQFP,
, TFBGA, VFBGA, XSON
not suitablesuitable
not suitable
[5]
, SO, SOJsuitablesuitable
[8]
, PMFP
order a copy from your Philips Semiconductors sales office.
maximum temperature (with respect to time) and body size of the package, there is a risk that internal or
external package cracks may occur due to vaporization of the moisture in them (the so called popcorn
effect). For details, refer to the Drypack information in the
Packages; Section: Packing Methods
account be processed through more than one soldering cycle or subjected to infrared reflow soldering with
peak temperature exceeding 217 °C ± 10 °C measured in the atmosphere of the reflow oven. The package
body peak temperature must be kept as low as possible.
[4] These packages are not suitable for wave soldering. On versions with the heatsink on the bottom side, the
solder cannot penetrate between the printed-circuit board and the heatsink. On versions with the heatsink
on the top side, the solder might be deposited on the heatsink surface.
[5] If wave soldering is considered, then the package must be placed at a 45° angle to the solder wave
direction. The package footprint must incorporate solder thieves downstream and at the side corners.
[6] Wave soldering is suitable for LQFP, QFP and TQFP packages with a pitch (e) larger than 0.8 mm; it is
definitely not suitable for packages with a pitch (e) equal to or smaller than 0.65mm.
[7] Wave soldering is suitable for SSOP, TSSOP, VSO and VSSOP packages with a pitch (e) equal to or larger
than 0.65 mm; it is definitely not suitable for packages with a pitch (e) equal to or smaller than 0.5mm.
[8] Image sensor packages in principle should not be soldered. They are mounted in sockets or delivered
pre-mounted on flex foil. However, the image sensor package can be mounted by the client on a flex foil by
using a hot bar soldering process. The appropriate soldering profile can be provided on request.
[9] Hot bar soldering or manual soldering is suitable for PMFP packages.
19. Abbreviations
Table 124: Abbreviations
AcronymDescription
CMOSComplementary Metal-Oxide Semiconductor
DIDDevice ID
EEPROMElectrically Erasable Programmable Read-Only Memory
EHCIEnhanced Host Controller Interface
EMIElectro-Magnetic Interference
ESDElectro-Static Discharge
HCHost Controller
HCCAHost Controller Communication Area
HCDHost Controller Driver
OHCIOpen Host Controller Interface
PCIPeripheral Component Interconnect
PCI-SIGPCI-Special Interest Group
PLLPhase-Locked Loop
PMCPower Management Capabilities
PMEPower Management Event
PMCSRPower Management Control/Status
PORPower-On Reset
STBSet-Top Box
USBUniversal Serial Bus
VIDVendor ID
ISP1562
USB PCI Host Controller
20. References
[1]Universal Serial Bus Specification Rev. 2.0
[2]Enhanced Host Controller Interface Specification for Universal Serial Bus Rev. 1.0
[3]Open Host Controller Interface Specification for USB Rev. 1.0a
[4]PCI Local Bus Specification Rev. 2.2
[5]PCI Bus Power Management Interface Specification Rev. 1.1
IObjective dataDevelopmentThis data sheet contains data from the objective specification for product development. Philips
IIPreliminary dataQualificationThis data sheet contains datafromthe preliminary specification. Supplementary data will bepublished
IIIProduct dataProductionThis data sheet contains data from the product specification. Philips Semiconductors reserves the
[1] Please consult the most recently issued data sheet before initiating or completing a design.
[2] The product status of the device(s) described in this data sheet may have changed since this data sheet was published. The latest information is available on the Internet at
URL http://www.semiconductors.philips.com.
[3] For data sheets describing multiple type numbers, the highest-level product status determines the data sheet status.
[1]
Product status
23. Definitions
Short-form specification — The data in a short-form specification is
extracted from a full data sheet with the same type number and title. For
detailed information see the relevant data sheet or data handbook.
Limiting values definition — Limiting values given are in accordance with
the Absolute Maximum Rating System (IEC 60134). Stress above one or
more of the limiting values may cause permanent damage to the device.
These are stress ratings only and operation of the device at these or at any
other conditions above those given in the Characteristics sections of the
specification is not implied. Exposure to limiting values for extended periods
may affect device reliability.
Application information — Applications that are described herein for any
of these products are for illustrative purposes only. Philips Semiconductors
make no representation or warranty that such applications will be suitable for
the specified use without further testing or modification.
[2] [3]
Definition
Semiconductors reserves the right to change the specification in any manner without notice.
at a later date. Philips Semiconductors reserves the right to change the specification without notice, in
order to improve the design and supply the best possible product.
right to make changes at any time in order to improvethe design, manufacturing and supply. Relevant
changes will be communicated via a Customer Product/Process Change Notification (CPCN).
customers using or selling these products for use in such applications do so
at their own risk and agree to fully indemnify Philips Semiconductors for any
damages resulting from such application.
Right to make changes — Philips Semiconductors reserves the right to
make changes in the products - including circuits, standard cells, and/or
software - described or contained herein in order to improve design and/or
performance. When the product is in full production (status ‘Production’),
relevant changes will be communicated via a Customer Product/Process
Change Notification (CPCN). Philips Semiconductors assumes no
responsibility or liability for the use of any of these products, conveys no
license or title under any patent, copyright, or mask work right to these
products, andmakes no representations or warrantiesthat these products are
free from patent, copyright,or mask work right infringement, unless otherwise
specified.
25. Trademarks
24. Disclaimers
Life support — These products are not designed for use in life support
appliances, devices, or systems where malfunction of these products can
reasonably be expected to result in personal injury. Philips Semiconductors
Notice — All referenced brands, product names, service names and
trademarks are the property of their respective owners.
2
I
C-bus — wordmark and logo are trademarks of Koninklijke Philips
Electronics N.V.
26. Contact information
For additional information, please visit: http://www.semiconductors.philips.com
For sales office addresses, send an email to: sales.addresses@www.semiconductors.philips.com
All rights are reserved. Reproduction in whole or in part is prohibited without the prior
written consent of the copyright owner. The information presented in this document does
not form part of any quotation or contract, is believed to be accurate and reliable and may
be changed without notice. No liability will be accepted by the publisher for any
consequence of its use. Publication thereof does not convey nor imply any license under
patent- or other industrial or intellectual property rights.
Published in The Netherlands
Date of release: 14 July 2005
Document number: 9397 750 14223
Loading...
+ hidden pages
You need points to download manuals.
1 point = 1 manual.
You can buy points or you can get point for every manual you upload.