Texas Instruments Incorporated and its subsidiaries (TI) reserve the right to make corrections, modifications,
enhancements, improvements, and other changes to its products and services at any time and to discontinue
any product or service without notice. Customers should obtain the latest relevant information before placing
orders and should verify that such information is current and complete. All products are sold subject to TI’s terms
and conditions of sale supplied at the time of order acknowledgment.
TI warrants performance of its hardware products to the specifications applicable at the time of sale in
accordance with TI’s standard warranty . Testing and other quality control techniques are used to the extent TI
deems necessary to support this warranty . Except where mandated by government requirements, testing of all
parameters of each product is not necessarily performed.
TI assumes no liability for applications assistance or customer product design. Customers are responsible for
their products and applications using TI components. T o minimize the risks associated with customer products
and applications, customers should provide adequate design and operating safeguards.
TI does not warrant or represent that any license, either express or implied, is granted under any TI patent right,
copyright, mask work right, or other TI intellectual property right relating to any combination, machine, or process
in which TI products or services are used. Information published by TI regarding third-party products or services
does not constitute a license from TI to use such products or services or a warranty or endorsement thereof.
Use of such information may require a license from a third party under the patents or other intellectual property
of the third party , or a license from TI under the patents or other intellectual property of TI.
Reproduction of information in TI data books or data sheets is permissible only if reproduction is without
alteration and is accompanied by all associated warranties, conditions, limitations, and notices. Reproduction
of this information with alteration is an unfair and deceptive business practice. TI is not responsible or liable for
such altered documentation.
Resale of TI products or services with statements different from or beyond the parameters stated by TI for that
product or service voids all express and any implied warranties for the associated TI product or service and
is an unfair and deceptive business practice. TI is not responsible or liable for any such statements.
Following are URLs where you can obtain information on other Texas Instruments products and application
solutions:
ProductsApplications
Amplifiersamplifier.ti.comAudiowww.ti.com/audio
Data Convertersdataconverter.ti.comAutomotivewww.ti.com/automotive
DSPdsp.ti.comBroadbandwww.ti.com/broadband
Interfaceinterface.ti.comDigital Controlwww.ti.com/digitalcontrol
Logiclogic.ti.comMilitarywww.ti.com/military
Power Mgmtpower.ti.comOptical Networkingwww.ti.com/opticalnetwork
Microcontrollersmicrocontroller.ti.comSecuritywww.ti.com/security
Telephonywww.ti.com/telephony
Video & Imagingwww.ti.com/video
Wirelesswww.ti.com/wireless
The Texas Instruments PCI1520, a 208-terminal dual-slot CardBus controller designed to meet the PCI Bus Power
Management Interface Specification for PCI to CardBus Bridges, is an ultralow-power high-performance
PCI-to-CardBus controller that supports two independent card sockets compliant with the PC Card Standard (rev.
7.1). The PCI1520 provides features that make it the best choice for bridging between PCI and PC Cards in both
notebook and desktop computers. The 1997 PC Card Standard retains the 16-bit PC Card specification defined inPCI Local Bus Specification and defines the new 32-bit PC Card, CardBus, capable of full 32-bit data transfers at
33 MHz. The PCI1520 supports any combination of 16-bit and CardBus PC Cards in the two sockets, powered at
5 V or 3.3 V, as required.
The PCI1520 is compliant with the PCI Local Bus Specification, and its PCI interface can act as either a PCI master
device or a PCI slave device. The PCI bus mastering is initiated during CardBus PC Card bridging transactions. The
PCI1520 is also compliant with PCI Bus Power Management Interface Specification (rev. 1.1).
All card signals are internally buffered to allow hot insertion and removal without external buffering. The PCI1520 is
register-compatible with the Intel 82365SL-DF and 82365SL ExCA controllers. The PCI1520 internal data path logic
allows the host to access 8-, 16-, and 32-bit cards using full 32-bit PCI cycles for maximum performance. Independent
buffering and a pipeline architecture provide an unsurpassed performance level with sustained bursting. The
PCI1520 can also be programmed to accept fast posted writes to improve system-bus utilization.
Multiple system-interrupt signaling options are provided, including parallel PCI, parallel ISA, serialized ISA, and
serialized PCI. Furthermore, general-purpose inputs and outputs are provided for the board designer to implement
sideband functions. Many other features designed into the PCI1520, such as socket activity light-emitting diode (LED)
outputs, are discussed in detail throughout the design specification.
An advanced complementary metal-oxide semiconductor (CMOS) process achieves low system power consumption
while operating at PCI clock rates up to 33 MHz. Several low-power modes enable the host power management
system to further reduce power consumption.
1.2Features
The PCI1520-EP supports the following features:
•Controlled Baseline
–One Assembly/Test Site, One Fabrication Site
•Extended Temperature Performance of –40°C to 85°C
•Enhanced Diminishing Manufacturing Sources (DMS) Support
•2.5-V core logic and 3.3-V I/O with universal PCI interfaces compatible with 3.3-V and 5-V PCI signaling
environments
•Integrated low-dropout voltage regulator (LDO-VR) eliminates the need for an external 2.5-V power supply
†
Component qualification in accordance with JEDEC and industry standards to ensure reliable operation over an extended temperature range.
This includes, but is not limited to, Highly Accelerated Stress Test (HAST) or biased 85/85, temperature cycle, autoclave or unbiased HAST,
electromigration, bond intermetallic life, and mold compound life. Such qualification testing should not be viewed as justifying use of this
component beyond specified performance and environmental limits.
†
1–1
•Mix-and-match 5-V/3.3-V 16-bit PC Cards and 3.3-V CardBus Cards
•Two PC Card or CardBus slots with hot insertion and removal
•Serial interface to TI TPS222X dual-slot PC Card power switch
•Burst transfers to maximize data throughput with CardBus Cards
•Interrupt configurations: parallel PCI, serialized PCI, parallel ISA, and serialized ISA
•Serial EEPROM interface for loading subsystem ID and subsystem vendor ID
•Pipelined architecture for greater than 130-Mbps throughput from CardBus-to-PCI and from
PCI-to-CardBus
•Up to five general-purpose I/Os
•Programmable output select for CLKRUN
•Multifunction PCI device with separate configuration space for each socket
•Five PCI memory windows and two I/O windows available for each 16-bit interface
•Two I/O windows and two memory windows available to each CardBus socket
•Exchangeable-card-architecture- (ExCA-) compatible registers are mapped in memory and I/O space
•Intel 82365SL-DF and 82365SL register compatible
•Advanced Configuration and Power Interface (ACPI) Specification (revision 1.1)
•PCI Bus Power Management Interface Specification (revision 1.1)
•PCI Bus Power Management Interface Specification for PCI to CardBus Bridges (revision 0.6)
•PCI to PCMCIA CardBus Bridge Register Description (Yenta) (revision 2.1)
•PCI Local Bus Specification (revision 2.2)
•PCI Mobile Design Guide (revision 1.0)
•PC Card Standard (revision 7.1)
•PC 2001
•Serialized IRQ Support for PCI Systems (revision 6)
1.4Trademarks
Intel is a trademark of Intel Corporation.
TI and MicroStar BGA are trademarks of Texas Instruments.
Other trademarks are the property of their respective owners.
1.5Ordering Information
TEMPERATUREPACKAGEORDERING NUMBERTOP-SIDE MARKING
–40°C to 85°C209-ball PBGAPCI1520IGHKEPPCI1520IEP
1–2
1.6PCI1520-EP Data Manual Document History
DATEPAGE NUMBERREVISION
05/2003Original draft
1–3
2 Terminal Descriptions
The PCI1520 is available in a 209-terminal MicroStar BGA package (GHK). The terminal layout for the GHK
package is shown in Figure 2–1.
GHK PLASTIC BALL GRID ARRAY (PBGA) PACKAGE
BOTTOM VIEW
W
V
U
T
R
P
N
M
L
K
J
H
G
F
E
D
C
B
A
2
1
75634
18
19171613 14 1511129810
Figure 2–1. PCI1520 GHK-Package Terminal Diagram
Table 2–1 lists the terminal assignments arranged in terminal-number order, with corresponding signal names for
both CardBus and 16-bit PC Cards; Table 2–1 is for terminals on the GHK package. Table 2–2 and Table 2–3 list
the terminal assignments arranged in alphanumerical order by signal name, with corresponding terminal numbers
for GHK package; Table 2–2 is for CardBus signal names and Table 2–3 is for 16-bit PC Card signal names.
Terminal E5 on the GHK package is an identification ball used for device orientation; it has no internal connection
within the device.
Terminals 81 and W11 are NC on the PCI1520 to allow for terminal compatibility with the next generation of devices.
TERM NO.
GHK
SIGNAL NAME
TERM NO.
GHK
SIGNAL NAME
†
CC
CC
CC
CC
CC
CC
CC
CC
CC
CCA
CCB
CCP
TERM NO.
GHK
W11
A07
A12
G01
G19
J19
N01
N19
W08
W13
P19
R01
A10
2–7
The terminals are grouped in tables by functionality, such as PCI system function, power-supply function, etc. The
I/O
DESCRIPTION
I/O
DESCRIPTION
I/O
DESCRIPTION
terminal numbers are also listed for convenient reference.
Table 2–4. Power Supply Terminals
TERMINAL
NAME
GND
V
CC
V
CCA
V
CCB
V
CCP
VR_ENL01IInternal voltage regulator enable. Active-low
VR_PORTK19I/O
NO.
GHK
A06, A09, A14,
E01, F19, K01,
P01, R19, W06,
W14
A07, A12, G01,
G19, J19, N01,
N19, W08, W13
P19–Clamp voltage for PC Card A interface. Matches card A signaling environment, 5 V or 3.3 V
R01–Clamp voltage for PC Card B interface. Matches card B signaling environment, 5 V or 3.3 V
A10–Clamp voltage for PCI and miscellaneous I/O, 5 V or 3.3 V
I/ODESCRIPTION
Device ground terminals
–
Power supply terminal for I/O and internal voltage regulator
–
Internal voltage regulator input/output. When VR_EN is low, the regulator is enabled and this terminal
is an output. An external bypass capacitor is required on this terminal. When VR_EN is high, the regulator is disabled and this terminal is an input for an external 2.5-V core power source.
Table 2–5. PC Card Power Switch Terminals
TERMINAL
NO.
NAME
CLOCKF15I/O
DATAE17O Power switch data. DATA is used to communicate socket power control information serially to the power switch.
LATCHE18I/O
GHK
I/ODESCRIPTION
Power switch clock. Information on the DATA line is sampled at the rising edge of CLOCK. CLOCK defaults to an
input, but can be changed to a PCI1520 output by using bit 27 (P2CCLK) in the system control register (offset 80h, see
Section 4.29). The TPS222X defines the maximum frequency of this signal to be 2 MHz. However, PCI1520 requires a
16-KHz to 100-KHz frequency range. If a system design defines this terminal as an output, then this terminal requires
an external pulldown resistor. The frequency of the PCI1520 output CLOCK is derived from the internal ring oscillator
(16 KHz typical).
Power switch latch. LA TCH is asserted by the PCI1520 to indicate to the power switch that the data on the DAT A line is
valid. When a pulldown resistor is implemented on this terminal, the MFUNC1 and MFUNC4 terminals provide the
serial EEPROM SDA and SCL interface.
TERMINAL
NAME
GRSTC11I
PCLKC10I
PRST
2–8
NO.
GHK
C13I
Table 2–6. PCI System Terminals
I/ODESCRIPTION
Global reset. When the global reset is asserted, the GRST signal causes the PCI1520 to place all output buffers in
a high-impedance state and reset all internal registers. When GRST
state. For systems that require wake-up from D3, GRST
be asserted following initial boot so that PME context is retained during the transition from D3 to D0. For systems
that do not require wake-up from D3, GRST
When the SUSPEND
All outputs are placed in a high-impedance state.
PCI bus clock. PCLK provides timing for all transactions on the PCI bus. All PCI signals are sampled at the rising
edge of PCLK.
PCI reset. When the PCI bus reset is asserted, PRST causes the PCI1520 to place all output buffers in a
high-impedance state and reset internal registers. When PRST
only if it is enabled. After PRST
When the SUSPEND
All outputs are placed in a high-impedance state.
mode is enabled, the device is protected from GRST , and the internal registers are preserved.
is deasserted, the PCI1520 is in a default state.
mode is enabled, the device is protected from PRST , and the internal registers are preserved.
should be tied to PRST.
normally is asserted only during initial boot. PRST should
is asserted, the device is completely in its default
is asserted, the device can generate the PME signal
PCI address/data bus. These signals make up the multiplexed PCI address and data bus on the primary interface.
During the address phase of a primary-bus PCI cycle, AD31–AD0 contain a 32-bit address or other destination
I/O
information. During the data phase, AD31–AD0 contain data.
PCI-bus commands and byte enables. These signals are multiplexed on the same PCI terminals. During the address
phase of a primary-bus PCI cycle, C/BE3
used as byte enables. The byte enables determine which byte paths of the full 32-bit data bus carry meaningful data.
I/O
C/BE0 applies to byte 0 (AD7–AD0), C/BE1 applies to byte 1 (AD15–AD8), C/BE2 applies to byte 2 (AD23–AD16),
and C/BE3
PCI-bus parity. In all PCI-bus read and write cycles, the PCI1520 calculates even parity across the AD31–AD0 and
C/BE3
delay. As a target during PCI cycles, the PCI1520 compares its calculated parity to the parity indicator of the initiator.
A compare error results in the assertion of a parity error (PERR).
applies to byte 3 (AD31–AD24).
–C/BE0 buses. As an initiator during PCI cycles, the PCI1520 outputs this parity indicator with a one-PCLK
–C/BE0 define the bus command. During the data phase, this 4-bit bus is
2–9
TERMINAL
I/O
DESCRIPTION
NAME
DEVSEL
FRAME
GNT
IDSELE10I
IRDY
PERR
REQ
SERR
STOP
TRDY
NO.
GHK
F07I/O
E08I/O
B13I
B07I/O
E07I/O
A13OPCI bus request. REQ is asserted by the PCI1520 to request access to the PCI bus as an initiator.
C06O
B06I/O
C07I/O
Table 2–8. PCI Interface Control Terminals
I/ODESCRIPTION
PCI device select. The PCI1520 asserts DEVSEL to claim a PCI cycle as the target device. As a PCI initiator on the
bus, the PCI1520 monitors DEVSEL
PCI1520 terminates the cycle with an initiator abort.
PCI cycle frame. FRAME is driven by the initiator of a bus cycle. FRAME is asserted to indicate that a bus transaction
is beginning, and data transfers continue while this signal is asserted. When FRAME
transaction is in the final data phase.
PCI bus grant. GNT is driven by the PCI bus arbiter to grant the PCI1520 access to the PCI bus after the current data
transaction has completed. GNT
algorithm.
Initialization device select. IDSEL selects the PCI1520 during configuration space accesses. IDSEL can be
connected to one of the upper 24 PCI address lines on the PCI bus.
PCI initiator ready. IRDY indicates the ability of the PCI bus initiator to complete the current data phase of the
transaction. A data phase is completed on a rising edge of PCLK where both IRDY
and TRDY are both sampled asserted, wait states are inserted.
PCI parity error indicator. PERR is driven by a PCI device to indicate that calculated parity does not match P AR when
PERR
is enabled through bit 6 of the command register (PCI offset 04h, see Section 4.4).
PCI system error. SERR is an output that is pulsed from the PCI1520 when enabled through bit 8 of the command
register (PCI offset 04h, see Section 4.4) indicating a system error has occurred. The PCI1520 need not be the target
of the PCI cycle to assert this signal. When SERR
indicating that an address parity error has occurred on a CardBus interface.
PCI cycle stop signal. STOP is driven by a PCI target to request the initiator to stop the current PCI bus transaction.
STOP
is used for target disconnects and is commonly asserted by target devices that do not support burst data
transfers.
PCI target ready. TRDY indicates the ability of the primary bus target to complete the current data phase of the
transaction. A data phase is completed on a rising edge of PCLK when both IRDY
and TRDY are asserted, wait states are inserted.
IRDY
until a target responds. If no target responds before timeout occurs, then the
is deasserted, the PCI bus
may or may not follow a PCI bus request, depending on the PCI bus parking
and TRDY are asserted. Until IRDY
is enabled in the command register, this signal also pulses,
and TRDY are asserted. Until both
2–10
TERMINAL
I/O
DESCRIPTION
NAME
MFUNC0D19I/O
MFUNC1A16I/O
MFUNC2E14I/O
MFUNC3/
IRQSER
MFUNC4B15I/O
MFUNC5A15I/O
MFUNC6/
CLKRUN
NC
RI_OUT/PMEE13O
SPKROUT
SUSPENDC15I
NO.
GHK
F13I/O
C14I/O
E05
W11
F14O
Table 2–9. Multifunction and Miscellaneous Terminals
I/ODESCRIPTION
Multifunction terminal 0. MFUNC0 can be configured as parallel PCI interrupt INT A, GPI0, GPO0, socket activity
LED output, ZV switching output, CardBus audio PWM, GPE
Routing Register, for configuration details.
Multifunction terminal 1. MFUNC1 can be configured as parallel PCI interrupt INTB, GPI1, GPO1, socket activity
LED output, ZV switching output, CardBus audio PWM, GPE
Routing Register, for configuration details.
Serial data (SDA). When LATCH is detected low after the deassertion of GRST
the SDA signaling for the serial bus interface. The two-terminal serial interface loads the subsystem identification
and other register defaults from an EEPROM after a PCI reset. See Section 3.6.1, Serial Bus InterfaceImplementation, for details on other serial bus applications.
Multifunction terminal 2. MFUNC2 can be configured as GPI2, GPO2, socket activity LED output, ZV switching
output, CardBus audio PWM, GPE
Routing Register, for configuration details.
Multifunction terminal 3. MFUNC3 can be configured as a parallel IRQ or the serialized interrupt signal IRQSER.
This terminal is IRQSER by default. See Section 4.30, Multifunction Routing Register, for configuration details.
Multifunction terminal 4. MFUNC4 can be configured as PCI LOCK, GPI3, GPO3, socket activity LED output,
ZV switching output, CardBus audio PWM, GPE
Multifunction Routing Register , for configuration details.
Serial clock (SCL). When LATCH is detected low after the deassertion of GRST
the SCL signaling for the serial bus interface. The two-terminal serial interface loads the subsystem identification
and other register defaults from an EEPROM after a PCI reset. See Section 3.6.1, Serial Bus InterfaceImplementation, for details on other serial bus applications.
Multifunction terminal 5. MFUNC5 can be configured as GPI4, GPO4, socket activity LED output, ZV switching
output, CardBus audio PWM, D3_STAT
Register, for configuration details.
Multifunction terminal 6. MFUNC6 can be configured as a PCI CLKRUN or a parallel IRQ. See Section 4.30,
Multifunction Routing Register , for configuration details.
No connect. These terminals have no connection anywhere within the package. Terminal E05 on the GHK
package is used as a key to indicate the location of the A1 corner of the BGA package. Terminals W11 on the
GHK package and 81 on the PDV package will be used as a 48-MHz clock input on future-generation devices.
Ring indicate out and power management event output. This terminal provides an output for ring-indicate or PME
signals.
Speaker output. SPKROUT is the output to the host system that can carry SPKR or CAUDIO through the
PCI1520 from the PC Card interface. SPKROUT is driven as the exclusive-OR combination of card
SPKR//CAUDIO inputs.
Suspend. SUSPEND protects the internal registers from clearing when the GRST or PRST signal is asserted.
See Section 3.8.5, Suspend Mode, for details.
, RI_OUT, D3_STAT, or a parallel IRQ. See Section 4.30, Multifunction
, D3_STAT, RI_OUT, or a parallel IRQ. See Section 4.30,
, GPE, or a parallel IRQ. See Section 4.30, Multifunction Routing
, or a parallel IRQ. See Section 4.30, Multifunction
, or a parallel IRQ. See Section 4.30, Multifunction
, the MFUNC1 terminal provides
, the MFUNC4 terminal provides
2–11
Table 2–10. 16-Bit PC Card Address and Data Terminals (Slots A and B)
TERMINAL
NUMBER
NAME
†
Terminal name for slot A is preceded with A_. For example, the full name for terminals 123 and L19 is A_A25.
‡
Terminal name for slot B is preceded with B_. For example, the full name for terminals 55 and R06 is B_A25.
OPC Card address. 16-bit PC Card address lines. A25 is the most significant bit.
I/OPC Card data. 16-bit PC Card data lines. D15 is the most significant bit.
2–12
Table 2–11. 16-Bit PC Card Interface Control Terminals (Slots A and B)
TERMINAL
NUMBER
SLOT
NAME
BVD1
(STSCHG
†
Terminal name for slot A is preceded with A_. For example, the full name for terminals 130 and K17 is A_INPACK
‡
Terminal name for slot B is preceded with B_. For example, the full name for terminals 61 and R07 is B_INPACK
/RI)
BVD2
(SPKR
)
CD1
CD2
CE1
CE2
INPACKK17R07I
IORD
IOWR
SLOT
†
A
GHKGHK
H14U09I
H17V09I
U11
H05
G18
P09
V14
K05
U14
V15L05O
R14M01O
L02
I/ODESCRIPTION
‡
B
Battery voltage detect 1. BVD1 is generated by 16-bit memory PC Cards that include batteries. BVD1
is used with BVD2 as an indication of the condition of the batteries on a memory PC Card. Both BVD1
and BVD2 are high when the battery is good. When BVD2 is low and BVD1 is high, the battery is weak
and should be replaced. When BVD1 is low, the battery is no longer serviceable and the data in the
memory PC Card is lost. See Section 5.6, ExCA Card Status-Change Interrupt Configuration
Register, for enable bits. See Section 5.5, ExCA Card Status-Change Register, and Section 5.2,
ExCA Interface Status Register, for the status bits for this signal.
Status change. STSCHG
battery voltage dead condition of a 16-bit I/O PC Card.
Ring indicate. RI
Battery voltage detect 2. BVD2 is generated by 16-bit memory PC Cards that include batteries. BVD2
is used with BVD1 as an indication of the condition of the batteries on a memory PC Card. Both BVD1
and BVD2 are high when the battery is good. When BVD2 is low and BVD1 is high, the battery is weak
and should be replaced. When BVD1 is low, the battery is no longer serviceable and the data in the
memory PC Card is lost. See Section 5.6, ExCA Card Status-Change Interrupt Configuration
Register, for enable bits. See Section 5.5, ExCA Card Status-Change Register, and Section 5.2,
ExCA Interface Status Register, for the status bits for this signal.
Speaker. SPKR
configured for the 16-bit I/O interface. The audio signals from cards A and B are combined by the
PCI1520 and are output on SPKROUT.
Card detect 1 and card detect 2. CD1 and CD2 are internally connected to ground on the PC Card.
When a PC Card is inserted into a socket, CD1
I
Section 5.2, ExCA Interface Status Register.
Card enable 1 and card enable 2. CE1 and CE2 enable even- and odd-numbered address bytes. CE1
O
enables even-numbered address bytes, and CE2 enables odd-numbered address bytes.
Input acknowledge. INPACK is asserted by the PC Card when it can respond to an I/O read cycle
at the current address.
I/O read. IORD is asserted by the PCI1520 to enable 16-bit I/O PC Card data output during host I/O
read cycles.
I/O write. IOWR is driven low by the PCI1520 to strobe write data into 16-bit I/O PC Cards during host
I/O write cycles.
is used by 16-bit modem cards to indicate a ring detection.
is an optional binary audio signal available only when the card and socket have been
is used to alert the system to a change in the READY, write protect, or
and CD2 are pulled low. For signal status, see
.
.
2–13
Table 2–11. 16-Bit PC Card Interface Control Terminals (Slots A and B) (Continued)
TERMINAL
NUMBER
SLOT
NAME
OEW15L03O
READY
(IREQ
)
REG
RESETL15W05OPC Card reset. RESET forces a hard reset to a 16-bit PC Card.
VS1
VS2
WAIT
WEP18N05O
WP
(IOIS16
)
†
Terminal name for slot A is preceded with A_. For example, the full name for terminals 112 and P18 is A_WE
‡
Terminal name for slot B is preceded with B_. For example, the full name for terminals 45 and N05 is B_WE.
SLOT
†
A
GHKGHK
H19V08I
K14U07O
J15
L18
H18W09I
H15R09I
I/ODESCRIPTION
‡
B
Output enable. OE is driven low by the PCI1520 to enable 16-bit memory PC Card data output during host
memory read cycles.
Ready. The ready function is provided by READY when the 16-bit PC Card and the host socket are
configured for the memory-only interface. READY is driven low by 16-bit memory PC Cards to indicate
that the memory card circuits are busy processing a previous write command. READY is driven high when
the 16-bit memory PC Card is ready to accept a new data transfer command.
U08
P07
Interrupt request. IREQ
I/O PC Card requires service by the host software. IREQ
requested.
Attribute memory select. REG remains high for all common memory accesses. When REG is asserted,
access is limited to attribute memory (OE
Attribute memory is a separately accessed section of card memory and is generally used to record card
capacity and other configuration and attribute information.
Voltage sense 1 and voltage sense 2. VS1 and VS2, when used in conjunction with each other , determine
I/O
the operating voltage of the PC Card.
Bus cycle wait. WAIT is driven by a 16-bit PC Card to extend the completion of the memory or I/O cycle
in progress.
Write enable. WE is used to strobe memory write data into 16-bit memory PC Cards. WE is also used for
memory PC Cards that employ programmable memory technologies.
Write protect. WP applies to 16-bit memory PC Cards. WP reflects the status of the write-protect switch
on 16-bit memory PC Cards. For 16-bit I/O cards, WP is used for the 16-bit port (IOIS16
I/O is 16 bits. IOIS16
address on the bus corresponds to an address to which the 16-bit PC Card responds, and the I/O port that
is addressed is capable of 16-bit accesses.
is asserted by a 16-bit I/O PC Card to indicate to the host that a device on the 16-bit
applies to 16-bit I/O PC Cards. IOIS16 is asserted by the 16-bit PC Card when the
is high (deasserted) when no interrupt is
or WE active) and to the I/O space (IORD or IOWR active).
) function.
.
Table 2–12. CardBus PC Card Interface System Terminals (Slots A and B)
TERMINAL
NUMBER
NAME
CCLKM14P06O
CCLKRUN
CRST
†
Terminal name for slot A is preceded with A_. For example, the full name for terminals 115 and M14 is A_CCLK.
‡
Terminal name for slot B is preceded with B_. For example, the full name for terminals 48 and P06 is B_CCLK.
2–14
SLOT
SLOT
†
A
GHKGHK
H15R09I/O
L15W05O
I/ODESCRIPTION
‡
B
CardBus clock. CCLK provides synchronous timing for all transactions on the CardBus interface. All
signals except CRST
sampled on the rising edge of CCLK, and all timing parameters are defined with the rising edge of this
signal. CCLK operates at the PCI bus clock frequency, but it can be stopped in the low state or slowed
down for power savings.
CardBus clock run. CCLKRUN is used by a CardBus PC Card to request an increase in the CCLK
frequency, and by the PCI1520 to indicate that the CCLK frequency is going to be decreased.
CardBus reset. CRST brings CardBus PC Card-specific registers, sequencers, and signals to a known
state. When CRST
the PCI1520 drives these signals to a valid logic level. Assertion can be asynchronous to CCLK, but
deassertion must be synchronous to CCLK.
, CCLKRUN, CINT, CSTSCHG, CAUDIO, CCD2, CCD1, CVS2, and CVS1 are
is asserted, all CardBus PC Card signals are placed in a high-impedance state, and
Table 2–13. CardBus PC Card Address and Data Terminals (Slots A and B)
Terminal name for slot A is preceded with A_. For example, the full name for terminals 107 and P15 is A_CPAR.
‡
Terminal name for slot B is preceded with B_. For example, the full name for terminals 40 and N02 is B_CPAR.
SLOT
†
A
GHKGHK
E19
G15
F18
G14
G17
K15
K18
L14
L17
L19
M19
M18
W16
R14
U15
V15
P14
W15
U14
R13
P13
U13
P12
R12
V12
U12
R11
W12
P11
K14
M17
T19
V14
J14
J17
J18
V11
R10
U10
V10
W10
R08
W07
V07
P08
V06
U06
V05
R06
U05
W04
M03
M01
M02
L05
L06
L03
L02
K06
K03
K02
J03
J05
J01
J02
H02
H01
H03
U07
T01
M06
K05
I/ODESCRIPTION
‡
B
CardBus address and data. These signals make up the multiplexed CardBus address and data bus on
the CardBus interface. During the address phase of a CardBus cycle, CAD31–CAD0 contain a 32-bit
I/O
address. During the data phase of a CardBus cycle, CAD31–CAD0 contain data. CAD31 is the most
significant bit.
CardBus bus commands and byte enables. CC/BE3–CC/BE0 are multiplexed on the same CardBus
terminals. During the address phase of a CardBus cycle, CC/BE3
During the data phase, this 4-bit bus is used as byte enables. The byte enables determine which byte paths
I/O
of the full 32-bit data bus carry meaningful data. CC/BE0 applies to byte 0 (CAD7–CAD0), CC/BE1 applies
to byte 1 (CAD15–CAD8), CC/BE2
(CAD31–CAD24).
CardBus parity. In all CardBus read and write cycles, the PCI1520 calculates even parity across the CAD
and CC/BE
delay. As a target during CardBus cycles, the PCI1520 compares its calculated parity to the parity indicator
of the initiator; a compare error results in a parity error assertion.
buses. As an initiator during CardBus cycles, the PCI1520 outputs CPAR with a one-CCLK
applies to byte 2 (CAD23–CAD16), and CC/BE3 applies to byte 3
–CC/BE0 define the bus command.
2–15
Table 2–14. CardBus PC Card Interface Control Terminals (Slots A and B)
CCD1
U11
H05
CardBus detect 1 and CardBus detect 2. CCD1 and CCD2 are used in conjunction with CVS1 and
TERMINAL
NUMBER
NAME
CAUDIOH17V09I
CBLOCK
CCD1
CCD2
CDEVSEL
CFRAME
CGNT
CINT
CIRDY
CPERR
CREQ
CSERR
CSTOP
CSTSCHG
CTRDY
CVS1
CVS2
†
Terminal name for slot A is preceded with A_. For example, the full name for terminals 140 and H18 is A_CAUDIO.
‡
Terminal name for slot B is preceded with B_. For example, the full name for terminals 72 and V09 is B_CAUDIO.
SLOT
SLOT
†
A
GHKGHK
N14N03I/O
U11H05
G18
M15R03I/O
P09
N15P03I/O
P18N05O
H19V08I
N18P05I/O
R18N06I/O
K17R07I
H18W09I
P17P02I/O
H14U09I
N17R02I/O
J15
U08
L18
P07
I/ODESCRIPTION
‡
B
CardBus audio. CAUDIO is a digital input signal from a PC Card to the system speaker. The PCI1520
supports the binary audio mode and outputs a binary signal from the card to SPKROUT.
CardBus lock. CBLOCK is used to gain exclusive access to a target.
CardBus detect 1 and CardBus detect 2. CCD1 and CCD2 are used in conjunction with CVS1 and
I
CVS2 to identify card insertion and interrogate cards to determine the operating voltage and card type.
CardBus device select. The PCI1520 asserts CDEVSEL to claim a CardBus cycle as the target device.
As a CardBus initiator on the bus, the PCI1520 monitors CDEVSEL
responds before timeout occurs, then the PCI1520 terminates the cycle with an initiator abort.
CardBus cycle frame. CFRAME is driven by the initiator of a CardBus bus cycle. CFRAME is asserted
to indicate that a bus transaction is beginning, and data transfers continue while this signal is asserted.
When CFRAME
CardBus bus grant. CGNT is driven by the PCI1520 to grant a CardBus PC Card access to the CardBus
bus after the current data transaction has been completed.
CardBus interrupt. CINT is asserted low by a CardBus PC Card to request interrupt servicing from the
host.
CardBus initiator ready. CIRDY indicates the ability of the CardBus initiator to complete the current data
phase of the transaction. A data phase is completed on a rising edge of CCLK when both CIRDY
CTRDY
CardBus parity error. CPERR reports parity errors during CardBus transactions, except during special
cycles. It is driven low by a target two clocks following the data cycle during which a parity error is
detected.
CardBus request. CREQ indicates to the arbiter that the CardBus PC Card desires use of the CardBus
bus as an initiator.
CardBus system error. CSERR reports address parity errors and other system errors that could lead
to catastrophic results. CSERR
pullup; deassertion may take several CCLK periods. The PCI1520 can report CSERR
by assertion of SERR
CardBus stop. CSTOP is driven by a CardBus target to request the initiator to stop the current CardBus
transaction. CSTOP
do not support burst data transfers.
CardBus status change. CSTSCHG alerts the system to a change in the card status, and is used as
a wake-up mechanism.
CardBus target ready. CTRDY indicates the ability of the CardBus target to complete the current data
phase of the transaction. A data phase is completed on a rising edge of CCLK, when both CIRDY
CTRDY
CardBus voltage sense 1 and CardBus voltage sense 2. CVS1 and CVS2 are used in conjunction with
I/O
CCD1
and CCD2 to identify card insertion and interrogate cards to determine the operating voltage and
card type.
is deasserted, the CardBus bus transaction is in the final data phase.
are asserted. Until CIRDY and CTRDY are both sampled asserted, wait states are inserted.
is driven by the card synchronous to CCLK, but deasserted by a weak
on the PCI interface.
is used for target disconnects, and is commonly asserted by target devices that
are asserted; until this time, wait states are inserted.
until a target responds. If no target
and
to the system
and
2–16
3 Feature/Protocol Descriptions
The following sections give an overview of the PCI1520. Figure 3–1 shows a simplified block diagram of the PCI1520.
The PCI interface includes all address/data and control signals for PCI protocol. The interrupt interface includes
terminals for parallel PCI, parallel ISA, and serialized PCI and ISA signaling. Miscellaneous system interface
terminals include multifunction terminals: SUSPEND
SPKROUT.
, RI_OUT/PME (power management control signal), and
PCI Bus
INTA
Activity LEDs
INTB
Interrupt
Controller
TPS222X
Power Switch
PC Card
Socket A
PC Card
Socket B
External ZV Port
NOTE: The PC Card interface is 68 terminals for CardBus and 16-bit PC Cards. In zoomed video mode 23 terminals are used for routing the
zoomed video signals to the VGA controller and audio subsystem.
3
68
68
PCI1520
6868
23
23
23
IRQSER
3
Multiplexer
PCI950
IRQSER
Deserializer
Zoomed Video
19
Zoomed Video
4
IRQ2–15
VGA
Controller
Audio
Subsystem
Figure 3–1. PCI1520 Simplified Block Diagram
3.1Power Supply Sequencing
The PCI1520 contains 3.3-V I/O buffers with 5-V tolerance requiring an I/O power supply and an LDO-VR power
supply for core logic. The core power supply , which is always 2.5 V , can be supplied through the VR_POR T terminal
(when VR_EN
terminals. The clamping voltages (V
following power-up and power-down sequences are recommended.
is high) or from the integrated LDO-VR. The LDO-VR needs a 3.3-V power supply via the V
CCA
, V
CCB
, and V
) can be either 3.3 V or 5 V , depending on the interface. The
CCP
CC
The power-up sequence is:
1. Assert GRST
to the device to disable the outputs during power up. Output drivers must be powered up in
the high-impedance state to prevent high current levels through the clamp diodes to the 5-V clamping rails
(V
CCA
, V
CCB
, and V
2. Apply 3.3-V power to V
3. Apply the clamp voltage.
CCP
CC
).
.
3–1
The power-down sequence is:
1. Assert GRST
to the device to disable the outputs during power down. Output drivers must be powered down
in the high-impedance state to prevent high current levels through the clamp diodes to the 5-V clamping
rails (V
CCA
, V
CCB
, and V
CCP
).
2. Remove the clamp voltage.
3. Remove the 3.3-V power from V
CC
.
NOTE: The clamp voltage can be ramped up or ramped down along with the 3.3-V power. The
voltage difference between V
and the clamp voltage must remain within 3.6 V.
CC
3.2I/O Characteristics
Figure 3–2 shows a 3-state bidirectional buffer. Section 7.2, Recommended Operating Conditions, provides the
electrical characteristics of the inputs and outputs.
NOTE: The PCI1520 meets the ac specifications of the 1997 PC Card Standard and PCI Local
Bus Specification.
V
Tied for Open Drain
OE
Figure 3–2. 3-State Bidirectional Buffer
CCP
Pad
NOTE: Unused terminals (input or I/O) must be held high or low to prevent them from floating.
3.3Clamping Voltages
The clamping voltages are set to match whatever external environment the PCI1520 is interfaced with, 3.3 V or 5 V.
The I/O sites can be pulled through a clamping diode to a voltage rail that protects the core from external signals.
The core power supply is always 3.3 V and is independent of the clamping voltages. For example, PCI signaling can
be either 3.3 V or 5 V, and the PCI1520 must reliably accommodate both voltage levels. This is accomplished by using
a 3.3-V I/O buffer that is 5-V tolerant, with the applicable clamping voltage applied. If a system designer desires a
5-V PCI bus, then V
can be connected to a 5-V power supply.
CCP
The PCI1520 requires three separate clamping voltages because it supports a wide range of features. The three
voltages are listed and defined in Section 7.2, Recommended Operating Conditions. GRST
The PCI1520 is fully compliant with the PCI Local Bus Specification. The PCI1520 provides all required signals for
PCI master or slave operation, and may operate in either a 5-V or 3.3-V signaling environment by connecting the V
terminal to the desired voltage level. In addition to the mandatory PCI signals, the PCI1520 provides the optional
interrupt signals INTA
and INTB.
3.4.1PCI GRST Signal
During the power-up sequence, GRST and PRST must be asserted. GRST can only be deasserted 100 µs after PCLK
is stable. PRST
can be deasserted at the same time as GRST or any time thereafter.
CCP
3–2
3.4.2PCI Bus Lock (LOCK)
The bus-locking protocol defined in the PCI Local Bus Specification is not highly recommended, but is provided on
the PCI1520 as an additional compatibility feature. The PCI LOCK
setting the appropriate values in bits 19–16 of the multifunction routing register. See Section 4.30, MultifunctionRouting Register,
for details. Note that the use of LOCK is only supported by PCI-to-CardBus bridges in the
downstream direction (away from the processor).
signal can be routed to the MFUNC4 terminal by
PCI LOCK
indicates an atomic operation that may require multiple transactions to complete. When LOCK is asserted,
nonexclusive transactions can proceed to an address that is not currently locked. A grant to start a transaction on
the PCI bus does not guarantee control of LOCK
for different initiators to use the PCI bus while a single master retains ownership of LOCK
signal for this protocol is CBLOCK
to avoid confusion with the bus clock.
; control of LOCK is obtained under its own protocol. It is possible
. Note that the CardBus
An agent may need to do an exclusive operation because a critical access to memory might be broken into several
transactions, but the master wants exclusive rights to a region of memory. The granularity of the lock is defined by
PCI to be 16 bytes, aligned. The LOCK
protocol defined by the PCI Local Bus Specification allows a resource lock
without interfering with nonexclusive real-time data transfer, such as video.
The PCI bus arbiter may be designed to support only complete bus locks using the LOCK
the arbiter will not grant the bus to any other agent (other than the LOCK
master) while LOCK is asserted. A complete
protocol. In this scenario,
bus lock may have a significant impact on the performance of the video. The arbiter that supports complete bus lock
must grant the bus to the cache to perform a writeback due to a snoop to a modified line when a locked operation
is in progress.
The PCI1520 supports all LOCK
protocol associated with PCI-to-PCI bridges, as also defined for PCI-to-CardBus
bridges. This includes disabling write posting while a locked operation is in progress, which can solve a potential
deadlock when using devices such as PCI-to-PCI bridges. The potential deadlock can occur if a CardBus target
supports delayed transactions and blocks access to the target until it completes a delayed read. This target
characteristic is prohibited by the PCI Local Bus Specification, and the issue is resolved by the PCI master using
LOCK
.
3.4.3Loading Subsystem Identification
The subsystem vendor ID register (PCI offset 40h, see Section 4.26) and subsystem ID register (PCI of fset 42h, see
Section 4.27) make up a doubleword of PCI configuration space for functions 0 and 1. This doubleword register is
used for system and option card (mobile dock) identification purposes and is required by some operating systems.
Implementation of this unique identifier register is a PC 99/PC 2001 requirement.
The PCI1520 offers two mechanisms to load a read-only value into the subsystem registers. The first mechanism
relies upon the system BIOS providing the subsystem ID value. The default access mode to the subsystem registers
is read-only , but can be made read/write by clearing bit 5 (SUBSYSRW) in the system control register (PCI offset 80h,
see Section 4.29). Once this bit is cleared, the BIOS can write a subsystem identification value into the registers at
PCI offset 40h. The BIOS must set the SUBSYSRW bit such that the subsystem vendor ID register and subsystem
ID register is limited to read-only access. This approach saves the added cost of implementing the serial electrically
erasable programmable ROM (EEPROM).
In some conditions, such as in a docking environment, the subsystem vendor ID register and subsystem ID register
must be loaded with a unique identifier via a serial EEPROM. The PCI1520 loads the data from the serial EEPROM
after a reset of the primary bus. Note that the SUSPEND
including the serial-bus state machine (see Section 3.8.5, Suspend Mode, for details on using SUSPEND
input gates the PCI reset from the entire PCI1520 core,
).
The PCI1520 provides a two-line serial-bus host controller that can interface to a serial EEPROM. See Section 3.6,
Serial-Bus Interface,
for details on the two-wire serial-bus controller and applications.
3–3
3.5PC Card Applications
This section describes the PC Card interfaces of the PCI1520.
•Card insertion/removal and recognition
2
C power-switch interface
•P
•Zoomed video support
•Speaker and audio applications
•LED socket activity indicators
•CardBus socket registers
3.5.1PC Card Insertion/Removal and Recognition
The PC Card Standard (release 7.1) addresses the card-detection and recognition process through an interrogation
procedure that the socket must initiate on card insertion into a cold, nonpowered socket. Through this interrogation,
card voltage requirements and interface (16-bit versus CardBus) are determined.
The scheme uses the card-detect and voltage-sense signals. The configuration of these four terminals identifies the
card type and voltage requirements of the PC Card interface. The encoding scheme is defined in the PC CardStandard (release 7.1) and in Table 3–1.
Table 3–1. PC Card Card-Detect and Voltage-Sense Connections
GroundGroundOpenOpen5 V16-bit PC Card5 V
GroundGroundOpenGround5 V16-bit PC Card5 V and 3.3 V
GroundGroundGroundGround5 V16-bit PC Card5 V, 3.3 V, and X.X V
GroundGroundOpenGroundLV16-bit PC Card3.3 V
GroundConnect to CVS1OpenConnect to CCD1LVCardBus PC Card3.3 V
GroundGroundGroundGroundLV16-bit PC Card3.3 V and X.X V
Connect to CVS2GroundConnect to CCD2GroundLVCardBus PC Card3.3 V and X.X V
Connect to CVS1GroundGroundConnect to CCD2LVCardBus PC Card3.3 V, X.X V, and Y.Y V
GroundGroundGroundOpenLV16-bit PC CardX.X V
Connect to CVS2GroundConnect to CCD2OpenLVCardBus PC CardX.X V
GroundConnect to CVS2Connect to CCD1OpenLVCardBus PC CardX.X V and Y.Y V
Connect to CVS1GroundOpenConnect to CCD2LVCardBus PC CardY.Y V
GroundConnect to CVS1GroundConnect to CCD1Reserved
GroundConnect to CVS2Connect to CCD1GroundReserved
3.5.2P2C Power-Switch Interface (TPS222X)
The PCI1520 provides a PCMCIA peripheral control (P2C) interface for control of the PC Card power switch. The
CLOCK, DATA, and LATCH terminals interface with the TI TPS222X dual-slot PC Card power interface switches to
provide power switch support. Figure 3–3 illustrates a typical application where the PCI1520 represents the PCMCIA
controller. Table 3–2 shows the available power switch options compatible with the PCI1520.
N/A – Check for newer device
N/A – Check for newer device
N/A – Check for newer device
The CLOCK terminal on the PCI1520 can be an input or an output. The PCI1520 defaults the CLOCK terminal as
an input to control the serial interface and the internal state machine. Bit 27 (P2CCLK) in the system control register
(offset 80h, see Section 4.29) can be set by the platform BIOS or the serial EEPROM to enable the PCI1520 to
generate and drive CLOCK internally from the PCI clock. When the system design implements CLOCK as an output
from the PCI1520, an external pulldown resistor is required.
3.5.3Zoomed Video Support
The PCI1520 allows for the implementation of zoomed video (ZV) for PC Cards. Zoomed video is supported by setting
bit 6 (ZVENABLE) in the card control register (PCI offset 91h, see Section 4.32) on a per-socket function basis.
Setting this bit puts 16-bit PC Card address lines A25–A4 of the PC Card interface in the high-impedance state. These
lines can then transfer video and audio data directly to the appropriate controller. Card address lines A3–A0 can still
access PC Card CIS registers for PC Card configuration. Figure 3–4 illustrates a PCI1520 ZV implementation.
3–5
Audio
Codec
PCM
Audio
Input
Speakers
PC Card
19
PC Card
Interface
CRT
Motherboard
PCI Bus
VGA
Controller
Zoomed Video
Port
194
PCI1520
Figure 3–4. Zoomed Video Implementation Using the PCI1520
Video
Audio
4
Not shown in Figure 3–4 is the multiplexing scheme used to route either socket 0 or socket 1 ZV source to the graphics
controller. The PCI1520 provides ZVSTAT, ZVSEL0
, and ZVSEL1 signals on the multifunction terminals to switch
external bus drivers. Figure 3–5 shows an implementation for switching between three ZV streams using external
logic.
2
PCI1520
ZVSTAT
ZVSEL0
ZVSEL1
01
Figure 3–5. Zoomed Video Switching Application
Figure 3–5 illustrates an implementation using standard three-state bus drivers with active-low output enables.
ZVSEL0
is an active-low output indicating that the socket 0 ZV mode is enabled, and ZVSEL1 is an active-low output
indicating that socket 1 ZV is enabled. When both sockets have ZV mode enabled, the PCI1520 by defaults indicates
socket 0 enabled through ZVSEL0
; however , bit 5 (PORT_SEL) in the card control register (see Section 4.32) allows
software to select the socket ZV source priority. Table 3–3 illustrates the functionality of the ZV output signals.
Also shown in Figure 3–5 is a third ZV input that can be provided from a source such as a high-speed serial bus like
IEEE 1394. The ZVST A T signal provides a mechanism to switch the third ZV source. ZVSTA T is an active-high output
indicating that one of the PCI1520 sockets is enabled for ZV mode. The implementation shown in Figure 3–5 can be
used if PC Card ZV is prioritized over other sources.
3.5.4Standardized Zoomed-Video Register Model
The standardized zoomed-video register model is defined for the purpose of standardizing the ZV port control for PC
Card controllers across the industry. The following list summarizes the standardized zoomed-video register model
changes to the existing PC Card register set.
•Socket present state register (CardBus socket address + 08h, see Section 6.3)
Bit 27 (ZVSUPPORT) has been added. The platform BIOS can set this bit via the socket force event register
(CardBus socket address + 0Ch, see Section 6.4) to define whether zoomed video is supported on that
socket by the platform.
•Socket force event register (CardBus socket address + 0Ch, see Section 6.4)
Bit 27 (FZVSUPPORT) has been added. The platform BIOS can use this bit to set the ZVSUPPORT bit in
the socket present state register (CardBus socket address + 08h, see Section 6.3) to define whether
zoomed video is supported on that socket by the platform.
•Socket control register (CardBus socket address +10h, see Section 6.5)
Bit 1 1 (ZV_ACTIVITY) has been added. This bit is set when zoomed video is enabled for either of the PC
Card sockets.
Bit 10 (STDZVREG) has been added. This bit defines whether the PC Card controller supports the
standardized zoomed-video register model.
Bit 9 (ZVEN) is provided for software to enable or disable zoomed video, per socket.
If the STDZVEN bit (bit 0) in the diagnostic register (PCI offset 93h, see Section 4.34) is 1, then the standardized
zoomed video register model is disabled. For backward compatibility, even if the STDZVEN bit is 0 (enabled), the
PCI1520 allows software to access zoomed video through the legacy address in the card control register (PCI offset
91h, see Section 4.32), or through the new register model in the socket control register (CardBus socket address +
10h, see Section 6.5).
3.5.4.1 Zoomed-Video Card Insertion and Configuration Procedure
1. A zoomed-video PC Card is inserted into an empty slot.
2. The card is detected and interrogated appropriately.
3–7
There are two types of PC Card controllers to consider.
•Legacy controller not using the standardized ZV register model
Software reads bit 10 (STDZVREG) of the socket control register (CardBus socket address + 10h) to
determine if the standardized zoomed-video register model is supported. If the bit returns 0, then software
must use legacy code to enable zoomed video.
•Newer controller that uses the standardized ZV register model
Software reads bit 10 (STDZVREG) of the socket control register (CardBus socket address + 10h) to
determine if the standardized zoomed-video register model is supported. If the bit returns 1, then software
can use the process/register model detailed in Table 3–4 to enable zoomed video.
Table 3–4. Zoomed-Video Card Interrogation
ZVSUPPORT
(this socket)
1X0Set ZVEN to enable zoomed video.
1X1
00X
01X
ZVSUPPORT
(other socket)
ZV_ACTIVITYACTION
Display a user message such as, “The zoomed video protocol required by this PC
Card application is already in use by another card.”
Display a user message such as, “This platform does not support the zoomed-video
protocol required by this PC Card application.”
Display a user message such as, “This platform does not support the zoomed-video
protocol required by this PC Card application in this PC Card socket. Please remove
the card and re-insert in the other PC Card socket.”
3.5.5Internal Ring Oscillator
The internal ring oscillator provides an internal clock source for the PCI1520 so that neither the PCI clock nor an
external clock is required in order for the PCI1520 to power down a socket or interrogate a PC Card. This internal
oscillator, operating nominally at 16 kHz, can be enabled by setting bit 27 (P2CCLK) of the system control register
(PCI offset 80h, see Section 4.29) to 1. This function is disabled by default.
3.5.6Integrated Pullup Resistors
The PC Card Standard (release 7.1) requires pullup resistors on various terminals to support both CardBus and 16-bit
card configurations. Unlike the PCI12XX, PCI1450, and PCI4450 which required external pullup resistors, the
PCI1520 has integrated all of these pullup resistors. The I/O buffer on the BVD1(STSCHG
the capability to switch either pullup or pulldown. The pullup resistor is turned on when a 16-bit PC Card is inserted,
and the pulldown resistor is turned on when a CardBus PC Card is inserted. This prevents unexpected CSTSCHG
signal assertion. The integrated pullup resistors are listed in Table 3–5.
)/CSTSCHG terminal has
3–8
Table 3–5. Integrated Pullup Resistors
SIGNAL NAME
A14/CPERR109R1842N06
A15/CIRDY117N1850P05
A19/CBLOCK108N1441N03
A20/CSTOP111P1744P02
A21/CDEVSEL113N1546P03
A22/CTRDY116N1749R02
BVD1(STSCHG)/CSTSCHG141H1473U09
BVD2(SPKR)/CAUDIO140H1772V09
CD1/CCD183U1115H05
CD2/CCD2144G1875P09
INPACK/CREQ130K1761R07
READY/CINT138H1969V08
RESET/CRST126L1558W05
VS1/CVS1137J1568U08
VS2/CVS2124L1856P07
WAIT/CSERR139H1871W09
WP(IOIS16)/CCLKRUN142H1574R09
3.5.7SPKROUT and CAUDPWM Usage
TERM. NUMBER SOCKET ATERM. NUMBER SOCKET B
PDVGHKPDVGHK
SPKROUT carries the digital audio signal from the PC Card to the system. When a 16-bit PC Card is configured for
I/O mode, the BVD2 terminal becomes SPKR
is referred to as CAUDIO. SPKR
passes a TTL-level digital audio signal to the PCI1520. The CardBus CAUDIO signal
. This terminal is also used in CardBus binary audio applications, and
also can pass a single-amplitude binary waveform. The binary audio signals from the two PC Card sockets are XORed
in the PCI1520 to produce SPKROUT. This output is enabled by bit 1 (SPKROUTEN) in the card control register (PCI
offset 91h, see Section 4.32).
Older controllers support CAUDIO in binary or PWM mode but use the same terminal (SPKROUT). Some audio chips
may not support both modes on one terminal and may have a separate terminal for binary and PWM. The PCI1520
implementation includes a signal for PWM, CAUDPWM, which can be routed to an MFUNC terminal. Bit 2
(AUD2MUX), located in the card control register, is programmed on a per-socket function basis to route a CardBus
CAUDIO PWM terminal to CAUDPWM. If both CardBus functions enable CAUDIO PWM routing to CAUDPWM, then
socket 0 audio takes precedence. See Section 4.30, Multifunction Routing Register, for details on configuring the
MFUNC terminals.
Figure 3–6 provides an illustration of a sample application using SPKROUT and CAUDPWM.
3–9
System
Core Logic
BINARY_SPKR
Speaker
Subsystem
PWM_SPKR
PCI1520
SPKROUT
CAUDPWM
Figure 3–6. Sample Application of SPKROUT and CAUDPWM
3.5.8LED Socket Activity Indicators
The socket activity LEDs are provided to indicate when a PC Card is being accessed. The LEDA1 and LEDA2 signals
can be routed to the multifunction terminals. When configured for LED outputs, these terminals output an active high
signal to indicate socket activity. LEDA1 indicates socket 0 (card A) activity, and LEDA2 indicates socket 1 (card B)
activity. The LED_SKT output indicates socket activity to either socket 0 or socket 1. See Section 4.30, MultifunctionRouting Register,
The active-high LED signal is driven for 64-ms. When the LED is not being driven high, it is driven to a low state. Either
of the two circuits shown in Figure 3–7 can be implemented to provide LED signaling, and the board designer must
implement the circuit that best fits the application.
The LED activity signals are valid when a card is inserted, powered, and not in reset. For PC Card-16, the LED activity
signals are pulsed when READY/IREQ
IRDY
, or CREQ are active.
for details on configuring the multifunction terminals.
is low. For CardBus cards, the LED activity signals are pulsed if CFRAME,
Current Limiting
R ≈ 500 Ω
PCI1520
PCI1520
Application-
Specific Delay
Current Limiting
R ≈ 500 Ω
LED
LED
Figure 3–7. Two Sample LED Circuits
As indicated, the LED signals are driven for a period of 64 ms by a counter circuit. T o avoid the possibility of the LEDs
appearing to be stuck when the PCI clock is stopped, the LED signaling is cut off when the SUSPEND
signal is
asserted, when the PCI clock is to be stopped during the clock run protocol, or when in the D2 or D1 power state.
If any additional socket activity occurs during this counter cycle, then the counter is reset and the LED signal remains
driven. If socket activity is frequent (at least once every 64 ms), then the LED signals remain driven.
3.5.9CardBus Socket Registers
The PCI1520 contains all registers for compatibility with the 1997 PC Card Standard. These registers exist as the
CardBus socket registers and are listed in Table 3–6.
3–10
3.6Serial-Bus Interface
Table 3–6. CardBus Socket Registers
REGISTER NAMEOFFSET
Socket event00h
Socket mask04h
Socket present state08h
Socket force event0Ch
Socket control10h
Reserved14h–1Ch
Socket power management20h
The PCI1520 provides a serial-bus interface to load subsystem identification information and selected register
defaults from a serial EEPROM, and to provide a PC Card power-switch interface alternative to P
Section 3.5.2, P
with various I
2
C Power-Switch Interface (TPS222X), for details. The PCI1520 serial-bus interface is compatible
2
C and SMBus components.
2
C. See
3.6.1Serial-Bus Interface Implementation
The PCI1520 defaults to serial bus interface are disabled. To enable the serial interface, a pulldown resistor must
be implemented on the LATCH terminal and the appropriate pullup resistor must be implemented on the SDA and
SCL signals, that is, the MFUNC1 and MFUNC4 terminals. When the interface is detected, bit 3 (SBDETECT) in the
serial bus control and status register (see Section 4.48) is set. The SBDETECT bit is cleared by a writeback of 1.
The PCI1520 implements a two-terminal serial interface with one clock signal (SCL) and one data signal (SDA). When
a pulldown resistor is provided on the LATCH terminal, the SCL signal is mapped to the MFUNC4 terminal and the
SDA signal is mapped to the MFUNC1 terminal. The PCI1520 drives SCL at nearly 100 kHz during data transfers,
which is the maximum specified frequency for standard mode I
A0h. Figure 3–8 illustrates an example application implementing the two-wire serial bus.
V
CC
Serial
EEPROM
A2
SCL
A1
SDA
A0
2
C. The serial EEPROM must be located at address
PCI1520
LATCH
MFUNC4
MFUNC1
Figure 3–8. Serial EEPROM Application
Some serial device applications may include PC Card power switches, ZV source switches, card ejectors, or other
devices that may enhance the user’s PC Card experience. The serial EEPROM device and PC Card power switches
are discussed in the sections that follow.
3.6.2Serial-Bus Interface Protocol
The SCL and SDA signals are bidirectional, open-drain signals and require pullup resistors as shown in Figure 3–8.
The PCI1520, which supports up to 100-Kb/s data-transfer rate, is compatible with standard mode I
addressing.
All data transfers are initiated by the serial bus master. The beginning of a data transfer is indicated by a start
condition, which is signaled when the SDA line transitions to low state while SCL is in the high state, as illustrated
2
C using 7-bit
3–11
in Figure 3–9. The end of a requested data transfer is indicated by a stop condition, which is signaled by a low-to-high
transition of SDA while SCL is in the high state, as shown in Figure 3–9. Data on SDA must remain stable during the
high state of the SCL signal, as changes on the SDA signal during the high state of SCL are interpreted as control
signals, that is, a start or a stop condition.
SDA
SCL
Start
Condition
Stop
Condition
Change of
Data Allowed
Data Line Stable,
Data Valid
Figure 3–9. Serial-Bus Start/Stop Conditions and Bit Transfers
Data is transferred serially in 8-bit bytes. The number of bytes that may be transmitted during a data transfer is
unlimited; however, each byte must be completed with an acknowledge bit. An acknowledge (ACK) is indicated by
the receiver pulling the SDA signal low, so that it remains low during the high state of the SCL signal. Figure 3–10
illustrates the acknowledge protocol.
SCL From
Master
SDA Output
By Transmitter
SDA Output
By Receiver
123789
Figure 3–10. Serial-Bus Protocol Acknowledge
The PCI1520 is a serial bus master; all other devices connected to the serial bus external to the PCI1520 are slave
devices. As the bus master, the PCI1520 drives the SCL clock at nearly 100 kHz during bus cycles and places SCL
in a high-impedance state (zero frequency) during idle states.
Typically, the PCI1520 masters byte reads and byte writes under software control. Doubleword reads are performed
by the serial EEPROM initialization circuitry upon a PCI reset and may not be generated under software control. See
Section 3.6.3, Serial-Bus EEPROM Application, for details on how the PCI1520 automatically loads the subsystem
identification and other register defaults through a serial-bus EEPROM.
Figure 3–11 illustrates a byte write. The PCI1520 issues a start condition and sends the 7-bit slave device address
and the command bit zero. A 0 in the R/W
command bit indicates that the data transfer is a write. The slave device
acknowledges if it recognizes the address. If no acknowledgment is received by the PCI1520, then an appropriate
status bit is set in the serial-bus control and status register (PCI offset B3h, see Section 4.48). The word address byte
is then sent by the PCI1520, and another slave acknowledgment is expected. Then the PCI1520 delivers the data
byte MSB first and expects a final acknowledgment before issuing the stop condition.
Figure 3–12 illustrates a byte read. The read protocol is very similar to the write protocol, except the R/W
command
bit must be set to 1 to indicate a read-data transfer. In addition, the PCI1520 master must acknowledge reception
of the read bytes from the slave transmitter. The slave transmitter drives the SDA signal during read data transfers.
The SCL signal remains driven by the PCI1520 master.
Figure 3–13. EEPROM Interface Doubleword Data Collection
3.6.3Serial-Bus EEPROM Application
When the PCI bus is reset and the serial-bus interface is detected, the PCI1520 attempts to read the subsystem
identification and other register defaults from a serial EEPROM. The registers and corresponding bits that can be
loaded with defaults through the EEPROM are provided in Table 3–7.
3–13
Table 3–7. Register- and Bit-Loading Map
EEPROM
OFFSET
00hFlag01h: Load / FFh: do not load
01hPCI 04h
02hPCI 40hSubsystem vendor ID bits 7–0 ← bits 7–0
03hPCI 40hSubsystem vendor ID bits 15–8 ← bit 7–0
04hPCI 42hSubsystem ID bits 7–0 ← bits 7–0
05hPCI 42hSubsystem ID bits 15–8 ← bits 7–0
06hPCI 44hPC Card 16-bit I/F legacy-mode base address bits 7–1 ← bits 7–1
07hPCI 44hPC Card 16-bit I/F legacy-mode base address bits 15–8 ← bits 7–0
08hPCI 44hPC Card 16-bit I/F legacy-mode base address bit 23:16 ← bit 7:0
09hPCI 44hPC Card 16-bit I/F legacy-mode base address bits 31–24 ← bits 7–0
0AhPCI 80hSystem control bits 7–0 ← bits 7–0
0BhPCI 80hSystem control bits 15–8 ← bits 7–0
Function 0 socket force event, bit 27 ← bit 3
Function 1 socket force event, bit 27 ← bit 3
This format must be followed for the PCI1520 to load initializations from a serial EEPROM. All bit fields must be
considered when programming the EEPROM.
The serial EEPROM is addressed at slave address 1010 000b by the PCI1520. All hardware address bits for the
EEPROM should be tied to the appropriate level to achieve this address. The serial EEPROM chip in the sample
application circuit (Figure 3–8) assumes the 1010b high-address nibble. The lower three address bits are terminal
inputs to the chip, and the sample application shows these terminal inputs tied to GND.
3.6.4Accessing Serial-Bus Devices Through Software
The PCI1520 provides a programming mechanism to control serial bus devices through software. The programming
is accomplished through a doubleword of PCI configuration space at offset B0h. Table 3–8 lists the registers used
to program a serial-bus device through software.
3–14
Table 3–8. PCI1520 Registers Used to Program Serial-Bus Devices
PCI OFFSETREGISTER NAMEDESCRIPTION
B0hSerial-bus dataContains the data byte to send on write commands or the received data byte on read commands.
B1hSerial-bus index
B2h
B3h
Serial-bus slave
address
Serial-bus control
and status
The content of this register is sent as the word address on byte writes or reads. This register is not used
in the quick command protocol.
Write transactions to this register initiate a serial-bus transaction. The slave device address and the
R/W
command selector are programmed through this register.
Read data valid, general busy, and general error status are communicated through this register. In
addition, the protocol-select bit is programmed through this register.
3.7Programmable Interrupt Subsystem
Interrupts provide a way for I/O devices to let the microprocessor know that they require servicing. The dynamic
nature of PC Cards and the abundance of PC Card I/O applications require substantial interrupt support from the
PCI1520. The PCI1520 provides several interrupt signaling schemes to accommodate the needs of a variety of
platforms. The different mechanisms for dealing with interrupts in this device are based on various specifications and
industry standards. The ExCA register set provides interrupt control for some 16-bit PC Card functions, and the
CardBus socket register set provides interrupt control for the CardBus PC Card functions. The PCI1520 is, therefore,
backward compatible with existing interrupt control register definitions, and new registers have been defined where
required.
The PCI1520 detects PC Card interrupts and events at the PC Card interface and notifies the host controller using
one of several interrupt signaling protocols. T o simplify the discussion of interrupts in the PCI1520, PC Card interrupts
are classified either as card status change (CSC) or as functional interrupts.
The method by which any type of PCI1520 interrupt is communicated to the host interrupt controller varies from
system to system. The PCI1520 offers system designers the choice of using parallel PCI interrupt signaling, parallel
ISA-type IRQ interrupt signaling, or the IRQSER serialized ISA and/or PCI interrupt protocol. It is possible to use the
parallel PCI interrupts in combination with either parallel IRQs or serialized IRQs, as detailed in the sections that
follow. All interrupt signaling is provided through the seven multifunction terminals, MFUNC0–MFUNC6.
3.7.1PC Card Functional and Card Status Change Interrupts
PC Card functional interrupts are defined as requests from a PC Card application for interrupt service and are
indicated by asserting specially-defined signals on the PC Card interface. Functional interrupts are generated by
16-bit I/O PC Cards and by CardBus PC Cards.
Card status change (CSC)-type interrupts are defined as events at the PC Card interface that are detected by the
PCI1520 and may warrant notification of host card and socket services software for service. CSC events include both
card insertion and removal from PC Card sockets, as well as transitions of certain PC Card signals.
Table 3–9 summarizes the sources of PC Card interrupts and the type of card associated with them. CSC and
functional interrupt sources are dependent on the type of card inserted in the PC Card socket. The three types of cards
that can be inserted into any PC Card socket are:
•16-bit memory card
•16-bit I/O card
•CardBus cards
3–15
Table 3–9. Interrupt Mask and Flag Registers
Battery conditions
All PC Cards
CARD TYPEEVENTMASKFLAG
16-bit memory
16-bit I/O
All 16-bit PC
Cards
CardBus
Battery conditions (BVD1, BVD2)ExCA offset 05h/45h/805h bits 1 and 0ExCA offset 04h/44h/804h bits 1 and 0
Wait states (READY)ExCA offset 05h/45h/805h bit 2ExCA offset 04h/44h/804h bit 2
Change in card status (STSCHG)ExCA offset 05h/45h/805h bit 0ExCA offset 04h/44h/804h bit 0
Interrupt request (IREQ)Always enabledPCI configuration offset 91h bit 0
Power cycle completeExCA offset 05h/45h/805h bit 3ExCA offset 04h/44h/804h bit 3
Change in card status (CSTSCHG)Socket mask bit 0Socket event bit 0
Interrupt request (CINT)Always enabledPCI configuration offset 91h bit 0
Power cycle completeSocket mask bit 3Socket event bit 3
Card insertion or removalSocket mask bits 2 and 1Socket event bits 2 and 1
Functional interrupt events are valid only for 16-bit I/O and CardBus cards; that is, the functional interrupts are not
valid for 16-bit memory cards. Furthermore, card insertion and removal-type CSC interrupts are independent of the
card type.
Table 3–10. PC Card Interrupt Events and Description
CARD TYPEEVENTTYPESIGNALDESCRIPTION
A transition on BVD1 indicates a change in the
PC Card battery conditions.
A transition on BVD2 indicates a change in the
PC Card battery conditions.
A transition on READY indicates a change in the
ability of the memory PC Card to accept or provide
data.
The assertion of STSCHG indicates a status change
on the PC Card.
The assertion of IREQ indicates an interrupt request
from the PC Card.
The assertion of CSTSCHG indicates a status
change on the PC Card.
The assertion of CINT indicates an interrupt request
from the PC Card.
A transition on either CD1//CCD1 or CD2//CCD2
indicates an insertion or removal of a 16-bit or
CardBus PC Card.
An interrupt is generated when a PC Card power-up
cycle has completed.
16-bit
memory
16-bit I/O
CardBus
All PC Cards
Battery conditions
(BVD1, BVD2)
Wait states
(READY)
Change in card
status (STSCHG
Interrupt request
(IREQ
)
Change in card
status (CSTSCHG)
Interrupt request
(CINT
)
Card insertion
or removal
Power cycle
complete
BVD1(STSCHG)//CSTSCHG
CSC
BVD2(SPKR)//CAUDIO
CSCREADY(IREQ)//CINT
CSCBVD1(STSCHG)//CSTSCHG
)
FunctionalREADY(IREQ)//CINT
CSCBVD1(STSCHG)//CSTSCHG
FunctionalREADY(IREQ)//CINT
CSC
CSCN/A
CD1//CCD1,
CD2
//CCD2
The naming convention for PC Card signals describes the function for 16-bit memory , I/O cards, and CardBus. For
example, READY(IREQ
CardBus cards. The 16-bit memory card signal name is first, with the I/O card signal name second, enclosed in
parentheses. The CardBus signal name follows after a double slash (//).
The 1997 PC Card Standard describes the power-up sequence that must be followed by the PCI1520 when an
insertion event occurs and the host requests that the socket V
power-up sequence, the PCI1520 interrupt scheme can be used to notify the host system (see T able 3–10), denoted
by the power cycle complete event. This interrupt source is considered a PCI1520 internal event, because it depends
on the completion of applying power to the socket rather than on a signal change at the PC Card interface.
3–16
)//CINT includes READY for 16-bit memory cards, IREQ for 16-bit I/O cards, and CINT for
and VPP be powered. Upon completion of this
CC
3.7.2Interrupt Masks and Flags
Host software may individually mask (or disable) most of the potential interrupt sources listed in T able 3–10 by setting
the appropriate bits in the PCI1520. By individually masking the interrupt sources listed, software can control those
events that cause a PCI1520 interrupt. Host software has some control over the system interrupt the PCI1520 asserts
by programming the appropriate routing registers. The PCI1520 allows host software to route PC Card CSC and PC
Card functional interrupts to separate system interrupts. Interrupt routing somewhat specific to the interrupt signaling
method used is discussed in more detail in the following sections.
When an interrupt is signaled by the PCI1520, the interrupt service routine must determine which of the events listed
in T able 3–9 caused the interrupt. Internal registers in the PCI1520 provide flags that report the source of an interrupt.
By reading these status bits, the interrupt service routine can determine the action to be taken.
Table 3–9 details the registers and bits associated with masking and reporting potential interrupts. All interrupts can
be masked except the functional PC Card interrupts, and an interrupt status flag is available for all types of interrupts.
Notice that there is not a mask bit to stop the PCI1520 from passing PC Card functional interrupts through to the
appropriate interrupt scheme. These interrupts are not valid until the card is properly powered, and there should never
be a card interrupt that does not require service after proper initialization.
Table 3–9 lists the various methods of clearing the interrupt flag bits. The flag bits in the ExCA registers (16-bit PC
Card-related interrupt flags) can be cleared using two different methods. One method is an explicit write of 1 to the
flag bit to clear and the other is by reading the flag bit register. The selection of flag bit clearing methods is made by
bit 2 (IFCMODE) in the ExCA global control register (ExCA offset 1Eh/5Eh/81Eh, see Section 5.20), and defaults to
the flag-cleared-on-read method.
The CardBus-related interrupt flags can be cleared by an explicit write of 1 to the interrupt flag in the socket event
register (see Section 6.1). Although some of the functionality is shared between the CardBus registers and the ExCA
registers, software should not program the chip through both register sets when a CardBus card is functioning.
3.7.3Using Parallel IRQ Interrupts
The seven multifunction terminals, MFUNC6–MFUNC0, implemented in the PCI1520 can be routed to obtain a
subset of the ISA IRQs. The IRQ choices provide ultimate flexibility in PC Card host interruptions. T o use the parallel
ISA-type IRQ interrupt signaling, software must program the device control register (PCI offset 92h, see
Section 4.33), to select the parallel IRQ signaling scheme. See Section 4.30, Multifunction Routing Register, for
details on configuring the multifunction terminals.
A system using parallel IRQs requires (at a minimum) one PCI terminal, INT A
is dictated by certain card and socket-services software. The INT A
for INT A
a maximum) six different IRQs to support legacy 16-bit PC Card functions.
As an example, suppose the six IRQs used by legacy PC Card applications are IRQ3, IRQ4, IRQ5, IRQ10, IRQ1 1,
and IRQ15. The multifunction routing register must be programmed to a value of 0FBA 5432h. This value routes the
MFUNC0 terminal to INTA
that INT A
PCI interrupts to the host.
signaling. The INTRTIE bit is used, in this case, to route socket B interrupt events to INTA. This leaves (at
signaling and routes the remaining terminals as illustrated in Figure 3–14. Not shown is
must also be routed to the programmable interrupt controller (PIC), or to some circuitry that provides parallel
requirement calls for routing the MFUNC0 terminal
, to signal CSC events. This requirement
3–17
PCI1520PIC
MFUNC1
MFUNC2
MFUNC3
MFUNC4
MFUNC5
MFUNC6
IRQ3
IRQ4
IRQ5
IRQ10
IRQ11
IRQ15
Figure 3–14. IRQ Implementation
Power-on software is responsible for programming the multifunction routing register to reflect the IRQ configuration
of a system implementing the PCI1520. The multifunction routing register is shared between the two PCI1520
functions, and only one write to function 0 or 1 is necessary to configure the MFUNC6–MFUNC0 signals. Writing to
function 0 only is recommended. See Section 4.30, Multifunction Routing Register,
for details on configuring the
multifunction terminals.
The parallel ISA-type IRQ signaling from the MFUNC6–MFUNC0 terminals is compatible with the input signal
requirements of the 8259 PIC. The parallel IRQ option is provided for system designs that require legacy ISA IRQs.
Design constraints may demand more MFUNC6–MFUNC0 IRQ terminals than the PCI1520 makes available.
3.7.4Using Parallel PCI Interrupts
Parallel PCI interrupts are available when exclusively in parallel PCI interrupt/parallel ISA IRQ signaling mode, and
when only IRQs are serialized with the IRQSER protocol. Both INT A
(MFUNC0 and MFUNC1). However, interrupts of both socket functions can be routed to INTA
(INTRTIE) is set in the system control register (PCI offset 80h, see Section 4.29).
The INTRTIE bit affects the read-only value provided through accesses to the interrupt pin register (PCI offset 3Dh,
see Section 4.24). When the INTRTIE bit is set, both functions return a value of 01h on reads from the interrupt pin
register for both parallel and serial PCI interrupts. Table 3–11 summarizes the interrupt signaling modes.
The serialized interrupt protocol implemented in the PCI1520 uses a single terminal to communicate all interrupt
status information to the host controller. The protocol defines a serial packet consisting of a start cycle, multiple
interrupt indication cycles, and a stop cycle. All data in the packet is synchronous with the PCI clock. The packet data
describes 16 parallel ISA IRQ signals and the optional 4 PCI interrupts INT A
, INTB, INTC, and INTD. For details on
the IRQSER protocol, refer to the document Serialized IRQ Support for PCI Systems.
3.7.6SMI Support in the PCI1520
The PCI1520 provides a mechanism for interrupting the system when power changes have been made to the PC
Card socket interfaces. The interrupt mechanism is designed to fit into a system maintenance interrupt (SMI) scheme.
SMI interrupts are generated by the PCI1520, when enabled, after a write cycle to either the socket control register
(CB offset 10h, see Section 6.5) of the CardBus register set, or the ExCA power control register (ExCA offset
02h/42h/802h, see Section 5.3) causes a power cycle change sequence to be sent on the power switch interface.
The SMI control is programmed through three bits in the system control register (PCI offset 80h, see Section 4.29).
These bits are SMIROUTE (bit 26), SMIST A TUS (bit 25), and SMIENB (bit 24). T able 3–12 describes the SMI control
bits function.
3–18
Table 3–12. SMI Control
BIT NAMEFUNCTION
SMIROUTEThis shared bit controls whether the SMI interrupts are sent as a CSC interrupt or as IRQ2.
SMISTATThis socket dependent bit is set when an SMI interrupt is pending. This status flag is cleared by writing back a 1.
SMIENBWhen set, SMI interrupt generation is enabled. This bit is shared by functions 0 and 1.
If CSC SMI interrupts are selected, then the SMI interrupt is sent as the CSC on a per-socket basis. The CSC interrupt
can be either level or edge mode, depending upon the CSCMODE bit in the ExCA global control register (ExCA offset
1Eh/5Eh/81Eh, see Section 5.20).
If IRQ2 is selected by SMIROUTE, then the IRQSER signaling protocol supports SMI signaling in the IRQ2 IRQ/Data
slot. In a parallel ISA IRQ system, the support for an active low IRQ2 is provided only if IRQ2 is routed to either
MFUNC3 or MFUNC6 through the multifunction routing register (PCI offset 8Ch, see Section 4.30).
3.8Power Management Overview
In addition to the low-power CMOS technology process used for the PCI1520, various features are designed into the
device to allow implementation of popular power-saving techniques. These features and techniques are discussed
in this section.
3.8.1Integrated Low-Dropout Voltage Regulator (LDO-VR)
The PCI1520 requires 2.5-V core voltage. The core power can be supplied by the PCI1520 itself using the internal
LDO-VR. The core power can alternatively be supplied by an external power supply through the VR_PORT terminal.
Table 3–13 lists the requirements for both the internal core power supply and the external core power supply.
Table 3–13. Requirements for Internal/External 2.5-V Core Power Supply
SUPPLYV
Internal3.3 VGND2.5-V outputInternal 2.5-V LDO-VR is enabled. A 1.0 µF bypass capacitor is required on the VR_PORT
External3.3 VV
VR_ENVR_PORTNOTE
CC
CC
2.5-V inputInternal 2.5-V LDO-VR is disabled. An external 2.5-V power supply, of minimum 50-mA
terminal for decoupling. This output is not for external use.
capacity, is required. A 0.1 µF bypass capacitor on the VR_PORT terminal is required.
3.8.2Clock Run Protocol
The PCI CLKRUN feature is the primary method of power management on the PCI interface of the PCI1520. CLKRUN
signaling is provided through the MFUNC6 terminal. Since some chip sets do not implement CLKRUN, this is not
always available to the system designer, and alternate power-saving features are provided. For details on the
CLKRUN
The PCI1520 does not permit the central resource to stop the PCI clock under any of the following conditions:
protocol see the PCI Mobile Design Guide.
•Bit 1 (KEEPCLK) in the system control register (PCI offset 80h, see Section 4.29) is set.
•The 16-bit PC Card- resource manager is busy.
•The PCI1520 CardBus master state machine is busy. A cycle may be in progress on CardBus.
•The PCI1520 master is busy. There may be posted data from CardBus to PCI in the PCI1520.
•Interrupts are pending.
•The CardBus CCLK for either socket has not been stopped by the PCI1520 CCLKRUN
manager.
3–19
The PCI1520 restarts the PCI clock using the CLKRUN protocol under any of the following conditions:
•A 16-bit PC Card IREQ
or a CardBus CINT has been asserted by either card.
•A CardBus CBWAKE (CSTSCHG) or 16-bit PC Card STSCHG
•A CardBus attempts to start the CCLK using CCLKRUN
•A CardBus card arbitrates for the CardBus bus using CREQ
.
/RI event occurs in either socket.
.
3.8.3CardBus PC Card Power Management
The PCI1520 implements its own card power-management engine that can turn off the CCLK to a socket when there
is no activity to the CardBus PC Card. The PCI clock-run protocol is followed on the CardBus CCLKRUN
to control this clock management.
interface
3.8.416-Bit PC Card Power Management
The COE bit (bit 7) of the ExCA power control register (ExCA offset 02h/42h/802h, see Section 5.3) and PWRDWN
bit (bit 0) of the ExCA global control register (ExCA offset 1Eh/5Eh/81Eh, see Section 5.20) bits are provided for 16-bit
PC Card power management. The COE bit places the card interface in a high-impedance state to save power. The
power savings when using this feature are minimal. The COE bit resets the PC Card when used, and the PWRDWN
bit does not. Furthermore, the PWRDWN bit is an automatic COE, that is, the PWRDWN performs the COE function
when there is no card activity.
NOTE: The 16-bit PC Card must implement the proper pullup resistors for the COE and
PWRDWN modes.
3.8.5Suspend Mode
The SUSPEND signal, provided for backward compatibility , gates the PRST (PCI reset) signal and the GRST (global
reset) signal from the PCI1520. Besides gating PRST
in order to minimize power consumption.
and GRST, SUSPEND also gates PCLK inside the PCI1520
Gating PCLK does not create any issues with respect to the power switch interface in the PCI1520. This is because
the PCI1520 does not depend on the PCI clock to clock the power switch interface. There are two methods to clock
the power switch interface in the PCI1520:
•Use an external clock to the PCI1520 CLOCK terminal
•Use the internal oscillator
It should also be noted that asynchronous signals, such as card status change interrupts and RI_OUT
to the host system without a PCI clock. However, if card status change interrupts are routed over the serial interrupt
stream, then the PCI clock must be restarted in order to pass the interrupt, because neither the internal oscillator nor
an external clock is routed to the serial-interrupt state machine. Figure 3–15 is a signal diagram of the suspend
function.
, can be passed
3–20
RESET
GNT
SUSPEND
PCLK
RESETIN
SUSPENDIN
PCLKIN
External T erminals
Internal Signals
Figure 3–15. Signal Diagram of Suspend Function
3.8.6Requirements for Suspend Mode
The suspend mode prevents the clearing of all register contents on the assertion of reset (PRST or GRST) which
would require the reconfiguration of the PCI1520 by software. Asserting the SUSPEND
signal places the PCI outputs
of the controller in a high-impedance state and gates the PCLK signal internally to the controller unless a PCI
transaction is currently in process (GNT
when SUSPEND
is asserted because the outputs are in a high-impedance state.
The GPIOs, MFUNC signals, and RI_OUT
is asserted). It is important that the PCI bus not be parked on the PCI1520
signal are all active during SUSPEND, unless they are disabled in the
appropriate PCI1520 registers.
3.8.7Ring Indicate
The RI_OUT output is an important feature in power management, allowing a system to go into a suspended mode
and wake up on modem rings and other card events. TI-designed flexibility permits this signal to fit wide platform
requirements. RI_OUT
•A 16-bit PC Card modem in a powered socket asserts RI
incoming call.
•A powered down CardBus card asserts CSTSCHG (CBWAKE) requesting system and interface wake up.
•A powered CardBus card asserts CSTSCHG from the insertion/removal of cards or change in battery
voltage levels.
on the PCI1520 can be asserted under any of the following conditions:
to indicate to the system the presence of an
Figure 3–16 shows various enable bits for the PCI1520 RI_OUT
function; however, it does not show the masking of
CSC events. See Table 3–9 for a detailed description of CSC interrupt masks and flags.
3–21
RI_OUT Function
CSTSMASK
PC Card
Socket 0
Card
PC Card
Socket 1
Card
I/F
I/F
CSC
RINGEN
RI
CDRESUME
CSC
CSTSMASK
CSC
RINGEN
RI
CDRESUME
CSC
RIENB
RI_OUT
Figure 3–16. RI_OUT Functional Diagram
RI
from the 16-bit PC Card interface is masked by bit 7 (RINGEN) in the ExCA interrupt and general control register
(ExCA offset 03h/43h/803h, see Section 5.4). This is programmed on a per-socket basis and is only applicable when
a 16-bit card is powered in the socket.
The CBWAKE signaling to RI_OUT
is enabled through the same mask as the CSC event for CSTSCHG. The mask
bit (bit 0, CSTSMASK) is programmed through the socket mask register (CB offset 04h, see Section 6.2) in the
CardBus socket registers.
RI_OUT
can be routed through any of three different pins, RI_OUT/PME, MFUNC2, or MFUNC4. The RI_OUT
function is enabled by setting RIENB in the card control register (PCI offset 91h, see Section 4.32). The PME function
is enabled by setting PMEEN in the power management control/status register (PCI offset A4h, see Section 4.38).
When RIMUX in the system control register (PCI offset 80h, see Section 4.29) is set to 0, both the RI_OUT
and the PME
the RI_OUT
using both the RI_OUT
function are routed to the RI_OUT/PME terminal. If both functions are enabled and RIMUX is set to 0,
/PME terminal becomes RI_OUT only and PME assertions will never be seen. Therefore, in a system
function and the PME function, RIMUX must be set to 1 and RI_OUT must be routed to either
function
MFUNC2 or MFUNC4.
3.8.8PCI Power Management
The PCI Bus Power Management Interface Specification for PCI to CardBus Bridges establishes the infrastructure
required to let the operating system control the power of PCI functions. This is done by defining a standard PCI
interface and operations to manage the power of PCI functions on the bus. The PCI bus and the PCI functions can
be assigned one of seven power-management states, resulting in varying levels of power savings.
The seven power-management states of PCI functions are:
•D0-uninitialized – Before device configuration, device not fully functional
•D0-active – Fully functional state
•D1 – Low-power state
•D2 – Low-power state
•D3
•D3
•D3
– Low-power state. Transition state before D3
hot
– PME signal-generation capable. Main power is removed and VAUX is available.
cold
– No power and completely nonfunctional
off
cold
3–22
NOTE 1: In the D0-uninitialized state, the PCI1520 does not generate PME
NOTE 2: The PWR_ST ATE bits (bits 0–1) of the power-management control/status register (PCI of fset A4h, see Section 4.38) only code for four
1) of the command register (PCI offset 04h, see Section 4.4) are both set, the PCI1520 switches the state to D0-active. Transition from
D3
to the D0-uninitialized state happens at the deassertion of PRST. The assertion of GRST forces the controller to the
cold
D0-uninitialized state immediately.
power states, D0, D1, D2, and D3
is not accessible in the D3
cold
. The differences between the three D3 states is invisible to the software because the controller
hot
or D3
off
state.
and/or interrupts. When the IO_EN and MEM_EN bits (bits 0 and
Similarly , bus power states of the PCI bus are B0–B3. The bus power states B0–B3 are derived from the device power
state of the originating bridge device.
For the operating system (OS) to manage the device power states on the PCI bus, the PCI function should support
four power-management operations. These operations are:
•Capabilities reporting
•Power status reporting
•Setting the power state
•System wake up
The OS identifies the capabilities of the PCI function by traversing the new capabilities list. The presence of
capabilities in addition to the standard PCI capabilities is indicated by a 1 in bit 4 (CAPLIST) of the status register (PCI
offset 06h, see Section 4.5).
The capabilities pointer provides access to the first item in the linked list of capabilities. For the PCI1520, a CardBus
bridge with PCI configuration space header type 2, the capabilities pointer is mapped to an offset of 14h. The first
byte of each capability register block is required to be a unique ID of that capability . PCI power management has been
assigned an ID of 01h. The next byte is a pointer to the next pointer item in the list of capabilities. If there are no more
items in the list, then the next item pointer must be set to 0. The registers following the next item pointer are specific
to the capability of the function. The PCI power-management capability implements the register block outlined in
Table 3–14.
The power management capabilities register (PCI offset A2h, see Section 4.37) provides information on the
capabilities of the function related to power management. The power-management control/status register (PCI offset
A4h, see Section 4.38) enables control of power-management states and enables/monitors power-management
events. The data register is an optional register that can provide dynamic data.
For more information on PCI power management, see the PCI Bus Power Management Interface Specification forPCI to CardBus Bridges.
3.8.9CardBus Bridge Power Management
The PCI Bus Power Management Interface Specification for PCI to CardBus Bridges was approved by PCMCIA in
December of 1997. This specification follows the device and bus state definitions provided in the PCI Bus PowerManagement Interface Specification published by the PCI Special Interest Group (SIG). The main issue addressed
in the PCI Bus Power Management Interface Specification for PCI to CardBus Bridges is wake-up from D3
without losing wake-up context (also called PME context).
hot
or D3
cold
3–23
The specific issues addressed by the PCI Bus Power Management Interface Specification for PCI to CardBus Bridges
for D3 wake up are as follows:
•Preservation of device context. The specification states that a reset must occur during the transition from
D3 to D0. Some method to preserve wake-up context must be implemented so that the reset does not clear
the PME
context registers.
•Power source in D3
if wake-up support is required from this state.
cold
The Texas Instruments PCI1520 addresses these D3 wake-up issues in the following manner:
•Two resets are provided to handle preservation of PME
–Global reset (GRST
) is used only on the initial boot up of the system after power up. It places the
context bits:
PCI1520 in its default state and requires BIOS to configure the device before becoming fully functional.
–PCI reset (PRST
then PME
context is preserved. If PME is not enabled, then PRST acts the same as a normal PCI reset.
Please see the master list of PME
•Power source in D3
auxiliary power source must be supplied to the PCI1520 V
) has dual functionality based on whether PME is enabled or not. If PME is enabled,
context bits in Section 3.8.11.
if wake-up support is required from this state. Since VCC is removed in D3
cold
terminals. Consult the PCI14xx
CC
cold
, an
Implementation Guide for D3 Wake-Up or the PCI Power Management Interface Specification for PCI to
CardBus Bridges for further information.
3.8.10 ACPI Support
The Advanced Configuration and Power Interface (ACPI) Specification provides a mechanism that allows unique
pieces of hardware to be described to the ACPI driver. The PCI1520 of fers a generic interface that is compliant with
ACPI design rules.
Two doublewords of general-purpose ACPI programming bits reside in PCI1520 PCI configuration space at offset
A8h. The programming model is broken into status and control functions. In compliance with ACPI, the top level event
status and enable bits reside in the general-purpose event status register (PCI offset A8h, see Section 4.41) and
general-purpose event enable register (PCI offset AAh, see Section 4.42). The status and enable bits are
implemented as defined by ACPI and illustrated in Figure 3–17.
Status Bit
Event Input
Enable Bit
Event Output
Figure 3–17. Block Diagram of a Status/Enable Cell
The status and enable bits generate an event that allows the ACPI driver to call a control method associated with the
pending status bit. The control method can then control the hardware by manipulating the hardware control bits or
by investigating child status bits and calling their respective control methods. A hierarchical implementation would
be somewhat limiting, however, as upstream devices would have to remain in some level of power state to report
events.
For more information of ACPI, see the Advanced Configuration and Power Interface (ACPI) Specification.
3–24
3.8.11 Master List of PME Context Bits and Global Reset-Only Bits
If the PME enable bit (bit 8) of the power-management control/status register (PCI offset A4h, see section 4.38) is
asserted, then the assertion of PRST
then the PME
context bits are cleared with PRST. The PME context bits are:
•Bridge control register (PCI offset 3Eh): bit 6
•System control register (PCI offset 80h): bits 10, 9, 8
•CardBus socket control register (CardBus offset 10h): bits 6–4, 2–0
will not clear the following PME context bits. If the PME enable bit is not asserted,
†
, 4–3, 1–0 († 82365SL mode only)
Global reset places all registers in their default state regardless of the state of the PME
is gated only by the SUSPEND
thus preserving all register contents. The registers cleared only by GRST
signal. This means that assertion of SUSPEND blocks the GRST signal internally,
are:
•Status register (PCI offset 06h): bits 15–11, 8
•Secondary status register (PCI offset 16h): bits 15–11, 8
•Serial bus slave address register (PCI offset B2h): bits 7–0
•Serial bus control and status register (PCI offset B3h): bits 7, 5–0
•ExCA identification and revision register (ExCA offset 00h): bits 7–0
•ExCA global control register (ExCA offset 1Eh): bits 2–0
•Socket present state register (CardBus offset 08h): bit 29
•Socket power management register (CardBus offset 20h): bits 25–24
enable bit. The GRST signal
3–25
4 PC Card Controller Programming Model
This section describes the PCI1520 PCI configuration registers that make up the 256-byte PCI configuration header
for each PCI1520 function. As noted, some bits are global in nature and are accessed only through function 0.
4.1PCI Configuration Registers (Functions 0 and 1)
The PCI1520 is a multifunction PCI device, and the PC Card controller is integrated as PCI functions 0 and 1. The
configuration header is compliant with the PCI Local Bus Specification as a CardBus bridge header and is PC 99
compliant as well. Table 4–1 shows the PCI configuration header , which includes both the predefined portion of the
configuration space and the user-definable registers.
Table 4–1. PCI Configuration Registers (Functions 0 and 1)
REGISTER NAMEOFFSET
Device IDVendor ID00h
StatusCommand04h
Class codeRevision ID08h
BISTHeader typeLatency timerCache line size0Ch
CardBus socket/ExCA base address10h
Secondary statusReservedCapability pointer14h
CardBus latency timerSubordinate bus numberCardBus bus numberPCI bus number18h
Serial bus control/statusSerial bus slave addressSerial bus indexSerial bus dataB0h
control/status bridge
support extensions
Power-management control/statusA4h
ReservedB4h–FCh
4–1
A bit description table, typically included when a register contains bits of more than one type or purpose, indicates
bit field names, which appear in the signal column; a detailed field description, which appears in the function column;
and field access tags, which appear in the type column of the bit description table. Table 4–2 describes the field
access tags.
Table 4–2. Bit Field Access Tag Descriptions
ACCESS TAGNAMEMEANING
RReadField may be read by software.
WWriteField may be written by software to any value.
SSetField may be set by a write of 1. Writes of 0 have no effect.
CClearField may be cleared by a write of 1. Writes of 0 have no effect.
UUpdateField may be autonomously updated by the PCI1520.
4.2Vendor ID Register
This 16-bit register contains a value allocated by the PCI Special Interest Group (SIG) and identifies the manufacturer
of the PCI device. The vendor ID assigned to TI is 104Ch.
Bit1514131211109876543210
NameVendor ID
TypeRRRRRRRRRRRRRRRR
Default0001000001001100
Register:Vendor ID
Offset:00h (functions 0, 1)
Type:Read-only
Default:104Ch
4.3Device ID Register
This 16-bit register contains a value assigned to the PCI1520 by TI. The device identification for the PCI1520 is
AC55h.
Bit1514131211109876543210
NameDevice ID
TypeRRRRRRRRRRRRRRRR
Default1010110001010101
Register:Device ID
Offset:02h (functions 0, 1)
Type:Read-only
Default:AC55h
4–2
4.4Command Register
The command register provides control over the PCI1520 interface to the PCI bus. All bit functions adhere to the
definitions in PCI Local Bus Specification. None of the bit functions in this register is shared between the two PCI1520
PCI functions. Two command registers exist in the PCI1520, one for each function. Software must manipulate the
two PCI1520 functions as separate entities when enabling functionality through the command register. The
SERR_EN and PERR_EN enable bits in this register are internally wired-OR between the two functions, and these
control bits appear separately according to their software function. See Table 4–3 for a complete description of the
register contents.
15–10RSVDRReserved. Bits 15–10 return 0s when read.
9FBB_ENR
8SERR_ENRW
7STEP_ENR
6PERR_ENRW
5VGA_ENRW
4MWI_ENR
3SPECIALR
2MAST_ENRW
1MEM_ENRW
0IO_ENRW
Fast back-to-back enable. The PCI1520 does not generate fast back-to-back transactions; therefore, bit 9
returns 0 when read.
System error (SERR) enable. Bit 8 controls the enable for the SERR driver on the PCI interface. SERR can
be asserted after detecting an address parity error on the PCI bus. Both bits 8 and 6 must be set for the
PCI1520 to report address parity errors.
0 = Disable SERR
1 = Enable SERR
Address/data stepping control. The PCI1520 does not support address/data stepping; therefore, bit 7 is
hardwired to 0.
Parity error response enable. Bit 6 controls the PCI1520 response to parity errors through PERR. Data parity
errors are indicated by asserting PERR
VGA palette snoop. Bit 5 controls how PCI devices handle accesses to video graphics array (VGA) palette
registers.
Memory write-and-invalidate enable. Bit 4 controls whether a PCI initiator device can generate memory
write-and-Invalidate commands. The PCI1520 controller does not support memory write-and-invalidate
commands, but uses memory write commands instead; therefore, this bit is hardwired to 0.
Special cycles. Bit 3 controls whether or not a PCI device ignores PCI special cycles. The PCI1520 does
not respond to special cycle operations; therefore, this bit is hardwired to 0.
Bus master control. Bit 2 controls whether or not the PCI1520 can act as a PCI bus initiator (master). The
PCI1520 can take control of the PCI bus only when this bit is set.
0 = Disables the PCI1520 from generating PCI bus accesses (default)
1 = Enables the PCI1520 to generate PCI bus accesses
Memory space enable. Bit 1 controls whether or not the PCI1520 can claim cycles in PCI memory space.
0 = Disables the PCI1520 from responding to memory space accesses (default)
1 = Enables the PCI1520 to respond to memory space accesses
I/O space control. Bit 0 controls whether or not the PCI1520 can claim cycles in PCI I/O space.
0 = Disables the PCI1520 from responding to I/O space accesses (default)
1 = Enables the PCI1520 to respond to I/O space accesses
output driver (default)
output driver
, whereas address parity errors are indicated by asserting SERR.
4–3
4.5Status Register
The status register provides device information to the host system. Bits in this register can be read normally. A bit
in the status register is reset when a 1 is written to that bit location; a 0 written to a bit location has no effect. All bit
functions adhere to the definitions in the PCI Local Bus Specification. PCI bus status is shown through each function.
See Table 4–4 for a complete description of the register contents.
15PAR_ERRRCDetected parity error. Bit 15 is set when a parity error is detected (either address or data).
14SYS_ERRRCSignaled system error. Bit 14 is set when SERR is enabled and the PCI1520 signals a system error to the host.
13MABORTRC
12TABT_RECRC
11TABT_SIGRC
10–9PCI_SPEEDR
8DATAPARRC
7FBB_CAPR
6UDFR
566MHZR
4CAPLISTR
3–0RSVDRReserved. Bits 3–0 return 0s when read.
Received master abort. Bit 13 is set when a cycle initiated by the PCI1520 on the PCI bus is terminated by a
master abort.
Received target abort. Bit 12 is set when a cycle initiated by the PCI1520 on the PCI bus is terminated by a target
abort.
Signaled target abort. Bit 1 1 is set by the PCI1520 when it terminates a transaction on the PCI bus with a target
abort.
DEVSEL timing. These bits encode the timing of DEVSEL and are hardwired 01b, indicating that the PCI1520
asserts PCI_SPEED at a medium speed on nonconfiguration cycle accesses.
Data parity error detected.
0 = The conditions for setting bit 8 have not been met.
1 = A data parity error occurred, and the following conditions were met:
a. PERR
b. The PCI1520 was the bus master during the data parity error.
c. The parity error response bit is set in the command register (PCI offset 04h, see Section 4.4).
Fast back-to-back capable. The PCI1520 cannot accept fast back-to-back transactions; therefore, bit 7 is
hardwired to 0.
User-definable feature support. The PCI1520 does not support the user-definable features; therefore, bit 6 is
hardwired to 0.
66-MHz capable. The PCI1520 operates at a maximum PCLK frequency of 33 MHz; therefore, bit 5 is hardwired
to 0.
Capabilities list. Bit 4 returns 1 when read. This bit indicates that capabilities in addition to standard PCI
capabilities are implemented. The linked list of PCI power-management capabilities is implemented in this
function.
was asserted by any PCI device including the PCI1520.
4–4
4.6Revision ID Register
The revision ID register indicates the silicon revision of the PCI1520.
Bit76543210
NameRevision ID
TypeRRRRRRRR
Default00000001
Register:Revision ID
Offset:08h (functions 0, 1)
Type:Read-only
Default:01h
4.7PCI Class Code Register
The class code register recognizes PCI1520 functions 0 and 1 as a bridge device (06h) and a CardBus bridge device
(07h), with a 00h programming interface.
Bit23222120191817161514131211109876543210
NamePCI class code
Register:PCI class code
Offset:09h (functions 0, 1)
Type:Read-only
Default:06 0700h
4.8Cache Line Size Register
The cache line size register is programmed by host software to indicate the system cache line size.
Bit76543210
NameCache line size
TypeRWRWRWRWRWRWRWRW
Default00000000
Register:Cache line size
Offset:0Ch (functions 0, 1)
Type:Read/Write
Default:00h
4–5
4.9Latency Timer Register
The latency timer register specifies the latency time for the PCI1520 in units of PCI clock cycles. When the PCI1520
is a PCI bus initiator and asserts FRAME
before the PCI1520 transaction has terminated, then the PCI1520 terminates the transaction when its GNT
, the latency timer begins counting from zero. If the latency timer expires
is
deasserted. This register is separate for each of the two PCI1520 functions. This allows platforms to prioritize use
of the PCI bus by the two PCI1520 functions.
This register returns 82h when read, indicating that the PCI1520 function 0 and 1 configuration spaces adhere to the
CardBus bridge PCI header. The CardBus bridge PCI header ranges from PCI register 000h to 7Fh, and 80h to FFh
is user-definable extension registers.
Bit76543210
NameHeader type
TypeRRRRRRRR
Default10000010
Register:Header type
Offset:0Eh (functions 0, 1)
Type:Read/Write
Default:82h
4.11 BIST Register
Because the PCI1520 does not support a built-in self-test (BIST), this register returns the value of 00h when read.
The CardBus socket/ExCA base-address register is programmed with a base address referencing the CardBus
socket registers and the memory-mapped ExCA register set. Bits 31–12 are read/write and allow the base address
to be located anywhere in the 32-bit PCI memory address space on a 4-Kbyte boundary. Bits 11–0 are read-only,
returning 0s when read. When software writes all 1s to this register, the value read back is FFFF F000h, indicating
that at least 4 Kbytes of memory address space are required. The CardBus registers start at offset 000h, and the
memory-mapped ExCA registers begin at offset 800h. Because this register is not shared by functions 0 and 1,
mapping of each socket control is performed separately.
The capability pointer register provides a pointer into the PCI configuration header where the PCI
power-management register block resides. PCI header doublewords at A0h and A4h provide the power-management
(PM) registers. Each socket has its own capability pointer register. This register returns A0h when read.
The secondary status register is compatible with the PCI-to-PCI bridge secondary status register and indicates
CardBus-related device information to the host system. This register is very similar to the status register (offset 06h,
see Section 4.5); status bits are cleared by writing a 1. See Table 4–5 for a complete description of the register
contents.
Bit1514131211109876543210
NameSecondary status
TypeRCRCRCRCRCRRRCRRRRRRRR
Default0000001000000000
Register:Secondary status
Offset:16h
Type:Read-only, Read/Clear
Default:0200h
Table 4–5. Secondary Status Register Description
BITSIGNALTYPEFUNCTION
15CBPARITYRCDetected parity error. Bit 15 is set when a CardBus parity error is detected (either address or data).
14CBSERRRC
13CBMABORTRC
12REC_CBTARC
11SIG_CBTARC
10–9CB_SPEEDR
8CB_DPARRC
7CBFBB_CAPR
6CB_UDFR
5CB66MHZR
4–0RSVDRReserved. Bits 4–0 return 0s when read.
Signaled system error. Bit 14 is set when CSERR is signaled by a CardBus card. The PCI1520 does not
assert CSERR
Received master abort. Bit 13 is set when a cycle initiated by the PCI1520 on the CardBus bus has been
terminated by a master abort.
Received target abort. Bit 12 is set when a cycle initiated by the PCI1520 on the CardBus bus is terminated
by a target abort.
Signaled target abort. Bit 1 1 is set by the PCI1520 when it terminates a transaction on the CardBus bus
with a target abort.
CDEVSEL timing. These bits encode the timing of CDEVSEL and are hardwired 01b, indicating that the
PCI1520 asserts CB_SPEED at a medium speed.
CardBus data parity error detected.
0 = The conditions for setting bit 8 have not been met.
1 = A data parity error occurred and the following conditions were met:
Fast back-to-back capable. The PCI1520 cannot accept fast back-to-back transactions; therefore, bit 7
is hardwired to 0.
User-definable feature support. The PCI1520 does not support user-definable features; therefore, bit 6
is hardwired to 0.
66-MHz capable. The PCI1520 CardBus interface operates at a maximum CCLK frequency of 33 MHz;
therefore, bit 5 is hardwired to 0.
.
a. CPERR
b. The PCI1520 was the bus master during the data parity error.
c. The parity error response bit is set in the bridge control.
was asserted on the CardBus interface.
4–8
4.15 PCI Bus Number Register
This register is programmed by the host system to indicate the bus number of the PCI bus to which the PCI1520 is
connected. The PCI1520 uses this register in conjunction with the CardBus bus number and subordinate bus number
registers to determine when to forward PCI configuration cycles to its secondary buses.
Bit76543210
NamePCI bus number
TypeRWRWRWRWRWRWRWRW
Default00000000
Register:PCI bus number
Offset:18h (functions 0, 1)
Type:Read/Write
Default:00h
4.16 CardBus Bus Number Register
This register is programmed by the host system to indicate the bus number of the CardBus bus to which the PCI1520
is connected. The PCI1520 uses this register in conjunction with the PCI bus number and subordinate bus number
registers to determine when to forward PCI configuration cycles to its secondary buses. This register is separate for
each PCI1520 controller function.
Bit76543210
NameCardBus bus number
TypeRWRWRWRWRWRWRWRW
Default00000000
Register:CardBus bus number
Offset:19h
Type:Read/Write
Default:00h
4.17 Subordinate Bus Number Register
This register is programmed by the host system to indicate the highest-numbered bus below the CardBus bus. The
PCI1520 uses this register in conjunction with the PCI bus number and CardBus bus number registers to determine
when to forward PCI configuration cycles to its secondary buses. This register is separate for each CardBus controller
function.
Bit76543210
NameSubordinate bus number
TypeRWRWRWRWRWRWRWRW
Default00000000
Register:Subordinate bus number
Offset:1Ah
Type:Read/Write
Default:00h
4–9
4.18 CardBus Latency Timer Register
This register is programmed by the host system to specify the latency timer for the PCI1520 CardBus interface in units
of CCLK cycles. When the PCI1520 is a CardBus initiator and asserts CFRAME
, the CardBus latency timer begins
counting. If the latency timer expires before the PCI1520 transaction has terminated, then the PCI1520 terminates
the transaction at the end of the next data phase. A recommended minimum value for this register is 40h, which allows
most transactions to be completed.
The memory base registers indicate the lower address of a PCI memory address range. These registers are used
by the PCI1520 to determine when to forward a memory transaction to the CardBus bus and when to forward a
CardBus cycle to PCI. Bits 31–12 of these registers are read/write and allow the memory base to be located anywhere
in the 32-bit PCI memory space on 4-Kbyte boundaries. Bits 11–0 are read-only and always return 0s. Write
transactions to these bits have no effect. Bits 8 and 9 of the bridge control register specify whether memory windows
0 and 1 are prefetchable or nonprefetchable. The memory base register or the memory limit register must be nonzero
for the PCI1520 to claim any memory transactions through CardBus memory windows (that is, these windows are
not enabled by default to pass the first 4 Kbytes of memory to CardBus).
Bit31302928272625242322212019181716
NameMemory base registers 0, 1
TypeRWRWRWRWRWRWRWRWRWRWRWRWRWRWRWRW
Default0000000000000000
Bit1514131211109876543210
NameMemory base registers 0, 1
TypeRWRWRWRWRRRRRRRRRRRR
Default0000000000000000
The memory limit registers indicate the upper address of a PCI memory address range. These registers are used
by the PCI1520 to determine when to forward a memory transaction to the CardBus bus and when to forward a
CardBus cycle to PCI. Bits 31–12 of these registers are read/write and allow the memory base to be located anywhere
in the 32-bit PCI memory space on 4-Kbyte boundaries. Bits 11–0 are read-only and always return 0s. Write
transactions to these bits have no effect. Bits 8 and 9 of the bridge control register specify whether memory windows
0 and 1 are prefetchable or nonprefetchable. The memory base register or the memory limit register must be nonzero
for the PCI1520 to claim any memory transactions through CardBus memory windows; that is, these windows are
not enabled by default to pass the first 4 Kbytes of memory to CardBus.
The I/O base registers indicate the lower address of a PCI I/O address range. These registers are used by the
PCI1520 to determine when to forward an I/O transaction to the CardBus bus and when to forward a CardBus cycle
to the PCI bus. The lower 16 bits of this register locate the bottom of the I/O window within a 64-Kbyte page, and the
upper 16 bits (31–16) are a page register which locates this 64-Kbyte page in 32-bit PCI I/O address space. Bits 31–2
are read/write. Bits 1 and 0 are read-only and always return 0s, forcing I/O windows to be aligned on a natural
doubleword boundary.
NOTE: Either the I/O base register or the I/O limit register must be nonzero to enable any I/O
transactions.
Bit31302928272625242322212019181716
NameI/O base registers 0, 1
TypeRWRWRWRWRWRWRWRWRWRWRWRWRWRWRWRW
Default0000000000000000
Bit1514131211109876543210
NameI/O base registers 0, 1
TypeRWRWRWRWRWRWRWRWRWRWRWRWRWRWRR
Default0000000000000000
The I/O limit registers indicate the upper address of a PCI I/O address range. These registers are used by the PCI1520
to determine when to forward an I/O transaction to the CardBus bus and when to forward a CardBus cycle to PCI.
The lower 16 bits of this register locate the top of the I/O window within a 64-Kbyte page, and the upper 16 bits are
a page register that locates this 64-Kbyte page in 32-bit PCI I/O address space. Bits 15–2 are read/write and allow
the I/O limit address to be located anywhere in the 64-Kbyte page (indicated by bits 31–16 of the appropriate I/O base)
on doubleword boundaries.
Bits 31–16 are read-only and always return 0s when read. The page is set in the I/O base register. Bits 1 and 0 are
read-only and always return 0s, forcing I/O windows to be aligned on a natural doubleword boundary. Write
transactions to read-only bits have no effect. The PCI1520 assumes that the lower 2 bits of the limit address are 1s.
NOTE: The I/O base or the I/O limit register must be nonzero to enable an I/O transaction.
The interrupt line register communicates interrupt line routing information. Each PCI1520 function has an interrupt
line register.
Bit76543210
NameInterrupt line
TypeRWRWRWRWRWRWRWRW
Default11111111
Register:Interrupt line
Offset:3Ch
Type:Read/Write
Default:FFh
4–12
4.24 Interrupt Pin Register
The value read from the interrupt pin register is function dependent and depends on the interrupt signaling mode,
selected through bits 2–1 (INTMODE field) of the device control register (PCI offset 92h, see Section 4.33) and the
state of bit 29 (INTRTIE) in the system control register (PCI offset 80h, see Section 4.29). When the INTRTIE bit is
set, this register reads 01h (INT A
) for both functions. See T able 4–6 for a complete description of the register contents.
Table 4–6. Interrupt Pin Register Cross Reference
INTRTIE BIT
001h02h
101h01h
FUNCTION 0FUNCTION 1
INTPIN
4–13
4.25 Bridge Control Register
The bridge control register provides control over various PCI1520 bridging functions. Some bits in this register are
global and are accessed only through function 0. See Table 4–7 for a complete description of the register contents.
Bit1514131211109876543210
NameBridge control
TypeRRRRRRWRWRWRWRWRWRRWRWRWRW
Default0000001101000000
Register:Bridge control
Offset:3Eh (functions 0, 1)
Type:Read-only, Read/Write
Default:0340h
Table 4–7. Bridge Control Register Description
BITSIGNALTYPEFUNCTION
15–11RSVDRReserved. Bits 15–11 return 0s when read.
Write posting enable. Enables write posting to and from the CardBus sockets. Write posting enables
10POSTENRW
9PREFETCH1RW
8PREFETCH0RW
7INTRRW
6CRSTRW
†
5
MABTMODERW
4RSVDRReserved. Bit 4 returns 0 when read.
3VGAENRW
2ISAENRW
†
1
0
†
This bit is global and is accessed only through function 0.
CSERRENRW
†
CPERRENRW
posting of write data on burst cycles. Operating with write posting disabled inhibits performance on burst
cycles. Note that burst write data can be posted, but various write transactions may not. Bit 10 is socket
dependent and is not shared between functions 0 and 1.
Memory window 1 type. Bit 9 specifies whether or not memory window 1 is prefetchable. This bit is socket
dependent. Bit 9 is encoded as:
0 = Memory window 1 is nonprefetchable.
1 = Memory window 1 is prefetchable (default).
Memory window 0 type. Bit 8 specifies whether or not memory window 0 is prefetchable. This bit is
encoded as:
0 = Memory window 0 is nonprefetchable.
1 = Memory window 0 is prefetchable (default).
PCI interrupt – IREQ routing enable. Bit 7 selects whether PC Card functional interrupts are routed to PCI
interrupts or the IRQ specified in the ExCA registers.
0 = Functional interrupts routed to PCI interrupts (default)
1 = Functional interrupts routed by ExCAs
CardBus reset. When bit 6 is set, CRST is asserted on the CardBus interface. CRST can also be asserted
by passing a PRST
0 = CRST
1 = CRST
Master abort mode. Bit 5 controls how the PCI1520 responds to a master abort when the PCI1520 is an
initiator on the CardBus interface. This bit is common between each socket.
0 = Master aborts not reported (default)
1 = Signal target abort on PCI and SERR
VGA enable. Bit 3 affects how the PCI1520 responds to VGA addresses. When this bit is set, accesses
to VGA addresses are forwarded.
ISA mode enable. Bit 2 affects how the PCI1520 passes I/O cycles within the 64-Kbyte ISA range. This
bit is not common between sockets. When this bit is set, the PCI1520 does not forward the last 768 bytes
of each 1K I/O range to CardBus.
CSERR enable. Bit 1 controls the response of the PCI1520 to CSERR signals on the CardBus bus. This
bit is common between the two sockets.
0 = CSERR is not forwarded to PCI SERR.
1 = CSERR
CardBus parity error response enable. Bit 0 controls the response of the PCI1520 to CardBus parity errors.
This bit is common between the two sockets.
0 = CardBus parity errors are ignored.
1 = CardBus parity errors are reported using CPERR
assertion to CardBus.
deasserted
asserted (default)
(if enabled)
is forwarded to PCI SERR.
.
4–14
4.26 Subsystem Vendor ID Register
The subsystem vendor ID register is used for system and option-card identification purposes and may be required
for certain operating systems. This register is read-only or read/write, depending on the setting of bit 5 (SUBSYSRW)
in the system control register (PCI offset 80h, see Section 4.29).
Bit1514131211109876543210
NameSubsystem vendor ID
TypeRRRRRRRRRRRRRRRR
Default0000000000000000
Register:Subsystem vendor ID
Offset:40h (functions 0, 1)
Type:Read-only (Read/Write if enabled by SUBSYSRW)
Default:0000h
4.27 Subsystem ID Register
The subsystem ID register is used for system and option-card identification purposes and may be required for certain
operating systems. This register is read-only or read/write, depending on the setting of bit 5 (SUBSYSRW) in the
system control register (PCI offset 80h, see Section 4.29).
Bit1514131211109876543210
NameSubsystem ID
TypeRRRRRRRRRRRRRRRR
Default0000000000000000
Register:Subsystem ID
Offset:42h (functions 0, 1)
Type:Read-only (Read/Write if enabled by SUBSYSRW)
Default:0000h
4.28 PC Card 16-Bit I/F Legacy-Mode Base Address Register
The PCI1520 supports the index/data scheme of accessing the ExCA registers, which are mapped by this register.
An address written to this register is the address for the index register and the address + 1 is the data address. Using
this access method, applications requiring index/data ExCA access can be supported. The base address can be
mapped anywhere in 32-bit I/O space on a word boundary; hence, bit 0 is read-only, returning 1 when read. As
specified in the PCI to PCMCIA CardBus Bridge Register Description (Yenta), this register is shared by functions 0
and 1. See Section 5, ExCA Compatibility Registers, for register offsets.
Bit31302928272625242322212019181716
NamePC Card 16-bit I/F legacy-mode base address
TypeRWRWRWRWRWRWRWRWRWRWRWRWRWRWRWRW
Default0000000000000000
Bit1514131211109876543210
NamePC Card 16-bit I/F legacy-mode base address
TypeRWRWRWRWRWRWRWRWRWRWRWRWRWRWRWR
Default0000000000000001
System-level initializations are performed by programming this doubleword register. Some of the bits are global and
are written only through function 0. See Table 4–8 for a complete description of the register contents.
Bit31302928272625242322212019181716
NameSystem control
TypeRWRWRWRRWRWRCRWRRWRWRWRWRWRWRW
Default0000000001000100
Bit1514131211109876543210
NameSystem control
TypeRWRWRRRRRRRRWRWRWRWRWRWRW
Default1001000001100000
Serialized PCI interrupt routing step. Bits 31 and 30 configure the serialized PCI interrupt stream signaling
and accomplish an even distribution of interrupts signaled on the four PCI interrupt slots. Bits 31 and 30 are
31–30†SER_STEPRW
†
29
28RSVDRReserved. Bit 28 returns 0 when read.
27
26SMIROUTERW
25SMISTATUSRC
24
23RSVDRReserved. Bit 23 returns 0 when read.
22CBRSVDRW
21VCCPROTRW
20REDUCEZVRW
19–16RSVDRWReserved. Do not change the default value.
15
14
13
12RSVDRReserved. Bit 12 returns 1 when read.
†
This bit is global and is accessed only through function 0.
INTRTIERW
†
P2CCLKRW
†
SMIENBRW
MRBURSTD
†
MRBURSTU
†
SOCACTIV
N
P
E
global to all PCI1520 functions.
00 = INTA
01 = INTA
10 = INTA
11 = INTA
Tie internal PCI interrupts. When this bit is set, the INT A and INTB signals are tied together internally and are
signaled as INT A
functions.
When configuring the PCI1520 functions to share PCI interrupts, multifunction terminal MFUNC3 must be
configured as IRQSER prior to setting the INTRTIE bit.
P2C power switch clock. The PCI1520 CLOCK signal is used to clock the serial interface power switch and
the internal state machine. The default state for bit 27 is 0, requiring an external clock source provided to the
CLOCK terminal (terminal number F15 for the GHK package or terminal number 154 for the PDV package).
Bit 27 can be set to 1, allowing the internal oscillator to provide the clock signal.
0 = CLOCK provided externally, input to PCI1520 (default)
1 = CLOCK generated by internal oscillator and driven by PCI1520.
SMI interrupt routing. Bit 26 is shared between functions 0 and 1, and selects whether IRQ2 or CSC is signaled
when a write occurs to power a PC Card socket.
0 = PC Card power change interrupts routed to IRQ2 (default)
1 = A CSC interrupt is generated on PC Card power changes.
SMI interrupt status. This socket-dependent bit is set when bit 24 (SMIENB) is set and a write occurs to set
the socket power. W riting a 1 to bit 25 clears the status.
SMI interrupt mode enable. When bit 24 is set and a write to the socket power control occurs, the SMI interrupt
signaling is enabled and generates an interrupt. This bit is shared and defaults to 0 (disabled).
CardBus reserved terminals signaling. When a CardBus card is inserted and bit 22 is set, the RSVD CardBus
terminals are driven low. When this bit is 0, these terminals are placed in a high-impedance state.
0 = Place CardBus RSVD terminals in a high-impedance state.
1 = Drive Cardbus RSVD terminals low (default).
VCC protection enable. Bit 21 is socket dependent.
0 = VCC protection enabled for 16-bit cards (default)
1 = VCC protection disabled for 16-bit cards
Reduced zoomed video enable. When this bit is enabled, terminals A25–A22 of the card interface for PC
Card-16 cards are placed in the high-impedance state. This bit should not be set for normal ZV operation. This
bit is encoded as:
0 = Reduced zoomed video disabled (default)
1 = Reduced zoomed video enabled
Memory read burst enable downstream. When bit 15 is set, memory read transactions are allowed to burst
downstream.
RW
RW
R
0 = Downstream memory read burst is disabled.
1 = Downstream memory read burst is enabled (default).
Memory read burst enable upstream. When bit 14 is set, the PCI1520 allows memory read transactions to
burst upstream.
0 = Upstream memory read burst is disabled (default).
1 = Upstream memory read burst is enabled.
Socket activity status. When set, bit 13 indicates access has been performed to or from a PC card and is
cleared upon read of this status bit. This bit is socket-dependent.
0 = No socket activity (default)
1 = Socket activity
/INTB signal in INTA/INTB IRQSER slots
/INTB signal in INTB/INTC IRQSER slots
/INTB signal in INTC/INTD IRQSER slots
/INTB signal in INTD/INTA IRQSER slots
. INTA can then be shifted by using bits 31–30 (SER_STEP). This bit is global to all PCI1520
4–17
Table 4–8. System Control Register Description (Continued)
BITSIGNALTYPEFUNCTION
Power stream in progress status bit. When set, bit 11 indicates that a power stream to the power switch
†
11
10
†
This bit is global and is accessed only through function 0.
PWRSTREAMR
†
†
9
8INTERROGATER
7RSVDRReserved. Bit 7 returns 0 when read.
6PWRSAVINGSRW
†
5
†
4
3RSVDRWReserved. Do not change the default value.
2EXCAPOWERRW
†
1
0RIMUXRW
DELAYUPR
DELAYDOWNR
SUBSYSRWRW
CB_DPARRW
KEEPCLKRW
is in progress and a powering change has been requested. This bit is cleared when the power stream is
complete.
0 = Power stream is complete and delay has expired.
1 = Power stream is in progress.
Power-up delay in progress status. When set, bit 10 indicates that a power-up stream has been sent to
the power switch and proper power may not yet be stable. This bit is cleared when the power-up delay has
expired.
Power-down delay in progress status. When set, bit 9 indicates that a power-down stream has been sent
to the power switch and proper power may not yet be stable. This bit is cleared when the power-down delay
has expired.
Interrogation in progress. When set, bit 8 indicates an interrogation is in progress and clears when
interrogation completes. This bit is socket dependent.
0 = Interrogation not in progress (default)
1 = Interrogation in progress
Power savings mode enable. When this bit is set, if a CB card is inserted, idle, and without a CB clock,
then the applicable CB state machine will not be clocked.
Subsystem ID (PCI offset 42h, see Section 4.27), subsystem vendor ID (PCI offset 40H, see
Section 4.26), ExCA identification and revision (ExCA offset 00h/40h/800h, see Section 5.1) registers
read/write enable. Bit 5 is shared by functions 0 and 1.
0 = Subsystem ID, subsystem vendor ID, ExCA identification and revision registers are read/write.
1 = Subsystem ID, subsystem vendor ID, ExCA identification and revision registers are read-only
(default).
CardBus data parity SERR signaling enable
0 = CardBus data parity not signaled on PCI SERR
1 = CardBus data parity signaled on PCI SERR
ExCA power-control bit.
0 = Enables 3.3 V
1 = Enables 5 V
Keep clock. This bit works with PCI and CB CLKRUN protocols.
0 = Allows normal functioning of both CLKRUN
1 = Does not allow CB clock or PCI clock to be stopped using the CLKRUN
RI_OUT/PME multiplex enable.
0 = RI_OUT
at the same time, the terminal becomes RI_OUT
1 = Only PME
and PME are both routed to the RI_OUT/PME terminal. If both functions are are enabled
is routed to the RI_OUT/PME terminal.
protocols (default)
protocols
only and PME assertions are not seen.
4–18
4.30 Multifunction Routing Register
The multifunction routing register is used to configure the MFUNC0–MFUNC6 terminals. These terminals may be
configured for various functions. All multifunction terminals default to the general-purpose input configuration. This
register is intended to be programmed once at power-on initialization. The default value for this register can also be
loaded through a serial bus EEPROM. See Table 4–9 for a complete description of the register contents.
The retry status register enables the retry timeout counters and displays the retry expiration status. The flags are set
when the PCI1520 retries a PCI or CardBus master request and the master does not return within 2
15
PCI clock
cycles. The flags are cleared by writing a 1 to the bit. These bits are expected to be incorporated into the PCI
command, PCI status, and bridge control registers by the PCI SIG. Access this register only through function 0. See
Table 4–10 for a complete description of the register contents.
Bit76543210
NameRetry status
TypeRWRWRCRRCRRCR
Default11000000
Register:Retry status
Offset:90h (functions 0, 1)
Type:Read-only, Read/Write, Read/Clear
Default:C0h
Table 4–10. Retry Status Register Description
BITSIGNALTYPEFUNCTION
PCI retry timeout counter enable. Bit 7 is encoded:
7PCIRETRYRW
†
6
CBRETRYRW
5TEXP_CBBRC
4RSVDRReserved. Bit 4 returns 0 when read.
†
3
TEXP_CBARC
2RSVDRReserved. Bit 2 returns 0 when read.
1TEXP_PCIRC
0RSVDRReserved. Bit 0 returns 0 when read.
†
This bit is global and is accessed only through function 0.
CardBus target B retry expired. Write a 1 to clear bit 5.
0 = Inactive (default)
1 = Retry has expired
CardBus target A retry expired. Write a 1 to clear bit 3.
0 = Inactive (default)
1 = Retry has expired.
PCI target retry expired. Write a 1 to clear bit 1.
0 = Inactive (default)
1 = Retry has expired.
4–21
4.32 Card Control Register
The card control register is provided for PCI1130 compatibility. RI_OUT is enabled through this register, and the
enable bit is shared between functions 0 and 1. See Table 4–11 for a complete description of the register contents.
Bit76543210
NameCard control
TypeRWRWRWRRRWRWRC
Default00000000
Register:Card control
Offset:91h
Type:Read-only, Read/Write, Read/Clear
Default:00h
Table 4–11. Card Control Register Description
BITSIGNALTYPEFUNCTION
Ring indicate output enable.
†
7
6ZVENABLERW
5PORT_SELRW
4–3RSVDRReserved. Bits 4 and 3 return 0 when read.
2AUD2MUXRW
1SPKROUTENRW
0IFGRC
†
This bit is global and is accessed only through function 0.
RIENBRW
0 = Disables any routing of RI_OUT
1 = Enables RI_OUT
and for routing to MFUNC2 or MFUNC4
Compatibility ZV mode enable. When set, the corresponding PC Card socket interface ZV terminals enter
a high-impedance state. This bit defaults to 0.
Port select. This bit controls the priority for the ZVSEL0 and ZVSEL1 signaling if bit 6 (ZVENABLE) is set
in both functions.
0 = Socket 0 takes priority, as signaled through ZVSEL0, when both sockets are in ZV mode.
1 = Socket 1 takes priority, as signaled through ZVSEL1
CardBus audio-to-IRQMUX. When set, the CAUDIO CardBus signal is routed to the corresponding
multifunction terminal which may be configured for CAUDPWM. When both socket 0 and 1 functions have
AUD2MUX set, socket 0 takes precedence.
Speaker out enable. When bit 1 is set, SPKR on the PC Card is enabled and is routed to SPKROUT . The
SPKR
signal from socket 0 is XORed with the SPKR signal from socket 1 and sent to SPKROUT. The
SPKROUT terminal drives data only when the SPKROUTEN bit of either function is set. This bit is encoded
as:
0 = SPKR
1 = SPKR
Interrupt flag. Bit 0 is the interrupt flag for 16-bit I/O PC Cards and for CardBus cards. Bit 0 is set when a
functional interrupt is signaled from a PC Card interface and is socket dependent (that is, not global). Write
back a 1 to clear this bit.
0 = No PC Card functional interrupt detected (default).
1 = PC Card functional interrupt detected.
to SPKROUT not enabled
to SPKROUT enabled
signal for routing to the RI_OUT/PME terminal, when RIMUX is set to 0,
signal (default)
, when both sockets are in ZV mode.
4–22
4.33 Device Control Register
The device control register is provided for PCI1130 compatibility and contains bits that are shared between functions
0 and 1. The interrupt mode select is programmed through this register which is composed of PCI1520 global bits.
The socket-capable force bits are also programmed through this register. See Table 4–12 for a complete description
of the register contents.
Bit76543210
NameDevice control
TypeRWRWRWRRWRWRWRW
Default01100110
Register:Device control
Offset:92h (functions 0, 1)
Type:Read-only, Read/Write
Default:66h
Table 4–12. Device Control Register Description
BITSIGNALTYPEFUNCTION
Socket power lock bit. When this bit is set to 1, software cannot power down the PC Card socket while
7SKTPWR_LOCKRW
†
6
5IO16V2RWDiagnostic bit. This bit defaults to 1.
4RSVDRReserved. Bit 4 returns 0 when read.
3
2–1INTMODERW
0
†
This bit is global and is accessed only through function 0.
3VCAPABLERW
†
†
TESTRWTI test. Only a 0 should be written to bit 3.
RSVDRWReserved. Bit 0 is reserved for test purposes. Only 0 should be written to this bit.
in D3. This may be necessary to support wake on LAN or RING if the operating system is programmed
to power down a socket when the CardBus controller is placed in the D3 state.
3-V socket capable force
0 = Not 3-V capable
1 = 3-V capable (default)
Interrupt signaling mode. Bits 2 and 1 select the interrupt signaling mode. The interrupt signaling
mode bits are encoded:
00 = Parallel PCI interrupts only
01 = Parallel IRQ and parallel PCI interrupts
10 = IRQ serialized interrupts and parallel PCI interrupt
11 = IRQ and PCI serialized interrupts (default)
4–23
4.34 Diagnostic Register
The diagnostic register is provided for internal TI test purposes. It is a read/write register, but only 0s should be written
to it. See Table 4–13 for a complete description of the register contents.
This bit is global and is accessed only through function 0.
TRUE_VALRW
†
†
†
†
DIAG4RWDiagnostic RETRY_DIS. Delayed transaction disable.
DIAG3RWDiagnostic RETRY_EXT. Extends the latency from 16 to 64.
DIAG2RWDiagnostic DISCARD_TIM_SEL_CB. Set = 210, reset = 215.
DIAG1RWDiagnostic DISCARD_TIM_SEL_PCI. Set = 210, reset = 215.
This bit defaults to 0. This bit is encoded as:
0 = Reads true values in PCI vendor ID and PCI device ID registers (default)
1 = Reads all 1s in reads from the PCI vendor ID and PCI device ID registers
CSC interrupt routing control
0 = CSC interrupts routed to PCI if ExCA 803 bit 4 = 1
1 = CSC interrupts routed to PCI if ExCA 805 bits 7–4 = 0000b (default)
In this case, the setting of ExCA 803 bit 4 is a don’t care.
Standardized zoomed video register model enable.
0 = Enable the standardized zoomed video register model (default).
1 = Disable the standardized zoomed video register model.
4–24
4.35 Capability ID Register
The capability ID register identifies the linked list item as the register for PCI power management. The register returns
01h when read, which is the unique ID assigned by the PCI SIG for the PCI location of the capabilities pointer and
the value.
Bit76543210
NameCapability ID
TypeRRRRRRRR
Default00000001
Register:Capability ID
Offset:A0h
Type:Read-only
Default:01h
4.36 Next-Item Pointer Register
The next-item pointer register indicates the next item in the linked list of the PCI power-management capabilities.
Because the PCI1520 functions include only one capabilities item, this register returns 0s when read.
This register contains information on the capabilities of the PC Card function related to power management. Both
PCI1520 CardBus bridge functions support D0, D1, D2, and D3 power states. See Table 4–14 for a complete
description of the register contents.
PME support. This 5-bit field indicates the power states from which the PCI1520 device functions may
assert PME
power state. These five bits return 11111b when read. Each of these bits is described below:
15PME_SupportRWBit 15 defaults to the value 1 indicating the PME signal can be asserted from the D3
14–11PME_SupportRBit 14 contains the value 1, indicating that the PME signal can be asserted from D3
10D2_SupportR
9D1_SupportR
8–6RSVDRReserved. Bits 8–6 return 0s when read.
5DSIR
4AUX_PWRR
3PMECLKR
2–0VERSIONR
R/W because wake-up support from D3
to the VCC terminals. If the system designer chooses not to provide an auxiliary power source to the V
terminals for D3
Bit 13 contains the value 1, indicating that the PME
Bit 12 contains the value 1, indicating that the PME
Bit 11 contains the value 1, indicating that the PME
D2 support. Bit 10 returns a 1 when read, indicating that the CardBus function supports the D2 device
power state.
D1 support. Bit 9 returns a 1 when read, indicating that the CardBus function supports the D1 device
power state.
Device-specific initialization. Bit 5 returns 1 when read, indicating that the CardBus controller function
requires special initialization (beyond the standard PCI configuration header) before the generic-class
device driver is able to use it.
Auxiliary power source. Bit 4 is meaningful only if bit 15 (PME_Support, D3
it indicates that support for PME
proprietary delivery vehicle. When bit 4 is 0, it indicates that the function supplies its own auxiliary power
source.
PME clock. Bit 3 returns 0 when read, indicating that no host bus clock is required for the PCI1520 to
generate PME
Version. Bits 2–0 return 010b when read, indicating that the power-management registers (PCI offsets
A4h–A7h, see Sections 4.38–4.40) are defined in the PCI Bus Power Management Interface Specification
version 1.1.
. A 0 (zero) for any bit indicates that the function cannot assert the PME signal while in that
state. This bit is
is contingent on the system providing an auxiliary power source
cold
wake-up support, then BIOS should write a 0 to this bit.
cold
signal can be asserted from D2 state.
signal can be asserted from D1 state.
signal can be asserted from the D0 state.
in D3
.
requires auxiliary power supplied by the system by way of a
cold
cold
cold
CC
state.
hot
) is set. When bit 4 is set,
4–26
4.38 Power-Management Control/Status Register
The power-management control/status register determines and changes the current power state of the PCI1520
CardBus function. The contents of this register are not affected by the internally-generated reset caused by the
transition from D3
transition. TI-specific registers, PCI power-management registers, and the PC Card 16-bit legacy-mode base
address register (PCI offset 44h, see Section 4.28) are not reset. See Table 4–15 for a complete description of the
register contents.
PME status. Bit 15 is set when the CardBus function would normally assert PME, independent
of the state of bit 8 (PME_EN). Bit 15 is cleared by a writeback of 1, and this also clears the PME
signal if PME was asserted by this function. Writing a 0 to this bit has no effect.
Data scale. This 2-bit field returns 0s when read. The CardBus function does not return any
dynamic data.
Data select. This 4-bit field returns 0s when read. The CardBus function does not return any
dynamic data.
PME enable. Bit 8 enables the function to assert PME. If this bit is cleared, then assertion of PME
is disabled.
Power state. This 2-bit field is used both to determine the current power state of a function and
to set the function into a new power state. This field is encoded as:
00 = D0
01 = D1
10 = D2
11 = D3
hot
to D0 state
hot
4–27
4.39 Power-Management Control/Status Register Bridge Support Extensions
The power-management control/status register bridge support extensions support PCI bridge specific functionality .
See Table 4–16 for a complete description of the register contents.
Bit76543210
NamePower-management control/status register bridge support extensions
TypeRRRRRRRR
Default11000000
Table 4–16. Power-Management Control/Status Register Bridge Support Extensions Description
BITSIGNALTYPEFUNCTION
BPCC_Enable. Bus power/clock control enable. This bit returns 1 when read.
This bit is encoded as:
0 = Bus power/clock control is disabled.
1 = Bus power/clock control is enabled (default).
7BPCC_ENR
6B2_B3R
5–0RSVDRReserved. Bits 5–0 return 0s when read.
A 0 indicates that the bus power/clock control policies defined in the PCI Bus Power ManagementInterface Specification are disabled. When the bus power/clock control enable mechanism is disabled,
the bridge power-management control/status register power state field (see Section 4.38, bits 1–0)
cannot be used by the system software to control the power or the clock of the bridge secondary bus. A
1 indicates that the bus power/clock control mechanism is enabled.
B2/B3 support for D3
programming the function to D3
as:
0 = When the bridge is programmed to D3
1 = When the bridge function is programmed to D3
stopped (B2) (default).
. The state of this bit determines the action that is to occur as a direct result of
hot
. This bit is only meaningful if bit 7 (BPCC_EN) is a 1. This bit is encoded
hot
, its secondary bus has its power removed (B3).
hot
, its secondary bus PCI clock is
hot
4.40 Power-Management Data Register
The power-management data register returns 0s when read, because the CardBus functions do not report dynamic
data.
Bit76543210
NamePower-management data
TypeRRRRRRRR
Default00000000
Register:Power-management data
Offset:A7h (functions 0, 1)
Type:Read-only
Default:00h
4–28
4.41 General-Purpose Event Status Register
The general-purpose event status register contains status bits that are set when events occur that are controlled by
the general-purpose control register. The bits in this register and the corresponding GPE
to the corresponding bit location. The status bits in this register do not depend upon the states of corresponding bits
in the general-purpose enable register. Access this register only through function 0. See Table 4–17 for a complete
description of the register contents.
Bit1514131211109876543210
NameGeneral-purpose event status
TypeRCRCRRRCRRRCRRRRCRCRCRCRC
Default0000000000000000
Register:General-purpose event status
Offset:A8h (function 0)
Type:Read-only, Read/Clear
Default:0000h
Table 4–17. General-Purpose Event Status Register Description
BITSIGNALTYPEFUNCTION
15ZV0_STSRC
14ZV1_STSRC
13–12RSVDRReserved. Bits 13 and 12 return 0s when read.
11PWR_STSRC
10–9RSVDRReserved. Bits 10 and 9 return 0s when read.
8VPP12_STSRC
7–5RSVDRReserved. Bits 7–5 return 0s when read.
4GP4_STSRCGPI4 Status. Bit 4 is set on a change in status of the MFUNC5 terminal input level.
3GP3_STSRCGPI3 Status. Bit 3 is set on a change in status of the MFUNC4 terminal input level .
2GP2_STSRCGPI2 Status. Bit 2 is set on a change in status of the MFUNC2 terminal input level.
1GP1_STSRCGPI1 Status. Bit 1 is set on a change in status of the MFUNC1 terminal input level.
0GP0_STSRCGPI0 Status. Bit 0 is set on a change in status of the MFUNC0 terminal input level.
PC Card socket 0 ZV status. Bit 15 is set on a change in status of bit 6 (ZVENABLE) in the function 0 card
control register (PCI offset 91h, see Section 4.32).
PC Card socket 1 ZV status. Bit 14 is set on a change in status of bit 6 (ZVENABLE) in the function 1 card
control register (PCI offset 91h, see Section 4.32).
Power-change status. Bit 1 1 is set when software has changed the power state of either socket. A change
in either VCC or VPP for either socket causes this bit to be set.
12-V VPP request status. Bit 8 is set when software has changed the requested VPP level to or from 12 V
for either of the two PC Card sockets.
are cleared by writing a 1
4–29
4.42 General-Purpose Event Enable Register
The general-purpose event enable register contains bits that are set to enable a GPE signal. The GPE signal is driven
until the corresponding status bit is cleared and the event is serviced. The GPE
multifunction terminals, MFUNC6–MFUNC0, is configured for GPE
signaling. Access this register only through
function 0. See Table 4–18 for a complete description of the register contents.
13–12RSVDRReserved. Bits 13 and 12 return 0s when read.
11PWR_ENRW
10–9RSVDRReserved. Bits 10 and 9 return 0s when read.
8VPP12_ENRW
7–5RSVDRReserved. Bits 7–5 return 0s when read.
4GP4_ENRW
3GP3_ENRW
2GP2_ENRW
1GP1_ENRW
0GP0_ENRW
PC Card socket 0 ZV enable. When bit 15 is set, a GPE is signaled on a change in status of bit 6
(ZVENABLE) in the function 0 card control register (PCI offset 91h, see Section 4.32).
PC Card socket 1 ZV enable. When bit 14 is set, a GPE is signaled on a change in status of bit 6
(ZVENABLE) in the function 1 card control register (PCI offset 91h, see Section 4.32).
Power change enable. When bit 11 is set, a GPE is signaled on when software has changed the power
state of either socket.
12-V VPP request enable. When bit 8 is set, a GPE is signaled when software has changed the requested
VPP level to or from 12 V for either card socket.
GPI4 enable. When bit 4 is set, a GPE is signaled when there has been a change in status of the MFUNC5
terminal input level if configured as GPI4.
GPI3 enable. When bit 3 is set, a GPE is signaled when there has been a change in status of the MFUNC4
terminal input level if configured as GPI3.
GPI2 enable. When bit 2 is set, a GPE is signaled when there has been a change in status of the MFUNC2
terminal input if configured as GPI2.
GPI1 enable. When bit 1 is set, a GPE is signaled when there has been a change in status of the MFUNC1
terminal input if configured as GPI1.
GPI0 enable. When bit 0 is set, a GPE is signaled when there has been a change in status of the MFUNC0
terminal input if configured as GPI0.
can only be signaled if one of the
4–30
4.43 General-Purpose Input Register
The general-purpose input register provides the logical value of the data input from the GPI terminals, MFUNC5,
MFUNC4, and MFUNC2–MFUNC0. Access this register only through function 0. See Table 4–19 for a complete
description of the register contents.
4GPI4_DATARGPI4 data bit. The value read from bit 4 represents the logical value of the data input from the MFUNC5 terminal.
3GPI3_DATARGPI3 data bit. The value read from bit 3 represents the logical value of the data input from the MFUNC4 terminal.
2GPI2_DATARGPI2 data bit. The value read from bit 2 represents the logical value of the data input from the MFUNC2 terminal.
1GPI1_DATARGPI1 data bit. The value read from bit 1 represents the logical value of the data input from the MFUNC1 terminal.
0GPI0_DATARGPI0 data bit. The value read from bit 0 represents the logical value of the data input from the MFUNC0 terminal.
4–31
4.44 General-Purpose Output Register
The general-purpose output register is used for control of the general-purpose outputs. Access this register only
through function 0. See Table 4–20 for a complete description of the register contents.
GPO4 data bit. The value written to bit 4 represents the logical value of the data driven to the MFUNC5
terminal if configured as GPO4. Read transactions return the last data value written.
GPIO3 data bit. The value written to bit 3 represents the logical value of the data driven to the MFUNC4
terminal if configured as GPO3. Read transactions return the last data value written.
GPO2 data bit. The value written to bit 2 represents the logical value of the data driven to the MFUNC2
terminal if configured as GPO2. Read transactions return the last data value written.
GPO1 data bit. The value written to bit 1 represents the logical value of the data driven to the MFUNC1
terminal if configured as GPO1. Read transactions return the last data value written.
GPO0 data bit. The value written to bit 0 represents the logical value of the data driven to the MFUNC0
terminal if configured as GPO0. Read transactions return the last data value written.
4.45 Serial-Bus Data Register
The serial-bus data register is for programmable serial-bus byte reads and writes. This register represents the data
when generating cycles on the serial bus interface. To write a byte, this register must be programmed with the data,
the serial bus index register must be programmed with the byte address, the serial-bus slave address must be
programmed with the 7-bit slave address, and the read/write indicator bit must be reset.
On byte reads, the byte address is programmed into the serial-bus index register, the serial bus slave address register
must be programmed with both the 7-bit slave address and the read/write indicator bit, and bit 5 (REQBUSY) in the
serial bus control and status register (PCI offset B3h, see Section 4.48) must be polled until clear. Then the contents
of this register are valid read data from the serial bus interface. See Table 4–21 for a complete description of the
register contents.
Bit76543210
NameSerial-bus data
TypeRWRWRWRWRWRWRWRW
Default00000000
Register:Serial-bus data
Offset:B0h (function 0)
Type:Read/Write
Default:00h
Table 4–21. Serial-Bus Data Register Description
BITSIGNALTYPEFUNCTION
7–0SBDATARW
Serial-bus data. This bit field represents the data byte in a read or write transaction on the serial interface.
On reads, the REQBUSY bit must be polled to verify that the contents of this register are valid.
4–32
4.46 Serial-Bus Index Register
The serial-bus index register is for programmable serial-bus byte reads and writes. This register represents the byte
address when generating cycles on the serial-bus interface. To write a byte, the serial-bus data register must be
programmed with the data, this register must be programmed with the byte address, and the serial-bus slave address
register must be programmed with both the 7-bit slave address and the read/write indicator bit.
On byte reads, the word address is programmed into this register, the serial-bus slave address must be programmed
with both the 7-bit slave address and the read/write indicator bit, and bit 5 (REQBUSY) in the serial-bus control and
status register (see Section 4.48) must be polled until clear. Then the contents of the serial-bus data register are valid
read data from the serial-bus interface. See Table 4–22 for a complete description of the register contents.
Bit76543210
NameSerial-bus index
TypeRWRWRWRWRWRWRWRW
Default00000000
Register:Serial-bus index
Offset:B1h (function 0)
Type:Read/Write
Default:00h
Table 4–22. Serial-Bus Index Register Description
BITSIGNALTYPEFUNCTION
7–0SBINDEXRWSerial-bus index. This bit field represents the byte address in a read or write transaction on the serial interface.
4.47 Serial-Bus Slave Address Register
The serial-bus slave address register is for programmable serial-bus byte read and write transactions. To write a byte,
the serial-bus data register must be programmed with the data, the serial-bus index register must be programmed
with the byte address, and this register must be programmed with both the 7-bit slave address and the read/write
indicator bit.
On byte reads, the byte address is programmed into the serial bus index register, this register must be programmed
with both the 7-bit slave address and the read/write indicator bit, and bit 5 (REQBUSY) in the serial-bus control and
status register (PCI offset B3h, see Section 4.48) must be polled until clear. Then the contents of the serial-bus data
register are valid read data from the serial-bus interface. See Table 4–23 for a complete description of the register
contents.
Serial-bus slave address. This bit field represents the slave address of a read or write transaction on the
serial interface.
Read/write command. Bit 0 indicates the read/write command bit presented to the serial bus on byte read
and write accesses.
0 = A byte write access is requested to the serial bus interface.
1 = A byte read access is requested to the serial bus interface.
4–33
4.48 Serial-Bus Control and Status Register
The serial-bus control and status register communicates serial-bus status information and selects the quick
command protocol. Bit 5 (REQBUSY) in this register must be polled during serial-bus byte reads to indicate when
data is valid in the serial-bus data register. See Table 4–24 for a complete description of the register contents.
Bit76543210
NameSerial-bus control and status
TypeRWRRRRCRWRCRC
Default00000000
Register:Serial-bus control and status
Offset:B3h (function 0)
Type:Read-only, Read/Write, Read/Clear
Default:00h
Table 4–24. Serial-Bus Control and Status Register Description
BITSIGNALTYPEFUNCTION
Protocol select. When bit 7 is set, the send-byte protocol is used on write requests and the receive-byte
7PROT_SELRW
6RSVDRReserved. Bit 6 returns 0 when read.
5REQBUSYR
4ROMBUSYR
3SBDETECTRC
2SBTESTRW
1REQ_ERRRC
0ROM_ERRRC
protocol is used on read commands. The word-address byte in the serial-bus index register (PCI offset B1h,
see Section 4.46) is not output by the PCI1520 when bit 7 is set.
Requested serial-bus access busy. Bit 5 indicates that a requested serial-bus access (byte read or write)
is in progress. A request is made, and bit 5 is set, by writing to the serial-bus slave address register (PCI
offset B2h, see Section 4.47). Bit 5 must be polled on reads from the serial interface. After the byte read
access has been requested, the read data is valid in the serial-bus data register.
Serial EEPROM busy status. Bit 4 indicates the status of the PCI1520 serial EEPROM circuitry. Bit 4 is set
during the loading of the subsystem ID and other default values from the serial-bus EEPROM.
0 = Serial EEPROM circuitry is not busy
1 = Serial EEPROM circuitry is busy
Serial-bus detect. When bit 3 is set, it indicates that the serial-bus interface is detected. A pulldown resistor
must be implemented on the LATCH terminal for bit 3 to be set. If bit 3 is reset, then the MFUNC4 and
MFUNC1 terminals can be used for alternate functions such as general-purpose inputs and outputs.
Serial-bus test. When bit 2 is set, the serial-bus clock frequency is increased for test purposes.
0 = Serial-bus clock at normal operating frequency, 100 kHz (default)
1 = Serial-bus clock frequency increased for test purposes
Requested serial-bus access error. Bit 1 indicates when a data error occurs on the serial interface during
a requested cycle, and can be set due to a missing acknowledge. Bit 1 is cleared by a writeback of 1.
0 = No error detected during user-requested byte read or write cycle
1 = Data error detected during user-requested byte read or write cycle
EEPROM data-error status. Bit 0 indicates when a data error occurs on the serial interface during the
auto-load from the serial-bus EEPROM, and can be set due to a missing acknowledge. Bit 0 is also set on
invalid EEPROM data formats. See Section 3.6.1, Serial Bus Interface Implementation, for details on
EEPROM data format. Bit 0 is cleared by a writeback of 1.
0 = No error detected during auto-load from serial-bus EEPROM
1 = Data error detected during auto-load from serial-bus EEPROM
4–34
5 ExCA Compatibility Registers (Functions 0 and 1)
The ExCA registers implemented in the PCI1520 are register-compatible with the Intel 82365SL–DF PCMCIA
controller. ExCA registers are identified by an of fset value that is compatible with the legacy I/O index/data scheme
used on the Intel 82365 ISA controller. The ExCA registers are accessed through this scheme by writing the register
offset value into the index register (I/O base) and reading or writing the data register (I/O base + 1). The I/O base
address used in the index/data scheme is programmed in the PC Card 16-bit I/F legacy-mode base address register
(PCI offset 44h, see Section 4.28), which is shared by both card sockets. The offsets from this base address run
contiguously from 00h to 3Fh for socket A, and from 40h to 7Fh for socket B. See Figure 5–1 for an ExCA I/O mapping
illustration.
PCI1520 Configuration Registers
CardBus Socket/ExCA Base Address
16-Bit Legacy-Mode Base Address
NOTE: The 16-bit legacy mode base address register is shared by functions 0 and 1 as indicated by the shading.
Offset
10h
44h
Host I/O Space
Index
Data
PC Card A
ExCA
Registers
PC Card B
ExCA
Registers
Offset
00h
3Fh
40h
7Fh
Figure 5–1. ExCA Register Access Through I/O
The TI PCI1520 also provides a memory-mapped alias of the ExCA registers by directly mapping them into PCI
memory space. They are located through the CardBus socket/ExCA base-address register (PCI offset 10h, see
Section 4.12) at memory offset 800h. Each socket has a separate base address programmable by function. See
Figure 5–2 for an ExCA memory mapping illustration. Note that memory offsets are 800h–844h for both functions
0 and 1. This illustration also identifies the CardBus socket register mapping, which is mapped into the same 4-K
window at memory offset 00h.
5–1
PCI1520 Configuration Registers
Host
Memory Space
Offset
Host
Memory Space
OffsetOffset
CardBus
Socket A
CardBus Socket/ExCA Base Address
16-Bit Legacy-Mode Base Address
NOTE: The CardBus socket/ExCA base address mode register is separate for functions 0 and 1.
10h
44h
Registers
ExCA
Registers
Card A
00h
20h
800h
844h
CardBus
Socket B
Registers
ExCA
Registers
Card B
00h
20h
800h
844h
Figure 5–2. ExCA Register Access Through Memory
The interrupt registers in the ExCA register set, as defined by the 82365SL–DL specification, control such card
functions as reset, type, interrupt routing, and interrupt enables. Special attention must be paid to the interrupt routing
registers and the host interrupt signaling method selected for the PCI1520 to ensure that all possible PCI1520
interrupts can potentially be routed to the programmable interrupt controller. The ExCA registers that are critical to
the interrupt signaling are the ExCA interrupt and general control register (ExCA offset 03h/43h/803h, see
Section 5.4) and the ExCA card status-change interrupt configuration register (05h/45h/805h, see Section 5.6).
Access to I/O mapped 16-bit PC cards is available to the host system via two ExCA I/O windows. These are regions
of host I/O address space into which the card I/O space is mapped. These windows are defined by start, end, and
offset addresses programmed in the ExCA registers described in this section. I/O windows have byte granularity.
Access to memory mapped 16-bit PC Cards is available to the host system via five ExCA memory windows. These
are regions of host memory space into which the card memory space is mapped. These windows are defined by start,
end, and offset addresses programmed in the ExCA registers described in this section. Table 5–1 identifies each
ExCA register and its respective ExCA offset. Memory windows have 4-Kbyte granularity.
5–2
Table 5–1. ExCA Registers and Offsets
PCI MEMORY ADDRESS
EXCA REGISTER NAME
Identification and revision8000040
Interface status8010141
Power control8020242
Interrupt and general control8030343
Card status change8040444
Card status-change interrupt configuration8050545
Address window enable8060646
I / O window control8070747
I / O window 0 start-address low byte8080848
I / O window 0 start-address high byte8090949
I / O window 0 end-address low byte80A0A4A
I / O window 0 end-address high byte80B0B4B
I / O window 1 start-address low byte80C0C4C
I / O window 1 start-address high byte80D0D4D
I / O window 1 end-address low byte80E0E4E
I / O window 1 end-address high byte80F0F4F
Memory window 0 start-address low byte8101050
Memory window 0 start-address high byte8111151
Memory window 0 end-address low byte8121252
Memory window 0 end-address high byte8131353
Memory window 0 offset-address low byte8141454
Memory window 0 offset-address high byte8151555
Card detect and general control8161656
Reserved8171757
Memory window 1 start-address low byte8181858
Memory window 1 start-address high byte8191959
Memory window 1 end-address low byte81A1A5A
A bit description table, typically included when a register contains bits of more than one type or purpose, indicates
bit field names, which appear in the signal column; a detailed field description, which appears in the function column;
and field access tags, which appear in the type column of the bit description table. Table 4–2 describes the field
access tags.
5–4
5.1ExCA Identification and Revision Register
The ExCA identification and revision register provides host software with information on 16-bit PC Card support and
Intel 82365SL-DF compatibility. This register is read-only or read/write, depending on the setting of bit 5
(SUBSYSRW) in the system control register (PCI offset 80h, see Section 4.29). See Table 5–2 for a complete
description of the register contents.
Bit76543210
NameExCA identification and revision
TypeRRRWRWRWRWRWRW
Default10000100
Register:ExCA identification and revision
Offset:CardBus socket address + 800h; Card A ExCA offset 00h
Card B ExCA offset 40h
Type:Read-only, Read/Write
Default:84h
Table 5–2. ExCA Identification and Revision Register Description
BITSIGNALTYPEFUNCTION
7–6IFTYPER
5–4RSVDRWReserved. Bits 5 and 4 can be used for Intel82365SL-DF emulation.
3–0365REVRW
Interface type. These bits, which are hardwired as 10b, identify the 16-bit PC Card support provided by the
PCI1520. The PCI1520 supports both I/O and memory 16-bit PC cards.
Intel82365SL-DF revision. This field stores the Intel82365SL-DF revision supported by the PCI1520. Host
software can read this field to determine compatibility to the Intel
this field puts the controller in 82365SL mode.
82365SL-DF register set. W riting 0010b to
5–5
5.2ExCA Interface Status Register
The ExCA interface status register provides information on the current status of the PC Card interface. An X in the
default bit value indicates that the value of the bit after reset depends on the state of the PC Card interface. See
Table 5–3 for a complete description of the register contents.
Bit76543210
NameExCA interface status
TypeRRRRRRRR
Default00XXXXXX
Register:ExCA interface status
Offset:CardBus socket address + 801h; Card A ExCA offset 01h
Card B ExCA offset 41h
Type:Read-only
Default:00XX XXXXb
Table 5–3. ExCA Interface Status Register Description
BITSIGNALTYPEFUNCTION
7RSVDRReserved. Bit 7 returns 0 when read.
Card Power. Bit 6 indicates the current power status of the PC Card socket. This bit reflects how the ExCA
6CARDPWRR
5READYR
4CARDWPR
3CDETECT2R
2CDETECT1R
1–0BVDSTATR
power control register (ExCA offset 02h/42h/802h, see Section 5.3) is programmed. Bit 6 is encoded as:
0 = VCC and VPP to the socket turned off (default)
1 = VCC and VPP to the socket turned on
Ready. Bit 5 indicates the current status of the READY signal at the PC Card interface.
0 = PC Card not ready for data transfer
1 = PC Card ready for data transfer
Card write protect (WP). Bit 4 indicates the current status of WP at the PC Card interface. This signal reports
to the PCI1520 whether or not the memory card is write protected. Furthermore, write protection for an entire
PCI1520 16-bit memory window is available by setting the appropriate bit in the memory window
offset-address high-byte register .
0 = WP is 0. PC Card is read/write.
1 = WP is 1. PC Card is read-only.
Card detect 2. Bit 3 indicates the status of CD2 at the PC Card interface. Software may use this and bit 2
(CDETECT1) to determine if a PC Card is fully seated in the socket.
0 = CD2 is 1. No PC Card is inserted.
1 = CD2
Card detect 1. Bit 2 indicates the status of CD1 at the PC Card interface. Software may use this and bit 3
(CDETECT2) to determine if a PC Card is fully seated in the socket.
0 = CD1 is 1. No PC Card is inserted.
1 = CD1
Battery voltage detect. When a 16-bit memory card is inserted, the field indicates the status of the battery
voltage detect signals (BVD1, BVD2) at the PC Card interface, where bit 1 reflects the BVD2 status and bit 0
reflects BVD1.
00 = Battery dead
01 = Battery dead
10 = Battery low; warning
11 = Battery good
When a 16-bit I/O card is inserted, this field indicates the status of SPKR
PC Card interface. In this case, the two bits in this field directly reflect the current state of these card outputs.
is 0. PC Card is at least partially inserted.
is 0. PC Card is at least partially inserted.
(bit 1) and STSCHG (bit 0) at the
5–6
5.3ExCA Power Control Register
The ExCA power control register provides PC Card power control. Bit 7 (COE) of this register controls the 16-bit output
enables on the socket interface, and can be used for power management in 16-bit PC Card applications. See
Table 5–4 and Table 5–5 for a complete description of the register contents.
Bit76543210
NameExCA power control
TypeRWRRRWRWRRWRW
Default00000000
Register:ExCA power control
Offset:CardBus socket address + 802h; Card A ExCA offset 02h
Card B ExCA offset 42h
Type:Read-only, Read/Write
Default:00h
Table 5–4. ExCA Power Control Register Description—82365SL Support
BITSIGNALTYPEFUNCTION
Card output enable. Bit 7 controls the state of all of the 16-bit outputs on the PCI1520. This bit is
7COERW
6RSVDRReserved. Bit 6 returns 0 when read.
5AUTOPWRSWENRW
4CAPWRENRW
3–2RSVDRReserved. Bits 3 and 2 return 0s when read.
1–0EXCAVPPRW
encoded as:
0 = 16-bit PC Card outputs disabled (default)
1 = 16-bit PC Card outputs enabled
Auto power switch enable.
0 = Automatic socket power switching based on card detects is disabled.
1 = Automatic socket power switching based on card detects is enabled.
PC Card power enable.
0 = VCC = No connection
1 = VCC is enabled and controlled by bit 2 (EXCAPOWER) of the system control register
(PCI offset 80h, see Section 4.29).
PC Card VPP power control. Bits 1 and 0 are used to request changes to card VPP. The PCI1520 ignores
this field unless VCC to the socket is enabled. This field is encoded as:
00 = No connection (default)
01 = V
CC
10 = 12 V
11 = Reserved
Table 5–5. ExCA Power Control Register Description—82365SL-DF Support
BITSIGNALTYPEFUNCTION
Card output enable. Bit 7 controls the state of all of the 16-bit outputs on the PCI1520. This bit is encoded as:
7COERW
6–5RSVDRReserved. Bits 6 and 5 return 0s when read.
4–3EXCAVCCRW
2RSVDRReserved. Bit 2 returns 0 when read.
1–0EXCAVPPRW
0 = 16-bit PC Card outputs disabled (default)
1 = 16-bit PC Card outputs enabled
VCC. Bits 4 and 3 are used to request changes to card VCC. This field is encoded as:
00 = 0 V (default)
01 = 0 V reserved
10 = 5 V
11 = 3.3 V
VPP. Bits 1 and 0 are used to request changes to card VPP. The PCI1520 ignores this field unless VCC to
the socket is enabled. This field is encoded as:
00 = No connection (default)
01 = V
CC
10 = 12 V
11 = Reserved
5–7
5.4ExCA Interrupt and General Control Register
The ExCA interrupt and general control register controls interrupt routing for I/O interrupts, as well as other critical
16-bit PC Card functions. See Table 5–6 for a complete description of the register contents.
Bit76543210
NameExCA interrupt and general control
TypeRWRWRWRWRWRWRWRW
Default00000000
Register:ExCA interrupt and general control
Offset:CardBus socket address + 803h; Card A ExCA offset 03h
Card B ExCA offset 43h
Type:Read/Write
Default:00h
Table 5–6. ExCA Interrupt and General Control Register Description
BITSIGNALTYPEFUNCTION
Card ring indicate enable. Bit 7 enables the ring indicate function of BVD1/RI. This bit is encoded as:
7RINGENRW
6RESETRW
5CARDTYPERW
4CSCROUTERW
3–0INTSELECTRW
0 = Ring indicate disabled (default)
1 = Ring indicate enabled
Card reset. Bit 6 controls the 16-bit PC Card RESET, and allows host software to force a card reset. Bit 6
affects 16-bit cards only. This bit is encoded as:
0 = RESET signal asserted (default)
1 = RESET signal deasserted
Card type. Bit 5 indicates the PC card type. This bit is encoded as:
0 = Memory PC Card installed (default)
1 = I/O PC Card installed
PCI interrupt CSC routing enable bit. When bit 4 is set (high), the card status change interrupts are routed
to PCI interrupts. When low, the card status change interrupts are routed using bits 7–4 (CSCSELECT field)
in the ExCA card status-change interrupt configuration register (ExCA offset 05h/45h/805h, see
Section 5.6). This bit is encoded as:
0 = CSC interrupts are routed by ExCA registers (default).
1 = CSC interrupts are routed to PCI interrupts.
Card interrupt select for I/O PC Card functional interrupts. Bits 3–0 select the interrupt routing for I/O
PC Card functional interrupts. This field is encoded as:
0000 = No interrupt routing (default). CSC interrupts are routed to PCI interrupts. This bit setting is
The ExCA card status-change register controls interrupt routing for I/O interrupts as well as other critical 16-bit PC
Card functions. The register enables these interrupt sources to generate an interrupt to the host. When the interrupt
source is disabled, the corresponding bit in this register always reads 0. When an interrupt source is enabled, the
corresponding bit in this register is set to indicate that the interrupt source is active. After generating the interrupt to
the host, the interrupt service routine must read this register to determine the source of the interrupt. The interrupt
service routine is responsible for resetting the bits in this register as well. Resetting a bit is accomplished by one of
two methods: a read of this register or an explicit write back of 1 to the status bit. The choice of these two methods
is based on bit 2 (interrupt flag clear mode select) in the ExCA global control register (ExCA offset 1E/5E/81E, see
Section 5.20). See Table 5–7 for a complete description of the register contents.
Card detect change. Bit 3 indicates whether a change on CD1 or CD2 occurred at the PC Card
3CDCHANGER
2READYCHANGER
1BATWARNR
0BATDEADR
interface. This bit is encoded as:
0 = No change detected on either CD1 or CD2
1 = Change detected on either CD1 or CD2
Ready change. When a 16-bit memory is installed in the socket, bit 2 includes whether the source of
a PCI1520 interrupt was due to a change on READY at the PC Card interface, indicating that the
PC Card is now ready to accept new data. This bit is encoded as:
0 = No low-to-high transition detected on READY (default)
1 = Detected low-to-high transition on READY
When a 16-bit I/O card is installed, bit 2 is always 0.
Battery warning change. When a 16-bit memory card is installed in the socket, bit 1 indicates whether
the source of a PCI1520 interrupt was due to a battery-low warning condition. This bit is encoded as:
0 = No battery warning condition (default)
1 = Detected battery warning condition
When a 16-bit I/O card is installed, bit 1 is always 0.
Battery dead or status change. When a 16-bit memory card is installed in the socket, bit 0 indicates
whether the source of a PCI1520 interrupt was due to a battery dead condition. This bit is encoded as:
0 = STSCHG deasserted (default)
1 = STSCHG
Ring indicate. When the PCI1520 is configured for ring indicate operation, bit 0 indicates the status of
The ExCA card status-change interrupt configuration register controls interrupt routing for card status-change
interrupts, as well as masking CSC interrupt sources. See Table 5–8 for a complete description of the register
contents.
Interrupt select for card status change. Bits 7–4 select the interrupt routing for card status-change
interrupts.
0000 = CSC interrupts routed to PCI interrupts if bit 5 (CSC) of the diagnostic register (PCI offset 93h, see
Section 4.34) is set to 1. In this case bit 4 (CSCROUTE) of the ExCA interrupt and general control register
(ExCA offset 03h/43h/803h, see Section 5.4) is a don’t care. This is the default setting.
0000 = No ISA interrupt routing if bit 5 (CSC) of the diagnostic register is set to 0 (see Section 4.34). In
this case, CSC interrupts are routed to PCI interrupts by setting bit 4 (CSCROUTE) of the ExCA interrupt
7–4CSCSELECTRW
3CDENRW
2READYENRW
1BATWARNENRW
0BATDEADENRW
and general control register (ExCA offset 03h/43h/803h, see Section 5.4) to 1.
This field is encoded as:
Card detect enable. Bit 3 enables interrupts on CD1 or CD2 changes. This bit is encoded as:
0 = Disables interrupts on CD1
1 = Enables interrupts on CD1
Ready enable. Bit 2 enables/disables a low-to-high transition on PC Card READY to generate a host
interrupt. This interrupt source is considered a card status change. This bit is encoded as:
The ExCA address window enable register enables/disables the memory and I/O windows to the 16-bit PC Card. By
default, all windows to the card are disabled. The PCI1520 does not acknowledge PCI memory or I/O cycles to the
card if the corresponding enable bit in this register is 0, regardless of the programming of the memory or I/O window
start/end/offset address registers. See Table 5–9 for a complete description of the register contents.
The ExCA I/O window control register contains parameters related to I/O window sizing and cycle timing. See
Table 5–10 for a complete description of the register contents.
Bit76543210
NameExCA I/O window control
TypeRWRWRWRWRWRWRWRW
Default00000000
Register:ExCA I/O window control
Offset:CardBus socket address + 807h; Card A ExCA offset 07h
Card B ExCA offset 47h
Type:Read/Write
Default:00h
Table 5–10. ExCA
BITSIGNALTYPEFUNCTION
I/O window 1 wait state. Bit 7 controls the I/O window 1 wait state for 16-bit I/O accesses. Bit 7 has no effect
on 8-bit accesses. This wait-state timing emulates the ISA wait state used by the Intel
7WAITSTATE1RW
6ZEROWS1RW
5IOIS16W1RW
4DATASIZE1RW
3WAITSTATE0RW
2ZEROWS0RW
1IOIS16W0RW
0DATASIZE0RW
bit is encoded as:
0 = 16-bit cycles have standard length (default).
1 = 16-bit cycles are extended by one equivalent ISA wait state.
I/O window 1 zero wait state. Bit 6 controls the I/O window 1 wait state for 8-bit I/O accesses. Bit 6 has
no effect on 16-bit accesses. This wait-state timing emulates the ISA wait state used by the Intel
82365SL-DF. This bit is encoded as:
0 = 8-bit cycles have standard length (default).
1 = 8-bit cycles are reduced to equivalent of three ISA cycles.
I/O window 1 IOIS16 source. Bit 5 controls the I/O window 1 automatic data sizing feature that uses IOIS16
from the PC Card to determine the data width of the I/O data transfer. This bit is encoded as:
0 = Window data width determined by DATASIZE1, bit 4 (default).
1 = Window data width determined by IOIS16.
I/O window 1 data size. Bit 4 controls the I/O window 1 data size. Bit 4 is ignored if bit 5 (IOSIS16W1) is
set. This bit is encoded as:
0 = Window data width is 8 bits (default).
1 = Window data width is 16 bits.
I/O window 0 wait state. Bit 3 controls the I/O window 0 wait state for 16-bit I/O accesses. Bit 3 has no effect
on 8-bit accesses. This wait-state timing emulates the ISA wait state used by the Intel
bit is encoded as:
0 = 16-bit cycles have standard length (default).
1 = 16-bit cycles are extended by one equivalent ISA wait state.
I/O window 0 zero wait state. Bit 2 controls the I/O window 0 wait state for 8-bit I/O accesses. Bit 2 has
no effect on 16-bit accesses. This wait-state timing emulates the ISA wait state used by the Intel
82365SL-DF. This bit is encoded as:
0 = 8-bit cycles have standard length (default).
1 = 8-bit cycles are reduced to equivalent of three ISA cycles.
I/O window 0 IOIS16 source. Bit 1 controls the I/O window 0 automatic data sizing feature that uses IOIS16
from the PC Card to determine the data width of the I/O data transfer. This bit is encoded as:
0 = Window data width is determined by DATASIZE0, bit 0 (default).
1 = Window data width is determined by IOIS16
I/O window 0 data size. Bit 0 controls the I/O window 0 data size. Bit 0 is ignored if bit 1 (IOSIS16W0) is
set. This bit is encoded as:
0 = Window data width is 8 bits (default).
1 = Window data width is 16 bits.
I/O Window Control Register Description
.
82365SL-DF. This
82365SL-DF. This
5–12
5.9ExCA I/O Windows 0 and 1 Start-Address Low-Byte Registers
These registers contain the low byte of the 16-bit I/O window start address for I/O windows 0 and 1. The 8 bits of these
registers correspond to the lower 8 bits of the start address.
Bit76543210
NameExCA I/O windows 0 and 1 start-address low-byte
TypeRWRWRWRWRWRWRWRW
Default00000000
Card B ExCA offset 4Ch
Type:Read/Write
Default:00h
5.10 ExCA I/O Windows 0 and 1 Start-Address High-Byte Registers
These registers contain the high byte of the 16-bit I/O window start address for I/O windows 0 and 1. The 8 bits of
these registers correspond to the upper 8 bits of the start address.
Bit76543210
NameExCA I/O windows 0 and 1 start-address high-byte
TypeRWRWRWRWRWRWRWRW
Default00000000