any language, in any form or by any means, electronic, mechanical, magnetic, optical, chemical, manual or otherwise
without the prior written permission of VIA Technologies Incorporated.
VT6305 may only be used to identify a product of VIA Technologies, Inc.
is a registered trademark of VIA Technologies, Incorporated.
Windows 95TM, Windows 98TM, Windows NTTM, and Plug and PlayTM are registered trademarks of Microsoft Corp.
PCITM is a registered trademark of the PCI Special Interest Group.
All trademarks are the properties of their respective owners.
Disclaimer Notice:
No license is granted, implied or otherwise, under any patent or patent rights of VIA Technologies. VIA Technologies
makes no warranties, implied or otherwise, in regard to this document and to the products described in this document.
The information provided by this document is believed to be accurate and reliable to the publication date of this
document. However, VIA Technologies assumes no responsibility for any errors in this document. Furthermore, VIA
Technologies assumes no responsibility for the use or misuse of the information in this document and for any patent
infringements that may arise from the use of this document. The information and product specifications within this
document are subject to change at any time, without notice and without obligation to notify any person of such
change.
Web Page:http://www.via.com.tw –or- http://www.viatech.com
FTP Server:ftp://ftp.via.com.tw
BBS:886-2-2185208
Page 3
Technologies, Inc.
We ConnectWe Connect
REVISION HISTORY
Document ReleaseDateRevisionInitial
s
Revision 0.15/19/98Initial release as VT83C574DH
Revision 0.27/31/98Changed part # to VT6305
Revised pinouts and added pin descriptions
DH
Revision 0.2 March 10, 2000-i-Revision History
Page 4
Technologies, Inc.
We ConnectWe Connect
TABLE OF CONTENTS
REVISION HISTORY................................................................................................................................................................ I
TABLE OF CONTENTS .......................................................................................................................................................... II
LIST OF FIGURES.................................................................................................................................................................III
LIST OF TABLES................................................................................................................................................................... III
Configuration Space Header.........................................................................................................................................................11
Bus Management CSR Registers.................................................................................................................................................. 15
HC Control Registers................................................................................................................................................................... 17
Self-ID Control Registers ............................................................................................................................................................. 18
Link Control Registers ................................................................................................................................................................. 21
PHY Control Registers ................................................................................................................................................................. 22
ABSOLUTE MAXIMUM RATINGS........................................................................................................................................... 29
DC CHARACTERISTICS ........................................................................................................................................................ 29
Revision 0.2 March 10, 2000-iii-List of Figures & Tables
Page 6
Technologies, Inc.
We ConnectWe Connect
VT6305
PCI 1394 HOST CONTROLLER
1394.A OHCI LINK LAYER CONTROLLER
FOR THE PCI BUS
••Single Chip PCI Host Controller for IEEE P1394.A
••Data Transfers of 100 / 200 / 400 MHz
••Embedded IEEE 1394.A Link Core
−32 bit CRC generator and checker for receive and transmit data
−Built-in isochronous and asynchronous receive and transmit FIFOs for packets
−2 / 4 / 8 bit data interface to external discrete PHY
−Compliant with IEEE 1394.A Specification Release 1.0
••OHCI Compliant Programming Interface
−Descriptor based isochronous and asynchronous DMA channels for receive / transmit packets
−Compliant with 1394 Open HCI Specification v0.94
••32-Bit Power-Managed PCI Bus Interface
−High-performance bus mastering support
−Byte alignment to run in both little-endian (x86/PCI) and byte-swapped big-endian (PowerMac/PCI) environments
−Compliant with PCI Bus Power Management Specification v1.0
••3.3V Power Supply with 5V Tolerant Inputs
••0.35um, Low Power CMOS Process
••128-Pin PQFP Package
••PCB Reference Designs & Schematics Available
Revision 0.2 March 10, 2000-1-Features
Page 7
Technologies, Inc.
We ConnectWe Connect
Register (Control/Status/Interrupt)
OVERVIEW
The VT6305 IEEE 1394 Open HCI Link Controller provides high performance serial connectivity. It implements the Link layer
for IEEE 1394.A release v1.0 and is compliant with Open HCI with DMA engine support for high performance data transfer. It
has a PCI host bus interface.
The VT6305 supports 100, 200 and 400 Mbits/sec transmission. Depending on transmission speed, the Link / PHY connection
is provided through a 2- / 4- / 8-bit interface operating at 50 MHz. The VT6305 services two types of data packets: asynchronous
and isochronous (real time). The 1394 link core performs arbitration requesting, packet generation and checking, and bus cycle
master operations. It also has root node capability and performs cycle and retry operations.
The VT6305 is ready to provide industry-standard IEEE 1394 peripheral connections for desktop and mobile PC platforms.
Support for the VT6305 will be built into Microsoft Windows 98 (Memphis) and Windows NT 5.0.
PCI 2.1 Host Interface
SWAP
Tx/Rx FIFO
Iso/Asy
DMA
Receiver
CRC
Checker
Cycle
Monitor
Link/PHY Interface
Cycle
Timer
CRC
Generator
Figure 1. VT6305 Chip Block Diagram
Transmitter
Revision 0.2 March 10, 2000-2-Overview
Page 8
Technologies, Inc.
We ConnectWe Connect
FRAME#
DEVSEL#
REMREQ3#
PWREN_D3
LK_EN3
LK_EN2
STS_D3
E3PRSN3#
USBPRSN3#
PINOUTS
Pin Diagram
STS_D2
E3PRSN2#
USBPRSN2#
REMREQ2#
PWREN_D2
REMREQ1#
PWREN_D1
LK_EN1
USBPRSN1#
E3PRSN1#
STS_D1
REMREQ0#
PWREN_D0
LK_EN0
USBPRSN0#
E3PRSN0#MD4/
VSS12
PHY_CLK
VDD9
PHY_D0
PHY_D1
PHY_D2
PHY_D3
VSS13
PHY_D4
PHY_D5
PHY_D6
PHY_D7
VSS14
PHY_CTL0
PHY_CTL1
VDD10
PHY_LREQ
LINK_ON
INTB#
INTA#
PCIRST#
PCICLK
VSS15
GNT#
REQ#
PME#
103
105
110
115
120
125
128
VSSC2
1
0
2
1
LPS
PCI_ISO
VDDC2
1
0
0
GPIO4
5
VSS11
GPIO2/
GPIO3/
9
5
MA14/
MA15/
1
0
VDD8
MA13/
9
0
VSS10
MA10/
MA12/
MA11/
VT6305
1
5
MA9/
MA8/
8
5
MA7/
MA6/
2
0
MA5/
MA4/
8
0
VSS9
MA3/
2
5
VDD7
MA2/
MA0/
MA1/
7
5
BPRD#
BPCS#
BPWR#
3
0
VSS8
GPIO1/
7
0
MD6/
MD7/
3
5
MD5/
6
5
3
8
VDD6
64
60
55
50
45
39
MD3/
MD2/
VSS7
MD1/
MD0/
EECS
AD0
AD1
AD2
AD3
VSS6
AD4
VDD5
AD5
AD6
AD7
CBE0#
AD8
AD9
VSS5
AD10
AD11
AD12
AD13
VDD4
AD14
STS_D0
EECK
EEDI
EEDO
AD31
AD30
AD29
VDD1
AD28
VSS1
AD27
AD26
AD25
AD24
IDSEL
CEB3#
AD23
VSS2
AD22
VDD2
AD21
AD20
AD19
AD18
AD17
AD16
VSS3
CBE2#
VDD3
IRDY#
TRDY#
STOP#
VSS4
PERR#
SERR#
PAR
CBE1#
AD15
VDDC1
VSSC1
Figure 2. VT6305 Pin Diagram (Top View)
Revision 0.2 March 10, 2000-3-Pinouts
Page 9
Technologies, Inc.
We ConnectWe Connect
Pin List
Figure 3. VT6305 Pin List (Alphabetical Order)
PinPin NamePinPin NamePinPin NamePinPin Name
58IOAD0048IOCBE0#75O / I MA00 / DB1SLK104IPHYCLK
57IOAD0135IOCBE1#76O / I MA01 / DB11394#116IOPHYCTL0
56IOAD0224IOCBE2#77O / I MA02 / DB1USB#117IOPHYCTL1
55IOAD0311IOCBE3#79O / I MA03 / DB1RRQ#106IOPHYD0
53IOAD0429IODEVSEL#81O / O MA04 / DB1PEN107IOPHYD1
51IOAD0559OEECS#82O / O MA05 / DB1LEN108IOPHYD2
50IOAD0625IOFRAME#83O / I MA06 / DB2SLK109IOPHYD3
49IOAD07
47IOAD08
46IOAD09
44IOAD10
43IOAD11
42IOAD12
41IOAD13
39IOAD14
36IOAD15
22IOAD16
21IOAD17
20IOAD18
19IOAD19
18IOAD20
17IOAD21
15IOAD22
13IOAD23
10IOAD2470 IO / O GPIO1 / DB0LEN69 IO / O MD7 / DB0PEN
9IOAD2596 IO / O GPIO2 / DB3PEN73OMRD#
8IOAD2697 IO / O GPIO3 / DB3LEN72OMWR#
7IOAD2798IOGPIO434IOPAR
5IOAD2812OIDSEL99IOPCIISO
4IOAD29122OINTA#124IPCLK
2IOAD30121OINTB#31OPERR#
1IOAD3127IOIRDY#126IPGNT#
Address / Data Bus. The standard PCI address and data lines. The address is
driven with FRAME# assertion and data is driven or received in following cycles.
Command / Byte Enable. The command is driven with FRAME# assertion. Byte
enables corresponding to supplied or requested data are driven on following clocks.
Frame. Assertion indicates the address phase of a PCI transfer. Negation indicates
that one more data transfer is desired by the cycle initiator.
Device Select. As an output, this signal is asserted to claim PCI transactions
through positive or subtractive decoding. As an input, DEVSEL# indicates the
response to a VT6305-initiated transaction and is also sampled when decoding
whether to subtractively decode the cycle.
Target Ready. Asserted when the target is ready for data transfer.
Initiator Ready. Asserted when the initiator is ready for data transfer.
PCI Bus Request. Asserted by the bus master to indicate to the bus arbiter that it
wants to use the bus.
PCI Bus Grant. Asserted to indicate that access to the bus is granted.
Initialization Device Select. IDSEL is used as a chip select during configuration
read and write cycles.
Interrupt A. An asynchronous signal used to request an interrupt.
Interrupt B. An asynchronous signal used to request an interrupt.
PCI Clock. Timing reference for all transactions on the PCI Bus.
Reset. When detected low, an internal hardware reset is performed. PCIRST#
assertion or deassertion may be asynchronous to PCLK, however, it is recommended
that deassertion be synchronous to guarantee a clean and bounce free edge.
Parity. A single parity bit is provided over AD[31:0] and C/BE[3:0]#.
Parity Error. Parity error is asserted when a data parity error is detected.
System Error. SERR# is pulsed active to indicate a system error condition.
Stop. Asserted by the target to request the master to stop the current transaction.
Revision 0.2 March 10, 2000-5-Pinouts
Page 11
Technologies, Inc.
We ConnectWe Connect
1394 PHY Interface
Signal NamePin No.I/OSignal Description
PHYD[7:0]
PHYCTL1
PHYCTL0
PHYCLK
PHYLREQ
PHYLON
PHYLPS
114, 113, 112, 111,
109, 108, 107, 106
117IO
116IO
104I
119O
120I
100I
IO
PHY Data.
PHY Control 1.
PHY Control 0.
PHY Clock.
PHY Link Request.
PHY Link On.
PHY Link
Serial Configuration Memory Interface
Signal NamePin No.I/OSignal Description
EECS#
EEDO / MD0
EEDI / MD1
EECK / MD2
59O
60O / I
61I / I
63O / I
EEPROM Chip Select. Chip select for external serial EEPROM when used to
provide configuration data. A high-value pull-up resistor is provided internally.
EEPROM Data Out.
EEPROM Data In.
EEPROM Clock.
Local Memory Interface
Signal NamePin No.I/OSignal Description
MD[7:0]
MA[15:0]
MCS#
MRD#
MWR#
74O
73O
72O
IO
O
Memory Data. Pins optionally used for device bay if local memory not used
Memory Address. Pins optionally used for device bay if local memory not used
Memory Chip Select.
Memory Read Enable.
Memory Write Enable.
Power Management Event.
General Purpose I/O.
General Purpose I/O.
General Purpose I/O.
General Purpose I/O.
General Purpose I/O.
Power and Ground
Signal NamePin No.I/OSignal Description
Revision 0.2 March 10, 2000-6-Pinouts
Page 12
Technologies, Inc.
We ConnectWe Connect
VCC
GND
3, 16, 26, 37, 40,
52, 65, 78, 91,
101, 105, 118
6, 14, 23, 33, 38,
45, 54, 62, 71, 80,
87, 95, 102, 103,
110, 115, 125
P
Power.
P
Ground.
Revision 0.2 March 10, 2000-7-Pinouts
Page 13
Technologies, Inc.
We ConnectWe Connect
Offset
PCI Configuration Space Header
Default
Acc
Offset
Heading
Default
Acc
REGISTERS
Register Overview
The following tables summarize the configuration and I/O
registers of the VT6305. These tables also document the
power-on default value (“Default”) and access type (“Acc”) for
each register. Access type definitions used are RW
(Read/Write), RO (Read/Only), “—” for reserved / used
(essentially the same as RO), and RWC (or just WC) (Read /
Write 1’s to Clear individual bits). Registers indicated as RW
may have some read/only bits that always read back a fixed
value (usually 0 if unused); registers designated as RWC or
WC may have some read-only or read write bits (see
individual register descriptions for details).
Detailed register descriptions are provided in the following
section of this document. All offset and default values are
shown in hexadecimal unless otherwise indicated
Table 2. Registers
PCI Function 0 Registers – Controller Configuration
The 1394 host controller interface follows the Open HCI
(OHCI) interface specification. There are two sets of software
accessible registers: configuration registers and memory
registers. The configuration registers are located in the
function 0 PCI configuration space. The memory registers
are located in system memory space at offsets from the
address stored in the Base Address Register.
Configuration Space Header
Offset 1-0 - Vendor ID .................................................... RO
0-7Vendor ID ................(1106h = VIA Technologies)
Offset 3-2 - Device ID ...................................................... RO
Set by the 1394 interface logic if it generates a
master abort while acting as a master. This
bit may be cleared by software by writing a
one to this bit position.
Set by the 1394 interface logic if it receives a
target abort while acting as a master. This bit
may be cleared by software by writing a one to
this bit position.
Offset A - Sub Class Code (00h=1394 Serial Bus) .......... RO
Offset B - Base Class Code (0Ch=Serial Bus Controller) RO
Revision 0.2 March 10, 2000-11-Register Descriptions
Page 17
Technologies, Inc.
We ConnectWe Connect
Offset D - Latency Timer (00h) ..................................... RW
7-4Latency Timer Count
PCI burst cycles generated by the VT6305 can last
indefinitely as long as PCI GNT# remains active. If
GNT# is negated after the burst is initiated, the
VT6305 limits the duration of the burst to the
number of PCI Bus clocks specified in this field.
1Global Unique ID Registers are Read Only
Once set, this bit cannot be cleared except by PCI
Reset. The GUID registers are located in memory in
the 1394 register space.
Offset 46 – PHY Control ................................................ RW
01394 Function Visible ..........................default
11394 Function Hidden
If this bit is set, the 1394 function will be
hidden. All subsequent reads or writes to this
configuration space will then cause a master
abort to be generated. This bit can only be
cleared by a PCI reset.
Offset FB-F8 – Manufacturer ID ................................... RO
Revision 0.2 March 10, 2000-13-Register Descriptions
Page 19
Technologies, Inc.
We ConnectWe Connect
1394 Host Controller Memory-Space Registers
These registers occupy a 2048-byte space in system memory
(offsets 0-7FFh). This address space begins at the address
contained in the 1394 Configuration Space “Base Address
Register” (Function 0 Configuration Space Offset 10h).
All registers must be accessed as 32-bit words on 32-bit
boundaries. Writes to reserved addresses have undefined
results and reads from reserved addresses return
indeterminate data. Unless specified otherwise, all register
fields default to 0 and are unchanged after a 1394 bus reset.
Some registers are designated as Set and Clear registers.
These registers are in pairs, where a read of either address
will return the current contents of the register. Data written
to the Set register address is assumed to be a bit mask where
one bits determine which bits should be set. Data written to
the Clear register address is assumed to be a bit mask where
one bits determine which bits should be cleared.
Memory Offset 0 – Version ............................................. RO
31-29 Second Limit......................................................RO
Count in Seconds (modulo 8). These bits and the
Cycle Limit bits below define a time limit for retry
attempts when the outbound dual-phase retry
protocol is in use.
Count in Cycles (modulo 8000). These bits and the
Second Limit bits above define a time limit for retry
attempts when the outbound dual-phase retry
protocol is in use.
11-8 Max Physical Response Retries .............default = 0
Specifies how many times to attempt to retry the
transmit operation for the physical response packet
when a “busy” or “ack_type_error” acknowledge is
received from the target node. This value is used
only for responses to physical requests.
7-4Max AT Response Retries .....................default = 0
Specifies to the Asynchronous Transmit Response
subsystem how many times to attempt to retry the
transmit operation for the response packet when a
“busy” or “ack_type_error” acknowledge is received
from the target node. This value is used only for
responses sent by software via the Asynchronous
Transmit Response DMA context.
3-0Max AT Request Retries ........................default = 0
Specifies to the Asynchronous Transmit DMA
Request subsystem how many times to attempt to
retry the transmit operation for a packet when a
“busy” or “ack_type_error” acknowledge is received
from the target node. This value is used only for
responses sent by software via the Asynchronous
Transmit Request DMA context.
Revision 0.2 March 10, 2000-14-Register Descriptions
Page 20
Technologies, Inc.
We ConnectWe Connect
Autonomous CSR Resources
The VT6305 implements the 1394 “Compare-and-Swap” bus
management registers, the Configuration ROM Header, and
the “Bus Info Block”. It also allows access to the first 1K
bytes of the configuration ROM.
Atomic compare-and-swap transactions, when accessed from
the 1394 bus, are autonomous without software intervention.
To access these bus management resource registers via the
PCI bus, the software first loads the CSR Data register with a
new data value to be loaded, then it loads the CSR Compare
register with the expected value. Finally, it writes the CSR
Control register with the selected value of the resource. This
initiates a compare-and-swap operation. When complete, the
CSR Control register “done” bit will be set and the CSR Data
register will contain the value of the selected resource prior to
the host-initiated compare-and-swap operation.
Bus Management CSR Registers
1394 requires certain 1394 bus management resource
registers to be accesssible only via 32-bit read and 32-bit lock
(compare-and-swap) transactions. These special bus
management resource registers are implemented on-chip:
CSRHardware or
CSR AddressSelectRegister NameBus Reset
FFFF F000 021C00Bus Manager ID0000 003F
FFFF F000 022001Bandwidth Available0000 1333
FFFF F000 022410 Channels Available Hi FFFF FFFF
FFFF F000 022818 Channels Available Lo FFFF FFFF
CSR Address FFFF F000 021C – Bus Manager ID....... RW
Length of the block protected by the CRC (a value of
4 indicates that the CRC only protects the
configuration ROM header).
15-0 ROM CRC Value
Default value loaded from GUID ROM if present
(default is undefined if GUID ROM is not present).
Must be set prior to setting the “HC Control” register
“Link Enable” bit.
CSR Address FFFF F000 0220 – Bandwidth Available RW
1394 Bus Management Field. This field must be
written with valid data prior to setting the “HC
Control” register “link enable” bit.
15-12 Received Block Write Request Packet Max
Length
1394 Bus Management Field. This field must be
written with valid data prior to setting the “HC
Control” register “link enable” bit. Received block
write request packets with a length greater than the
value contained in this field may generate an
“ack_type_error”.
2-0Max Link Speed .................................default = 010
Memory Offset 24 – Global Unique ID High ................. RW
This register maps to the 3rd 32-bit word of the bus info
block. Contents are cleared by hardware reset but are not
affected by software reset. Read/Write if Rx44[0] is cleared,
Read/Only if Rx44[0] is set.
1394 Bus Management Field. Must be set prior to
setting the “HC Control” register “link enable” bit.
7-0Chip ID High ..........................................default = 0
1394 Bus Management Field. Must be set prior to
setting the “HC Control” register “link enable” bit.
Memory Offset 28 – Global Unique ID Low .................. RW
This register maps to the 4th 32-bit word of the bus info
block. Contents are cleared by hardware reset but are not
affected by software reset. Read/Write if Rx44[0] is cleared,
Read/Only if Rx44[0] is set.
31-0 Chip ID Low ...........................................default = 0
1394 Bus Management Field. Must be set prior to
setting the “HC Control” register “link enable” bit.
Revision 0.2 March 10, 2000-16-Register Descriptions
Page 22
Technologies, Inc.
We ConnectWe Connect
Memory Offset 34 – Configuration ROM Map............. RW
This register contains the start address within the memory
space that maps to the start address of the 1394 configuration
ROM. Only 32-bit word reads to the first 1K bytes of the
configuration ROM will map to memory space.(all other
transactions to this space will be rejected with an
“ack_type_error”). The system address of the configuration
ROM must start on a 1K-byte boundary. The first five 32-bit
words of the configuration ROM space are mapped to the
configuration ROM header and Bus Info Block, so the first
five registers addressed by this register are not used. This
register must be set to a valid address prior to setting the “HC
Control” register “link enable” bit.
31-10 Configuration ROM Address.................default = 0
Read requests to 1394 offsets FFFF F000 0400
through FFFF F000 03FC have the low-order 10 bits
of the offset added to this register to determine the
host memory address of the returned data value.
If the “Posted Write Error” bit is set in the Interrupt
Events register, this and the “Posted Write Address
High” register contain the 48 bits of the 1394
destination offset of the write request that resulted in
the PCI error.
Memory Offset 3C – Posted Write Address High .......... RO
The Bus Number and Node Number of the node
which has issued the failed write request.
15-0 Offset High ...............................default = undefined
If the “Posted Write Error” bit is set in the Interrupt
Events register, this and the “Posted Write Address
Low” register contain the 48 bits of the 1394
destination offset of the write request that resulted in
the PCI error.
Memory Offset 40 – Vendor ID ...................................... RO
31-0 Vendor ID .................................always reads TBD
HC Control Registers
The following two registers are a “set / clear” register pair.
Writing to the “Set” register address sets selected bits in the
control register where the written bit value is 1. Writing to
the “Clear” register address clears selected bits in the control
register where the written bit value is 1. Reading from either
address returns the contents of the control register.
Memory Offset 50 (Set), 54 (Clear) – HC Control ........ RW
1Enable 2-deep posted write queue
Software should only change this bit when “Link
Enable” is 0.
17Link Enable
0Disable packets from being transmitted,
received, or processed........................... default
1Enable packets to be transmitted, received,
and processed
Both software and hardware resets clear this bit.
Software should not set this bit until the
Configuration ROM mapping register is valid.
16Soft Reset
When set, all on-chip 1394 states are reset, all FIFOs
are flushed, and all registers are set to their hardware
reset (default) values unless otherwise specified. PCI
configuration registers are not affected. Hardware
clears this bit automatically when the reset is
complete (it reads 1 while the reset is in progress).
PHY register data byte received (data byte not sent
when register 0 received)
25Cycle Too Long
More than 115 usec (but not more than 120 usec)
elapsed between the start of sending a cycle start
packet and the end of a subaction gap.
24Unrecoverable Error
Error encountered that has forced the chip to stop
operations of any or all subunits (e.g., when a DMA
context sets its “ContextControl.Dead” bit)
23Cycle Inconsistent
Cycle start received with a cycle count different from
the value in the “Cycle Timer” register
22Cycle Lost
Expected cycle start not received (cycle start not
received immediately after the first subaction gap
after the “Cycle Sync” event or arbitration reset gap
detected after a “Cycle Sync” event without an
intervening cycle start).
21Cycle 64 Seconds Interrupt
Bit 7 of the “Cycle Seconds Counter” has changed.
20Cycle Synch Interrupt
New isochronous cycle started (least significant bit
of the cycle count toggled).
19PHY Requested Interrupt
The PHY has requested an interrupt using a status
transfer.
Lock response sent to a serial bus register in
response to a lock request but no “ack_complete”
received.
8Posted Write Error
A host bus error occurred while the chip was trying
to write a 1394 write request (which had already
been given an “ack_complete”) into system memory.
7Isochronous ReceiveDMA Complete
One or more Isochronous receive contexts have
generated an interrupt (one or more bits have been
set in the “Isochronous Receive Interrupt Event”
register masked by the “Isochronous Receive
Interrupt Mask” register).
6Isochronous Transmit DMA Complete
One or more Isochronous transmit contexts have
generated an interrupt (one or more bits have been
set in the “Isochronous Transmit Interrupt Event”
register masked by the “Isochronous Transmit
Interrupt Mask” register).
5Response Packet Sent
A packet was sent to an asynchronous receive
response context buffer.
4Receive Packet Sent
A packet was sent to an asynchronous receive
request context buffer.
3Async Receive Response DMA Complete
Conditionally set upon completion of an ARDMA
Response context command descriptor.
2Async Receive Request DMA Complete
Conditionally set upon completion of an ARDMA
Request context command descriptor.
1Async Response Transmit DMA Complete
Conditionally set upon completion of an ATDMA
Response command.
0Async Request Transmit DMA Complete
Conditionally set upon completion of an ATDMA
Request command.
The bits in this register (except for the Master Interrupt
Enable bit in bit-31) correspond to the bits in the Interrupt
Event register above. Zeros in these bits prevent the
corresponding interrupt condition from generating an
interrupt. Bits are set in the mask register by writing one bits
to the “Set” address and cleared by writing one bits to the
“Clear” address. The current value of the mask bits may be
read from either address.
31Master Interrupt Enable
0Disable All Interrupt Events.................default
An interrupt is generated by an isochronous transmit
context if an “Output Last DMA” command
completes and its “i” bits are set to “interrupt
always”. Software clears the bits in this register by
writing one bits to the “Clear” address. Bits in this
register will only get set to one if the corresponding
bits in the mask register are set to one.
An interrupt is generated by an isochronous receive
context if an “Input Last DMA” command completes
and its “i” bits are set to “interrupt always”.
Software clears the bits in this register by writing
one bits to the “Clear” address. Bits in this register
will only get set to one if the corresponding bits in
the mask register are set to one.
Offset A8 (Set), AC (Clear) – Iso Rcv Interrupt Mask . RW
7-0Requests Per Fairness Interval ..............default = 0
The number of request packets allowed to be
transmitted per fairness interval
Memory Offset E0 (Set), E4 (Clear) – Link Control .... RW
This register contains the control flags that enable and
configure the link core protocol portions of the chip. It
contains controls for the receiver and cycle timer.
to maintain synchronization with the node
that is sending them.
1If the PHY has sent notification that it is root,
a cycle start packet will be generated every
time the cycle timer rolls over, based on the
setting of the “Cycle Source” bit.
This bit is cleared automatically if the “Cycle Too
Long” interrupt event occurs and cannot be set until
the “Cycle Too Long” interrupt event bit is cleared.
This register contains the CSR address for the node on which
this chip resides. The 16-bit combination of the Bus Number
and Node Number fields is referred to as the “Node ID”. The
Node Number field is updated when register 0 is sent from
the PHY. This can happen either because software requested
a read from the PHY through the PHY Control register or
because the PHY is sending the register (most likely due to a
bus reset).
31ID Valid
0No valid node number (cleared by bus reset)
1Valid node number received from PHY
30Root
This bit is set to 0 or 1 during bus reset
0Attached PHY is not root........................... def
15-6 Bus Number ............................................................
Used to identify the specific 1394 bus to which this
node belongs when multiple 1394-compatible buses
are connected via a bridge (set to 3FFh by bus reset)
The physical node number established by the PHY
during self-identification and automatically set to the
value received from the PHY after the selfidentification phase. If the PHY sets this field to 63
(all ones), all link-level transmits are disabled.
Revision 0.2 March 10, 2000-21-Register Descriptions
Page 27
Technologies, Inc.
We ConnectWe Connect
PHY Control Registers
Memory Offset EC – PHY Control ............................... RW
This register is used to read or write a PHY register. To read
or write, the address of the register is written into the Register
Address field. For reads the “Read Register” bit is set (when
the request has been sent to the PHY, the “Read Register” bit
is cleared automatically by the chip). When transmitting the
request, the first clock for LREQ for the register read/write
portion will be bit-11 of this register followed by bit-10, etc,
finishing with bit-8 for register reads and bit-0 for register
writes. When the PHY returns the register through a status
transfer, the “Read Done” bit is set. The address of the
register received is placed in the “Read Address” field and the
contents in the “Read Data” field. The first bits of data
received on the status transfer for the register are placed in
bits 27 (D[0]) and 26 (D[1]) of this register. For writes, the
value to write is written to the “Write Data” field and the
“Write Register” bit is set. The “Write Register” bit is
cleared automatically by the chip when the write request has
been sent to the PHY.
31Read Done
Indicates that a read request has been completed and
valid information is contained in the Read Data and
Read Address fields. Cleared when the “Read
Register” bit is set. It is set by the chip when a
register transfer is received from the PHY.
The address of the register most recently received
from the PHY.
23-16 Read Data
The contents of the register most recently received
from the PHY
15Read Register
Used to initiate a read request from a PHY register
(must not be set at the same time as the “Write
Register” bit). Cleared by the chip when the request
has been sent.
14Write Register
Used to initiate a write request to a PHY register
(must not be set at the same time as the “Read
Register” bit). Cleared by the chip when the request
has been sent.
This register shows the current cycle number and offset.
When the chip is cycle master, this register is transmitted
with the cycle start message. When it 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 continue incrementing on their own (when the
“Cycle Timer Enable” field is set in the “Link Control”
register) to maintain a local time reference.
If set to one for local bus node number N+32,
asynchronous requests received from that node
number will be accepted. The bit number
corresponds to the node number + 32. Bus reset sets
all bits of this field to 0.
If set to one for local bus node number N,
asynchronous requests received from that node
number will be accepted. The bit number
corresponds to the node number. Bus reset sets all
bits of this field to 0.
non-local bus nodes will be accepted only if
the bit which is set corresponds to the node
number (see the remaining bits of this register
and the “Physical Request Filter Low”
If set to one for local bus node number N+32,
asynchronous physical requests received from that
node number will be accepted. The bit number
corresponds to the node number + 32. Bus reset sets
all bits of this field to 0.
If set to one for local bus node number N,
asynchronous physical requests received from that
node number will be accepted. The bit number
corresponds to the node number. Bus reset sets all
bits of this field to 0
Revision 0.2 March 10, 2000-23-Register Descriptions
These registers are the Context Control registers for
Asynchronous Transmit Requests and Responses and
Asynchronous Receive Requests and Responses, respectively.
They contain bits for control of options, operational state, and
status for a DMA context. The bit layout for both registers is
given below:
This bit is set and cleared by software to enable
descriptor processing for a context. The chip will
clear this bit automatically on a hardware or software
reset. Before software sets this bit, the active bit
must be clear and the Command Pointer register for
the context must contain a valid descriptor block
address and a Z value that is appropriate for the
descriptor block address.
Software may stop the chip from further processing
of a context by clearing this bit. When cleared, the
chip will stop processing of the context in a manner
that will not impact the operation of any other
context or DMA controller. This may require a
significant amount of time. If software clears a run
bit for an isochronous context while the chip is
processing a packet for the context, it will continue
to receive or transmit the packet and update the
descriptor status. It will then stop at the conclusion
of that packet. If the run bit is cleared for a nonisochronous context, the chip will stop processing at
a convenient point and put the descriptors in a
consistent state (e.g., status updated if a packet was
sent and acknowledged).
Clearing the bit may have other side effects that are
DMA controller dependent. This is described in the
sections that cover each of the DMA controllers.
When software adds to a list of descriptors for a
context, the chip may have already read the
descriptor that was at the end of the list before it was
updated. This bit provides a semaphore to indicate
that the list may have changed.
If the chip had fetched a descriptor and the indicated
branch address had a Z value of zero, it will reread
the pointer value when the wake bit is set. If, on the
reread, the Z value is still zero, then the end of the
list has been reached and the chip will clear the
active bit. If, however, the Z value is now non-zero,
the chip will continue processing. If the wake bit is
set while the chip is active and has a Z value of nonzero, it takes no special action.
The chip will clear this bit before it reads or rereads
a descriptor. The wake bit should not be set while
the run bit is zero.
This bit is set by the chip to indicate a fatal error in
processing a descriptor. When set, the active bit is
cleared. This bit is cleared when software clears the
run bit or on a hardware or software reset.
Following an “Output Last” command, the received
“Ack Code” or “Event Error Code” is indicated in
this field. Possible values are: “Ack Complete”,
“Ack Pending”, Ack Busy X”, “Ack Data Error”,
“Ack Type Error”, “Event Tcode Error”, “Event
Missing Ack”, “Event Underrun”, “Event Descriptor
Read”, “Event Data Read”, “Event Timeout”, “Event
Flushed”, and “Event Unknown” (see “Table 3.
Packet Event Codes” on the following page for
descriptions and values for these codes).
Revision 0.2 March 10, 2000-24-Register Descriptions
Page 30
Technologies, Inc.
We ConnectWe Connect
Table 3. Packet Event Codes
CodeNameDMAMeaning
00/10
01/11
02/12
03/13
04/14
05/15
06/16
07/17
08/18
09/19
0A/1A
0B
0C-
0D/1B
-1D
0E/1E
0F/1F
11
12
13
14
15
16
17-1C
1D
1E
1F
Event Tcode Error
Event Short
Packet
Event Long Packet
Event Missing Ack
Event Underrun
Event Overrun
Event Descriptor
Read
Event Data Read
Event Data Write
Event Bus Reset
Event Timeout
Event Tcode Error
Reserved
Event Unknown
Event Flushed
Ack Complete
Ack Pending
Reserved
Ack Busy X
Ack Busy A
Ack Busy B
Reserved
Ack Data Error
Ack Type Error
Reserved
AT, AR,
A bad Tcode is associated with this packet. The packet was flushed.
IT, IR, IT
The received data length was less than the packet’s data length (IR packet-per-buffer
mode only).
IRThe received data length was greater than the packet’s data length (IR packet-per-
buffer mode only).
ATA subaction gap was detected before an ack arrived
AT, ITAn underrun occurred on the corresponding FIFO and the packet was truncated.
IRA receive FIFO overflowed during the reception of an isochronous packet.
AT, AR,
IT, IR
An unrecoverable error occurred while the Host Controller was reading a descriptor
block.
AT, ITAn error occurred while the Host Controller was attempting to read from host memory
in the data stage of descriptor processing.
AR, IR, IT An error occurred while the Host Controller was attempting to write to host memory
in the data stage of descriptor processing.
ARIdentifies a PHY packet in the receive buffer as being the synthesized bus reset packet
ATIndicates that the asynchronous transmit response packet expired and was not
transmitted
ATA bad Tcode is associated with this packet. The packet was flushed.
AT, AR,
IT, IR
An error condition has occurred that cannot be represented by any other defined event
codes
ATSent by the link side of the output FIFO when asynchronous packets are being flushed
due to a bus reset
AT, AR,
IT, IR
The destination node has successfully accepted the packet. If the packet was a request
subaction, the destination node has successfully completed the transaction and no
response subaction shall follow.
The ack / err code for transmitted PHY, isochronous and broadcast packets, none of
which yield an ack code, will be set by hardware to “Ack Complete” unless an “Event
Underrun” or “Event Data Read” occurs.
AT, AR The destination node has successfully accepted the packet. If the packet was a request
subaction, a response subaction will follow at a later time. This code is not returned
for a response subaction.
ATThe packet could not be accepted after max “ATretries” attempts and the last ack
received was “Ack Busy X.”
ATThe packet could not be accepted after max “ATretries” attempts and the last ack
received was “Ack Busy A." OHCI does not support the dual phase retry protocol for
transmitted packets, so this ack should not be received.
ATThe packet could not be accepted after max “ATretries” attempts and the last ack
received was “Ack Busy B" (see note for “Ack Busy A”).
AT, IRThe destination node could not accept the block packet because the data field failed
the CRC check or because the length of the data block payload did not match the
length contained in the “Data Length” field. This code is not returned for any packet
that does not have a data blocik payload.
AT, AR Returned when a received block write request or received block read request is greater
than “max_rec”
Revision 0.2 March 10, 2000-25-Register Descriptions
These registers are the Context Control registers for
Isocchronous Transmit Contexts 0-3. Each context consists
of two registers: a Command Pointer and a Context Control
register. The Command Pointer is used by software to tell the
controller where the context program begins. The Context
Control register controls the context’s behavior and indicates
current status. The bit layout for the Context Control
registers is given below:
In general, when set to one the context will begin
running only when the 13-bit “Cycle Match” field
matches the 13-bit “Cycle Count” in the Cycle Start
packet. The effects of this bit however are impacted
by the values of other bits in this register. Once the
context becomes active, this bit is cleared
automatically by the chip.
28-16 Cycle Match
Contains a 13-bit value corresponding to the 13-bit
“Cycle Count” field. If the “Cycle Match Enable”
bit is set, this ITDMA context will become enabled
for transmits when the bus cycle time “Cycle Count”
value equals the value in this field.
15Run
This bit is set and cleared by software to enable
descriptor processing for a context. The chip will
clear this bit automatically on a hardware or software
reset. Before software sets this bit, the active bit
must be clear and the Command Pointer register for
the context must contain a valid descriptor block
address and a Z value that is appropriate for the
descriptor block address.
Software may stop the chip from further processing
of a context by clearing this bit. When cleared, the
chip will stop processing of the context in a manner
that will not impact the operation of any other
context or DMA controller. This may require a
significant amount of time. If software clears a run
bit while the chip is processing a packet for the
context, it will continue to receive or transmit the
packet and update the descriptor status. It will then
stop at the conclusion of that packet.
Clearing the bit may have other side effects that are
DMA controller dependent. This is described in the
sections that cover each of the DMA controllers.
When software adds to a list of descriptors for a
context, the chip may have already read the
descriptor that was at the end of the list before it was
updated. This bit provides a semaphore to indicate
that the list may have changed.
If the chip had fetched a descriptor and the indicated
branch address had a Z value of zero, it will reread
the pointer value when the wake bit is set. If, on the
reread, the Z value is still zero, then the end of the
list has been reached and the chip will clear the
active bit. If, however, the Z value is now non-zero,
the chip will continue processing. If the wake bit is
set while the chip is active and has a Z value of nonzero, it takes no special action.
The chip will clear this bit before it reads or rereads
a descriptor. The wake bit should not be set while
the run bit is zero.
This bit is set by the chip to indicate a fatal error in
processing a descriptor. When set, the active bit is
cleared. This bit is cleared when software clears the
run bit or on a hardware or software reset.
Following an “Output Last” command, the received
“Ack Code” or “Event Error Code” is indicated in
this field. Possible values are: “Ack Complete”,
“Ack Pending”, Ack Busy X”, “Ack Data Error”,
“Ack Type Error”, “Event Tcode Error”, “Event
Missing Ack”, “Event Underrun”, “Event Descriptor
Read”, “Event Data Read”, “Event Timeout”, “Event
Flushed”, and “Event Unknown” (see “Table 3.
Packet Event Codes” on the previous page for
descriptions and values for these codes).
These registers are the Context Control registers for
Isocchronous Receive Contexts 0-3. Each context consists of
three registers: a Command Pointer, a Context Control
register, and a Context Match register. The Command
Pointer is used by software to tell the controller where the
context program begins. The Context Control register
controls the context’s behavior and indicates current status.
The Context Match Register is used to start transmitting from
a context program on a specified cycle number. The bit
layout for the Context Control registers is given below:
31Buffer Fill
0Each received packet is placed in a single
buffer
1Received packets are placed back-to-back to
completely fill each receive buffer
If the “Multi-Channel Mode” bit is set, this bit must
also be set. This bit must not be changed while the
“Active” bit is set.
30Isoch Header
0The packet header is stripped from received
isochronous packets
1Received packets will include the isochronous
packet header (the header will be stored first
in memory followed by the payload). The end
of the packet will be marked with a “Transfer
Status” (bits 15-0 of this register) in the first
word followed by a 16-bit time stamp
indicating the time of the most recently
received “Cycle Start” packet.
29Cycle Match Enable
0Context will begin running immediately
1Context will begin running only when the 13-
bit “Cycle Match” field in the “Context
Match” register matches the 13-bit “Cycle
Count” in the Cycle Start packet.
The effects of this bit are impacted by the values of
other bits in this register. Once the context becomes
active, this bit is cleared automatically by the chip.
28Multi-Channel Mode
0The context will receive packets for a single
channel.
1The context will receive packets for all
isochronous channels enabled in the “IR
Channel Mask High” and “IR Channel Mask
Low” registers (the channel number in the
“Context Match” register is ignored). If more
than one Context Control register has the
Multi-Channel Mode bit set, unspecified
behavior will result.
This bit is set and cleared by software to enable
descriptor processing for a context. The chip will
clear this bit automatically on a hardware or software
reset. Before software sets this bit, the active bit
must be clear and the Command Pointer register for
the context must contain a valid descriptor block
address and a Z value that is appropriate for the
descriptor block address.
Software may stop the chip from further processing
of a context by clearing this bit. When cleared, the
chip will stop processing of the context in a manner
that will not impact the operation of any other
context or DMA controller. This may require a
significant amount of time. If software clears the
run bit while the chip is processing a packet for the
context, it will continue to receive or transmit the
packet and update descriptor status. It will then stop
at the conclusion of that packet.
Clearing the bit may have other side effects that are
DMA controller dependent. This is described in the
sections that cover each of the DMA controllers.
When software adds to a list of descriptors for a
context, the chip may have already read the
descriptor that was at the end of the list before it was
updated. This bit provides a semaphore to indicate
that the list may have changed.
If the chip had fetched a descriptor and the indicated
branch address had a Z value of zero, it will reread
the pointer value when the wake bit is set. If, on the
reread, the Z value is still zero, then the end of the
list has been reached and the chip will clear the
active bit. If, however, the Z value is now non-zero,
the chip will continue processing. If the wake bit is
set while the chip is active and has a Z value of nonzero, it takes no special action.
The chip will clear this bit before it reads or rereads
a descriptor. The wake bit should not be set while
the run bit is zero.
This bit is set by the chip to indicate a fatal error in
processing a descriptor. When set, the active bit is
cleared. This bit is cleared when software clears the
run bit or on a hardware or software reset.
Following an “Input” command, this field contains
the error code.
For “Buffer Fill” mode, possible values are: “Ack
Complete”, “Ack Data Error”, “Event Overrun”,
“Event Descriptor Read”, “Event Data Write”, and
“Event Unknown” (see “Table 3. Packet Event
Codes” for descriptions and values for these codes).
For “Packet-Per-Buffer” mode, possible values are:
“Ack Complete”, “Ack Data Error”, “Event Short
Packet”, “Event Long Packet”, “Event Overrun”,
“Event Descriptor Read”, “Event Data Write”, and
“Event Unknown” (see “Table 3. Packet Event
Codes” for descriptions and values for these codes).
Note: Stress above the conditions listed may cause permanent damage to the
device. Functional operation of this device should be restricted to the
conditions described under operating conditions.
DC Characteristics
TA-0-70oC, VCC=3.3V+/-5%, GND=0V
SymbolParameterMinMaxUnitCondition
V
IL
V
IH
V
OL
V
OH
I
IL
I
OZ
Input low voltage-0.500.8V
Input high voltage2.0VCC+0.5V
Output low voltage-0.45VIOL=4.0mA
Output high voltage2.4-VIOH=-1.0mA
Input leakage current-+/-10uA0<VIN<V
Tristate leakage current-+/-20uA0.45<V
+ 0.5Volts
CC
CC
OUT<VCC
I
CC
Power supply current-TBDmA
Revision 0.2 March 10, 2000-29-Electrical Specifications