T exas Instruments and its subsidiaries (TI) reserve the right to make changes to their products or to discontinue
any product or service without notice, and advise customers to obtain the latest version of relevant information
to verify, before placing orders, that information being relied on is current and complete. All products are sold
subject to the terms and conditions of sale supplied at the time of order acknowledgment, including those
pertaining to warranty, patent infringement, and limitation of liability.
TI warrants performance of its semiconductor products to the specifications applicable at the time of sale in
accordance with TI’s standard warranty. Testing and other quality control techniques are utilized to the extent
TI deems necessary to support this warranty . Specific testing of all parameters of each device is not necessarily
performed, except those mandated by government requirements.
Customers are responsible for their applications using TI components.
In order to minimize risks associated with the customer’s applications, adequate design and operating
safeguards must be provided by the customer to minimize inherent or procedural hazards.
TI assumes no liability for applications assistance or customer product design. TI does not warrant or represent
that any license, either express or implied, is granted under any patent right, copyright, mask work right, or other
intellectual property right of TI covering or relating to any combination, machine, or process in which such
semiconductor products or services might be or are used. TI’s publication of information regarding any third
party’s products or services does not constitute TI’s approval, warranty or endorsement thereof.
This chapter provides an overview of the Texas Instruments TSB43AA22 device and its features.
1.1Description
The Texas Instruments TSB43AA22 device is an integrated 1394a-2000 OHCI PHY/link layer controller device that
is fully compliant with the PCI Local Bus Specification, the PCI Bus Power Management Interface Specification, the
IEEE 1394-1995 standard, the IEEE 1394a-2000 supplement, and the 1394 Open Host Controller Interface
Specification. It is capable of transferring data between the 33-MHz PCI bus and 1394 bus at 100 Mbits/s,
200 Mbits/s, and 400 Mbits/s. The TSB43AA22 device provides two 1394 ports which have separate cable bias
(TPBIAS). The TSB43AA22 device also supports IEEE 1394a-2000 power-down features for battery-operated
applications and arbitration enhancements.
As required by the 1394 Open Host Controller Interface Specification (OHCI) and the IEEE 1394a-2000 specification,
internal control registers are memory-mapped and nonprefetchable. The PCI configuration header is accessed
through configuration cycles specified by PCI, and provides plug-and-play (PnP) compatibility. Furthermore, the
TSB43AA22 device is compliant with the PCI Bus Power Management Interface Specification as specified by the PC99 Design Guide requirements. The TSB43AA22 device supports the D0, D2, and D3 power states.
The TSB43AA22 design provides PCI bus master bursting, and it is capable of transferring a cacheline of data at
132 Mbytes/s after connection to the memory controller. Because PCI latency can be large, deep FIFOs are provided
to buffer the 1394 data.
The TSB43AA22 device provides physical write posting buffers and a highly tuned physical data path for SBP-2
performance. The TSB43AA22 device also provides multiple isochronous contexts, multiple cacheline burst
transfers, advanced internal arbitration, and bus holding buffers.
An advanced CMOS process is used to achieve low power consumption that allows the TSB43AA22 device to
operate at PCI clock rates up to 33 MHz.
The TSB43AA22 device provides the digital and analog transceiver functions needed to implement a two-port node
in a cable-based IEEE 1394 network. Each cable port incorporates two differential line transceivers. The transceivers
include circuitry to monitor the line conditions as needed for determining connection status, for initialization and
arbitration, and for packet reception and transmission.
The TSB43AA22 device requires only an external 24.576-MHz crystal as a reference for the cable ports. An external
clock may be provided instead of a crystal. An internal oscillator drives an internal phase-locked loop (PLL), which
generates the required 393.216-MHz reference signal. This reference signal is internally divided to provide the clock
signals used to control transmission of the outbound encoded strobe and data information. A 49.152-MHz clock signal
is supplied to the integrated LLC for synchronization and is used for resynchronization of the received data.
Data bits to be transmitted through the cable ports are received from the integrated LLC and are latched internally
in synchronization with the 49.152-MHz system clock. These bits are combined serially, encoded, and transmitted
at 98.304, 196.608, or 393.216 Mbits/s (referred to as S100, S200, and S400 speeds, respectively) as the outbound
data-strobe information stream. During transmission, the encoded data information is transmitted differentially on the
TPB cable pair(s), and the encoded strobe information is transmitted differentially on the TPA cable pair(s).
During packet reception, the TPA and TPB transmitters of the receiving cable port are disabled, and the receivers
for that port are enabled. The encoded data information is received on the TP A cable pair, and the encoded strobe
information is received on the TPB cable pair. The received data-strobe information is decoded to recover the receive
clock signal and the serial data bits. The serial data bits are resynchronized to the local 49.152-MHz system clock
and sent to the integrated LLC. The received data is also transmitted (repeated) on the other active (connected) cable
ports.
Both the TPA and TPB cable interfaces incorporate differential comparators to monitor the line states during
initialization and arbitration. The outputs of these comparators are used by the internal logic to determine the
1–1
arbitration status. The TPA channel monitors the incoming cable common-mode voltage. The value of this
common-mode voltage is used during arbitration to set the speed of the next packet transmission. In addition, the
TPB channel monitors the incoming cable common-mode voltage on the TPB pair for the presence of the remotely
supplied twisted-pair bias voltage.
The TSB43AA22 device provides a 1.86-V nominal bias voltage at the TPBIAS terminal for port termination. The PHY
device contains two independent TPBIAS circuits. This bias voltage, when seen through a cable by a remote receiver,
indicates the presence of an active connection. This bias voltage source must be stabilized by an external filter
capacitor of 1.0 µF.
The line drivers in the TSB43AA22 device operate in a high-impedance current mode and are designed to work with
external 112-Ω line-termination resistor networks in order to match the 110-Ω cable impedance. One network is
provided at each end of a twisted-pair cable. Each network is composed of a pair of series-connected 56-Ω resistors.
The midpoint of the pair of resistors that is directly connected to the twisted-pair-A terminals is connected to its
corresponding TPBIAS voltage terminal. The midpoint of the pair of resistors that is directly connected to the
twisted-pair-B terminals is coupled to ground through a parallel R-C network with recommended values of 5 kΩ and
220 pF . The values of the external line termination resistors are designed to meet the standard specifications when
connected in parallel with the internal receiver circuits. An external resistor connected between the R0 and R1
terminals sets the driver output current, along with other internal operating currents. This current setting resistor has
a value of 6.34 kΩ ±1%.
When the power supply of the TSB43AA22 device is off while the twisted-pair cables are connected, the TSB43AA22
transmitter and receiver circuitry present a high impedance to the cable and will not load the TPBIAS voltage at the
other end of the cable.
When the device is in a low-power state, for example, D2 or D3, the TSB43AA22 device automatically enters a
low-power mode if all ports are inactive (disconnected, disabled, or suspended). In this low-power mode, the
TSB43AA22 device disables its internal clock generators and also disables various voltage and current reference
circuits depending on the state of the ports (some reference circuitry must remain active in order to detect new cable
connections, disconnections, or incoming TPBIAS, for example). The lowest power consumption (the ultra low-powersleep mode) is attained when all ports are either disconnected or disabled with the port interrupt enable bit cleared.
The TSB43AA22 device exits the low-power mode when bit 19 (LPS) in the host controller control register (offset
50h/54h, see Section 4.16) is set or when a port event occurs which requires that the TSB43AA22 device to become
active in order to respond to the event or to notify the LLC of the event (for example, incoming bias is detected on
a suspended port, a disconnection is detected on a suspended port, a new connection is detected on a nondisabled
port, etc.). The internal 49.153-MHz clock becomes active (and the integrated PHY device becomes operative) within
2 ms after bit 19 (LPS) in the host controller control register (offset 50h/54h, see Section 4.16) is set when the
TSB43AA22 device is in the low-power mode.
1–2
1.2Features
The TSB43AA22 device supports the following features:
†
•Fully supports provisions of IEEE 1394-1995 standard for high-performance serial bus
1394a-2000 supplement
•Fully interoperable with FireWire and i.LINK implementation of IEEE Std 1394
•Meets Intel Mobile Power Guideline 2000
•Full IEEE 1394a-2000 support includes: connection debounce, arbitrated short reset, multispeed
concatenation, arbitration acceleration, fly-by concatenation, and port disable/suspend/resume
•Power-down features to conserve energy in battery-powered applications include: automatic device power
down during suspend, PCI power management for link-layer, and inactive ports powered down
•Ultra-low-power sleep mode
•Provides two IEEE 1394a-2000 fully compliant cable ports at 100/200/400 megabits per second (Mbits/s)
•Cable ports monitor line conditions for active connection to remote node
•Cable power presence monitoring
•Separate cable bias (TPBIAS) for each port
•3.3-V core logic with universal PCI interfaces compatible with 3.3-V and 5-V PCI signaling environments
•Physical write posting of up to three outstanding transactions
and the IEEE
•Implements PCI burst transfers and deep FIFOs to tolerate large host latency
•Supports PCI-CLKRUN
protocol
•External cycle timer control for customized synchronization
•Extended resume signaling for compatibility with legacy DV components
•PHY-Link logic performs system initialization and arbitration functions
•PHY-Link encode and decode functions included for data-strobe bit level encoding
•PHY-Link incoming data resynchronized to local clock
•Low-cost 24.576-MHz crystal provides transmit and receive data at 100, 200, and 400 Mbits/s
•Node power class information signaling for system power management
•Serial ROM interface supports 2-wire devices
•Provides two general-purpose I/Os
•Register bits give software control of contender bit, power class bits, link active control bit, and IEEE
1394a-2000 features
•Fabricated in advanced low-power CMOS process
†
Implements technology covered by one or more patents of Apple Computer, Incorporated and SGS Thompson, Limited.
1–3
1.3Related Documents
•1394 Open Host Controller Interface Specification (Revision 1.0)
•IEEE Standard for a High-Performance Serial Bus—Amendment 1 (IEEE 1394a-2000)
•PC 99 Design Guide
•PCI Bus Power Management Interface Specification (Revision 1.1)
•PCI Local Bus Specification (Revision 2.2)
•Mobile Power Guideline 2000
•P1394 Standard for a High-Performance Serial Bus (IEEE 1394-1995)
•Serial Bus Protocol 2 (SBP-2)
1.4Trademarks
OHCI-Lynx and TI are trademarks of Texas Instruments.
FireWire is a trademark of Apple Computer, Inc.
Intel is a trademark of Intel Corporation.
i.LINK is a trademark of Sony Kabushiki Kaisha TA Sony Corporation
Other trademarks are the property of their respective owners.
1.5Ordering Information
ORDERING NUMBERNAMEVOLTAGEPACKAGE
TSB43AA22iOHCI-Lynx3.3 VPDT
1–4
2 Terminal Descriptions
This section provides the terminal descriptions for the TSB43AA22 device. Figure 2–1 shows the signal assigned to
each terminal in the package. T able 2–1 and T able 2–2 provide cross-reference between the number of each terminal
and the name of the signal on that terminal. T able 2–1 is arranged in terminal number order, and T able 2–2 lists signals
in alphabetical order.
The terminals are grouped in tables by functionality, such as PCI system function and power supply function (see
Table 2–3 through Table 2–8). The terminal numbers are also listed for convenient reference.
Table 2–3. PCI System
TERMINAL
NAMENO.
G_RST14I
PCI_CLK16I
PCI_INTA13O
PCI_RST85I
I/O
Global power reset. This reset brings all of the TSB43AA22 internal registers to their default states, including
those registers not reset by PCI_RST
When implementing wake capabilities from the 1394 host controller, it is necessary to implement two resets
to the TSB43AA22 device. G_RST
PCI bus clock. Provides timing for all transactions on the PCI bus. All PCI signals are sampled at rising edge
of PCI_CLK.
Interrupt signal. This output signals interrupts from the TSB43AA22 device to the host. This terminal is
implemented as open-drain.
PCI reset. When this bus reset is asserted, the TSB43AA22 device places all output buffers in a
high-impedance state and resets all internal registers except device power management context- and
vendor-specific bits initialized by host power-on software. When PCI_RST
completely nonfunctional. This terminal should be connected to the PCI bus RST
should be a one-time power-on reset.
DESCRIPTION
. When G_RST is asserted, the device is completely nonfunctional.
PCI address/data bus. These signals make up the multiplexed PCI address and data bus on the PCI interface.
During the address phase of a PCI cycle, AD31–AD0 contain a 32-bit address or other destination information.
I/O
During the data phase, AD31–AD0 contain data.
DESCRIPTION
2–4
Table 2–5. PCI Interface Control
TERMINAL
NAMENO.
PCI_CLKRUN12I/O
PCI_C/BE0
PCI_C/BE1
PCI_C/BE2
PCI_C/BE3
PCI_DEVSEL53I/O
PCI_FRAME49I/O
PCI_GNT18I
PCI_IDSEL36I
PCI_IRDY50I/O
PCI_PAR58I/O
PCI_PERR56I/O
PCI_PME21OPower management event. This terminal indicates wake events to the host.
PCI_REQ19O
PCI_SERR57O
PCI_STOP54I/O
PCI_TRDY52I/O
73
60
47
34
I/O
Clock run. This terminal provides clock control through the CLKRUN protocol. An internal pulldown resistor is
implemented on this terminal. This terminal is implemented as open-drain.
PCI bus commands and byte enables. The command and byte enable signals are multiplexed on the same PCI
terminals. During the address phase of a bus cycle PCI_C/BE3
I/O
the data phase, this 4-bit bus is used as byte enables.
PCI device select. The TSB43AA22 device asserts this signal to claim a PCI cycle as the target device. As a
PCI initiator, the TSB43AA22 device monitors this signal until a target responds. If no target responds before
time-out occurs, then the TSB43AA22 device terminates the cycle with an initiator abort.
PCI cycle frame. This signal is driven by the initiator of a PCI bus cycle. PCI_FRAME is asserted to indicate
that a bus transaction is beginning, and data transfers continue while this signal is asserted. When PCI_FRAME
is deasserted, the PCI bus transaction is in the final data phase.
PCI bus grant. This signal is driven by the PCI bus arbiter to grant the TSB43AA22 device access to the PCI
bus after the current data transaction has completed. This signal may or may not follow a PCI bus request,
depending upon the PCI bus parking algorithm.
Initialization device select. PCI_IDSEL selects the TSB43AA22 device during configuration space accesses.
PCI_IDSEL can be connected to 1 of the upper 24 PCI address lines on the PCI bus.
PCI initiator ready. PCI_IRDY indicates the PCI bus initiator’s ability to complete the current data phase of the
transaction. A data phase is completed upon a rising edge of PCI_CLK where both PCI_IRDY
are asserted.
PCI parity. In all PCI bus read and write cycles, the TSB43AA22 device calculates even parity across the
PCI_AD and PCI_C/BE
indicator with a one-PCI_CLK delay. As a target during PCI cycles, the calculated parity is compared to the
initiator parity indicator; a miscompare can result in a parity error assertion (PCI_PERR).
PCI parity error indicator. This signal is driven by a PCI device to indicate that calculated parity does not match
PCI_PAR when bit 6 (PERR_ENB) is set in the command register (offset 04h, see Section 3.4).
PCI bus request. Asserted by the TSB43AA22 device to request access to the bus as an initiator. The host
arbiter asserts the PCI_GNT
PCI system error. When bit 8 (SERR_ENB) in the command register (offset 04h, see Section 3.4) is set, the
output is pulsed, indicating an address parity error has occurred. The TSB43AA22 device need not be the target
of the PCI cycle to assert this signal. This terminal is implemented as open-drain.
PCI cycle stop signal. This signal is driven by a PCI target to request the initiator to stop the current PCI bus
transaction. This signal is used for target disconnects, and is commonly asserted by target devices which do
not support burst data transfers.
PCI target ready. PCI_TRDY indicates the PCI bus target’s ability to complete the current data phase of the
transaction. A data phase is completed upon a rising edge of PCI_CLK where both PCI_IRDY
are asserted; until which wait states are inserted.
buses. As an initiator during PCI cycles, the TSB43AA22 device outputs this parity
signal when the TSB43AA22 device has been granted access to the bus.
DESCRIPTION
–PCI_C/BE0 defines the bus command. During
and PCI_TRDY
and PCI_TRDY
2–5
TERMINAL
NAMENO.
CNA96I/O
CYCLEIN87I/O
CYCLEOUT86I/O
GPIO290I/O
GPIO389I/O
SCL91I/O
SDA92I/O
TEST17
TEST16
TEST9
TEST8
TEST3
TEST2
TEST1
TEST0
10
11
94
95
101
102
104
105
I/O
I/O
Table 2–6. Miscellaneous Terminals
DESCRIPTION
Cable not active. This terminal is asserted high when there are no ports receiving incoming bias voltage. If not
used, this terminal can be strapped either to DVDD or to GND. To enable the CNA terminal, bit 3 at word of fset
14h of ROM or BIOS must be set. For more information, see Section 5, Serial ROM Interface.
The CYCLEIN terminal allows an external 8-kHz clock to be used as a cycle timer for synchronization with other
system devices.
If this terminal is not implemented, then it should be pulled high to DVDD through a 4.7 kΩ resistor.
This terminal provides an 8-kHz cycle timer synchronization signal. If not implemented, this terminal should be
left unconnected.
General-purpose I/O [2]. This terminal defaults as an input and if it is not implemented, then it is recommended
that it be pulled low to ground with a 220-Ω resistor.
General-purpose I/O [3]. This terminal defaults as an input and if it is not implemented, then it is recommended
that it be pulled low to ground with a 220-Ω resistor.
Serial clock. This terminal provides the serial clock signaling and is implemented as open-drain. For normal
operation (a ROM is implemented in the design), this terminal should be pulled high to the ROM VCC with a
2.7-kΩ resistor. Otherwise, it should be pulled low to ground with a 220-Ω resistor.
Serial data. At PCI_RST , the SDA signal is sampled to determine if a two-wire serial ROM is present. If the serial
ROM is detected, then this terminal provides the serial data signaling.
This terminal is implemented as open-drain, and for normal operation (a ROM is implemented in the design),
this terminal should be pulled high to the ROM VCC with a 2.7-kΩ resistor. Otherwise, it should be pulled low
to ground with a 220-Ω resistor.
T erminals TEST[17, 9, 8, 3, 2, 1, 0] are used for factory test of the TSB43AA22 device and should be strapped
directly to ground for normal operation.
Terminal TEST16 must be strapped to DVDD.
2–6
TERMINAL
NAMENO.
CPS106CMOSI
FILTER0
FILTER1
PC0
PC1
PC2
R0
R1
TPA0+
TPA0–
TPA1+
TPA1–
TPB0+
TPB0–
TPB1+
TPB1–
TPBIAS0
TPBIAS1
XI
XO
118
119
115
114
124
123
113
112
122
121
116
125
3
4
99
98
97
5
6
TYPE
CMOSI/O
CMOSI
Bias–
CableI/O
CableI/O
CableI/O
CableI/O
CableI/O
Crystal–
Table 2–7. Physical Layer Terminal Functions
I/ODESCRIPTION
Cable power status input. This terminal is normally connected to cable power through a 400-kΩ
resistor. This circuit drives an internal comparator that is used to detect the presence of cable power .
PLL filter terminals. These terminals are connected to an external capacitance to form a lag-lead filter
required for stable operation of the internal frequency multiplier PLL running off of the crystal oscillator .
A 0.1 µF ±10% capacitor is the only external component required to complete this filter.
Power class programming inputs. On hardware reset, these inputs set the default value of the power
class indicated during self-ID. Programming is done by tying these terminals high or low.
Current-setting resistor terminals. These terminals are connected to an external resistance to set the
internal operating currents and cable driver output currents. A resistance of 6.34 kΩ ±1% is required
to meet the IEEE Std 1394-1995 output voltage limits.
Twisted-pair cable A differential signal terminals. Board traces from each pair of positive and negative
differential signal pins should be kept matched and as short as possible to the external load resistors
and to the cable connector.
Twisted-pair cable B differential signal terminals. Board traces from each pair of positive and negative
differential signal pins should be kept matched and as short as possible to the external load resistors
and to the cable connector.
Twisted-pair bias output. This provides the 1.86-V nominal bias voltage needed for proper operation
of the twisted-pair cable drivers and receivers, and for signaling to the remote nodes that there is an
active cable connection. Each of these pins must be decoupled with a 1.0-µF capacitor to ground.
Crystal oscillator inputs. These pins connect to a 24.576-MHz parallel resonant fundamental mode
crystal. The optimum values for the external shunt capacitors are dependent on the specifications of
the crystal used (see Crystal Selection, Section 8.2).
p
p
p
p
p
p
2–7
TERMINAL
NAMENO.
AGND
AV
DD
DGND
DV
DD
PLL
GND
PLLV
V
DDP
109–1 11, 117,
126–128
1, 2, 107, 108,
17, 23, 30, 33,
44, 55, 64, 68,
75, 83, 93,
15, 27, 39, 51,
59, 72, 88,
DD
20, 35, 48, 62,
TYPE
Supply–
120
103
100
8, 9Supply–
7Supply–
78
Supply–
Supply–
Supply–
Supply–
Table 2–8. Power Supply
I/ODESCRIPTION
Analog circuit ground terminals. These terminals should be tied together to the low-impedance
circuit board ground plane.
Analog circuit power terminals. A combination of high frequency decoupling capacitors near
each terminal is suggested, such as paralleled 0.1 µF and 0.001 µF. Lower frequency 10-µF
filtering capacitors are also recommended. These supply terminals are separated from PLLV
and DVDD internal to the device to provide noise isolation. They should be tied at a
low-impedance point on the circuit board.
Digital circuit ground terminals. These terminals should be tied together to the low-impedance
circuit board ground plane.
Digital circuit power terminals. A combination of high frequency decoupling capacitors near
each DVDD terminal is suggested, such as paralleled 0.1 µF and 0.001 µF. Lower frequency
10-µF filtering capacitors are also recommended. These supply terminals are separated from
PLLVDD and AVDD internal to the device to provide noise isolation. They should be tied at a
low-impedance point on the circuit board.
PLL circuit ground terminals. These terminals should be tied together to the low-impedance
circuit board ground plane.
PLL circuit power terminals. A combination of high frequency decoupling capacitors near each
terminal is suggested, such as paralleled 0.1 µF and 0.001 µF . Lower frequency 10-µF filtering
capacitors are also recommended. These supply terminals are separated from DVDD and AV
internal to the device to provide noise isolation. They should be tied at a low-impedance point
on the circuit board.
PCI signaling clamp voltage power input. PCI signals are clamped per the PCI Local BusSpecification. In addition, if a 5-V ROM is used, the V
should be connected to 5 V.
DDP
DD
DD
2–8
3 TSB43AA22 1394 OHCI Controller Programming Model
This section describes the internal PCI configuration registers used to program the TSB43AA22 1394 open host
controller interface. All registers are detailed in the same format: a brief description for each register is followed by
the register offset and a bit table describing the reset state for each register.
A bit description table, typically included when the register contains bits of more than one type or purpose, indicates
bit field names, a detailed field description, and field access tags which appear in the type column. Table 3–1
describes the field access tags.
Table 3–1. 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 TSB43AA22 device.
3–1
3.1PCI Configuration Registers
The TSB43AA22 device is a single-function PCI device that is configured as a PCI device. The configuration header
is compliant with the PCI Local Bus Specification as a standard header. Table 3–2 illustrates the PCI configuration
header that includes both the predefined portion of the configuration space and the user-definable registers.
Table 3–2. PCI Configuration Register Map
REGISTER NAMEOFFSET
Device IDVendor ID00h
StatusCommand04h
Class codeRevision ID08h
BISTHeader typeLatency timerCache line size0Ch
OHCI base address10h
TI extension base address14h
Reserved18h–28h
Subsystem IDSubsystem vendor ID2Ch
Reserved30h
PCI power
Reserved
Reserved38h
Maximum latencyMinimum grantInterrupt pinInterrupt line3Ch
OHCI control40h
Power management capabilitiesNext item pointerCapability ID44h
PM dataPMCSR_BSEPower management control and status48h
Reserved4Ch–ECh
Miscellaneous configurationF0h
Link enhancement controlF4h
Subsystem device ID aliasSubsystem vendor ID aliasF8h
GPIO3GPIO2ReservedFCh
management
capabilities pointer
34h
3.2Vendor ID Register
The vendor ID register contains a value allocated by the PCI SIG and identifies the manufacturer of the PCI device.
The vendor ID assigned to Texas Instruments is 104Ch.
Bit1514131211109876543210
NameVendor ID
TypeRRRRRRRRRRRRRRRR
Default0001000001001100
Register:Vendor ID
Offset:00h
Type:Read-only
Default:104Ch
3–2
3.3Device ID Register
The device ID register contains a value assigned to the TSB43AA22 device by Texas Instruments. The device
identification for the TSB43AA22 device is 8021h.
Bit1514131211109876543210
NameDevice ID
TypeRRRRRRRRRRRRRRRR
Default1000000000100001
Register:Device ID
Offset:02h
Type:Read-only
Default:8021h
3.4Command Register
The command register provides control over the TSB43AA22 interface to the PCI bus. All bit functions adhere to the
definitions in the PCI Local Bus Specification, as seen in the following bit descriptions. See T able 3–3 for a complete
description of the register contents.
15–10RSVDRReserved. Bits 15–10 return 0s when read.
9FBB_ENBRFast back-to-back enable. The TSB43AA22 device does not generate fast back-to-back transactions;
8SERR_ENBR/WPCI_SERR enable. When this bit is set, the TSB43AA22 PCI_SERR driver is enabled. PCI_SERR can
7STEP_ENBRAddress/data stepping control. The TSB43AA22 device does not support address/data stepping;
6PERR_ENBR/WParity error enable. When this bit is set, the TSB43AA22 device is enabled to drive PCI_PERR
5VGA_ENBRVGA palette snoop enable. The TSB43AA22 device does not feature VGA palette snooping. This bit
4MWI_ENBR/WMemory write and invalidate enable. When this bit is set, the TSB43AA22 device is enabled to generate
3SPECIALRSpecial cycle enable. The TSB43AA22 function does not respond to special cycle transactions. This
2MASTER_ENBR/WBus master enable. When this bit is set, the TSB43AA22 device is enabled to initiate cycles on the PCI
1MEMORY_ENBR/WMemory response enable. Setting this bit enables the TSB43AA22 device to respond to memory
0IO_ENBRI/O space enable. The TSB43AA22 device does not implement any I/O mapped functionality;
therefore, this bit returns 0 when read.
be asserted after detecting an address parity error on the PCI bus.
therefore, this bit is hardwired to 0.
response to parity errors through the PCI_PERR signal.
returns 0 when read.
MWI PCI bus commands. If this bit is cleared, then the TSB43AA22 device generates memory write
commands instead.
bit returns 0 when read.
bus.
cycles on the PCI bus. This bit must be set to access OHCI registers.
therefore, this bit returns 0 when read.
3–3
3.5Status Register
The status register provides status over the TSB43AA22 interface to the PCI bus. All bit functions adhere to the
definitions in the PCI Local Bus Specification, as seen in the following bit descriptions. See T able 3–4 for a complete
description of the register contents.
15PAR_ERRRCUDetected parity error. This bit is set when either an address parity or data parity error is detected.
14SYS_ERRRCUSignaled system error. This bit is set when PCI_SERR is enabled and the TSB43AA22 device has
13MABORTRCUReceived master abort. This bit is set when a cycle initiated by the TSB43AA22 device on the PCI bus
12TABORT_RECRCUReceived target abort. This bit is set when a cycle initiated by the TSB43AA22 device on the PCI bus
11TABORT_SIGRCUSignaled target abort. This bit is set by the TSB43AA22 device when it terminates a transaction on the
10–9PCI_SPEEDRDEVSEL timing. Bits 10–9 encode the timing of PCI_DEVSEL and are hardwired to 01b indicating that
8DATAPARRCUData parity error detected. This bit is set when the following conditions have been met:
7FBB_CAPRFast back-to-back capable. The TSB43AA22 device cannot accept fast back-to-back transactions;
6UDFRUser-definable features (UDF) supported. The TSB43AA22 device does not support the UDF;
566MHZR66-MHz capable. The TSB43AA22 device operates at a maximum PCI_CLK frequency of 33 MHz;
4CAPLISTRCapabilities list. This bit returns 1 when read, indicating that capabilities additional to standard PCI are
3–0RSVDRReserved. Bits 3–0 return 0s when read.
signaled a system error to the host.
has been terminated by a master abort.
was terminated by a target abort.
PCI bus with a target abort.
the TSB43AA22 device asserts this signal at a medium speed on nonconfiguration cycle accesses.
a. PCI_PERR
b. The TSB43AA22 device was the bus master during the data parity error.
c. Bit 6 (PERR_EN) is set in the command register (offset 04h, see Section 3.4).
therefore, this bit is hardwired to 0.
therefore, this bit is hardwired to 0.
therefore, this bit is hardwired to 0.
implemented. The linked list of PCI power management capabilities is implemented in this function.
was asserted by any PCI device including the TSB43AA22 device.
3–4
3.6Class Code and Revision ID Register
The class code and revision ID register categorizes the TSB43AA22 device as a serial bus controller (0Ch),
controlling an IEEE 1394 bus (00h), with an OHCI programming model (10h). Furthermore, the TI chip revision is
indicated in the least significant byte. See Table 3–5 for a complete description of the register contents.
Bit31302928272625242322212019181716
NameClass code and revision ID
TypeRRRRRRRRRRRRRRRR
Default0000110000000000
Bit1514131211109876543210
NameClass code and revision ID
TypeRRRRRRRRRRRRRRRR
Default0001000000000001
Register:Class code and revision ID
Offset:08h
Type:Read-only
Default:0C00 1001h
Table 3–5. Class Code and Revision ID Register Description
BITFIELD NAMETYPEDESCRIPTION
31–24BASECLASSRBase class. This field returns 0Ch when read, which broadly classifies the function as a serial bus
23–16SUBCLASSRSubclass. This field returns 00h when read, which specifically classifies the function as controlling an
15–8PGMIFRProgramming interface. This field returns 10h when read, indicating that the programming model is
7–0CHIPREVRSilicon revision. This field returns 01h when read, indicating the silicon revision of the TSB43AA22
controller.
IEEE 1394 serial bus.
compliant with the 1394 Open Host Controller Interface Specification.
device.
3.7Latency Timer and Class Cache Line Size Register
The latency timer and class cache line size register is programmed by host BIOS to indicate system cache line size
and the latency timer associated with the TSB43AA22 device. See T able 3–6 for a complete description of the register
contents.
Bit1514131211109876543210
NameLatency timer and class cache line size
TypeR/WR/WR/WR/WR/WR/WR/WR/WR/WR/WR/WR/WR/WR/WR/WR/W
Default0000000000000000
Register:Latency timer and class cache line size
Offset:0Ch
Type:Read/Write
Default:0000h
Table 3–6. Latency Timer and Class Cache Line Size Register Description
BITFIELD NAMETYPEDESCRIPTION
15–8LATENCY_TIMERR/WPCI latency timer. The value in this register specifies the latency timer for the TSB43AA22 device, in
7–0CACHELINE_SZR/WCache line size. This value is used by the TSB43AA22 device during memory write and invalidate,
units of PCI clock cycles. When the TSB43AA22 device is a PCI bus initiator and asserts PCI_FRAME
the latency timer begins counting from zero. If the latency timer expires before the TSB43AA22
transaction has terminated, then the TSB43AA22 device terminates the transaction when its
PCI_GNT
memory read line, and memory read multiple transactions.
is deasserted.
,
3–5
3.8Header Type and BIST Register
The header type and BIST register indicates the TSB43AA22 PCI header type, and indicates no built-in self-test. See
Table 3–7 for a complete description of the register contents.
Bit1514131211109876543210
NameHeader type and BIST
TypeRRRRRRRRRRRRRRRR
Default0000000000000000
Register:Header type and BIST
Offset:0Eh
Type:Read-only
Default:0000h
Table 3–7. Header Type and BIST Register Description
BITFIELD NAMETYPEDESCRIPTION
15–8BISTRBuilt-in self-test. The TSB43AA22 device does not include a built-in self-test; thus, this field returns 00h
7–0HEADER_TYPERPCI header type. The TSB43AA22 device includes the standard PCI header, and this is communicated
when read.
by returning 00h when this field is read.
3.9OHCI Base Address Register
The OHCI base address register is programmed with a base address referencing the memory-mapped OHCI control.
When BIOS writes all 1s to this register, the value read back is FFFF F800h, indicating that at least 2K bytes of
memory address space are required for the OHCI registers. See T able 3–8 for a complete description of the register
contents.
Bit31302928272625242322212019181716
NameOHCI base address
TypeR/WR/WR/WR/WR/WR/WR/WR/WR/WR/WR/WR/WR/WR/WR/WR/W
Default0000000000000000
Bit1514131211109876543210
NameOHCI base address
TypeR/WR/WR/WR/WR/WRRRRRRRRRRR
Default0000000000000000
Register:OHCI base address
Offset:10h
Type:Read/Write, Read-only
Default:0000 0000h
Table 3–8. OHCI Base Address Register Description
BITFIELD NAMETYPEDESCRIPTION
31–11OHCIREG_PTRR/WOHCI register pointer. Specifies the upper 21 bits of the 32-bit OHCI base address register.
10–4OHCI_SZROHCI register size. This field returns 0s when read, indicating that the OHCI registers require a
3OHCI_PFROHCI register prefetch. This bit returns 0 when read, indicating that the OHCI registers are
2–1OHCI_MEMTYPEROHCI memory type. This field returns 0s when read, indicating that the OHCI base address register is
0OHCI_MEMROHCI memory indicator. This bit returns 0 when read, indicating that the OHCI registers are mapped
3–6
2-Kbyte region of memory.
nonprefetchable.
32 bits wide and mapping can be done anywhere in the 32-bit memory space.
into system memory space.
3.10 TI Extension Base Address Register
The TI extension base address register is programmed with a base address referencing the memory-mapped TI
extension registers. See OHCI Base Address Register, Section 3.9, for bit field details.
Bit31302928272625242322212019181716
NameTI extension base address
TypeR/WR/WR/WR/WR/WR/WR/WR/WR/WR/WR/WR/WR/WR/WR/WR/W
Default0000000000000000
Bit1514131211109876543210
NameTI extension base address
TypeR/WR/WR/WR/WR/WRRRRRRRRRRR
Default0000000000000000
Register:TI extension base address
Offset:14h
Type:Read/Write, Read-only
Default:0000 0000h
3.11 Subsystem Identification Register
The subsystem identification register is used for system and option card identification purposes. This register can
be initialized from the serial ROM or programmed via the subsystem access register (offset F8h, see Section 3.22).
See Table 3–9 for a complete description of the register contents.
31–16OHCI_SSIDRUSubsystem device ID. This field indicates the subsystem device ID.
15–0OHCI_SSVIDRUSubsystem vendor ID. This field indicates the subsystem vendor ID.
3–7
3.12 Power Management Capabilities Pointer Register
The power management capabilities pointer register provides a pointer into the PCI configuration header where the
power management register block resides. The TSB43AA22 configuration header doublewords at offsets 44h and
48h provide the power management registers. This register is read-only and returns 44h when read.
The interrupt line and pin register is used to communicate interrupt line routing information. See Table 3–10 for a
complete description of the register contents.
Bit1514131211109876543210
NameInterrupt line and pin
TypeRRRRRRRRR/WR/WR/WR/WR/WR/WR/WR/W
Default0000000100000000
Register:Interrupt line and pin
Offset:3Ch
Type:Read/Write
Default:0100h
Table 3–10. Interrupt Line and Pin Registers Description
BITFIELD NAMETYPEDESCRIPTION
15–8INTR_PINRInterrupt pin. This field returns 01h when read, indicating that the TSB43AA22 PCI function signals
7–0INTR_LINER/WInterrupt line. This field is programmed by the system and indicates to software which interrupt line the
interrupts on the PCI_INT A
TSB43AA22 PCI_INT A
is connected to.
pin.
3–8
3.14 MIN_GNT and MAX_LAT Register
The MIN_GNT and MAX_LA T register is used to communicate to the system the desired setting of bits 15–8 in the
latency timer and class cache line size register (offset 0Ch, see Section 3.7). If a serial ROM is detected, then the
contents of this register are loaded through the serial ROM interface after a PCI_RST
then this register returns a default value that corresponds to the MAX_LAT = 4, MIN_GNT = 2. See Table 3–11 for
a complete description of the register contents.
Bit1514131211109876543210
NameMIN_GNT and MAX_LAT
TypeRURURURURURURURURURURURURURURURU
Default0000010000000010
Register:MIN_GNT and MAX_LA T
Offset:3Eh
Type:Read/Update
Default:0402h
Table 3–11. MIN_GNT and MAX_LAT Register Description
BITFIELD NAMETYPEDESCRIPTION
15–8MAX_LATRUMaximum latency. The contents of this register may be used by host BIOS to assign an arbitration priority
level to the TSB43AA22 device. The default for this register indicates that the TSB43AA22 device may need
to access the PCI bus as often as every 0.25 µs; thus, an extremely high priority level is requested. The
contents of this field may also be loaded through the serial ROM.
7–0MIN_GNTRUMinimum grant. The contents of this register may be used by host BIOS to assign a latency timer register
value to the TSB43AA22 device. The default for this register indicates that the TSB43AA22 device may
need to sustain burst transfers for nearly 64 µs and thus request a large value be programmed in bits 15–8
of the TSB43AA22 latency timer and class cache line size register (offset 0Ch, see Section 3.7).
. If no serial ROM is detected,
3.15 OHCI Control Register
The PCI OHCI control register is defined by the 1394 Open Host Controller Interface Specification and provides a
bit for big endian PCI support. See Table 3–12 for a complete description of the register contents.
Bit31302928272625242322212019181716
NameOHCI control
TypeRRRRRRRRRRRRRRRR
Default0000000000000000
Bit1514131211109876543210
NameOHCI control
TypeRRRRRRRRRRRRRRRR/W
Default0000000000000000
Register:OHCI control
Offset:40h
Type:Read/Write, Read-only
Default:0000 0000h
Table 3–12. OHCI Control Register Description
BITFIELD NAMETYPEDESCRIPTION
31–1RSVDRReserved. Bits 31–1 return 0s when read.
0GLOBAL_SWAPR/WWhen this bit is set, all quadlets read from and written to the PCI interface are byte swapped (big
endian). This bit is loaded from ROM and should be cleared for normal operation.
3–9
3.16 Capability ID and Next Item Pointer Registers
The capability ID and next item pointer register identifies the linked list capability item and provides a pointer to the
next capability item. See Table 3–13 for a complete description of the register contents.
Bit1514131211109876543210
NameCapability ID and next item pointer
TypeRRRRRRRRRRRRRRRR
Default0000000000000001
Register:Capability ID and next item pointer
Offset:44h
Type:Read-only
Default:0001h
Table 3–13. Capability ID and Next Item Pointer Registers Description
BITFIELD NAMETYPEDESCRIPTION
15–8NEXT_ITEMRNext item pointer. The TSB43AA22 device supports only one additional capability that is
7–0CAPABILITY_IDRCapability identification. This field returns 01h when read, which is the unique ID assigned by the PCI
communicated to the system through the extended capabilities list; thus, this field returns 00h when
read.
SIG for PCI power management capability.
3–10
3.17 Power Management Capabilities Register
The power management capabilities register indicates the capabilities of the TSB43AA22 device related to PCI power
management. See Table 3–14 for a complete description of the register contents.
Table 3–14. Power Management Capabilities Register Description
BITFIELD NAMETYPEDESCRIPTION
15PME_D3COLDRUPCI_PME support from D3
14–11PME_SUPPORTRUPCI_PME support. This 4-bit field indicates the power states from which the TSB43AA22 device may
10D2_SUPPORTRUD2 support. This bit can be set or cleared via bit 10 (D2_SUPPORT) in the miscellaneous configuration
9D1_SUPPORTRD1 support. This bit returns a 0 when read, indicating that the TSB43AA22 device does not support the
8–6AUX_CURRENTRAuxiliary current. This 3-bit field reports the 3.3-V
5DSIRDevice-specific initialization. This bit returns 0 when read, indicating that the TSB43AA22 device does
4RSVDRReserved. This bit returns 0 when read.
3PME_CLKRPCI_PME clock. This bit returns 0 when read, indicating that no host bus clock is required for the
2–0PM_VERSIONRPower management version. This field returns 010b when read, indicating that the TSB43AA22 device
miscellaneous configuration register (offset F0h, see Section 3.20). The miscellaneous configuration
register is loaded from ROM. When this bit is set to 1, it indicates that the TSB43AA22 device is capable
of generating a PCI_PME
V
implementation and may be configured by using bit 15 (PME_D3COLD) in the miscellaneous
AUX
configuration register (see Section 3.20).
assert PCI_PME
asserted from the D3
(PME_SUPPORT_D2) in the miscellaneous configuration register (offset F0h, see Section 3.20).
register (offset F0h, see Section 3.20). The miscellaneous configuration register is loaded from ROM.
When this bit is set, it indicates that D2 support is present. When this bit is cleared, it indicates that D2
support is not present. For normal operation, this bit is set to 1.
D1 power state.
(PME_D3COLD) is cleared, this field returns 000b; otherwise, it returns 001b.
000b = Self-powered
001b = 55 mA (3.3-V
not require special initialization beyond the standard PCI configuration header before a generic class
driver is able to use it.
TSB43AA22 device to generate PCI_PME
is compatible with the registers described in the PCI Bus Power Management Interface Specification
(Revision 1.1).
. This field returns a value of 1100b by default, indicating that PCI_PME may be
hot
. This bit can be set to 1 or cleared to 0 via bit 15 (PME_D3COLD) in the
cold
wake event from D3
and D2 power states. Bit 13 may be modified by host software using bit 13
maximum current required)
AUX
. This bit state is dependent upon the TSB43AA22
cold
auxiliary current requirements. When bit 15
AUX
.
3–11
3.18 Power Management Control and Status Register
The power management control and status register implements the control and status of the PCI power management
function. This register is not affected by the internally generated reset caused by the transition from the D3
state. See Table 3–15 for a complete description of the register contents.
Bit1514131211109876543210
NamePower management control and status
TypeRCRRRRRRR/WRRRRRRR/WR/W
Default0000000000000000
Register:Power management control and status
Offset:48h
Type:Read/Clear, Read/Write, Read-only
Default:0000h
Table 3–15. Power Management Control and Status Register Description
BITFIELD NAMETYPEDESCRIPTION
15PME_STSRCThis bit is set when the TSB43AA22 device would normally be asserting the PCI_PME signal,
14–13DATA_SCALERThis field returns 0s because the data register is not implemented.
12–9DATA_SELECTRThis field returns 0s because the data register is not implemented.
8PME_ENBR/WWhen bit 8 = 1, PME assertion is enabled. When bit 8 = 0, PME assertion is disabled. This bit defaults to
7–2RSVDRReserved. Bits 7–2 return 0s when read.
1–0PWR_STATER/WPower state. This 2-bit field is used to set the TSB43AA22 device power state and is encoded as
independent of the state of bit 8 (PME_ENB). This bit is cleared by a writeback of 1, and this also clears
the PCI_PME
0 if the function does not support PME
D3
cold
initially loaded. Functions that do not support PME generation from any D-state (that is, bits 15–11 in
the power management capabilities register (offset 46h, see Section 3.17) equal 00000b and may
hardwire this bit to be read-only and always return a 0 when read by system software.
follows:
00 = Current power state is D0.
01 = Current power state is D1 (not supported by this device).
10 = Current power state is D2.
11 = Current power state is D3.
signal driven by the TSB43AA22 device. Writing a 0 to this bit has no effect.
, then this bit is sticky and must be explicitly cleared by the operating system each time it is
generation from D3
. If the function supports PME from
cold
hot
to D0
3.19 Power Management Extension Registers
The power management extension register provides extended power management features not applicable to the
TSB43AA22 device, thus it is read-only and returns 0 when read. See Table 3–16 for a complete description of the
register contents.
Table 3–16. Power Management Extension Registers Description
BITFIELD NAMETYPEDESCRIPTION
15–0RSVDRReserved. Bits 15–0 return 0s when read.
3–12
3.20 Miscellaneous Configuration Register
The miscellaneous configuration register provides miscellaneous PCI-related configuration. See Table 3–17 for a
complete description of the register contents.
31–16RSVDRReserved. Bits 31–16 return 0s when read.
15PME_D3COLDR/WPCI_PME support from D3
management capabilities register (offset 46h, see Section 3.17).
14RSVDRReserved. Bit 14 returns 0 when read.
13PME_SUPPORT_D2R/WPCI_PME support. This bit is used to program bit 13 (PME_SUPPORT_D2) in the power
management capabilities register (offset 46h, see Section 3.17). If wake from the D2 power state
implemented in the TSB43AA22 device is not desired, then this bit may be cleared to indicate to
power management software that wake-up from D2 is not supported.
12–11RSVDRReserved. Bits 12–11 return 0s when read.
10D2_SUPPORTR/WD2 support. This bit is used to program bit 10 (D2_SUPPORT) in the power management
capabilities register (offset 46h, see Section 3.17). If the D2 power state in the TSB43AA22 device
is not desired, then this bit may be cleared to indicate to power management software that D2 is
not supported.
9–5RSVDRReserved. Bits 9–5 return 0s when read.
4DIS_TGT_ABTR/WThis bit defaults to 0, which provides OHCI-Lynx compatible target abort signaling. When this bit
is set to 1, it enables the no-target-abort mode, in which the TSB43AA22 device returns
indeterminate data instead of signaling target abort.
The TSB43AA22 LLC is divided into the PCI_CLK and SCLK domains. If software tries to access
registers in the link that are not active because the SCLK is disabled, a target abort is issued by the
link. On some systems this can cause a problem resulting in a fatal system error. Enabling this bit
allows the link to respond to these types of requests by returning FFh.
It is recommended that this bit be set to 1.
3GP2IICR/WWhen this bit is set to 1, the GPIO3 and GPIO2 signals are internally routed to the SCL and SDA,
respectively. The GPIO3 and GPIO2 terminals are also placed in high-impedance state.
2DISABLE_SCLKGATER/WWhen this bit is set, the internal SCLK runs identically with the chip input. This is a test feature only
and should normally be reset to 0.
1DISABLE_PCIGATER/WWhen this bit is set, the internal PCI clock runs identically with the chip input. This is a test feature
only and should normally be reset to 0.
0KEEP_PCLKR/WWhen this bit is set, the PCI clock is always kept running through the PCI_CLKRUN protocol.
When this bit is cleared, the PCI clock may be stopped using PCI_CLKRUN
. This bit is used to program bit 15 (PME_D3COLD) in the power
cold
.
3–13
3.21 Link Enhancement Control Register
The link enhancement control register implements TI-proprietary bits that are initialized by software or by a serial
ROM, if present. After these bits are set, their functionality is enabled only if bit 22 (aPhyEnhanceEnable) in the host
controller control register (offset 50h/54h, see Section 4.16) is set. See Table 3–18 for a complete description of the
register contents.
Bit31302928272625242322212019181716
NameLink enhancement control
TypeRRRRRRRRRRRRRRRR
Default0000000000000000
Bit1514131211109876543210
NameLink enhancement control
TypeRRR/WR/WRRRRR/WRRRRR/WR/WR
Default0001000000000000
Register:Link enhancement control
Offset:F4h
Type:Read/Write, Read-only
Default:0000 1000h
Table 3–18. Link Enhancement Control Register Description
BITFIELD NAMETYPEDESCRIPTION
31–14RSVDRReserved. Bits 31–14 return 0s when read.
13–12atx_threshR/WThis field sets the initial AT threshold value, which is used until the AT FIFO is underrun. When the
11–8RSVDRReserved. Bits 11–8 return 0s when read.
7enab_unfairR/WEnable asynchronous priority requests. OHCI-Lynx compatible. Setting this bit to 1 enables the link
6RSVDRThis bit is not assigned in the TSB43AA22 follow-on products since this bit location loaded by the serial
5–3RSVDRReserved. Bits 5–3 return 0s when read.
TSB43AA22 device retries the packet, it uses a 2-Kbyte threshold resulting in a store-and-forward
operation.
11 = Threshold ~ 512 bytes
These bits fine tune the asynchronous transmit threshold. For most applications the 1.7-K threshold
is optimal. Changing this value may increase or decrease the 1394 latency depending on the average
PCI bus latency.
Setting the AT threshold to 1.7K, 1K, or 512 bytes results in data being transmitted at these thresholds,
or when an entire packet has been checked into the FIFO. If the packet to be transmitted is larger than
the AT threshold, then the remaining data must be received before the A T FIFO is emptied; otherwise,
an underrun condition will occur, resulting in a packet error at the receiving node. As a result, the link
will then commence store-and-forward operation, that is, wait until it has the complete packet in the
FIFO before retransmitting it on the second attempt, to ensure delivery.
An AT threshold of 2K results in store-and-forward operation, which means that asynchronous data
will not be transmitted until an end-of-packet token is received. Restated, setting the AT threshold to
2K results in only complete packets being transmitted.
Note that this device will always use store-and-forward when the asynchronous transmit retries
register (OHCI offset 08h, see Section 4.3) is cleared.
to respond to requests with priority arbitration. It is recommended that this bit be set to 1.
ROM from the enhancements field corresponds to bit 23 (programPhyEnable) in the host controller
control register (OHCI offset 50h/54h, see Section 4.16).
3–14
Table 3–18. Link Enhancement Control Register Description (Continued)
BITFIELD NAMETYPEDESCRIPTION
2enab_insert_idleR/WEnable insert idle. OHCI-Lynx compatible. When the PHY device has control of the
1enab_accelR/WEnable acceleration enhancements. OHCI-Lynx compatible. When set to 1, this bit notifies the PHY
0RSVDRReserved. Bit 0 returns 0 when read.
PHY_CTL0–PHY_CTL1 internal control lines and PHY_DA TA0–PHY_DATA7 internal data lines and
the link requests control, the PHY device drives 11b on the PHY_CTL0–PHY_CTL1 internal lines. The
link can then start driving these lines immediately . Setting this bit to 1 inserts an idle state, so the link
waits one clock cycle before it starts driving the lines (turnaround time). It is recommended that this
bit be set to 1.
device that the link supports the IEEE 1394a-2000 acceleration enhancements, that is,
ack-accelerated, fly-by concatenation, etc. It is recommended that this bit be set to 1.
3.22 Subsystem Access Register
Write access to the subsystem access register updates the subsystem identification registers identically to
OHCI-Lynxt. The system ID value written to this register may also be read back from this register. See T able 3–19
for a complete description of the register contents.
31–16SUBDEV_IDR/WSubsystem device ID alias. This field indicates the subsystem device ID.
15–0SUBVEN_IDR/WSubsystem vendor ID alias. This field indicates the subsystem vendor ID.
3–15
3.23 GPIO Control Register
The GPIO control register has the control and status bits for the GPIO2 and GPIO3 ports. See Table 3–20 for a
complete description of the register contents.
Bit31302928272625242322212019181716
NameGPIO control
TypeR/WRR/WR/WRRRRWUR/WRR/WR/WRRRRWU
Default0000000000000000
Bit1514131211109876543210
NameGPIO control
TypeRRRRRRRRRRRRRRRR
Default0000000000000000
Register:GPIO control
Offset:FCh
Type:Read/Write/Update, Read/Write, Read-only
Default:0000 0000h
Table 3–20. General-Purpose Input/Output Control Register Description
BITFIELD NAMETYPEDESCRIPTION
31INT_3ENR/WWhen this bit is set, a TSB43AA22 general-purpose interrupt event occurs on a level change of the
30RSVDRReserved. Bit 30 returns 0 when read.
29GPIO_INV3R/WGPIO3 polarity invert. When this bit is set, the polarity of GPIO3 is inverted.
28GPIO_ENB3R/WGPIO3 enable control. When this bit is set, the output is enabled. Otherwise, the output is high
27–25RSVDRReserved. Bits 27–25 return 0s when read.
24GPIO_DATA3RWUGPIO3 data. Reads from this bit return the logical value of the input to GPIO3. Writes to this bit update
23INT_2ENR/WWhen this bit is set, a TSB43AA22 general-purpose interrupt event occurs on a level change of the
22RSVDRReserved. Bit 22 returns 0 when read.
21GPIO_INV2R/WGPIO2 polarity invert. When this bit is set, the polarity of GPIO2 is inverted.
20GPIO_ENB2R/WGPIO2 enable control. When this bit is set, the output is enabled. Otherwise, the output is high
19–17RSVDRReserved. Bits 19–17 return 0s when read.
16GPIO_DATA2RWUGPIO2 data. Reads from this bit return the logical value of the input to GPIO2. Writes to this bit update
15–0RSVDRReserved. Bits 15–0 return 0s when read.
GPIO3 input. This event may generate an interrupt, with mask and event status reported through the
OHCI interrupt mask (OHCI offset 88h/8Ch, see Section 4.22) and interrupt event (OHCI offset
80h/84h, see Section 4.21) registers.
impedance.
the value to drive to GPIO3 when output is enabled.
GPIO2 input. This event may generate an interrupt, with mask and event status reported through the
OHCI interrupt mask (OHCI offset 88h/8Ch, see Section 4.22) and interrupt event (OHCI offset
80h/84h, see Section 4.21) registers.
impedance.
the value to drive to GPIO2 when the output is enabled.
3–16
4 OHCI Registers
The OHCI registers defined by the 1394 Open Host Controller Interface Specification are memory-mapped into a
2-Kbyte region of memory pointed to by the OHCI base address register at offset 10h in PCI configuration space (see
Section 3.9). These registers are the primary interface for controlling the TSB43AA22 IEEE 1394 link function.
This section provides the register interface and bit descriptions. Several set/clear register pairs in this programming
model are implemented to solve various issues with typical read-modify-write control registers. There are two
addresses for a set/clear register: RegisterSet and RegisterClear. See Table 4–1 for an illustration. A 1 bit written to
RegisterSet causes the corresponding bit in the set/clear register to be set; a 0 bit leaves the corresponding bit
unaffected. A 1 bit written to RegisterClear causes the corresponding bit in the set/clear register to be cleared; a 0
bit leaves the corresponding bit in the set/clear register unaffected.
Typically , a read from either RegisterSet or RegisterClear returns the contents of the set or clear register , respectively.
However, sometimes reading the RegisterClear provides a masked version of the set or clear register. The interrupt
event register is an example of this behavior.
Table 4–1. OHCI Register Map
DMA CONTEXTREGISTER NAMEABBREVIATIONOFFSET
—OHCI versionVersion00h
GUID ROMGUID_ROM04h
Asynchronous transmit retriesATRetries08h
CSR dataCSRData0Ch
CSR compareCSRCompareData10h
CSR controlCSRControl14h
Configuration ROM headerConfigROMhdr18h
Bus identificationBusID1Ch
Bus optionsBusOptions20h
GUID highGUIDHi24h
GUID lowGUIDLo28h
Reserved—2Ch–30h
Configuration ROM mappingConfigROMmap34h
Posted write address lowPostedWriteAddressLo38h
Posted write address highPostedWriteAddressHi3Ch
Vendor IDVendorID40h
Reserved—44h–4Ch
This register indicates the OHCI version support, and whether or not the serial ROM is present. See Table 4–2 for
a complete description of the register contents.
Bit31302928272625242322212019181716
NameOHCI version
TypeRRRRRRRRRRRRRRRR
Default0000000X00000001
Bit1514131211109876543210
NameOHCI version
TypeRRRRRRRRRRRRRRRR
Default0000000000000000
Register:OHCI version
Offset:00h
Type:Read-only
Default:0X01 0000h
Table 4–2. OHCI Version Register Description
BITFIELD NAMETYPEDESCRIPTION
31–25RSVDRReserved. Bits 31–25 return 0s when read.
24GUID_ROMRThe TSB43AA22 device sets this bit if the serial ROM is detected. If the serial ROM is present, then the
23–16versionRMajor version of the OHCI. The TSB43AA22 device is compliant with the 1394 Open Host Controller
15–8RSVDRReserved. Bits 15–8 return 0s when read.
7–0revisionRMinor version of the OHCI. The TSB43AA22 device is compliant with the 1394 Open Host Controller
Bus_Info_Block is automatically loaded on hardware reset.
Interface Specification; thus, this field reads 01h.
Interface Specification; thus, this field reads 00h.
4–4
4.2GUID ROM Register
The GUID ROM register is used to access the serial ROM, and is only applicable if bit 24 (GUID_ROM) in the OHCI
version register (OHCI offset 00h, see Section 4.1) is set. See Table 4–3 for a complete description of the register
contents.
Bit31302928272625242322212019181716
NameGUID ROM
TypeRSURRRRRRSURRURURURURURURURU
Default00000000XXXXXXXX
Bit1514131211109876543210
NameGUID ROM
TypeRRRRRRRRRRRRRRRR
Default0000000000000000
Register:GUID ROM
Offset:04h
Type:Read/Set/Update, Read/Update, Read-only
Default:00XX 0000h
Table 4–3. GUID ROM Register Description
BITFIELD NAMETYPEDESCRIPTION
31addrResetRSUSoftware sets this bit to reset the GUID ROM address to 0. When the TSB43AA22 device completes
30–26RSVDRReserved. Bits 30–26 return 0s when read.
25rdStartRSUA read of the currently addressed byte is started when this bit is set. This bit is automatically cleared
24RSVDRReserved. Bit 24 returns 0 when read.
23–16rdDataRUThis field contains the data read from the GUID ROM.
15–0RSVDRReserved. Bits 15–0 return 0s when read.
the reset, it clears this bit. The TSB43AA22 device does not automatically fill bits 23–16 (rdData field)
with the 0th byte.
when the TSB43AA22 device completes the read of the currently addressed GUID ROM byte.
4–5
4.3Asynchronous Transmit Retries Register
The asynchronous transmit retries register indicates the number of times the TSB43AA22 device attempts a retry
for asynchronous DMA request transmit and for asynchronous physical and DMA response transmit. See T able 4–4
for a complete description of the register contents.
31–29secondLimitRThe second limit field returns 0s when read, because outbound dual-phase retry is not
28–16cycleLimitRThe cycle limit field returns 0s when read, because outbound dual-phase retry is not implemented.
15–12RSVDRReserved. Bits 15–12 return 0s when read.
11–8maxPhysRespRetriesR/WThis field tells the physical response unit how many times to attempt to retry the transmit operation
7–4maxATRespRetriesR/WThis field tells the asynchronous transmit response unit how many times to attempt to retry the
3–0maxATReqRetriesR/WThis field tells the asynchronous transmit DMA request unit how many times to attempt to retry the
implemented.
for the response packet when a busy acknowledge or ack_data_error is received from the target
node.
transmit operation for the response packet when a busy acknowledge or ack_data_error is
received from the target node.
transmit operation for the response packet when a busy acknowledge or ack_data_error is
received from the target node.
4.4CSR Data Register
The CSR data register is used to access the bus management CSR registers from the host through compare-swap
operations. This register contains the data to be stored in a CSR if the compare is successful.
Bit31302928272625242322212019181716
NameCSR data
TypeRRRRRRRRRRRRRRRR
DefaultXXXXXXXXXXXXXXXX
Bit1514131211109876543210
NameCSR data
TypeRRRRRRRRRRRRRRRR
DefaultXXXXXXXXXXXXXXXX
Register:CSR data
Offset:0Ch
Type:Read-only
Default:XXXX XXXXh
4–6
4.5CSR Compare Register
The CSR compare register is used to access the bus management CSR registers from the host through
compare-swap operations. This register contains the data to be compared with the existing value of the CSR
resource.
The CSR control register is used to access the bus management CSR registers from the host through compare-swap
operations. This register is used to control the compare-swap operation and to select the CSR resource. See
Table 4–5 for a complete description of the register contents.
Bit31302928272625242322212019181716
NameCSR control
TypeRURRRRRRRRRRRRRRR
Default1000000000000000
Bit1514131211109876543210
NameCSR control
TypeRRRRRRRRRRRRRRR/WR/W
Default00000000000000XX
Register:CSR control
Offset:14h
Type:Read/Write, Read/Update, Read-only
Default:8000 000Xh
Table 4–5. CSR Control Register Description
BITFIELD NAMETYPEDESCRIPTION
31csrDoneRUThis bit is set by the TSB43AA22 device when a compare-swap operation is complete. It is reset when-
ever this register is written.
30–2RSVDRReserved. Bits 30–2 return 0s when read.
1–0csrSelR/WThis field selects the CSR resource as follows:
The configuration ROM header register externally maps to the first quadlet of the 1394 configuration ROM, offset
FFFF F000 0400h. See Table 4–6 for a complete description of the register contents.
Bit31302928272625242322212019181716
NameConfiguration ROM header
TypeR/WR/WR/WR/WR/WR/WR/WR/WR/WR/WR/WR/WR/WR/WR/WR/W
Default0000000000000000
Bit1514131211109876543210
NameConfiguration ROM header
TypeR/WR/WR/WR/WR/WR/WR/WR/WR/WR/WR/WR/WR/WR/WR/WR/W
DefaultXXXXXXXXXXXXXXXX
Register:Configuration ROM header
Offset:18h
Type:Read/Write
Default:0000 XXXXh
Table 4–6. Configuration ROM Header Register Description
BITFIELD NAMETYPEDESCRIPTION
31–24info_lengthR/WIEEE 1394 bus management field. Must be valid when bit 17 (linkEnable) of the host controller control
23–16crc_lengthR/WIEEE 1394 bus management field. Must be valid when bit 17 (linkEnable) of the host controller control
15–0rom_crc_valueR/WIEEE 1394 bus management field. Must be valid at any time bit 17 (linkEnable) of the host controller
register (OHCI offset 50h/54h, see Section 4.16) is set.
register (OHCI offset 50h/54h, see Section 4.16) is set.
control register (OHCI offset 50h/54h, see Section 4.16) is set. The reset value is undefined if no serial
ROM is present. If a serial ROM is present, then this field is loaded from the serial ROM.
4.8Bus Identification Register
The bus identification register externally maps to the first quadlet in the Bus_Info_Block, and contains the constant
3133 3934h, which is the ASCII value of 1394.
The bus options register externally maps to the second quadlet of the Bus_Info_Block. See T able 4–7 for a complete
description of the register contents.
31irmcR/WIsochronous resource manager capable. IEEE 1394 bus management field. Must be valid when bit 17
30cmcR/WCycle master capable. IEEE 1394 bus management field. Must be valid when bit 17 (linkEnable) of the
29iscR/WIsochronous support capable. IEEE 1394 bus management field. Must be valid when bit 17
28bmcR/WBus manager capable. IEEE 1394 bus management field. Must be valid when bit 17 (linkEnable) of the
27pmcR/WPower management capable. When set, this indicates that the node is power management capable.
26–24RSVDRReserved. Bits 26–24 return 0s when read.
23–16cyc_clk_accR/WCycle master clock accuracy, in parts per million. IEEE 1394 bus management field. Must be valid
15–12max_recR/WMaximum request. IEEE 1394 bus management field. Hardware initializes this field to indicate the
11–8RSVDRReserved. Bits 11–8 return 0s when read.
7–6gR/WGeneration counter. This field is incremented if any portion of the configuration ROM has been
5–3RSVDRReserved. Bits 5–3 return 0s when read.
2–0Lnk_spdRLink speed. This field returns 010, indicating that the link speeds of 100, 200, and 400 Mbits/s are
(linkEnable) of the host controller control register (OHCI offset 50h/54h, see Section 4.16) is set.
host controller control register (OHCI offset 50h/54h, see Section 4.16) is set.
(linkEnable) of the host controller control register (OHCI offset 50h/54h, see Section 4.16) is set.
host controller control register (OHCI offset 50h/54h, see Section 4.16) is set.
Must be valid when bit 17 (linkEnable) of the host controller control register (OHCI offset 50h/54h, see
Section 4.16) is set.
when bit 17 (linkEnable) of the host controller control register (OHCI offset 50h/54h, see Section 4.16)
is set.
maximum number of bytes in a block request packet that is supported by the implementation. This
value, max_rec_bytes must be 512 or greater, and is calculated by 2^(max_rec + 1). Software may
change this field; however, this field must be valid at any time bit 17 (linkEnable) of the host controller
control register (OHCI offset 50h/54h, see Section 4.16) is set. A received block write request packet
with a length greater than max_rec_bytes may generate an ack_type_error. This field is not affected by
a soft reset, and defaults to value indicating 2048 bytes on a hard reset.
incremented since the prior bus reset.
supported.
4–9
4.10 GUID High Register
The GUID high register represents the upper quadlet in a 64-bit global unique ID (GUID) which maps to the third
quadlet in the Bus_Info_Block. This register contains node_vendor_ID and chip_ID_hi fields. This register initializes
to 0s on a hardware reset, which is an illegal GUID value. If a serial ROM is detected, then the contents of this register
are loaded through the serial ROM interface after a PCI_RST
. At that point, the contents of this register cannot be
changed. If no serial ROM is detected, then the contents of this register are loaded by the BIOS after a PCI_RST
At that point, the contents of this register cannot be changed.
Bit31302928272625242322212019181716
NameGUID high
TypeRRRRRRRRRRRRRRRR
Default0000000000000000
Bit1514131211109876543210
NameGUID high
TypeRRRRRRRRRRRRRRRR
Default0000000000000000
Register:GUID high
Offset:24h
Type:Read-only
Default:0000 0000h
4.11 GUID Low Register
.
The GUID low register represents the lower quadlet in a 64-bit global unique ID (GUID) which maps to chip_ID_lo
in the Bus_Info_Block. This register initializes to 0s on a hardware reset and behaves identical to the GUID high
register (OHCI offset 24h, see Section 4.10).
The configuration ROM mapping register contains the start address within system memory that maps to the start
address of 1394 configuration ROM for this node. See T able 4 –8 for a complete description of the register contents.
Bit31302928272625242322212019181716
NameConfiguration ROM mapping
TypeR/WR/WR/WR/WR/WR/WR/WR/WR/WR/WR/WR/WR/WR/WR/WR/W
Default0000000000000000
Bit1514131211109876543210
NameConfiguration ROM mapping
TypeR/WR/WR/WR/WR/WR/WRRRRRRRRRR
Default0000000000000000
Register:Configuration ROM mapping
Offset:34h
Type:Read/Write
Default:0000 0000h
Table 4–8. Configuration ROM Mapping Register Description
BITFIELD NAMETYPEDESCRIPTION
31–10configROMaddrR/WIf a quadlet read request to 1394 offset FFFF F000 0400h through offset FFFF F000 07FFh is
9–0RSVDRReserved. Bits 9–0 return 0s when read.
received, then the low-order 10 bits of the offset are added to this register to determine the host memory
address of the read request.
4.13 Posted Write Address Low Register
The posted write address low register is used to communicate error information if a write request is posted and an
error occurs while the posted data packet is being written. See Table 4–9 for a complete description of the register
contents.
31–0offsetLoRUThe lower 32 bits of the 1394 destination offset of the write request that failed.
4–11
4.14 Posted Write Address High Register
The posted write address high register is used to communicate error information if a write request is posted and an
error occurs while writing the posted data packet. See T able 4–10 for a complete description of the register contents.
Bit31302928272625242322212019181716
NamePosted write address high
TypeRURURURURURURURURURURURURURURURU
DefaultXXXXXXXXXXXXXXXX
Bit1514131211109876543210
NamePosted write address high
TypeRURURURURURURURURURURURURURURURU
DefaultXXXXXXXXXXXXXXXX
Register:Posted write address high
Offset:3Ch
Type:Read/Update
Default:XXXX XXXXh
Table 4–10. Posted Write Address High Register Description
BITFIELD NAMETYPEDESCRIPTION
31–16sourceIDRUThis field is the 10-bit bus number (bits 31–22) and 6-bit node number (bits 21–16) of the node that
15–0offsetHiRUThe upper 16 bits of the 1394 destination offset of the write request that failed.
issued the write request that failed.
4.15 Vendor ID Register
The vendor ID register holds the company ID of an organization that specifies any vendor-unique registers. The
TSB43AA22 device does not implement T exas Instruments unique behavior with regards to OHCI. Thus, this register
is read-only and returns 0s when read.
Bit31302928272625242322212019181716
NameVendor ID
TypeRRRRRRRRRRRRRRRR
Default0000000000000000
Bit1514131211109876543210
NameVendor ID
TypeRRRRRRRRRRRRRRRR
Default0000000000000000
Register:Vendor ID
Offset:40h
Type:Read-only
Default:0000 0000h
4–12
4.16 Host Controller Control Register
The host controller control set/clear register pair provides flags for controlling the TSB43AA22 device. See T able 4–11
for a complete description of the register contents.
Bit31302928272625242322212019181716
NameHost controller control
TypeRRSCRRRRRRRCRSCRRRSCRSCRSCRSCU
Default0X00000000000X00
Bit1514131211109876543210
NameHost controller control
TypeRRRRRRRRRRRRRRRR
Default0000000000000000
Register:Host controller control
Offset:50hset register
Table 4–11. Host Controller Control Register Description
BITFIELD NAMETYPEDESCRIPTION
31RSVDRReserved. Bit 31 returns 0 when read.
30noByteSwapDataRSCThis bit is used to control whether physical accesses to locations outside the TSB43AA22 device
29–24RSVDRReserved. Bits 29–24 return 0s when read.
23programPhyEnableRCThis bit informs upper level software that lower level software has consistently configured the
22aPhyEnhanceEnableRSCWhen bits 23 (programPhyEnable) and 17 (linkEnable) are 1, the OHCI driver can set this bit to
21–20RSVDRReserved. Bits 21–20 return 0s when read.
19LPSRSCThis bit is used to control the link power status. Software must set this bit to 1 to permit the
18postedWriteEnableRSCThis bit is used to enable (1) or disable (0) posted writes. Software should change this bit only
17linkEnableRSCThis bit is cleared to 0 by either a hardware or software reset. Software must set this bit to 1 when
itself as well as any other DMA data accesses should be swapped.
IEEE 1394a-2000 enhancements in the link and PHY device. When this bit is 1, generic software
such as the OHCI driver is responsible for configuring IEEE 1394a-2000 enhancements in the
PHY device and bit 22 (aPhyEnhanceEnable) in the TSB43AA22 device. When this bit is 0, the
generic software may not modify the IEEE 1394a-2000 enhancements in the TSB43AA22 or PHY
device and cannot interpret the setting of bit 22 (aPhyEnhanceEnable). This bit is initialized from
serial ROM.
use all IEEE 1394a-2000 enhancements. When bit 23 (programPhyEnable) is set to 0, the
software does not change PHY enhancements or this bit.
link-PHY communication. A 0 prevents link-PHY communication.
The OHCI-link is divided into two clock domains (PCI_CLK and PHY_SCLK). If software tries
to access any register in the PHY_SCLK domain while the PHY_SCLK is disabled, then a
target abort issued by the link. This problem can be avoided by setting bit 4 (DIS_TGT_ABT)
to 1 in the miscellaneous configuration register (offset F0h, see Section 3.20). This allows the
link to respond to these types of request by returning all F’s (hex).
OHCI registers at offsets DCh–F0h and 100h–11Ch are in the SCLK domain.
After setting LPS software should wait at least 10 ms before attempting to access any of the
OHCI registers. This gives the PHY_SCLK time to stabilize.
when bit 17 (linkEnable) is 0.
the system is ready to begin operation and then force a bus reset. This bit is necessary to keep
other nodes from sending transactions before the local system is ready. When this bit is cleared,
the TSB43AA22 device is logically and immediately disconnected from the 1394 bus, no packets
are received or processed nor are packets transmitted.
4–13
Table 4–11. Host Controller Control Register Description (Continued)
BITFIELD NAMETYPEDESCRIPTION
16SoftResetRSCUWhen this bit is set, all TSB43AA22 states are reset, all FIFOs are flushed, and all OHCI registers
15–0RSVDRReserved. Bits 15–0 return 0s when read.
are set to their hardware reset values unless otherwise specified. PCI registers are not affected by
this bit. This bit remains set while the soft reset is in progress and reverts back to 0 when the reset
has completed.
4.17 Self-ID Buffer Pointer Register
The self-ID buffer pointer register points to the 2-Kbyte aligned base address of the buffer in host memory where the
self-ID packets are stored during bus initialization. Bits 31–1 1 are read/write accessible. Bits 10–0 are reserved and
return 0s when read.
The self-ID count register keeps a count of the number of times the bus self-ID process has occurred, flags self-ID
packet errors, and keeps a count of the self-ID data in the self-ID buffer . See Table 4–12 for a complete description
of the register contents.
31selfIDErrorRUWhen this bit is 1, an error was detected during the most recent self-ID packet reception. The con-
30–24RSVDRReserved. Bits 30–24 return 0s when read.
23–16selfIDGenerationRUThe value in this field increments each time a bus reset is detected. This field rolls over to 0 after
15–11RSVDRReserved. Bits 15–11 return 0s when read.
10–2selfIDSizeRUThis field indicates the number of quadlets that have been written into the self-ID buffer for the current
1–0RSVDRReserved. Bits 1–0 return 0s when read.
tents of the self-ID buffer are undefined. This bit is cleared after a self-ID reception in which no errors
are detected. Note that an error can be a hardware error or a host bus write error.
reaching 255.
bits 23–16 (selfIDGeneration field). This includes the header quadlet and the self-ID data. This field is
cleared to 0 when the self-ID reception begins.
4–15
4.19 Isochronous Receive Channel Mask High Register
The isochronous receive channel mask high set/clear register is used to enable packet receives from the upper 32
isochronous data channels. A read from either the set register or clear register returns the content of the isochronous
receive channel mask high register. See Table 4–13 for a complete description of the register contents.
Bit31302928272625242322212019181716
NameIsochronous receive channel mask high
TypeRSCRSCRSCRSCRSCRSCRSCRSCRSCRSCRSCRSCRSCRSCRSCRSC
DefaultXXXXXXXXXXXXXXXX
Bit1514131211109876543210
NameIsochronous receive channel mask high
TypeRSCRSCRSCRSCRSCRSCRSCRSCRSCRSCRSCRSCRSCRSCRSCRSC
DefaultXXXXXXXXXXXXXXXX
Register:Isochronous receive channel mask high
Offset:70hset register
Table 4–13. Isochronous Receive Channel Mask High Register Description
BITFIELD NAMETYPEDESCRIPTION
31isoChannel63RSCWhen this bit is set, the TSB43AA22 device is enabled to receive from iso channel number 63.
30isoChannel62RSCWhen this bit is set, the TSB43AA22 device is enabled to receive from iso channel number 62.
29isoChannel61RSCWhen this bit is set, the TSB43AA22 device is enabled to receive from iso channel number 61.
28isoChannel60RSCWhen this bit is set, the TSB43AA22 device is enabled to receive from iso channel number 60.
27isoChannel59RSCWhen this bit is set, the TSB43AA22 device is enabled to receive from iso channel number 59.
26isoChannel58RSCWhen this bit is set, the TSB43AA22 device is enabled to receive from iso channel number 58.
25isoChannel57RSCWhen this bit is set, the TSB43AA22 device is enabled to receive from iso channel number 57.
24isoChannel56RSCWhen this bit is set, the TSB43AA22 device is enabled to receive from iso channel number 56.
23isoChannel55RSCWhen this bit is set, the TSB43AA22 device is enabled to receive from iso channel number 55.
22isoChannel54RSCWhen this bit is set, the TSB43AA22 device is enabled to receive from iso channel number 54.
21isoChannel53RSCWhen this bit is set, the TSB43AA22 device is enabled to receive from iso channel number 53.
20isoChannel52RSCWhen this bit is set, the TSB43AA22 device is enabled to receive from iso channel number 52.
19isoChannel51RSCWhen this bit is set, the TSB43AA22 device is enabled to receive from iso channel number 51.
18isoChannel50RSCWhen this bit is set, the TSB43AA22 device is enabled to receive from iso channel number 50.
17isoChannel49RSCWhen this bit is set, the TSB43AA22 device is enabled to receive from iso channel number 49.
16isoChannel48RSCWhen this bit is set, the TSB43AA22 device is enabled to receive from iso channel number 48.
15isoChannel47RSCWhen this bit is set, the TSB43AA22 device is enabled to receive from iso channel number 47.
14isoChannel46RSCWhen this bit is set, the TSB43AA22 device is enabled to receive from iso channel number 46.
13isoChannel45RSCWhen this bit is set, the TSB43AA22 device is enabled to receive from iso channel number 45.
12isoChannel44RSCWhen this bit is set, the TSB43AA22 device is enabled to receive from iso channel number 44.
11isoChannel43RSCWhen this bit is set, the TSB43AA22 device is enabled to receive from iso channel number 43.
10isoChannel42RSCWhen this bit is set, the TSB43AA22 device is enabled to receive from iso channel number 42.
9isoChannel41RSCWhen this bit is set, the TSB43AA22 device is enabled to receive from iso channel number 41.
8isoChannel40RSCWhen this bit is set, the TSB43AA22 device is enabled to receive from iso channel number 40.
7isoChannel39RSCWhen this bit is set, the TSB43AA22 device is enabled to receive from iso channel number 39.
4–16
Table 4–13. Isochronous Receive Channel Mask High Register Description (Continued)
BITFIELD NAMETYPEDESCRIPTION
6isoChannel38RSCWhen this bit is set, the TSB43AA22 device is enabled to receive from iso channel number 38.
5isoChannel37RSCWhen this bit is set, the TSB43AA22 device is enabled to receive from iso channel number 37.
4isoChannel36RSCWhen this bit is set, the TSB43AA22 device is enabled to receive from iso channel number 36.
3isoChannel35RSCWhen this bit is set, the TSB43AA22 device is enabled to receive from iso channel number 35.
2isoChannel34RSCWhen this bit is set, the TSB43AA22 device is enabled to receive from iso channel number 34.
1isoChannel33RSCWhen this bit is set, the TSB43AA22 device is enabled to receive from iso channel number 33.
0isoChannel32RSCWhen this bit is set, the TSB43AA22 device is enabled to receive from iso channel number 32.
The isochronous receive channel mask low set/clear register is used to enable packet receives from the lower 32
isochronous data channels. See Table 4–14 for a complete description of the register contents.
31isoChannel31RSCWhen this bit is set, the TSB43AA22 device is enabled to receive from iso channel number 31.
30isoChannel30RSCWhen this bit is set, the TSB43AA22 device is enabled to receive from iso channel number 30.
LLLBits 29 through 2 follow the same pattern.
1isoChannel1RSCWhen this bit is set, the TSB43AA22 device is enabled to receive from iso channel number 1.
0isoChannel0RSCWhen this bit is set, the TSB43AA22 device is enabled to receive from iso channel number 0.
4–17
4.21 Interrupt Event Register
The interrupt event set/clear register reflects the state of the various TSB43AA22 interrupt sources. The interrupt bits
are set by an asserting edge of the corresponding interrupt signal or by writing a 1 in the corresponding bit in the set
register. The only mechanism to clear the bits in this register is to write a 1 to the corresponding bit in the clear register .
This register is fully compliant with the 1394 Open Host Controller Interface Specification and the TSB43AA22 device
adds a vendor-specific interrupt function to bit 30. When the interrupt event register is read, the return value is the
bitwise AND function of the interrupt event and interrupt mask registers. See Table 4–15 for a complete description
of the register contents.
84hclear register [returns the content of the interrupt event register bitwise ANDed with
the interrupt mask register when read]
Type:Read/Set/Clear/Update, Read/Set/Clear, Read/Update, Read-only
Default:XXXX 0XXXh
Table 4–15. Interrupt Event Register Description
BITFIELD NAMETYPEDESCRIPTION
31RSVDRReserved. Bit 31 returns 0 when read.
30vendorSpecificRSCThis vendor-specific interrupt event is reported when either of the general-purpose interrupts which
29–27RSVDRReserved. Bits 29–27 return 0s when read.
26phyRegRcvdRSCUThe TSB43AA22 device has received a PHY register data byte which can be read from bits 23–16 in
25cycleTooLongRSCUIf bit 21 (cycleMaster) of the link control register (OHCI of fset E0h/E4h, see Section 4.28) is set, then
24unrecoverableErrorRSCUThis event occurs when the TSB43AA22 device encounters any error that forces it to stop operations
23cycleInconsistentRSCU A cycle start was received that had values for cycleSeconds and cycleCount fields that are different
22cycleLostRSCU A lost cycle is indicated when no cycle_start packet is sent/received between two successive
21cycle64SecondsRSCUIndicates that the 7th bit of the cycle second counter has changed.
20cycleSynchRSCUIndicates that a new isochronous cycle has started. This bit is set when the low order bit of the cycle
19phyRSCU Indicates that the PHY device requests an interrupt through a status transfer.
18RSVDRReserved. Bit 18 returns 0 when read.
are enabled via INT_3EN and INT_2EN (bits 31 and 23, respectively) of the GPIO control register
(offset FCh, see Section 3.23).
the PHY layer control register (OHCI offset ECh, see Section 4.30).
this indicates that over 125 µs has elapsed between the start of sending a cycle start packet and the
end of a subaction gap. The link control register bit 21 (cycleMaster) is cleared by this event.
on any or all of its subunits, for example, when a DMA context sets its dead bit. While this bit is set, all
normal interrupts for the context(s) that caused this interrupt are blocked from being set.
from the values in bits 31–25 (cycleSeconds field) and bits 24–12 (cycleCount field) of the
isochronous cycle timer register (OHCI offset F0h, see Section 4.31).
cycleSynch events. A lost cycle can be predicted when a cycle_start packet does not immediately
follow the first subaction gap after the cycleSynch event or if an arbitration reset gap is detected after
a cycleSynch event without an intervening cycle start. This bit may be set either when a lost cycle
occurs or when logic predicts that one will occur.
17busResetRSCU Indicates that the PHY device has entered bus reset mode.
16selfIDcompleteRSCUA self-ID packet stream has been received. It is generated at the end of the bus initialization process.
15–10RSVDRReserved. Bits 15–10 return 0s when read.
9lockRespErrRSCUIndicates that the TSB43AA22 device sent a lock response for a lock request to a serial bus register,
8postedWriteErrRSCUIndicates that a host bus error occurred while the TSB43AA22 device was trying to write a 1394 write
7isochRxRUIsochronous receive DMA interrupt. Indicates that one or more isochronous receive contexts have
6isochTxRUIsochronous transmit DMA interrupt. Indicates that one or more isochronous transmit contexts have
5RSPktRSCUIndicates that a packet was sent to an asynchronous receive response context buffer and the
4RQPktRSCUIndicates that a packet was sent to an asynchronous receive request context buffer and the
3ARRSRSCUAsynchronous receive response DMA interrupt. This bit is conditionally set upon completion of an
2ARRQRSCUAsynchronous receive request DMA interrupt. This bit is conditionally set upon completion of an
1respTxCompleteRSCU Asynchronous response transmit DMA interrupt. This bit is conditionally set upon completion of an
0reqTxCompleteRSCUAsynchronous request transmit DMA interrupt. This bit is conditionally set upon completion of an
This bit is turned off simultaneously when bit 17 (busReset) is turned on.
but did not receive an ack_complete.
request, which had already been given an ack_complete, into system memory .
generated an interrupt. This is not a latched event, it is the logical OR of all bits in the isochronous
receive interrupt event (OHCI offset A0h/A4h, see Section 4.25) and isochronous receive interrupt
mask (OHCI offset A8h/ACh, see Section 4.26) registers. The isochronous receive interrupt event
register indicates which contexts have interrupted.
generated an interrupt. This is not a latched event, it is the logical OR of all bits in the isochronous
transmit interrupt event (OHCI offset 90h/94h, see Section 4.23) and isochronous transmit interrupt
mask (OHCI offset 98h/9Ch, see Section 4.24) registers. The isochronous transmit interrupt event
register indicates which contexts have interrupted.
descriptor xferStatus and resCount fields have been updated.
descriptor xferStatus and resCount fields have been updated.
ARRS DMA context command descriptor.
ARRQ DMA context command descriptor.
ATRS DMA command.
ATRQ DMA command.
4–19
4.22 Interrupt Mask Register
The interrupt mask set/clear register is used to enable the various TSB43AA22 interrupt sources. Reads from either
the set register or the clear register always return the contents of the interrupt mask register. In all cases except
masterIntEnable (bit 31) and vendorSpecific (bit 30), the enables for each interrupt event align with the interrupt event
register bits detailed in Table 4–15.
This register is fully compliant with the 1394 Open Host Controller Interface Specification and the TSB43AA22 device
adds an interrupt function to bit 30. See Table 4–16 for a complete description of bits 31 and 30.
The isochronous transmit interrupt event set/clear register reflects the interrupt state of the isochronous transmit
contexts. An interrupt is generated on behalf of an isochronous transmit context if an OUTPUT_LAST* command
completes and its interrupt bits are set. Upon determining that the isochTx (bit 6) interrupt has occurred in the interrupt
event register (OHCI offset 80h/84h, see Section 4.21), software can check this register to determine which context(s)
caused the interrupt. The interrupt bits are set by an asserting edge of the corresponding interrupt signal, or by writing
a 1 in the corresponding bit in the set register. The only mechanism to clear a bit in this register is to write a 1 to the
corresponding bit in the clear register. See Table 4–17 for a complete description of the register contents.
7isoXmit7RSCIsochronous transmit channel 7 caused the interrupt event register bit 6 (isochTx) interrupt.
6isoXmit6RSCIsochronous transmit channel 6 caused the interrupt event register bit 6 (isochTx) interrupt.
5isoXmit5RSCIsochronous transmit channel 5 caused the interrupt event register bit 6 (isochTx) interrupt.
4isoXmit4RSCIsochronous transmit channel 4 caused the interrupt event register bit 6 (isochTx) interrupt.
3isoXmit3RSCIsochronous transmit channel 3 caused the interrupt event register bit 6 (isochTx) interrupt.
2isoXmit2RSCIsochronous transmit channel 2 caused the interrupt event register bit 6 (isochTx) interrupt.
1isoXmit1RSCIsochronous transmit channel 1 caused the interrupt event register bit 6 (isochTx) interrupt.
0isoXmit0RSCIsochronous transmit channel 0 caused the interrupt event register bit 6 (isochTx) interrupt.
4–21
4.24 Isochronous Transmit Interrupt Mask Register
The isochronous transmit interrupt mask set/clear register is used to enable the isochTx interrupt source on a
per-channel basis. Reads from either the set register or the clear register always return the contents of the
isochronous transmit interrupt mask register. In all cases the enables for each interrupt event align with the
isochronous transmit interrupt event register bits detailed in Table 4–17.
The isochronous receive interrupt event set/clear register reflects the interrupt state of the isochronous receive
contexts. An interrupt is generated on behalf of an isochronous receive context if an INPUT_* command completes
and its interrupt bits are set. Upon determining that the isochRx (bit 7) interrupt in the interrupt event register (OHCI
offset 80h/84h, see Section 4.21) has occurred, software can check this register to determine which context(s)
caused the interrupt. The interrupt bits are set by an asserting edge of the corresponding interrupt signal, or by writing
a 1 in the corresponding bit in the set register. The only mechanism to clear a bit in this register is to write a 1 to the
corresponding bit in the clear register. See Table 4–18 for a complete description of the register contents.
3isoRecv3RSCIsochronous receive channel 3 caused the interrupt event register bit 7 (isochRx) interrupt.
2isoRecv2RSCIsochronous receive channel 2 caused the interrupt event register bit 7 (isochRx) interrupt.
1isoRecv1RSCIsochronous receive channel 1 caused the interrupt event register bit 7 (isochRx) interrupt.
0isoRecv0RSCIsochronous receive channel 0 caused the interrupt event register bit 7 (isochRx) interrupt.
4–22
4.26 Isochronous Receive Interrupt Mask Register
The isochronous receive interrupt mask register is used to enable the isochRx interrupt source on a per-channel
basis. Reads from either the set register or the clear register always return the contents of the isochronous receive
interrupt mask register. In all cases the enables for each interrupt event align with the isochronous receive interrupt
event register bits detailed in Table 4–18.
The fairness control register provides a mechanism by which software can direct the host controller to transmit
multiple asynchronous requests during a fairness interval. See T able 4–19 for a complete description of the register
contents.
Bit31302928272625242322212019181716
NameFairness control
TypeRRRRRRRRRRRRRRRR
Default0000000000000000
Bit1514131211109876543210
NameFairness control
TypeRRRRRRRRR/WR/WR/WR/WR/WR/WR/WR/W
Default0000000000000000
Register:Fairness control
Offset:DCh
Type:Read-only
Default:0000 0000h
Table 4–19. Fairness Control Register Description
BITFIELD NAMETYPEDESCRIPTION
31–8RSVDRReserved. Bits 31–8 return 0s when read.
7–0pri_reqR/WThis field specifies the maximum number of priority arbitration requests for asynchronous request
packets that the link is permitted to make of the PHY device during a fairness interval.
4–23
4.28 Link Control Register
The link control set/clear register provides the control flags that enable and configure the link core protocol portions
of the TSB43AA22 device. It contains controls for the receiver and cycle timer. See Table 4–20 for a complete
description of the register contents.
Bit31302928272625242322212019181716
NameLink control
TypeRRRRRRRRRRSCRSCU RSCRRRR
Default000000000XXX0000
Bit1514131211109876543210
NameLink control
TypeRRRRRRSCRSCRRRRRRRRR
Default00000XX000000000
31–23RSVDRReserved. Bits 31–23 return 0s when read.
22cycleSourceRSCWhen this bit is set, the cycle timer uses an external source (CYCLEIN) to determine when to roll over
21cycleMasterRSCU When bit 21 is set, the TSB43AA22 device is root and it generates a cycle start packet every time the
20CycleTimerEnableRSCWhen this bit is set, the cycle timer offset counts cycles of the 24.576-MHz clock and rolls over at the
19–11RSVDRReserved. Bits 19–11 return 0s when read.
10RcvPhyPktRSCWhen this bit is set, the receiver accepts incoming PHY packets into the AR request context if the AR
9RcvSelfIDRSCWhen this bit is set, the receiver accepts incoming self-identification packets. Before setting this bit to
8–0RSVDRReserved. Bits 8–0 return 0s when read.
the cycle timer. When this bit is cleared, the cycle timer rolls over when the timer reaches 3072 cycles
of the 24.576-MHz clock (125 µs).
cycle timer rolls over, based on the setting of bit 22 (cycleSource). When bit 21 is cleared, the
OHCI-Lynxt accepts received cycle start packets to maintain synchronization with the node which is
sending them. Bit 21 is automatically cleared when bit 25 (cycleTooLong) of the interrupt event
register (OHCI offset 80h/84h, see Section 4.21) is set. Bit 21 cannot be set until bit 25
(cycleTooLong) is cleared.
appropriate time based on the settings of the above bits. When this bit is cleared, the cycle timer offset
does not count.
request context is enabled. This does not control receipt of self-identification packets.
1, software must ensure that the self-ID buffer pointer register contains a valid address.
4–24
4.29 Node Identification Register
The node identification register contains the address of the node on which the OHCI-Lynxt chip resides, and
indicates the valid node number status. The 16-bit combination of the busNumber field (bits 15–6) and the
NodeNumber field (bits 5–0) is referred to as the node ID. See Table 4–21 for a complete description of the register
contents.
31iDValidRUThis bit indicates whether or not the TSB43AA22 device has a valid node number. It is cleared when a
30rootRUThis bit is set during the bus reset process if the attached PHY device is root.
29–28RSVDRReserved. Bits 29–28 return 0s when read.
27CPSRUSet if the PHY device is reporting that cable power status is OK.
26–16RSVDRReserved. Bits 26–16 return 0s when read.
15–6busNumberRWUThis number is used to identify the specific 1394 bus the TSB43AA22 device belongs to when multiple
5–0NodeNumberRUThis number is the physical node number established by the PHY device during self-identification. It is
1394 bus reset is detected and set when the TSB43AA22 device receives a new node number from the
PHY device.
1394-compatible buses are connected via a bridge.
automatically set to the value received from the PHY device after the self-identification phase. If the
PHY device sets the nodeNumber to 63, then software should not set bit 15 (run) of the asynchronous
context control register (see Section 4.37) for either of the AT DMA contexts.
4–25
4.30 PHY Layer Control Register
The PHY layer control register is used to read or write a PHY register. See Table 4–22 for a complete description of
the register contents.
Bit31302928272625242322212019181716
NamePHY layer control
TypeRURRRRURURURURURURURURURURURU
Default0000000000000000
Bit1514131211109876543210
NamePHY layer control
TypeRWU RWURRR/WR/WR/WR/WR/WR/WR/WR/WR/WR/WR/WR/W
Default0000000000000000
Register:PHY layer control
Offset:ECh
Type:Read/Write/Update, Read/Write, Read/Update, Read-only
Default:0000 0000h
Table 4–22. PHY Control Register Description
BITFIELD NAMETYPEDESCRIPTION
31rdDoneRUThis bit is cleared to 0 by the TSB43AA22 device when either bit 15 (rdReg) or bit 14 (wrReg) is set.
30–28RSVDRReserved. Bits 30–28 return 0s when read.
27–24rdAddrRUThis is the address of the register most recently received from the PHY device.
23–16rdDataRUThis field is the contents of a PHY register that has been read.
15rdRegRWUThis bit is set by software to initiate a read request to a PHY register and is cleared by hardware when
14wrRegRWUThis bit is set by software to initiate a write request to a PHY register and is cleared by hardware when
13–12RSVDRReserved. Bits 13–12 return 0s when read.
11–8regAddrR/WThis field is the address of the PHY register to be written or read.
7–0wrDataR/WThis field is the data to be written to a PHY register and is ignored for reads.
This bit is set when a register transfer is received from the PHY device.
the request has been sent. Bits 14 (wrReg) and 15 (rdReg) must not both be set simultaneously.
the request has been sent. Bits 14 (wrReg) and 15 (rdReg) must not both be set simultaneously.
4–26
4.31 Isochronous Cycle Timer Register
The isochronous cycle timer register indicates the current cycle number and offset. When the TSB43AA22 device
is cycle master, this register is transmitted with the cycle start message. When the TSB43AA22 device is not cycle
master, this register is loaded with the data field in an incoming cycle start. In the event that the cycle start message
is not received, the fields can continue incrementing on their own (if programmed) to maintain a local time reference.
See Table 4–23 for a complete description of the register contents.
31–25cycleSecondsRWUThis field counts seconds [rollovers from bits 24–12 (cycleCount field)] modulo 128.
24–12cycleCountRWUThis field counts cycles [rollovers from bits 11–0 (cycleOffset field)] modulo 8000.
11–0cycleOffsetRWUThis field counts 24.576-MHz clocks modulo 3072, that is, 125 µs. If an external 8-kHz clock
configuration is being used, then this bit must be set to 0 at each tick of the external clock.
4–27
4.32 Asynchronous Request Filter High Register
The asynchronous request filter high set/clear register is used to enable asynchronous receive requests on a
per-node basis, and handles the upper node IDs. When a packet is destined for either the physical request context
or the ARRQ context, the source node ID is examined. If the bit corresponding to the node ID is not set in this register,
then the packet is not acknowledged and the request is not queued. The node ID comparison is done if the source
node is on the same bus as the TSB43AA22 device. Nonlocal bus-sourced packets are not acknowledged unless
bit 31 in this register is set. See Table 4–24 for a complete description of the register contents.
Bit31302928272625242322212019181716
NameAsynchronous request filter high
TypeRSCRSCRSCRSCRSCRSCRSCRSCRSCRSCRSCRSCRSCRSCRSCRSC
Default0000000000000000
Bit1514131211109876543210
NameAsynchronous request filter high
TypeRSCRSCRSCRSCRSCRSCRSCRSCRSCRSCRSCRSCRSCRSCRSCRSC
Default0000000000000000
Register:Asynchronous request filter high
Offset:100hset register
Table 4–24. Asynchronous Request Filter High Register Description
BITFIELD NAMETYPEDESCRIPTION
31asynReqAllBusesRSCIf this bit is set, then all asynchronous requests received by the TSB43AA22 device from nonlocal
30asynReqResource62RSCIf this bit is set for local bus node number 62, then asynchronous requests received by the
29asynReqResource61RSCIf this bit is set for local bus node number 61, then asynchronous requests received by the
28asynReqResource60RSCIf this bit is set for local bus node number 60, then asynchronous requests received by the
27asynReqResource59RSCIf this bit is set for local bus node number 59, then asynchronous requests received by the
26asynReqResource58RSCIf this bit is set for local bus node number 58, then asynchronous requests received by the
25asynReqResource57RSCIf this bit is set for local bus node number 57, then asynchronous requests received by the
24asynReqResource56RSCIf this bit is set for local bus node number 56, then asynchronous requests received by the
23asynReqResource55RSCIf this bit is set for local bus node number 55, then asynchronous requests received by the
22asynReqResource54RSCIf this bit is set for local bus node number 54, then asynchronous requests received by the
21asynReqResource53RSCIf this bit is set for local bus node number 53, then asynchronous requests received by the
20asynReqResource52RSCIf this bit is set for local bus node number 52, then asynchronous requests received by the
19asynReqResource51RSCIf this bit is set for local bus node number 51, then asynchronous requests received by the
bus nodes are accepted.
TSB43AA22 device from that node are accepted.
TSB43AA22 device from that node are accepted.
TSB43AA22 device from that node are accepted.
TSB43AA22 device from that node are accepted.
TSB43AA22 device from that node are accepted.
TSB43AA22 device from that node are accepted.
TSB43AA22 device from that node are accepted.
TSB43AA22 device from that node are accepted.
TSB43AA22 device from that node are accepted.
TSB43AA22 device from that node are accepted.
TSB43AA22 device from that node are accepted.
TSB43AA22 device from that node are accepted.
4–28
Table 4–24. Asynchronous Request Filter High Register Description (Continued)
BITFIELD NAMETYPEDESCRIPTION
18asynReqResource50RSCIf this bit is set for local bus node number 50, then asynchronous requests received by the
17asynReqResource49RSCIf this bit is set for local bus node number 49, then asynchronous requests received by the
16asynReqResource48RSCIf this bit is set for local bus node number 48, then asynchronous requests received by the
15asynReqResource47RSCIf this bit is set for local bus node number 47, then asynchronous requests received by the
14asynReqResource46RSCIf this bit is set for local bus node number 46, then asynchronous requests received by the
13asynReqResource45RSCIf this bit is set for local bus node number 45, then asynchronous requests received by the
12asynReqResource44RSCIf this bit is set for local bus node number 44, then asynchronous requests received by the
11asynReqResource43RSCIf this bit is set for local bus node number 43, then asynchronous requests received by the
10asynReqResource42RSCIf this bit is set for local bus node number 42, then asynchronous requests received by the
9asynReqResource41RSCIf this bit is set for local bus node number 41, then asynchronous requests received by the
8asynReqResource40RSCIf this bit is set for local bus node number 40, then asynchronous requests received by the
7asynReqResource39RSCIf this bit is set for local bus node number 39, then asynchronous requests received by the
6asynReqResource38RSCIf this bit is set for local bus node number 38, then asynchronous requests received by the
5asynReqResource37RSCIf this bit is set for local bus node number 37, then asynchronous requests received by the
4asynReqResource36RSCIf this bit is set for local bus node number 36, then asynchronous requests received by the
3asynReqResource35RSCIf this bit is set for local bus node number 35, then asynchronous requests received by the
2asynReqResource34RSCIf this bit is set for local bus node number 34, then asynchronous requests received by the
1asynReqResource33RSCIf this bit is set for local bus node number 33, then asynchronous requests received by the
0asynReqResource32RSCIf this bit is set for local bus node number 32, then asynchronous requests received by the
TSB43AA22 device from that node are accepted.
TSB43AA22 device from that node are accepted.
TSB43AA22 device from that node are accepted.
TSB43AA22 device from that node are accepted.
TSB43AA22 device from that node are accepted.
TSB43AA22 device from that node are accepted.
TSB43AA22 device from that node are accepted.
TSB43AA22 device from that node are accepted.
TSB43AA22 device from that node are accepted.
TSB43AA22 device from that node are accepted.
TSB43AA22 device from that node are accepted.
TSB43AA22 device from that node are accepted.
TSB43AA22 device from that node are accepted.
TSB43AA22 device from that node are accepted.
TSB43AA22 device from that node are accepted.
TSB43AA22 device from that node are accepted.
TSB43AA22 device from that node are accepted.
TSB43AA22 device from that node are accepted.
TSB43AA22 device from that node are accepted.
4–29
4.33 Asynchronous Request Filter Low Register
The asynchronous request filter low set/clear register is used to enable asynchronous receive requests on a per-node
basis, and handles the lower node IDs. Other than filtering different node IDs, this register behaves identically to the
asynchronous request filter high register. See Table 4–25 for a complete description of the register contents.
31asynReqResource31RSCIf this bit is set for local bus node number 31, then asynchronous requests received by the
30asynReqResource30RSCIf this bit is set for local bus node number 30, then asynchronous requests received by the
LLLBits 29 through 2 follow the same pattern.
1asynReqResource1RSCIf this bit is set for local bus node number 1, then asynchronous requests received by the
0asynReqResource0RSCIf this bit is set for local bus node number 0, then asynchronous requests received by the
TSB43AA22 device from that node are accepted.
TSB43AA22 device from that node are accepted.
TSB43AA22 device from that node are accepted.
TSB43AA22 device from that node are accepted.
4–30
4.34 Physical Request Filter High Register
The physical request filter high set/clear register is used to enable physical receive requests on a per-node basis and
handles the upper node IDs. When a packet is destined for the physical request context and the node ID has been
compared against the ARRQ registers, then the comparison is done again with this register. If the bit corresponding
to the node ID is not set in this register, then the request is handled by the ARRQ context instead of the physical
request context. The node ID comparison is done if the source node is on the same bus as the TSB43AA22 device.
Nonlocal bus-sourced packets are not acknowledged unless bit 31 in this register is set. See Table 4–26 for a
complete description of the register contents.
Bit31302928272625242322212019181716
NamePhysical request filter high
TypeRSCRSCRSCRSCRSCRSCRSCRSCRSCRSCRSCRSCRSCRSCRSCRSC
Default0000000000000000
Bit1514131211109876543210
NamePhysical request filter high
TypeRSCRSCRSCRSCRSCRSCRSCRSCRSCRSCRSCRSCRSCRSCRSCRSC
Default0000000000000000
Register:Physical request filter high
Offset:1 10hset register
Table 4–26. Physical Request Filter High Register Description
BITFIELD NAMETYPEDESCRIPTION
31physReqAllBussesRSCIf this bit is set, then all asynchronous requests received by the TSB43AA22 device from
30physReqResource62RSCIf this bit is set for local bus node number 62, then physical requests received by the
29physReqResource61RSCIf this bit is set for local bus node number 61, then physical requests received by the
28physReqResource60RSCIf this bit is set for local bus node number 60, then physical requests received by the
27physReqResource59RSCIf this bit is set for local bus node number 59, then physical requests received by the
26physReqResource58RSCIf this bit is set for local bus node number 58, then physical requests received by the
25physReqResource57RSCIf this bit is set for local bus node number 57, then physical requests received by the
24physReqResource56RSCIf this bit is set for local bus node number 56, then physical requests received by the
23physReqResource55RSCIf this bit is set for local bus node number 55, then physical requests received by the
22physReqResource54RSCIf this bit is set for local bus node number 54, then physical requests received by the
21physReqResource53RSCIf this bit is set for local bus node number 53, then physical requests received by the
20physReqResource52RSCIf this bit is set for local bus node number 52, then physical requests received by the
19physReqResource51RSCIf this bit is set for local bus node number 51, then physical requests received by the
nonlocal bus nodes are accepted.
TSB43AA22 device from that node are handled through the physical request context.
TSB43AA22 device from that node are handled through the physical request context.
TSB43AA22 device from that node are handled through the physical request context.
TSB43AA22 device from that node are handled through the physical request context.
TSB43AA22 device from that node are handled through the physical request context.
TSB43AA22 device from that node are handled through the physical request context.
TSB43AA22 device from that node are handled through the physical request context.
TSB43AA22 device from that node are handled through the physical request context.
TSB43AA22 device from that node are handled through the physical request context.
TSB43AA22 device from that node are handled through the physical request context.
TSB43AA22 device from that node are handled through the physical request context.
TSB43AA22 device from that node are handled through the physical request context.
4–31
Table 4–26. Physical Request Filter High Register Description (Continued)
BITFIELD NAMETYPEDESCRIPTION
18physReqResource50RSCIf this bit is set for local bus node number 50, then physical requests received by the
17physReqResource49RSCIf this bit is set for local bus node number 49, then physical requests received by the
16physReqResource48RSCIf this bit is set for local bus node number 48, then physical requests received by the
15physReqResource47RSCIf this bit is set for local bus node number 47, then physical requests received by the
14physReqResource46RSCIf this bit is set for local bus node number 46, then physical requests received by the
13physReqResource45RSCIf this bit is set for local bus node number 45, then physical requests received by the
12physReqResource44RSCIf this bit is set for local bus node number 44, then physical requests received by the
11physReqResource43RSCIf this bit is set for local bus node number 43, then physical requests received by the
10physReqResource42RSCIf this bit is set for local bus node number 42, then physical requests received by the
9physReqResource41RSCIf this bit is set for local bus node number 41, then physical requests received by the
8physReqResource40RSCIf this bit is set for local bus node number 40, then physical requests received by the
7physReqResource39RSCIf this bit is set for local bus node number 39, then physical requests received by the
6physReqResource38RSCIf this bit is set for local bus node number 38, then physical requests received by the
5physReqResource37RSCIf this bit is set for local bus node number 37, then physical requests received by the
4physReqResource36RSCIf this bit is set for local bus node number 36, then physical requests received by the
3physReqResource35RSCIf this bit is set for local bus node number 35, then physical requests received by the
2physReqResource34RSCIf this bit is set for local bus node number 34, then physical requests received by the
1physReqResource33RSCIf this bit is set for local bus node number 33, then physical requests received by the
0physReqResource32RSCIf this bit is set for local bus node number 32, then physical requests received by the
TSB43AA22 device from that node are handled through the physical request context.
TSB43AA22 device from that node are handled through the physical request context.
TSB43AA22 device from that node are handled through the physical request context.
TSB43AA22 device from that node are handled through the physical request context.
TSB43AA22 device from that node are handled through the physical request context.
TSB43AA22 device from that node are handled through the physical request context.
TSB43AA22 device from that node are handled through the physical request context.
TSB43AA22 device from that node are handled through the physical request context.
TSB43AA22 device from that node are handled through the physical request context.
TSB43AA22 device from that node are handled through the physical request context.
TSB43AA22 device from that node are handled through the physical request context.
TSB43AA22 device from that node are handled through the physical request context.
TSB43AA22 device from that node are handled through the physical request context.
TSB43AA22 device from that node are handled through the physical request context.
TSB43AA22 device from that node are handled through the physical request context.
TSB43AA22 device from that node are handled through the physical request context.
TSB43AA22 device from that node are handled through the physical request context.
TSB43AA22 device from that node are handled through the physical request context.
TSB43AA22 device from that node are handled through the physical request context.
4–32
4.35 Physical Request Filter Low Register
The physical request filter low set/clear register is used to enable physical receive requests on a per-node basis and
handles the lower node IDs. When a packet is destined for the physical request context and the node ID has been
compared against the asynchronous request filter registers, then the node ID comparison is done again with this
register. If the bit corresponding to the node ID is not set in this register, then the request is handled by the
asynchronous request context instead of the physical request context. See T able 4–27 for a complete description of
the register contents.
The asynchronous context control set/clear register controls the state and indicates status of the DMA context. See
Table 4–28 for a complete description of the register contents.
Bit31302928272625242322212019181716
NameAsynchronous context control
TypeRRRRRRRRRRRRRRRR
Default0000000000000000
Bit1514131211109876543210
NameAsynchronous context control
TypeRSCURRRSURURURRRURURURURURURURU
Default000X0000XXXXXXXX
Register:Asynchronous context control
Offset:180hset register[ATRQ]
Table 4–28. Asynchronous Context Control Register Description
BITFIELD NAMETYPEDESCRIPTION
31–16RSVDRReserved. Bits 31–16 return 0s when read.
15runRSCU This bit is set by software to enable descriptor processing for the context and cleared by software to
14–13RSVDRReserved. Bits 14–13 return 0s when read.
12wakeRSUSoftware sets this bit to cause the TSB43AA22 device to continue or resume descriptor processing.
11deadRUThe TSB43AA22 device sets this bit when it encounters a fatal error and clears the bit when software
10activeRUThe TSB43AA22 device sets this bit to 1 when it is processing descriptors.
9–8RSVDRReserved. Bits 9–8 return 0s when read.
7–5spdRUThis field indicates the speed at which a packet was received or transmitted, and only contains
4–0eventcodeRUThis field holds the acknowledge sent by the link core for this packet, or holds an internally generated
stop descriptor processing. The TSB43AA22 device changes this bit only on a hardware or software
reset.
The TSB43AA22 device clears this bit on every descriptor fetch.
resets bit 15 (run).
meaningful information for receive contexts. This field is encoded as:
The asynchronous context command pointer register contains a pointer to the address of the first descriptor block
that the TSB43AA22 device accesses when software enables the context by setting bit 15 (run) of the asynchronous
context control register (see Section 4.37). See Table 4–29 for a complete description of the register contents.
31–4descriptorAddressRWUContains the upper 28 bits of the address of a 16-byte-aligned descriptor block.
3–0ZRWUIndicates the number of contiguous descriptors at the address pointed to by the descriptor address. If
Z is 0, then it indicates that the descriptorAddress field (bits 31–4) is not valid.
4–35
4.39 Isochronous Transmit Context Control Register
The isochronous transmit context control set/clear register controls options, state, and status for the isochronous
transmit DMA contexts. The n value in the following register addresses indicates the context number (n = 0, 1, 2, 3,
…, 7). See Table 4–30 for a complete description of the register contents.
Bit31302928272625242322212019181716
NameIsochronous transmit context control
TypeRSCU RSCRSCRSCRSCRSCRSCRSCRSCRSCRSCRSCRSCRSCRSCRSC
DefaultXXXXXXXXXXXXXXXX
Bit1514131211109876543210
NameIsochronous transmit context control
TypeRSCRRRSURURURRRURURURURURURURU
Default000X0000XXXXXXXX
Register:Isochronous transmit context control
Offset:200h + (16 * n)set register
Table 4–30. Isochronous Transmit Context Control Register Description
BITFIELD NAMETYPEDESCRIPTION
31cycleMatchEnableRSCUWhen this bit is set to 1, processing occurs such that the packet described by the context first
30–16cycleMatchRSCThis field contains a 15-bit value, corresponding to the low-order two bits of the bus isochronous cycle
15runRSCThis bit is set by software to enable descriptor processing for the context and cleared by software to
14–13RSVDRReserved. Bits 14–13 return 0s when read.
12wakeRSUSoftware sets this bit to cause the TSB43AA22 device to continue or resume descriptor processing.
11deadRUThe TSB43AA22 device sets this bit when it encounters a fatal error and clears the bit when software
10activeRUThe TSB43AA22 device sets this bit to 1 when it is processing descriptors.
9–8RSVDRReserved. Bits 9–8 return 0s when read.
7–5spdRUThis field in not meaningful for isochronous transmit contexts.
4–0event codeRUFollowing an OUTPUT_LAST* command, the error code is indicated in this field. Possible values are:
descriptor block is transmitted in the cycle whose number is specified in the cycleMatch field
(bits 30–16). The cycleMatch field (bits 30–16) must match the low-order two bits of cycleSeconds
and the 13-bit cycleCount field in the cycle start packet that is sent or received immediately before
isochronous transmission begins. Since the isochronous transmit DMA controller may work ahead,
the processing of the first descriptor block may begin slightly in advance of the actual cycle in which
the first packet is transmitted.
The effects of this bit, however, are impacted by the values of other bits in this register and are
explained in the 1394 Open Host Controller Interface Specification. Once the context has become
active, hardware clears this bit.
timer register (OHCI offset F0h, see Section 4.31) cycleSeconds field (bits 31–25) and the
cycleCount field (bits 24–12). If bit 31 (cycleMatchEnable) is set, then this isochronous transmit DMA
context becomes enabled for transmits when the low-order two bits of the isochronous cycle timer
register cycleSeconds field (bits 31–25) and the cycleCount field (bits 24–12) value equal this field
(cycleMatch) value.
stop descriptor processing. The TSB43AA22 device changes this bit only on a hardware or software
reset.
The TSB43AA22 device clears this bit on every descriptor fetch.
resets bit 15 (run).
ack_complete, evt_descriptor_read, evt_data_read, and evt_unknown.
The isochronous transmit context command pointer register contains a pointer to the address of the first descriptor
block that the TSB43AA22 device accesses when software enables an isochronous transmit context by setting bit 15
(run) of the isochronous transmit context control register (see Section 4.39). The n value in the following register
addresses indicates the context number (n = 0, 1, 2, 3, …, 7).
The isochronous receive context control set/clear register controls options, state, and status for the isochronous
receive DMA contexts. The n value in the following register addresses indicates the context number (n = 0, 1, 2, 3).
See Table 4–31 for a complete description of the register contents.
Bit31302928272625242322212019181716
NameIsochronous receive context control
TypeRSCRSC RSCU RSCRRRRRRRRRRRR
DefaultXXXX000000000000
Bit1514131211109876543210
NameIsochronous receive context control
TypeRSCURRRSURURURRRURURURURURURURU
Default000X0000XXXXXXXX
Register:Isochronous receive context control
Offset:400h + (32 * n)set register
Table 4–31. Isochronous Receive Context Control Register Description
BITFIELD NAMETYPEDESCRIPTION
31bufferFillRSCWhen this bit is set, received packets are placed back-to-back to completely fill each receive buffer .
When this bit is cleared, each received packet is placed in a single buffer. If bit 28 (multiChanMode)
is set to 1, then this bit must also be set to 1. The value of this bit must not be changed while bit 10
(active) or bit 15 (run) is set.
30isochHeaderRSCWhen this bit is 1, received isochronous packets include the complete 4-byte isochronous packet
header seen by the link layer. The end of the packet is marked with a xferStatus in the first doublet,
and a 16-bit timeStamp indicating the time of the most recently received (or sent) cycleStart packet.
When this bit is cleared, the packet header is stripped from received isochronous packets. The
packet header, if received, immediately precedes the packet payload. The value of this bit must not
be changed while bit 10 (active) or bit 15 (run) is set.
4–37
Table 4–31. Isochronous Receive Context Control Register Description (Continued)
BITFIELD NAMETYPEDESCRIPTION
29cycleMatchEnableRSCUWhen this bit is set, the context begins running only when the 13-bit cycleMatch field (bits 24–12) in
28multiChanModeRSCWhen this bit is set, the corresponding isochronous receive DMA context receives packets for all
27–16RSVDRReserved. Bits 27–16 return 0s when read.
15runRSCUThis bit is set by software to enable descriptor processing for the context and cleared by software to
14–13RSVDRReserved. Bits 14–13 return 0s when read.
12wakeRSUSoftware sets this bit to cause the TSB43AA22 device to continue or resume descriptor processing.
11deadRUThe TSB43AA22 device sets this bit when it encounters a fatal error and clears the bit when software
10activeRUThe TSB43AA22 device sets this bit to 1 when it is processing descriptors.
9–8RSVDRReserved. Bits 9–8 return 0s when read.
7–5spdRUThis field indicates the speed at which the packet was received.
4–0event codeRUFor bufferFill mode, possible values are: ack_complete, evt_descriptor_read, evt_data_write, and
the isochronous receive context match register (See Section 4.43) matches the 13-bit cycleCount
field in the cycleStart packet. The effects of this bit, however , are impacted by the values of other bits
in this register. Once the context has become active, hardware clears this bit. The value of this bit
must not be changed while bit 10 (active) or bit 15 (run) is set.
isochronous channels enabled in the isochronous receive channel mask high (OHCI offset 70h/74h,
see Section 4.19) and isochronous receive channel mask low (OHCI offset 78h/7Ch, see
Section 4.20) registers. The isochronous channel number specified in the isochronous receive
context match register (see Section 4.43) is ignored.
When this bit is cleared, the isochronous receive DMA context receives packets for the single
channel specified in the isochronous receive context match register (see Section 4.43). Only one
isochronous receive DMA context may use the isochronous receive channel mask registers (see
Sections 4.19 and 4.20). If more than one isochronous receive context control register has this bit
set, then results are undefined. The value of this bit must not be changed while bit 10 (active) or bit 15
(run) is set to 1.
stop descriptor processing. The TSB43AA22 device changes this bit only on a hardware or software
reset.
The TSB43AA22 device clears this bit on every descriptor fetch.
evt_unknown. Packets with data errors (either dataLength mismatches or dataCRC errors) and
packets for which a FIFO overrun occurred are backed out. For packet-per-buffer mode, possible
values are: ack_complete, ack_data_error, evt_long_packet, evt_overrun, evt_descriptor_read,
evt_data_write, and evt_unknown.
The isochronous receive context command pointer register contains a pointer to the address of the first descriptor
block that the TSB43AA22 device accesses when software enables an isochronous receive context by setting bit 15
(run) of the isochronous receive context control register (see Section 4.41). The n value in the following register
addresses indicates the context number (n = 0, 1, 2, 3).
The isochronous receive context match register is used to start an isochronous receive context running on a specified
cycle number, to filter incoming isochronous packets based on tag values, and to wait for packets with a specified
sync value. The n value in the following register addresses indicates the context number (n = 0, 1, 2, 3). See
Table 4–32 for a complete description of the register contents.
Bit31302928272625242322212019181716
NameIsochronous receive context match
TypeR/WR/WR/WR/WRRRR/WR/WR/WR/WR/WR/WR/WR/WR/W
DefaultXXXX000XXXXXXXXX
Bit1514131211109876543210
NameIsochronous receive context match
TypeR/WR/WR/WR/WR/WR/WR/WR/WRR/WR/WR/WR/WR/WR/WR/W
DefaultXXXXXXXX0XXXXXXX
Table 4–32. Isochronous Receive Context Match Register Description
BITFIELD NAMETYPEDESCRIPTION
31tag3R/WIf this bit is set, then this context matches on iso receive packets with a tag field of 11b.
30tag2R/WIf this bit is set, then this context matches on iso receive packets with a tag field of 10b.
29tag1R/WIf this bit is set, then this context matches on iso receive packets with a tag field of 01b.
28tag0R/WIf this bit is set, then this context matches on iso receive packets with a tag field of 00b.
27RSVDRReserved. Bit 27 returns a 0 when read.
26–12cycleMatchR/WContains a 15-bit value, corresponding to the two low-order bits of cycleSeconds and the 13-bit
11–8syncR/WThis field contains the four-bit field which is compared to the sync field of each iso packet for this
7RSVDRReserved. Bit 7 returns 0 when read.
6tag1SyncFilterR/WIf this bit and bit 29 (tag1) are set , then packets with tag 01b are accepted into the context if the two most
5–0channelNumberR/WThis 6-bit field indicates the isochronous channel number for which this isochronous receive DMA
cycleCount field in the cycleStart packet. If cycleMatchEnable (bit 29) of the isochronous receive
context control register (see Section 4.41) is set, then this context is enabled for receives when the two
low-order bits of the isochronous cycle timer register (OHCI offset F0h, see Section 4.31)
cycleSeconds field (bits 31–25) and cycleCount field (bits 24–12) value equal this (cycleMatch) field
value.
channel when the command descriptor w field is set to 1 1b.
significant bits of the packet sync field are 00b. Packets with tag values other than 01b are filtered
according to tag0, tag2, and tag3 (bits 28, 30, and 31, respectively) without any additional restrictions.
If this bit is cleared, then this context matches on isochronous receive packets as specified in
bits 28–31 (tag0–tag3) with no additional restrictions.
context accepts packets.
4–40
5 Serial ROM Interface
The TSB43AA22 device provides a serial bus interface to initialize the GUID registers and a few PCI configuration
registers through a serial ROM. The TSB43AA22 device communicates with the serial ROM via the 2-wire serial
interface.
After power-up the serial interface initializes the locations listed in Table 5–1. While the TSB43AA22 device is
accessing the serial ROM, all incoming PCI slave accesses are terminated with retry status. Table 5–2 shows the
serial ROM memory map required for initializing the TSB43AA22 registers.
NOTE: If a ROM is implemented in the design, it must be programmed. An unprogrammed
ROM defaults to all 1s, which will adversely impact device operation.
Table 5–1. Registers and Bits Loadable Through Serial ROM
There are 16 accessible internal registers in the TSB43AA22 device. The configuration of the registers at addresses
0h through 7h (the base registers) is fixed, whereas the configuration of the registers at addresses 8h through Fh (the
paged registers) is dependent upon which 1 of 8 pages, numbered 0h through 7h, is currently selected. The selected
page is set in base register 7h.
6.1Base Registers
Table 6–1 shows the configuration of the base registers, and T able 6–2 shows the corresponding field descriptions.
The base register field definitions are unaffected by the selected page number.
A reserved register or register field (marked as Reserved in the following register configuration tables) is read as 0,
but is subject to future usage. All registers in address pages 2 through 6 are reserved.
Physical ID6RThis field contains the physical address ID of this node determined during self-ID. The physical ID is invalid
R1RRoot. This bit indicates that this node is the root node. The R bit is cleared to 0 by bus reset, and is set to 1
CPS1RCable-power-status. This bit indicates the state of the CPS input terminal. The CPS terminal is normally tied
RHB1R/WRoot-holdoff bit. This bit instructs the PHY device to attempt to become root after the next bus reset. The
IBR1R/WInitiate bus reset. This bit instructs the PHY device to initiate a long (166 µs) bus reset at the next opportunity.
Gap_Count6R/WArbitration gap count. This value is used to set the subaction (fair) gap, arb-reset gap, and arb-delay times.
Extended3RExtended register definition. For the TSB43AA22 device, this field is 111b, indicating that the extended
Num_Ports4RNumber of ports. This field indicates the number of ports implemented in the PHY device. For the
PHY_Speed3RPHY speed capability. For the TSB43AA22 PHY device this field is 010b, indicating S400 speed capability.
Delay4RPHY repeater data delay. This field indicates the worst case repeater data delay of the PHY device,
LCtrl1R/WLink-active status control. This bit is used to control active status of the LLC as indicated during self-ID. The
C1R/WContender status. This bit indicates that this node is a contender for the bus or isochronous resource
Jitter3RPHY repeater jitter. This field indicates the worst case difference between the fastest and slowest repeater
Pwr_Class3R/WNode power class. This field indicates this node power consumption and source characteristics and is
RPIE1R/WResuming port interrupt enable. This bit, if set to 1, enables the port event interrupt (PEI) bit to be set
after a bus reset until self-ID has completed as indicated by an unsolicited register-0 status transfer.
during tree-ID if this node becomes root.
to serial bus cable power through a 400-kΩ resistor. A 0 in this bit indicates that the cable power voltage has
dropped below its threshold for ensured reliable operation.
RHB bit is cleared to 0 by a hardware reset, and is unaffected by a bus reset.
Any receive or transmit operation in progress when this bit is set will complete before the bus reset is
initiated. The IBR bit is cleared to 0 after a hardware reset or a bus reset.
The gap count can be set either by a write to the register, or by reception or transmission of a PHY_CONFIG
packet. The gap count is reset to 3Fh by hardware reset or after two consecutive bus resets without an
intervening write to the gap count register (either by a write to the PHY register or by a PHY_CONFIG
packet).
register set is implemented.
TSB43AA22 device this field is 2.
expressed as 144+(delay × 20) ns. For the TSB43AA22 device this field is 0.
logical AND of this bit and the LPS active status is replicated in the L field (bit 9) of the self-ID packet. The LLC
is considered active only if both the LPS input is active and the LCtrl bit is set.
The LCtrl bit provides a software controllable means to indicate the LLC active/status in lieu of using the LPS
input.
The LCtrl bit is set to 1 by a hardware reset and is unaffected by a bus reset.
NOTE: The state of the PHY-LLC interface is controlled solely by the LPS input, regardless of the state of the
LCtrl bit. If the PHY -LLC interface is operational as determined by the LPS input being active, then received
packets and status information will continue to be presented on the interface, and any requests indicated on
the LREQ input will be processed, even if the LCtrl bit is cleared to 0.
manager. This bit is replicated in the c field (bit 20) of the self-ID packet.
data delay, expressed as (Jitter+1) × 20 ns. For the TSB43AA22 device, this field is 0.
replicated in the pwr field (bits 21–23) of the self-ID packet. This field is reset to the state specified by the
PC0–PC2 input terminals upon a hardware reset, and is unaffected by a bus reset. See Table 6–9.
whenever resume operations begin on any port. This bit is cleared to 0 by hardware reset and is unaffected
by bus reset.
6–2
Table 6–2. Base Register Field Descriptions (Continued)
FIELDSIZETYPEDESCRIPTION
ISBR1R/WInitiate short arbitrated bus reset. This bit, if set to 1, instructs the PHY device to initiate a short (1.3 µs)
CTOI1R/WConfiguration time-out interrupt. This bit is set to 1 when the arbitration controller times out during tree-ID
CPSI1R/WCable power status interrupt. This bit is set to 1 whenever the CPS input transitions from high to low
STOI1R/WState time-out interrupt. This bit indicates that a state time-out has occurred (which also causes a bus reset
PEI1R/WPort event interrupt. This bit is set to 1 upon a change in the bias (unless disabled) connected, disabled, or
EAA1R/WEnable accelerated arbitration. This bit enables the PHY device to perform the various arbitration
EMC1R/WEnable multispeed concatenated packets. This bit enables the PHY device to transmit concatenated
Page_Select3R/WPage_Select. This field selects the register page to use when accessing register addresses 8 through 15.
Port_Select4R/WPort_Select. This field selects the port when accessing per-port status or control (for example, when one of
arbitrated bus reset at the next opportunity. This bit is cleared to 0 by a bus reset.
NOTE: Legacy IEEE Std 1394-1995 compliant PHY devices can not be capable of performing short bus
resets. Therefore, initiation of a short bus reset in a network that contains such a legacy device results in a
long bus reset being performed.
start, and may indicate that the bus is configured in a loop. This bit is cleared to 0 by hardware reset, or by
writing a 1 to this register bit.
If the CTOI and RPIE bits are both set and the LLC is or becomes inactive, the PHY device will activate the
LLC to service the interrupt.
NOTE: If the network is configured in a loop, only those nodes which are part of the loop will generate a
configuration-timeout interrupt. All other nodes will instead time out waiting for the tree-ID and/or self-ID
process to complete and then generate a state time-out interrupt and bus-reset.
indicating that cable power may be too low for reliable operation. This bit is cleared to 0 by hardware reset, or
by writing a 1 to this register bit.
to occur). This bit is cleared to 0 by hardware reset, or by writing a 1 to this register bit.
fault bits for any port for which the port interrupt enable (PIE) bit is set. Additionally, if the resuming port
interrupt enable (RPIE) bit is set, the PEI bit is set to 1 at the start of resume operations on any port. This bit is
cleared to 0 by hardware reset, or by writing a 1 to this register bit.
acceleration enhancements defined in IEEE 1394a-2000 (ACK-accelerated arbitration, asynchronous
fly-by concatenation, and isochronous fly-by concatenation). This bit is cleared to 0 by hardware reset and is
unaffected by bus reset.
packets of differing speeds in accordance with the protocols defined in IEEE 1394a-2000. This bit is cleared
to 0 by hardware reset and is unaffected by bus reset.
This field is cleared to 0 by a hardware reset and is unaffected by bus reset.
the port status/control registers is accessed in page 0). Ports are numbered starting at 0. This field is cleared
to 0 by hardware reset and is unaffected by bus reset.
6–3
6.2Port Status Register
The port status page provides access to configuration and status information for each of the ports. The port is selected
by writing 0 to the Page_Select field and the desired port number to the Port_Select field in base register 7. T able 6–3
shows the configuration of the port status page registers and Table 6–4 shows the corresponding field descriptions.
If the selected port is not implemented, then all registers in the port status page are read as 0.
Table 6–4. Page 0 (Port Status) Register Field Descriptions
FIELDSIZETYPEDESCRIPTION
AStat2RTP A line state. This field indicates the TPA line state of the selected port, encoded as follows:
BStat2RTPB line state. This field indicates the TPB line state of the selected port. This field has the same encoding as
the AStat field.
Ch1RChild/parent status. A 1 indicates that the selected port is a child port. A 0 indicates that the selected port is
the parent port. A disconnected, disabled, or suspended port is reported as a child port. The Ch bit is invalid
after a bus reset until tree-ID has completed.
Con1RDebounced port connection status. This bit indicates that the selected port is connected. The connection
must be stable for the debounce time of approximately 341 ms for the Con bit to be set to 1. The Con bit is
cleared to 0 by hardware reset and is unaffected by bus reset.
NOTE: The Con bit indicates that the port is physically connected to a peer PHY device, but the port is not
necessarily active.
Bias1RDebounced incoming cable bias status. A 1 indicates that the selected port is detecting incoming cable bias.
The incoming cable bias must be stable for the debounce time of 52 µs for the Bias bit to be set to 1.
Dis1R/WPort disabled control. If 1, the selected port is disabled. The Dis bit is cleared to 0 by hardware reset (all ports
are enabled for normal operation following hardware reset). The Dis bit is not affected by bus reset.
Peer_Speed3RPort peer speed. This field indicates the highest speed capability of the peer PHY device connected to the
selected port, encoded as follows:
The Peer_Speed field is invalid after a bus reset until self-ID has completed.
NOTE: Peer speed codes higher than 010b (S400) are defined in IEEE 1394a-2000. However, the
TSB43AA22 device is only capable of detecting peer speeds up to S400.
Code
11Z
100
011
00invalid
CodePeer Speed
000S100
001S200
010S400
011–111invalid
Arb Value
6–4
Table 6–4. Page 0 (Port Status) Register Field Descriptions (Continued)
FIELDSIZETYPEDESCRIPTION
PIE1R/WPort event interrupt enable. When set to 1, a port event on the selected port will set the port event interrupt
Fault1R/WFault. This bit indicates that a resume-fault or suspend-fault has occurred on the selected port, and that the
(PEI) bit and notify the link. This bit is cleared to 0 by a hardware reset, and is unaffected by bus reset.
port is in the suspended state. A resume-fault occurs when a resuming port fails to detect incoming cable
bias from its attached peer. A suspend-fault occurs when a suspending port continues to detect incoming
cable bias from its attached peer. Writing 1 to this bit clears the fault bit to 0. This bit is cleared to 0 by
hardware reset and is unaffected by bus reset.
6.3Vendor Identification Register
The vendor identification page is used to identify the vendor/manufacturer and compliance level. The page is selected
by writing 1 to the Page_Select field in base register 7. Table 6–5 shows the configuration of the vendor identification
page, and Table 6–6 shows the corresponding field descriptions.
Table 6–6. Page 1 (Vendor ID) Register Field Descriptions
FIELDSIZE TYPEDESCRIPTION
Compliance8RCompliance level. For the TSB43AA22 device this field is 01h, indicating compliance with the IEEE 1394a-2000
Vendor_ID24RManufacturer’s organizationally unique identifier (OUI). For the TSB43AA22 device this field is 08 0028h
Product_ID24RProduct identifier. For the TSB43AA22 device this field is 00 0000h (the MSB is at register address 1101b).
specification.
(Texas Instruments) (the MSB is at register address 1010b).
6–5
6.4Vendor-Dependent Register
The vendor-dependent page provides access to the special control features of the TSB43AA22 device, as well as
configuration and status information used in manufacturing test and debug. This page is selected by writing 7 to the
Page_Select field in base register 7. T able 6–7 shows the configuration of the vendor-dependent page and T able 6–8
shows the corresponding field descriptions.
1000NPAReservedLink_Speed
1001Reserved for test
1010Reserved for test
1011Reserved for test
1100Reserved for test
1101Reserved for test
1110Reserved for test
1111Reserved for test
Table 6–8. Page 7 (Vendor-Dependent) Register Field Descriptions
FIELDSIZETYPEDESCRIPTION
NPA1R/WNull-packet actions flag. This bit instructs the PHY device to not clear fair and priority requests when a null
Link_Speed2R/WLink speed. This field indicates the top speed capability of the attached LLC. Encoding is as follows:
packet is received with arbitration acceleration enabled. If this bit is 1, then fair and priority requests are
cleared only when a packet of more than 8 bits is received; ACK packets (exactly 8 data bits), null packets
(no data bits), and malformed packets (less than 8 data bits) will not clear fair and priority requests. If this bit is
0, then fair and priority requests are cleared when any non-ACK packet is received, including null packets or
malformed packets of less than 8 bits. This bit is cleared to 0 by hardware reset and is unaffected by bus
reset.
Code
00S100
01S200
10S400
11illegal
This field is replicated in the sp field of the self-ID packet to indicate the speed capability of the node (PHY
and LLC in combination). However, this field does not affect the PHY speed capability indicated to peer
PHYs during self-ID; the TSB43AA22 PHY device identifies itself as S400 capable to its peers regardless of
the value in this field. This field is set to 10b (S400) by hardware reset and is unaffected by bus-reset.
Speed
6–6
6.5Power-Class Programming
The PC0–PC2 terminals are programmed to set the default value of the power-class indicated in the pwr field
(bits 21–23) of the transmitted self-ID packet. Table 6–9 shows the descriptions of the various power classes. The
default power-class value is loaded following a hardware reset, but is overridden by any value subsequently loaded
into the Pwr_Class field in register 4.
Table 6–9. Power Class Descriptions
PC0–PC2DESCRIPTION
000Node does not need power and does not repeat power.
001Node is self-powered and provides a minimum of 15 W to the bus.
010Node is self-powered and provides a minimum of 30 W to the bus.
011Node is self-powered and provides a minimum of 45 W to the bus.
100Node may be powered from the bus and is using up to 3 W.
101Node is powered from the bus and uses up to 3 W. No additional power is needed to enable the link.
110Node is powered from the bus and uses up to 3 W. An additional 3 W is needed to enable the link.
111Node is powered from the bus and uses up to 3 W. An additional 7 W is needed to enable the link.
6–7
6–8
7 GPIO Interface
The general-purpose input/output (GPIO) interface consists of two GPIO ports. GPIO2 and GPIO3 power up as
general-purpose inputs and are programmable via the GPIO control register. Figure 7–1 shows the logic diagram for
GPIO2 and GPIO3 implementation.
GPIO Read Data
GPIO Port
GPIO Write Data
GPIO_Invert
GPIO Enable
DQ
Figure 7–1. GPIO2 and GPIO3 Logic Diagram
7–1
7–2
8 Application Information
8.1PHY Port Cable Connection
TSB43AA22
Cable Port
CPS
TPBIAS
TPA+
TPA–
TPB+
TPB–
220 pF
(see Note A)
400 kΩ
1 µF
56 Ω56 Ω
56 Ω56 Ω
5 kΩ
Cable
Power
Pair
Cable
Pair
A
Cable
Pair
B
Outer Shield
Termination
NOTE A: The IEEE 1394-1995 standard calls for a 250-pF capacitor, which is a nonstandard component value. A 220-pF capacitor is
recommended.
Figure 8–1. TP Cable Connections
8–1
Outer Cable Shield
1 MΩ
Chassis Ground
0.01 µF
0.001 µF
Figure 8–2. Typical Compliant DC Isolated Outer Shield Termination
The TSB43AA22 device is designed to use an external 24.576-MHz crystal connected between the XI and XO pins
to provide the reference for an internal oscillator circuit. This oscillator in turn drives a PLL circuit that generates the
various clocks required for transmission and resynchronization of data at the S100 through S400 media data rates.
A variation of less than ±100 ppm from nominal for the media data rates is required by IEEE 1394-1995. Adjacent
PHYs may therefore have a difference of up to 200 ppm from each other in their internal clocks, and PHY devices
must be able to compensate for this difference over the maximum packet length. Large clock variations may cause
resynchronization overflows or underflows, resulting in corrupted packet data.
The following are some typical specifications for crystals used with the physical layers from TI in order to achieve the
required frequency accuracy and stability:
•Crystal mode of operation: Fundamental
•Frequency tolerance @ 25°C: Total frequency variation for the complete circuit is ±100 ppm. A crystal with
±30 ppm frequency tolerance is recommended for adequate margin.
•Frequency stability (over temperature and age): A crystal with ±30 ppm frequency stability is recommended
for adequate margin.
NOTE: The total frequency variation must be kept below ±100 ppm from nominal with some
allowance for error introduced by board and device variations. Trade-offs between frequency
tolerance and stability may be made as long as the total frequency variation is less than ±100
ppm. For example, the frequency tolerance of the crystal may be specified at 50 ppm and the
temperature tolerance may be specified at 30 ppm to give a total of 80 ppm possible variation
due to the crystal alone. Crystal aging also contributes to the frequency variation.
•Load capacitance: For parallel resonant mode crystal circuits, the frequency of oscillation is dependent
upon the load capacitance specified for the crystal. T otal load capacitance (C
) is a function of not only the
L
discrete load capacitors, but also board layout and circuit. It is recommended that load capacitors with a
maximum of ±5% tolerance be used.
8–2
As an example, for the TSB43AA22 evaluation module (EVM) which uses a crystal specified for 12 pF loading, load
capacitors (C9 and C10 in Figure 8–4) of 16 pF each were appropriate for the layout of that particular board. The load
specified for the crystal includes the load capacitors (C9, C10), the loading of the PHY pins (C
of the board itself (C
). The value of C
BD
is typically about 1 pF , and CBD is typically 0.8 pF per centimeter of board
PHY
), and the loading
PHY
etch; a typical board can have 3 pF to 6 pF or more. The load capacitors C9 and C10 combine as capacitors in series
so that the total load capacitance is:
L
C9 C10
+
C9 ) C10
) C
PHY
C9
C10
) C
I
S
BD
X1
24.576 MHz
C
PHY
+ C
X1
BD
X0
C
Figure 8–4. Load Capacitance for the TSB43AA22 PHY
The layout of the crystal portion of the PHY circuit is important for obtaining the correct frequency , minimizing noise
introduced into the PHY phase-lock loop, and minimizing any emissions from the circuit. The crystal and two load
capacitors should be considered as a unit during layout. The crystal and the load capacitors should be placed as close
as possible to one another while minimizing the loop area created by the combination of the three components.
Varying the size of the capacitors may help in this. Minimizing the loop area minimizes the effect of the resonant
current (Is) that flows in this resonant circuit. This layout unit (crystal and load capacitors) should then be placed as
close as possible to the PHY X1 and X0 pins to minimize etch lengths, as shown in Figure 8–5.
C9C10
X1
For more details on crystal selection, see application report SLLA051.
Figure 8–5. Recommended Crystal and Capacitor Layout
8.3Bus Reset
In the TSB43AA22 device, the initiate bus reset (IBR) bit may be set to 1 in order to initiate a bus reset and initialization
sequence. The IBR bit is located in PHY register 1, along with the root-holdoff bit (RHB) and Gap_Count field, as
required by IEEE 1394a-2000. Therefore, whenever the IBR bit is written, the RHB and Gap_Count are also written.
The RHB and Gap_Count may also be updated by PHY-config packets. The TSB43AA22 device is IEEE 1394a-2000
compliant, and therefore both the reception and transmission of PHY -config packets cause the RHB and Gap_Count
to be loaded, unlike older IEEE 1394-1995 compliant PHY devices which decode only received PHY -config packets.
The gap-count will be set to the maximum value of 63 after 2 consecutive bus resets without an intervening write to
the Gap_Count, either by a write to PHY register 1 or by a PHY -config packet. This mechanism allows a PHY-config
packet to be transmitted and then a bus reset initiated so as to verify that all nodes on the bus have updated their
RHBs and Gap_Count values, without having the Gap_Count set back to 63 by the bus reset. The subsequent
8–3
connection of a new node to the bus, which initiates a bus reset, will then cause the Gap_Count of each node to be
set to 63. Note, however, that if a subsequent bus reset is instead initiated by a write to register 1 to set the IBR bit,
all other nodes on the bus will have their Gap_Count values set to 63, while this node Gap_Count remains set to the
value just loaded by the write to PHY register 1.
Therefore, in order to maintain consistent gap-counts throughout the bus, the following rules apply to the use of the
IBR bit, RHB, and Gap_Count in PHY register 1:
•Following the transmission of a PHY-config packet, a bus reset must be initiated in order to verify that all
nodes have correctly updated their RHBs and Gap_Count values, and to ensure that a subsequent new
connection to the bus will cause the Gap_Count to be set to 63 on all nodes in the bus. If this bus reset is
initiated by setting the IBR bit to 1, the RHB and Gap_Count field must also be loaded with the correct values
consistent with the just transmitted PHY -config packet. In the TSB43AA22 device, the RHB and Gap_Count
will have been updated to their correct values upon the transmission of the PHY -config packet, and so these
values may first be read from register 1 and then rewritten.
•Other than to initiate the bus reset which must follow the transmission of a PHY-config packet, whenever
the IBR bit is set to 1 in order to initiate a bus reset, the Gap_Count value must also be set to 63 so as to
be consistent with other nodes on the bus, and the RHB should be maintained with its current value.
•The PHY register 1 should not be written to except to set the IBR bit. The RHB and Gap_Count should not
be written without also setting the IBR bit to 1.
8–4
9 Electrical Characteristics
9.1Absolute Maximum Ratings Over Operating Temperature Ranges
Operating free-air temperature, T
Storage temperature range, T
†
Stresses beyond those listed under absolute maximum ratings may cause permanent damage to the device. These are stress ratings only, and
functional operation of the device at these or any other conditions beyond those indicated under recommended operating conditions is not implied.
Exposure to absolute-maximum-rated conditions for extended periods may affect device reliability.
NOTES: 1. Applies to external input and bidirectional buffers. For 5-V tolerant use VI > V
2. Applies to external output and bidirectional buffers. For 5-V tolerant use VO > V
Limits defined as algebraic sum of TPA+ and TPA– driver currents. Limits also apply to TPB+ and TPB– algebraic sum of driver currents.
Limits defined as absolute limit of each of TPB+ and TPB– driver currents.