ETC OX9162

FEATURE
•
•
•
8 bit pass-through local bus
IEEE1284 SPP/EPP/ECP parallel port
Single function target PCI controller, fully PCI 2.2 and
PCI Power Management 1.0 compliant
OX9162
Integrated Parallel Port/Local
Bus and PCI interface
•
•
•
•
2 multi-purpose IO pins which can be configured as
interrupt input pins
Can be reconfigured using optional non-volatile
configuration memory (EEPROM)
5.0V operation
128 TQFP package
DESCRIPTION
The OX9162 is a single chip solution for PCI-based parallel
expansion add-in cards, or local bus bridges. It is a single
function PCI device, where function 0 offers either an 8 bit
Local Bus or a bi-directional parallel port.
For legacy applications the PCI resources are arranged so
that the parallel port can be located at standard I/O
addresses.
The efficient 32-bit, 33MHz target-only PCI interface is
compliant with version 2.2 of the PCI Bus Specification and
version 1.0 of PCI Power Management Specification. For
Oxford Semiconductor Ltd.
69 Milton Park, Abingdon, Oxon, OX14 4RX, UK
Tel: +44 (0)1235 824900
Fax: +44(0)1235 821141
full flexibility, all the default register values can be
overwritten using an optional MicrowireTM serial EEPROM.
Bridging applications can be realised using the 8-bit passthrough Local Bus function. The addressable space can be
increased up to 256 bytes for each chip-select region.
The OX9162 alternatively provides an IEEE1284 EPP/ECP
parallel port which fully supports the existing Centronics
interface. The parallel port can be enabled in place of the
Local Bus.
 Oxford Semiconductor 1999
OX9162 1.0 PRELIMINARY – October 1999
Part No. OX9162-TQC-A
OX9162
OXFORD SEMICONDUCTOR LTD.
CONTENTS
1
PIN INFORMATION...................................3
2
PIN DESCRIPTIONS .................................4
3
CONFIGURATION & OPERATION............8
4
PCI TARGET CONTROLLER....................9
4.1
OPERATION............................................................9
4.2
CONFIGURATION SPACE ....................................9
4.2.1
PCI CONFIGURATION SPACE REGISTER
MAP
10
4.3
ACCESSING LOGICAL FUNCTIONS.................11
4.3.1
PCI ACCESS TO 8-BIT LOCAL BUS ..............11
4.3.2
PCI ACCESS TO PARALLEL PORT ...............11
4.4
ACCESSING LOCAL CONFIGURATION
REGISTERS ........................................................................12
4.4.1
LOCAL CONFIGURATION AND CONTROL
REGISTER ‘LCC’ (OFFSET 0X00) ....................................12
4.4.2
MULTI-PURPOSE I/O CONFIGURATION
REGISTER ‘MIC’ (OFFSET 0X04).....................................13
4.4.3
LOCAL BUS TIMING PARAMETER REGISTER
1 ‘LT1’ (OFFSET 0X08): .....................................................13
4.4.4
LOCAL BUS TIMING PARAMETER/BAR
SIZING REGISTER 2 ‘LT2’ (OFFSET 0X0C):...................15
4.4.5
GLOBAL INTERRUPT STATUS AND
CONTROL REGISTER ‘GIS’ (OFFSET 0X10).................16
4.5
PCI INTERRUPTS.................................................17
4.6
POWER MANAGEMENT......................................18
4.6.1
POWER MANAGEMENT USING MIO ............18
5
5.1
5.2
5.3
6
6.1
6.1.1
6.1.2
6.1.3
6.1.4
6.2
LOCAL BUS ........................................... 19
OVERVIEW............................................................19
OPERATION..........................................................19
CONFIGURATION & PROGRAMMING ..............20
6.3
REGISTER DESCRIPTION.................................. 22
6.3.1
PARALLEL PORT DATA REGISTER ‘PDR’... 22
6.3.2
ECP FIFO ADDRESS / RLE ............................ 22
6.3.3
DEVICE STATUS REGISTER ‘DSR’ .............. 22
6.3.4
DEVICE CONTROL REGISTER ‘DCR’........... 23
6.3.5
EPP ADDRESS REGISTER ‘EPPA’ ............... 23
6.3.6
EPP DATA REGISTERS ‘EPPD1-4’ ............... 23
6.3.7
ECP DATA FIFO............................................... 23
6.3.8
TEST FIFO........................................................ 23
6.3.9
CONFIGURATION A REGISTER.................... 23
6.3.10
CONFIGURATION B REGISTER.................... 24
6.3.11
EXTENDED CONTROL REGISTER ‘ECR’ .... 24
7
SERIAL EEPROM ................................... 25
8
OPERATING CONDITIONS..................... 30
9
DC ELECTRICAL CHARACTERISTICS .. 30
10
AC ELECTRICAL CHARACTERISTICS
32
7.1
SPECIFICATION................................................... 25
7.2
EEPROM DATA ORGANISATION...................... 25
7.2.1
ZONE0: HEADER............................................. 25
7.2.2
ZONE1: LOCAL CONFIGURATION
REGISTERS........................................................................ 27
7.2.3
ZONE2: IDENTIFICATION REGISTERS........ 28
7.2.4
ZONE3: PCI CONFIGURATION REGISTERS28
7.2.5
ZONE4: FUNCTION ACCESS......................... 28
9.1
9.2
10.1
10.2
11
NON-PCI I/O BUFFERS ....................................... 30
PCI I/O BUFFERS................................................. 31
PCI BUS ................................................................ 32
LOCAL BUS.......................................................... 32
TIMING WAVEFORMS ........................ 34
12
ERRATA 1 – IMMEDIATE POWER
DOWN FILTERING......................................... 39
BI-DIRECTIONAL PARALLEL PORT...... 21
OPERATION AND MODE SELECTION..............21
SPP MODE........................................................21
PS2 MODE ........................................................21
EPP MODE........................................................21
ECP MODE........................................................21
PARALLEL PORT INTERRUPT ..........................21
Data Sheet Revision 1.1 PRELIMINARY
Page 2
OX9162
OXFORD SEMICONDUCTOR LTD.
1
PIN INFORMATION
96
NC
EE_SK
LBCS1
92
88
76
72
68
MIO0
LBD7-PD7
LBD6-PD6
LBD5-PD5
VDD ac
GND ac
LBD4-PD4
LBD3-PD3
LBD2-PD2
GND ac
LBD1-PD1
LBA7-PE
80
LBD0-PD0
LBA5-SLCT
LBA6-BUSY
VDD dc
84
GND dc
LBA4-ERR#
NC
DATA_EN
GND ac
LBRD - ACK#
LBA2-INIT#
LBA3-SLIN#
LBA0-STB
LBA1-AFD#
NC
LBCS0
TEST
EE_CS
EE_DI
EE_DO
128 pin TQFP
65
97
64
NC
NC
LBWR
LBRST
LBRST#
100
60
104
56
108
52
112
48
116
44
120
40
124
36
128
33
NC
VDD ac
AD13
32
GND ac
AD14
AD15
Z_CBE1
28
PAR
Z_SERR
Z_PERR
Z_STOP
24
GND ac
Z_DEVSEL
Z_IRDY
Z_TRDY
20
VDD dc
GND dc
Z_FRAME
AD16
16
Z_CBE2
AD17
AD18
AD19
12
VDD ac
AD20
Data Sheet Revision 1.1 PRELIMINARY
GND ac
AD21
8
AD22
AD23
NC
4
IDSEL
1
GND ac
LBCLK
NC
NC
MIO1
NC
NC
MODE
NC
Z_INTA
Z_RESET
GND dc
PCI_CLK
VDD dc
Z_PME
AD31
NC
AD30
AD29
GND ac
AD28
AD27
AD26
GND ac
VDD ac
AD25
AD24
Z_CBE3
NC
Page 3
NC
AD0
AD1
GND ac
AD2
AD3
VDD dc
GND dc
NC
NC
AD4
AD5
GND ac
VDD ac
AD6
AD7
NC
NC
Z_CBE0
AD8
GND ac
AD9
AD10
NC
NC
AD11
AD12
NC
OX9162
OXFORD SEMICONDUCTOR LTD.
2
PIN DESCRIPTIONS
Mode
Parallel
Local Bus
PCI interface
115,117,118,120,121,122,125,126,
3,5,6,7,10,11,12,13,27,28,29,34,35
,38,39,41,45,46,49,50,55,56,58,59
127, 14, 26 ,42
112
15
20
18
19
22
25
24
23
2
110
109
114
Dir1
Name
Description
P_I/O
AD[31:0]
Multiplexed PCI Address/Data bus
P_I
P_I
P_I
P_O
P_I
P_O
P_O
P_I/O
P_O
P_I/O
P_I
P_I
P_OD
P_OD
C/BE[3:0]#
CLK
FRAME#
DEVSEL#
IRDY#
TRDY#
STOP#
PAR
SERR#
PERR#
IDSEL
RST#
INTA#
PME#
PCI Command/Byte enable
PCI system clock
Cycle Frame
Device Select
Initiator ready
Target ready
Target Stop request
Parity
System error
Parity error
Initialisation device select
PCI system reset
PCI interrupt
Power management event
Data Sheet Revision 1.1 PRELIMINARY
Page 4
OX9162
OXFORD SEMICONDUCTOR LTD.
Mode
Parallel
Local Bus
N/A
Dir1
Name
Description
Local Bus
62
61
83
O
O
O
LBRST
LBRST#
LBDOUT
101
99, 91
O
O
LBCLK
LBCS[1:0]#
Local bus active-high reset
Local bus active-low reset
Local bus data out enable. This pin can be used by external
transceivers; it is high when LBD[7:0] are in output mode and
low when they are in input mode.
Buffered PCI clock. Can be enabled / disabled by software
Local bus active-low Chip-Select (Intel mode)
63
O
O
LBDS[1:0]#
LBWR#
Local bus active-low Data-Strobe (Motorola mode)
Local Bus active-low write-strobe (Intel mode)
85
O
O
LBRDWR#
LBRD#
Local Bus Read-not-Write control (Motorola mode)
Local Bus active-low read-strobe (Intel mode)
O
O
Hi
LBA[7:0]
Permanent high (Motorola mode)
Local bus address signals
I/O
LBD[7:0]
Local bus data signals
77,78,79,82,
87,88,89,90
66,67,68,71,
72,73,74,76
Data Sheet Revision 1.1 PRELIMINARY
Page 5
OX9162
OXFORD SEMICONDUCTOR LTD.
Mode
Dir1
Name
Description
I
ACK#
Acknowledge (SPP mode). ACK# is asserted (low) by the
peripheral to indicate that a successful data transfer has
taken place.
I
I
I
INTR#
PE
BUSY
Identical function to ACK# (EPP mode).
Paper Empty. Activated by printer when it runs out of paper.
Busy (SPP mode). BUSY is asserted (high) by the peripheral
when it is not ready to accept data
I
WAIT#
OD
SLIN#
Wait (EPP mode). Handshake signal for interlocked IEEE
1284 compliant EPP cycles.
Select (SPP mode). Asserted by host to select the peripheral
O
ADDRSTB#
79
82
88
I
I
OD
SLCT
ERR#
INIT#
Address strobe (EPP mode) provides address read and write
strobe
Peripheral selected. Asserted by peripheral when selected.
Error. Held low by the peripheral during an error condition.
Initialise (SPP mode). Commands the peripheral to initialise.
89
O
OD
INIT#
AFD#
Initialise (EPP mode). Identical function to SPP mode.
Auto Feed (SPP mode, open-drain)
90
O
OD
DATASTB#
STB#
Data strobe (EPP mode) provides data read and write strobe
Strobe (SPP mode). Used by peripheral to latch data
currently available on PD[7:0]
O
WRITE#
I/O
PD[7:0]
Write (EPP mode). Indicates a write cycle when low and a
read cycle when high
Parallel data bus
Parallel
Parallel port
85
Local Bus
N/A
77
78
87
66,67,68,71,
72,73,74,76
Data Sheet Revision 1.1 PRELIMINARY
Page 6
OX9162
OXFORD SEMICONDUCTOR LTD.
Mode
Dir1
Parallel
Local Bus
Multi-purpose & External interrupt pins
104, 65
I/O
Name
Description
MIO[1:0]
Multi-purpose I/O pins. Can drive high or low, or assert a PCI
interrupt
O
O
IU
EE_CK
EE_CS
EE_DI
O
EE_DO
EEPROM clock
EEPROM active-high Chip Select
EEPROM data in. When the serial EEPROM is connected,
this pin should be pulled up using 1-10k resistor. When the
EEPROM is not used the internal pull-up is sufficient.
EEPROM data out.
ID
I
MODE
TEST
Mode selection: Parallel Port (0) or Local Bus (1)
Test Pin : should be held low at all times
V
V
AC VDD
DC VDD
G
AC GND
Supplies power to output buffers in switching (AC) state
Power supply. Supplies power to core logic, input buffers
and output buffers in steady state
Supplies GND to output buffers in switching (AC) state
G
DC GND
EEPROM pins
98
94
96
95
Miscellaneous pins
107
93
Power and ground2
9, 31, 47, 70, 124
17, 54, 81, 113
4, 8, 21, 30, 40, 48, 57,
69, 75, 86, 119, 123
16, 53, 80, 111
Ground (0 volts). Supplies GND to core logic, input buffers
and output buffers in steady state
Table 1: Pin Descriptions
Note 1: Direction key:
I
ID
O
I/O
OD
NC
Z
Input
Input with internal pull-down
Output
Bi-directional
Open drain
No connect
High impedance
P_I
P_O
P_I/O
P_OD
PCI input
PCI output
PCI bi-directional
PCI open drain
G
V
Ground
5.0V power
Note 2: Power & Ground
There are two GND and two VDD rails internally. One set of rails supply power and ground to output buffers while in switching
state (called AC power) and another rail supply the core logic, input buffers and output buffers in steady-state (called DC rail).
The rails are not connected internally. This precaution reduces the effects of simultaneous switching outputs and undesirable RF
radiation from the chip. Further precaution is taken by segmenting the GND and VDD AC rails to isolate the PCI and Local Bus
pins.
Data Sheet Revision 1.1 PRELIMINARY
Page 7
OXFORD SEMICONDUCTOR LTD.
3
OX9162
CONFIGURATION & OPERATION
The OX9162 is a single function, target-only PCI device,
compliant with the PCI Local Bus Specification, Revision
2.2 and PCI Power Management Specification, Revision
1.0.
The function selected is configured by the Mode pin. It
should be tied low for parallel port operation, or tied high
for local bus operation.
The OX9162 is configured by system start-up software
during the bootstrap process that follows bus reset. The
system scans the bus and reads the vendor and device
identification codes from any devices it finds. It then loads
device-driver software according to this information and
configures the I/O, memory and interrupt resources. Device
drivers can then access the functions at the assigned
Data Sheet Revision 1.1 PRELIMINARY
addresses in the usual fashion, with the improved data
throughput provided by PCI.
There are a set of Local configuration registers that can be
used to enable signals and interrupts, and configure local
bus timings. These can be set up by drivers or from the
EEPROM.
All registers default after reset to suitable values for typical
applications. However, all identification, control and timing
registers can be redefined using an optional serial
EEPROM. As an additional enhancement, the EEPROM
can be used to program the parallel port or local bus,
allowing pre-configuration, without requiring driver
changes.
Page 8
OX9162
OXFORD SEMICONDUCTOR LTD.
4
4.1
PCI TARGET CONTROLLER
Operation
The OX9162 responds to the following PCI transactions:•
•
•
•
Configuration access: The OX9162 responds to type 0
configuration reads and writes if the IDSEL signal is
asserted and the bus address is selecting the
configuration registers for function 0. The device will
respond to the configuration transaction by asserting
DEVSEL#. Data transfer then follows. Any other
configuration transaction will be ignored by the
OX9162.
IO reads/writes: The address is compared with the
addresses reserved in the I/O Base Address Registers
(BARs). If the address falls within one of the assigned
ranges, the device will respond to the IO transaction
by asserting DEVSEL#. Data transfer follows this
address phase. For all modes, only byte accesses are
possible to the function BARs (excluding the local
configuration registers for which WORD, DWORD
access is supported). For IO accesses to these
regions, the controller compares AD[1:0] with the byteenable signals as defined in the PCI specification. The
access is always completed; however if the correct BE
signal is not present the transaction will have no
effect.
Memory reads/writes: These are treated in the same
way as I/O transactions, except that the memory
ranges are used. Memory access to single-byte
regions is always expanded to DWORDs in the
OX9162. In other words, OX9162 reserves a DWORD
per byte in single-byte regions. The device allows the
user to define the active byte lane using LCC[4:3] so
that in Big-Endian systems the hardware can swap the
byte lane automatically. For Memory mapped access
in single-byte regions, the OX9162 compares the
asserted byte-enable with the selected byte-lane in
LCC[4:3] and completes the operation if a match
occurs, otherwise the access will complete normally
on the PCI bus, but it will have no effect on either the
parallel port or the local bus controller.
All other cycles (64-bit, special cycles, reserved
encoding etc.) are ignored.
Data Sheet Revision 1.1 PRELIMINARY
The OX9162 will complete all transactions as disconnectwith-data, i.e. the device will assert the STOP# signal
alongside TRDY#, to ensure that the Bus Master does not
continue with a burst access. The exception to this is Retry,
which will be signalled in response to any access while the
OX9162 is reading from the serial EEPROM.
The OX9162 performs medium-speed address decoding as
defined by the PCI specification. It asserts the DEVSEL#
bus signal two clocks after FRAME# is first sampled low on
all bus transaction frames which address the chip. Fast
back-to-back transactions are supported by the OX9162 as
a target, so a bus master can perform faster sequences of
write transactions to the parallel port or local bus when an
inter-frame turn-around cycle is not required.
The device supports any combination of byte-enables to
the PCI Configuration Registers and the Local
Configuration registers (see Base Address 2 and 3). If a
byte-enable is not asserted, that byte is unaffected by a
write operation and undefined data is returned upon a read.
The OX9162 performs parity generation and checking on
all PCI bus transactions as defined by the standard. If a
parity error occurs during the PCI bus address phase, the
device will report the error in the standard way by asserting
the SERR# bus signal. However if that address/command
combination is decoded as a valid access, it will still
complete the transaction as though the parity check was
correct.
The OX9162 does not support any kind of caching or data
buffering, other than that in the parallel port. In general,
registers on the local bus can not be pre-fetched because
there may be side-effects on read.
4.2
Configuration space
The OX9162 is a single function device, with one
configuration space. All required fields in the standard
header are implemented, plus the Power Management
Extended Capability register set. The format of the
configuration space is shown in Table 2 overleaf.
In general, writes to any registers that are not implemented
are ignored, and all reads from unimplemented registers
return 0.
Page 9
OX9162
OXFORD SEMICONDUCTOR LTD.
4.2.1
PCI Configuration Space Register map
Configuration Register Description
31
16
15
Device ID
Status
0
Vendor ID
Command
Class Code
Revision ID
Header Type
Reserved
Reserved
Base Address Register 0 (BAR0) - Function in I/O space
Base Address Register 1 (BAR 1) - Function in I/O space
Base Address Register 2 (BAR 2) – Local Configuration Registers in IO space
Base Address Register 3 (BAR3) – Local Configuration Registers in Memory space
Base Address Register 4 (BAR4) – Function in Memory Space
Reserved
Reserved
Subsystem ID
Subsystem Vendor ID
Reserved
Reserved
Cap_Ptr
Reserved
Reserved
Reserved
Interrupt Pin
Interrupt Line
Power Management Capabilities (PMC)
Next Ptr
Cap_ID
Reserved
Reserved
PMC Control/Status Register (PMCSR)
BIST1
Offset
Address
00h
04h
08h
0Ch
10h
14h
18h
1Ch
20h
24h
28h
2Ch
30h
34h
38h
3Ch
40h
44h
Table 2: PCI Configuration space
Register name
Reset value
Local Bus
Vendor ID
Device ID
Command
Status
Revision ID
Class code
Header type
BAR 0
BAR 1
BAR 2
BAR 3
BAR 4
Subsystem VID
Subsystem ID
Cap ptr.
Interrupt line
Interrupt pin
Cap ID
Next ptr.
PM capabilities
PMC control/
status register
Program read/write
Parallel Port
0x1415
0x8401
0x8403
0x0000
0x0290
0x00
0x068000
0x070103
0x00
0x00000001
0x00000001
0x00000001
0x00000000
0x00000000
Reserved
0x1415
0x0001
0x40
0x00
0x01
0x01
0x00
0x6C01
0x0000
W
W
W(bit 4)
W
W
W
W
W
-
R
R
R/W
R/W
R
R
R
R/W
R/W
R/W
R/W
R/W
R
R
R
R/W
R
R
R
R
R/W
Table 3: PCI configuration space default values
Data Sheet Revision 1.1 PRELIMINARY
Page 10
OX9162
OXFORD SEMICONDUCTOR LTD.
4.3
Accessing logical functions
Access to the local bus and parallel port is achieved via standard I/O and memory mapping, at addresses defined by the Base
Address Registers (BARs) in configuration space. The BARs are configured by the system to allocate blocks of I/O and memory
space to the logical function, according to the size required by the function. The addresses allocated can then be used to access
the function. The mapping of these BARs is shown in Table 4.
BAR
Function 0
Local Bus
Parallel Port
CS0 (I/O mapped)
Parallel port base registers (I/O mapped)
CS1 (I/O mapped)
Parallel port extended registers (I/O mapped)
Local configuration registers (I/O mapped
Local configuration registers (memory mapped)
All CS (memory mapped
Unused
Unused
0
1
2
3
4
5
Table 4: Base Address Register definition
4.3.1
PCI access to 8-bit local bus
When the local bus is enabled (Mode 1), the function
reserves two blocks of I/O space (BAR0 for chip select 0,
BAR1 for chip select 1) and a block of memory space
(BAR4 for chip selects 0 and 1). Each I/O block size is user
definable in the range of 4 to 256 bytes; the memory range
is fixed at 4K bytes.
I/O space
In order to minimise the usage of IO space, the block sizes
for BAR0 and BAR1 are user definable in the range of 4 to
256 bytes.
The 8-bit Local Bus has eight address lines (LBA[7:0])
which correspond to the maximum IO address space. If the
maximum allowable block size is allocated to the IO space
(i.e. 256 bytes), then as access in IO space is byte aligned,
LBA[7:0] equal PCI AD[7:0] respectively. When the user
selects an address range which is less than 256 bytes, the
corresponding upper address lines will be set to logic zero.
Memory Space:
The memory base address registers have an allocated
fixed size of 4K bytes in the address space. Since the
Local Bus has 8 address lines and the OX9162 only
implements DWORD aligned accesses in memory space,
the 256 bytes of addressable space per chip select is
expanded to 1K. Unlike an I/O access (where access to
BAR0, BAR1 determines chip-select decoding) for a
memory access the internal chip-select decoding logic
uses the field PCI AD[10] to decode into 2 chip-select
regions. When the Local Bus is accessed in memory
space, A[9:2] are asserted on LBA[7:0]. The chip-select
regions are defined below.
Data Sheet Revision 1.1 PRELIMINARY
Local Bus
Chip-Select
LBCS0# (LBDS0#)
LBCS1# (LBDS1#)
PCI Offset from BAR 1 in
Function1 (Memory space)
Lower Address Upper Limit
000h
3FCh
400h
7FCh
Table 5: PCI address map for local bus (memory)
Note: The description given for I/O and memory accesses
is for an Intel-type configuration for the Local Bus. For
Motorola-type configuration, the chip select pins are
redefined to data strobe pins. In this mode the Local Bus
offers up to 8 address lines and two data-strobe pins.
4.3.2
PCI access to parallel port
When the parallel port is enabled (Mode 0), access to the
port works via BAR definitions as usual with two I/O BARs
corresponding to the two sets of registers defined to
operate an IEEE1284 ECP/EPP and bi-directional Parallel
Port.
The user can change the I/O space block size of BAR0 or
BAR1 as for the local bus mode by over-writing the default
values using the serial EEPROM (see section 4.4).
Legacy parallel ports expect the upper register set to be
mapped 0x400 above the base block, therefore if the BARs
are fixed with this relationship, generic parallel port drivers
can be used to operate the device in all modes.
Example: BAR0 = 0x00000379 (8 bytes at address 0x378)
BAR1 = 0x00000779 (8 bytes at address 0x778)
If this relationship is not used, custom drivers will be
needed.
Page 11
OX9162
OXFORD SEMICONDUCTOR LTD.
4.4
Accessing Local configuration registers
The local configuration registers are a set of device specific registers which can always be accessed. They are mapped to the
I/O and memory addresses set up in BAR2 and BAR3, with the offsets defined for each register. I/O or memory accesses can be
byte, word or dword accessed, however on little-endian systems such as Intel 80x86 the byte order will be reversed.
4.4.1
Local Configuration and Control register ‘LCC’ (Offset 0x00)
This register defines control of ancillary functions such as Power Management, endian selection and the serial EEPROM. The
individual bits are described below.
Bits
Description
Read/Write
EEPROM
0
2:1
4:3
7:5
10:8
22:11
23
24
25
26
27
28
29
30
31
Mode. This bit returns the state of the Mode pin.
Reserved
Endian Byte-Lane Select for memory access to 8-bit peripherals.
00 = Select Data[7:0]
10 = Select Data[23:16]
01 = Select Data[15:8]
11 = Select Data[31:24]
Memory access to OX9162 is always DWORD aligned. When accessing
8-bit regions this option selects the active byte lane. As both PCI and PC
architectures are little endian, the default value will be used by systems,
however, some non-PC architectures may need to select the byte lane.
Power-down filter time. These bits define a value of an internal filter time
for power-down interrupt request in power management circuitry in
Function0. Once Function0 is ready to go into power down mode,
OX9162 will wait for the specified filter time and if Function0 is still in
power-down request mode, it can assert a PCI interrupt (see section
4.6).
000 = power-down request disabled
010 = 129 seconds
001 = 4 seconds
011 = 518 seconds
1XX = Immediate
Reserved: Power management test bits. The device driver must write
zero to these bits
Reserved.
Parallel port Input (glitch) filters. Enabled when ‘1’
EEPROM Clock. For PCI read or write to the EEPROM , toggle this bit to
generate an EEPROM clock (EE_CK pin).
EEPROM Chip Select. When 1 the EEPROM chip-select pin EE_CS is
activated (high). When 0 EE_CS is de-active (low).
EEPROM Data Out. For writes to the EEPROM, this output bit is the
input-data of the EEPROM. This bit is output on EE_DO and clocked into
the EEPROM by EE_CK.
EEPROM Data In. For reads from the EEPROM, this input bit is the
output-data of the EEPROM connected to EE_DI pin.
EEPROM Valid. A 1 indicates that a valid EEPROM program is present
Reload configuration from EEPROM. Writing a 1 to this bit re-loads the
configuration from EEPROM. This bit is self-clearing after EEPROM read
Reserved
Reserved
Data Sheet Revision 1.1 PRELIMINARY
Reset
-
PCI
R
W
RW
X
00
00
W
RW
000
-
R
000
W
-
R
RW
RW
0000h
0
0
-
RW
0
-
RW
0
-
R
X
-
R
RW
X
0
-
R
R
0
0
Page 12
OX9162
OXFORD SEMICONDUCTOR LTD.
4.4.2
Multi-purpose I/O Configuration register ‘MIC’ (Offset 0x04)
This register configures the operation of the multi-purpose I/O pins ‘MIO[1:0] as follows.
Bits
Description
Read/Write
EEPROM
Reset
1:0
MIO0 Configuration Register
00 -> MIO0 is a non-inverting input pin
01 -> MIO0 is an inverting input pin
10 -> MIO0 is an output pin driving ‘0’
11 -> MIO0 is an output pin driving ‘1’
W
PCI
RW
3:2
MIO1 Configuration Register
00 -> MIO1 is a non-inverting input pin
01 -> MIO1 is an inverting input pin
10 -> MIO1 is an output pin driving ‘0’
11 -> MIO1 is an output pin driving ‘1’
W
RW
00
4
MIO0_PME Enable. A value of ‘1’ enables MIO0 pin to set the
PME_Status in PMCSR register, and hence assert the PME# pin if
enabled. A value of ‘0’ disables MIO0 from setting the PME_Status bit.
MIO1_PME Enable. A value of ‘1’ enables MIO1 pin to set the
PME_Status in PMCSR register, and hence assert the PME# pin if
enabled. A value of ‘0’ disables MIO1 from setting the PME_Status bit.
MIO0 Power Down Request: A ‘1’ enables MIO0 to control the power
down request filter.
MIO1 Power Down Request: A ‘1’ enables MIO1 to control the power
down request filter.
Reserved
W
RW
0
W
RW
0
W
RW
0
W
RW
0
-
R
00
5
6
7
31:8
4.4.3
00
Local Bus Timing Parameter register 1 ‘LT1’ (Offset 0x08):
The Local Bus Timing Parameter registers (LT1 and LT2) define the operation and timing parameters used by the Local Bus.
The timing parameters are programmed in 4-bit registers to define the assertion/de-assertion of the Local Bus control signals.
The value programmed in these registers defines the number of PCI clock cycles after a Reference Cycle when the events
occur, where the reference Cycle is defined as two clock cycles after the master asserts the IRDY# signal. The following
arrangement provides a flexible approach for users to define the desired bus timing of their peripheral devices. The timings refer
to I/O or Memory mapped accesses.
Bits
Description
Read/Write
EEPROM
3:0
7:4
11:8
Read Chip-select Assertion (Intel-type interface). Defines the number of
clock cycles after the Reference Cycle when the LBCS[1:0]# pins are
asserted (low) during a read operation from the Local Bus.1
These bits are unused in Motorola-type interface.
Read Chip-select De-assertion (Intel-type interface). Defines the number
of clock cycles after the Reference Cycle when the LBCS[1:0]# pins are
de-asserted (high) during a read from the Local Bus. 1
These bits are unused in Motorola-type interface.
Write Chip-select Assertion (Intel-type interface). Defines the number of
clock cycles after the Reference Cycle when the LBCS[1:0]# pins are
asserted (low) during a write operation to the Local Bus. 1
Data Sheet Revision 1.1 PRELIMINARY
Reset
W
PCI
RW
W
RW
3h
(2h for
parallel port)
W
RW
0h
0h
Page 13
OX9162
OXFORD SEMICONDUCTOR LTD.
Bits
15:12
19:16
23:20
27:24
31:28
Description
These bits are unused in Motorola-type interface.
Write Chip-select De-assertion (Intel-type interface). Defines the number
of clock cycles after the reference cycle when the LBCS[1:0]# pins are
de-asserted (high) during a write operation to the Local Bus. 1
Read-not-Write De-assertion during write cycles (Motorola-type
interface). Defines the number of clock cycles after the reference cycle
when the LBRDWR# pin is de-asserted (high) during a write to the Local
Bus. 1
Read Control Assertion (Intel-type interface). Defines the number of
clock cycles after the Reference Cycle when the LBRD# pin is asserted
(low) during a read from the Local Bus. 1
Read Data-strobe Assertion (Motorola-type interface). Defines the
number of clock cycles after the Reference Cycle when the LBDS[1:0]#
pins are asserted (low) during a read from the Local Bus. 1
Read Control De-assertion (Intel-type interface). Defines the number of
clock cycles after the Reference Cycle when the LBRD# pin is deasserted (high) during a read from the Local Bus. 1
Read Data-strobe De-assertion (Motorola-type interface). Defines the
number of clock cycles after the Reference Cycle when the LBDS[1:0]#
pins are de-asserted (high) during a read from the Local Bus. 1
Write Control Assertion (Intel-type interface). Defines the number of
clock cycles after the Reference Cycle when the LBWR# pin is asserted
(low) during a write to the Local Bus. 1
Write Data-strobe Assertion (Motorola-type interface). Defines the
number of clock cycles after the Reference Cycle when the LBDS[1:0]#
pins are asserted (low) during a write to the Local Bus. 1
Write Control De-assertion (Intel-type interface). Defines the number of
clock cycles after the Reference Cycle when the LBWR# pin is deasserted (high) during a write to the Local Bus. 1
Read/Write
Reset
EEPROM
PCI
W
RW
2h
W
RW
0h
(1h for
parallel port)
W
RW
3h
(2h for
parallel port)
W
RW
0h
(1h for
parallel port)
W
RW
2h
Write Data-strobe De-assertion (Motorola-type interface). Defines the
number of clock cycles after the Reference Cycle when the LBDS[1:0]#
pins are de-asserted (high) during a write cycle to the Local Bus. 1
Note 1:
Only values in the range of 0h to Ah (0-10 decimal) are valid. Other values are reserved. See notes in the following page.
Data Sheet Revision 1.1 PRELIMINARY
Page 14
OX9162
OXFORD SEMICONDUCTOR LTD.
4.4.4
Bits
Local Bus Timing Parameter/Bar sizing register 2 ‘LT2’ (Offset 0x0C):
Description
Read/Write
EEPROM
3:0
7:4
11:8
15:12
19:16
22:20
23
26:24
28:27
29
30
31
Write Data Bus Assertion. This register defines the number of clock
cycles after the Reference Cycle when the LBD pins actively drive the
data bus during a write operation to the Local Bus. 1
Write Data Bus De-assertion. This register defines the number of clock
cycles after the Reference Cycle when the LBD pins go high-impedance
during a write operation to the Local Bus. 1,2
Read Data Bus Assertion. This register defines the number of clock
cycles after the Reference Cycle when the LBD pins actively drive the
data bus at the end of a read operation from the Local Bus. 1
Read Data Bus De-assertion. This register defines the number of clock
cycles after the Reference Cycle when the LBD pins go high-impedance
during at the beginning of a read cycle from the Local Bus. 1
Reserved.
IO Space Block Size of BAR0
000 = Reserved
100 = 32 Bytes
001 = 4 Bytes
101 = 64 Bytes
010 = 8 Bytes
110 = 128 Bytes
011 = 16 Bytes
111 = 256 Bytes
Reserved
IO Space Block Size of BAR1
100 = 32 Bytes
000 = Reserved
101 = 64 Bytes
001 = 4 Bytes
110 = 128 Bytes
010 = 8 Bytes
111 = 256 Bytes
011 = 16 Bytes
Reserved
Local Bus Software Reset. When this bit is a 1 the Local Bus reset pin is
activated. When this bit is a 0 the Local Bus reset pin is de-activated. 2
Local Bus Clock Enable. When this bit is a 1 the Local Bus clock (LBCK)
pin is enabled. When this bit is a 0 LBCK pin is permanently low. The
Local Bus Clock is a buffered PCI clock.
Bus Interface Type. When low (=0) the Local Bus is configured to Inteltype operation, otherwise it is configured to Motorola-type operation.
Note that when Mode[1:0] is ‘01’, this bit is hard wired to 0.
Reset
W
PCI
RW
0h
W
RW
Fh
W
RW
W
RW
4h
(2h for
parallel port)
0h
W
R
R
0h
‘010’
W
R
R
0h
‘010’
(‘001’ for
parallel port)
-
R
RW
000
0
W
RW
0
W
RW
0
Note 1:
Only values in the range of 0 to Ah (0-10 decimal) are valid. Other values are reserved as writing higher values causes the PCI interface to retry all
accesses to the Local Bus as it is unable to complete the transaction in 16 PCI clock cycles.
Note 2:
Local Bus and the Parallel Port are all reset with PCI reset. In Addition, the user can issue the Software Reset Command.
Data Sheet Revision 1.1 PRELIMINARY
Page 15
OX9162
OXFORD SEMICONDUCTOR LTD.
4.4.5
Bits
Global Interrupt Status and Control Register ‘GIS’ (Offset 0x10)
Description
Read/Write
EEPROM
1:0
2
3
17-4
18
Reserved
MIO0 This bit reflects the state of the internal MIO[0]. The internal MIO[0]
reflects the non-inverted or inverted state of MIO0 pin.
MIO1 This bit reflects the state of the internal MIO[0]. The internal MIO[0]
reflects the non-inverted or inverted state of MIO0 pin.
Reserved
MIO0 INTA enable
When set (1) allows MIO0 to assert a PCI interrupt on the INTA line. State of
MIO0 that causes an interrupt is dependant upon the polarity set by MIC(1:0)
Reset
-
PCI
R
R
-
R
X
W
R
RW
0
1 for local bus
mode
0 for parallel port
0x0h
X
19
MIO1 INTA enable
When set (1) allows MIO1 to assert a PCI interrupt on the INTA line. State of
MIO1 that causes an interrupt is dependant upon the polarity set by MIC(3:2)
W
RW
1 for local bus
mode
0 for parallel port
20
-
R
X
W
RW
0
22
23
Power-down Interrupt This is a sticky bit. When set, it indicates a power-down
request issued and would normally have asserted a PCI interrupt if bit 21 was
set (see section 7.9). Reading this bit clears it.
Power-down interrupt enable. When ‘1’ a power down request is allowed to
generate an interrupt.
Parallel Port Mode only : Parallel port interrupt status
Parallel Port Mode only : Parallel port interrupt enable
W
R
RW
0
1 for parallel port
mode
0 for local bus
31:24
Reserved
-
R
000h
21
Data Sheet Revision 1.1 PRELIMINARY
Page 16
OX9162
OXFORD SEMICONDUCTOR LTD.
4.5
PCI Interrupts
Interrupts in PCI systems are level-sensitive and can be
shared. There are three sources of interrupt in the OX9162,
two from Multi-Purpose IO pins (MIO1 to MIO0) and one
from the parallel port. The Local Bus uses the MIO pins to
pass interrupts to the PCI controller.
All interrupts are routed to the PCI interrupt pin INTA#. The
default routing asserts Function0 interrupts on INTA#. This
default routing may be modified (to disable interrupts) by
writing to the Interrupt Pin field in the configuration
registers using the serial EEPROM facility. The Interrupt
Pin field is normally considered a hard-wired read-only
value in PCI. It indicates to system software which PCI
interrupt pin (if any) is used by a function. The interrupt pin
may only be modified using the serial EEPROM facility,
and card developers must not set any value which violates
the PCI specification. Note that OX9162 only has one PCI
interrupt pin - INTA#. If in doubt, the default routings
should be used. Table 6 relates the Interrupt Pin field to the
device pin used.
Interrupt Pin
0
1
Device Pin used
None
INTA#
Data Sheet Revision 1.1 PRELIMINARY
2 to 255
Reserved
Table 6: ‘Interrupt pin’ definition
During the system initialisation process and PCI device
configuration, system-specific software reads the interrupt
pin field to determine which (if any) interrupt pin is used by
the function. It programmes the system interrupt router to
logically connect this PCI interrupt pin to a system-specific
interrupt vector (IRQ). It then writes this routing information
to the Interrupt Line field in the function’s PCI configuration
space. Device driver software must then hook the interrupt
using the information in the Interrupt Line field.
Interrupt status for all sources of interrupt is available using
the GIS register in the Local Configuration Register set,
which can be accessed using I/O or Memory accesses.
All interrupts can be enabled / disabled individually using
the GIS register set in the Local configuration registers.
When an MIO pin is enabled, an external device can assert
a PCI interrupt by driving that pin. The sense of the MIO
external interrupt pins (active-high or active-low) is defined
in the MIC register. The parallel port can also assert an
interrupt.
Page 17
OX9162
OXFORD SEMICONDUCTOR LTD.
4.6
Power Management
The OX9162 is compliant with PCI Power Management
Specification Revision 1.0. The function implements its own
set of Power Management registers and supports the
power states D0, D2 and D3. Power management is
accomplished by power-down and power-up requests,
asserted via interrupts and the PME# pin respectively. The
PME# pin is de-asserted when the sticky PME_Status bit is
cleared in both functions.
Power-down request is not defined by Power Management
1.0. It is a device-specific feature and requires a bespoke
device driver implementation. The device driver can either
implement the power-down itself or use a special interrupt
and power-down features offered by the device to
determine when the device is ready for power-down.
The PME# pin can, in certain cases, activate the PME#
signal when power is removed from the device, which will
cause the PC to wake up from Low-power state D3(cold).
To ensure full cross-compatibility with system board
implementations, use of an isolator FET is recommended.
If Power Management capabilities are not required, the
PME# pin can be treated as no-connect.
4.6.1
Power Management using MIO
The power-down request for the Local Bus is applicationdependent. Provided that the necessary enables have
been set in the local registers, the multi-purpose I/O pins
MIO(1:0) can be used to generate a powerdown request.
The MIO state that governs powerdown is the inverse of
Data Sheet Revision 1.1 PRELIMINARY
the MIO state that asserts the INTA line (if that option were
to be enabled). This means that when the external device
is not interrupting it will begin the powerdown cycle. For
greater flexibility in the generation of the power down
request,, a powerdown filter is also available to ensure that
the relevant MIO pins remain stable for a selectable period
before a powerdown request is issued.
Function0 implements the PCI Power Management powerstates D0, D2 and D3. Whenever the device driver
changes the power-state to state D2 or D3, Function0
takes the following actions:•
The Local Bus clock pin, LBCK, is disabled regardless
of the programmed value in LT2[30].
• The PCI interrupt for Function0 is disabled.
• Access to I/O or Memory BARs of Function0 is
disabled.
However, access to the configuration space is still enabled.
The device driver can optionally assert/de-assert any of its
selected (design dependant) MIO pins to switch off VCC,
disable other external clocks, or activate shut-down modes
to any external devices on the Local Bus.
Function0 can issue a wake up request by using the MIO
pins. When MIC[7] or MIC[6] is set, rising or falling edge of
the relevant MIO pin will cause Function0 to issue a wake
up request by setting PME_Status = (PMCSR[15]), if it is
enabled by PMCSR[8] of Function0. PME_Status is a
sticky bit which will be cleared by writing a ‘1’ to it. After a
wake up event is signalled, the device driver is expected to
return the function to the D0 power-state.
Page 18
OXFORD SEMICONDUCTOR LTD.
5
5.1
LOCAL BUS
Overview
The OX9162 in Mode 1 acts as a bridge from PCI to an 8bit Local Bus.
The Local Bus is comprised of a bi-directional 8-bit data
bus, an 8-bit address bus, up to two chip selects, and a
number of control signals that allow for easy interfacing to
standard peripherals. It also provides two active-high or
active-low interrupt inputs (by configuring the MIO pins).
The local bus is configured by LT1 and LT2 (see sections
4.4.3 & 4.4.4) in the Local Configuration Register space. By
programming these registers the card developer can alter
the characteristics of the local bus to suit the
characteristics of the peripheral devices being used.
5.2
OX9162
Operation
The local bus can be accessed via I/O and memory space.
The mapping to the devices will vary with the application,
but the bus is fully configurable to facilitate simple
development.
The operation of the local bus is synchronised to the PCI
bus clock. The clock signal is output on pin LBCLK if it has
been enabled by setting LT2[30].
The eight bit bi-directional pins LBD[7:0] drive the output
data onto the bus during local bus write cycles. For reads,
the device latches the data read from these pins at the end
of the cycle.
The local bus address is placed on pins LBA[7:0] at the
start of each local bus cycle and will remain latched until
the start of the subsequent cycle. If the maximum
allowable block size (256 bytes) is allocated to the local
bus in I/O space, then as access in I/O space is byte
aligned, AD[7:0] are asserted on LBA[7:0]. If a smaller
address range is selected, the corresponding upper
address lines will be set to logic zero.
provide suitable set up and hold times for common
peripheral devices. However, all the timings can be
increased / decreased independently in multiples of PCI
clock cycles. This feature enables the card designer to
override the length of read or write operations, the address
and chip-select set-up and hold timing, and the data bus
hold timing so that add-in cards can be configured to suit
different speed peripheral devices connected to the Local
Bus. The designer can also program the data bus to
remain in the high impedance state or actively drive the
bus during idle periods.
The local bus will always return to an idle state, where no
chip-select (data-strobe in Motorola mode) signal is active,
between adjacent accesses. During read cycles the local
bus interface latches data from the bus on the rising edge
of the clock where LBRD# (LBDS[1:0]# in Motorola mode)
goes high. Card designers should ensure that their
peripherals provide the OX9162 with the specified data setup and hold times with respect to this clock edge.
The local bus cannot accept burst transfers from the PCI
bus. If a burst transfer is attempted the PCI interface will
signal 'disconnect with data' on the first data phase. The
local bus does accept 'fast back-to-back' transactions from
PCI.
A PCI target must complete the transaction within 16 PCI
clock cycles from assertion of the FRAME# signal,
otherwise it should signal a retry. During a read operation
from the Local Bus, OX9162 waits for master-ready signal
(IRDY#) and computes the number of remaining cycles to
the de-assertion of the read control signal. If the total
number of PCI clock cycles for that frame is greater than
16 clock cycles, OX9162 will post a retry. The master
would normally return immediately and complete the
operation in the following frame.
The control bus is comprised of up to two chip-select
signals LBCS[1:0]#, a read strobe LBRD# and a write
strobe LBWR#, in Intel-type interfaces. For Motorola-type
interfaces, LBWR# is re-defined to perform read/write
control signal (LBRDWR#) and the chip-select signals
(LBCS[1:0]#) are re-defined to data-strobe (LBDS[1:0]#).
A reference cycle is defined, as two PCI clock cycles after
the master asserts the IRDY# signal for the first tstate in
the first cycle after the reference cycle, with offsets to
Data Sheet Revision 1.1 PRELIMINARY
Page 19
OXFORD SEMICONDUCTOR LTD.
5.3
Configuration & Programming
The configuration registers for the local bus controller are
described in sections 4.4.3 & 4.4.4. The values of these
registers after reset allow the host system to identify the
function and configure its base address registers.
Alternatively many of the default values can be reprogrammed during device initialisation through use of the
optional serial EEPROM (see section 7).
There is one I/O block space defined for each chip select.
The I/O space blocks can be varied in size from 4 bytes to
256 bytes (8 bytes is the default) by setting LT2[22:20]
(BAR 0) and LT2[26:24] (BAR 1). Varying the block size
Data Sheet Revision 1.1 PRELIMINARY
OX9162
means that I/O space can be allocated efficiently by the
system, whatever the application.
The memory space block is always 4K bytes, and always
divided into two chip-select regions of 2K byte each (only
the bottom 1K of each is accessible).
A soft reset facility is provided so software can
independently reset the peripherals on the local bus. The
local bus reset signals, LBRST and LBRST#, are always
active during a PCI bus reset and also when the
configuration register bit LT2[29] is set to 1.
The clock enable bit, when set, enables a copy of the PCI
bus clock output on the local bus pin LBCLK.
Page 20
OX9162
OXFORD SEMICONDUCTOR LTD.
6
6.1
BI-DIRECTIONAL PARALLEL PORT
Operation and Mode selection
The OX9162 offers a compact, low power, IEEE-1284
compliant host-interface parallel port, designed to interface
to many peripherals such as printers, scanners and
external drives. It supports compatibility modes, SPP,
NIBBLE, PS2, EPP and ECP modes. The register set is
compatible with the Microsoft register definition. To
enable the parallel port function, the Mode & Test pins
should be set to ‘00’. The system can access the parallel
port via two 8-byte blocks of I/O space; BAR0 contains the
address of the basic parallel port registers, BAR1 contains
the address of the upper registers. These are referred to as
the ‘lower block’ and ‘upper block’ in this section. If the
upper block is located at an address 0x400 above the
lower block, generic PC device drivers can be used to
configure the port, as the addressable registers of legacy
parallel ports always have this relationship. If not, a custom
driver will be needed.
6.1.1
SPP mode
SPP (output-only) is the standard implementation of a
simple parallel port. In this mode, the PD lines always drive
the value in the PDR register. All transfers are done under
software control. Input must be performed in nibble mode.
Generic device driver-software may use the address in I/O
space encoded in BAR0 of function 1 to access the parallel
port. The default configuration allocates 8 bytes to BAR0 in
I/O space.
6.1.2
PS2 mode
This mode is also referred to as bi-directional or compatible
parallel port. In this mode, directional control of the PD
lines is possible by setting & clearing DCR[5]. Otherwise
operation is similar to SPP mode.
INTR#, DATASTB#, WAIT#, ADDRSTB# and WRITE#
respectively.
An EPP port access begins with the host reading or writing
to one of the EPP port registers. The device automatically
buffers the data between the I/O registers and the parallel
port depending on whether it is a read or a write cycle.
When the peripheral is ready to complete the transfer it
takes the WAIT# status line high. This allows the host to
complete the EPP cycle.
If a faulty or disconnected peripheral failed to respond to an
EPP cycle the host would never see a rising edge on
WAIT#, and subsequently lock up. A built-in time-out facility
is provided in order to prevent this from happening. It uses
an internal timer which aborts the EPP cycle and sets a
flag in the PSR register to indicate the condition. When the
parallel port is not in EPP mode the timer is switched off to
reduce current consumption. The host time-out period is
10µs as specified with the IEEE-1284 specification.
The register set is compatible with the Microsoft register
definition. Assuming that the upper block is located 400h
above the lower block, the registers are found at offset
000-007h and 400-402h.
6.1.4
Assuming that the upper block is located 400h above the
lower block, the registers are found at offset 000-007h and
400-402h.
6.2
6.1.3
EPP mode
To use the Enhanced Parallel Port ‘EPP’ the mode bits
(ECR[7:5]) must be set to ‘100’. The EPP address and data
port registers are compatible with the IEEE 1284 definition.
A write or read to one of the EPP port registers is passed
through the parallel port to access the external peripheral.
In EPP mode, the STB#, INIT#, AFD# AND SLIN# pins
change from open-drain outputs to active push-pull (totem
pole) drivers (as required by IEEE 1284) and the pins
ACK#, AFD#, BUSY, SLIN# and STB# are redefined as
Data Sheet Revision 1.1 PRELIMINARY
ECP mode
The Extended Capabilities Port ‘ECP’ mode is entered
when ECR[7:5] is set to ‘011’. ECP mode is compatible
with Microsoft register definition of ECP, and IEEE-1284
bus protocol and timing. This implementation of the ECP
port supports the optional decompression of received
compressed data, but does not compress transmit data.
Parallel port interrupt
The parallel port interrupt is asserted on INTA#. It is
enabled by setting DCR[4]. When DCR[4] is set, an
interrupt is asserted on the rising edge of the ACK#
(INTR#) pin and held until the status register is read, which
resets the INT# status bit (DSR[2]).
Page 21
OX9162
OXFORD SEMICONDUCTOR LTD.
6.3
Register Description
The parallel port registers are described below. (NB it is assumed that the upper block is placed 400h above the lower block).
Register
Name
Address
Offset
R/W
PDR
ecpAFifo
DSR
000h
000h
001h
R/W
R/W
R
(Other modes)
001h
002h
003h
004h
005h
006h
007h
400h
400h
400h
401h
402h
403h
R
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R
R
R/W
-
(EPP mode)
DCR
EPPA 1
EPPD1 1
EPPD2 1
EPPD3 1
EPPD4 1
EcpDFifo
TFifo
CnfgA
CnfgB
ECR
-
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
SPP (Compatibility Mode) Registers
Parallel Port Data Register
ECP FIFO : Address / RLE
nBUSY
ACK#
PE
SLCT
ERR#
INT#
nBUSY
0
ACK#
0
0
int
Mode[2:0]
PE
DIR
SLCT
ERR#
INT#
INT_EN nSLIN#
INIT#
EPP Address Register
EPP Data 1 Register
EPP Data 2 Register
EPP Data 3 Register
EPP Data 4 Register
ECP Data FIFO
Test FIFO
Configuration A Register – always 90h
‘000000’
Must write ‘00001’
Reserved
Bit 1
Bit 0
1
Timeout
1
nAFD#
1
nSTB#
Table 7: Parallel port register set
Note 1 : These registers are only available in EPP mode.
Note 2 : Prefix ‘n’ denotes that a signal is inverted at the connector. Suffix ‘#’ denotes active-low signalling
The reset state of PDR, EPPA and EPPD1-4 is not determinable (i.e. 0xXX). The reset value of DSR is ‘XXXXX111’. DCR and
ECR are reset to ‘0000XXXX’ and ‘00000001’ respectively.
6.3.1
Parallel port data register ‘PDR’
PDR is located at offset 000h in the lower block. It is the
standard parallel port data register. Writing to this register
in mode 000 will drive data onto the parallel port data lines.
In all other modes the drivers may be tri-stated by setting
the direction bit in the DCR. Reads from this register return
the value on the data lines.
6.3.2
ECP FIFO Address / RLE
A data byte written to this address will be interpreted as an
address if bit(7) is set, otherwise an RLE count for the next
data byte. Count = bit(6:0) + 1.
6.3.3
Device status register ‘DSR’
DSR is located at offset 001h in the lower block. It is a read
only register showing the current state of control signals
from the peripheral. Additionally in EPP mode, bit 0 is set
to ‘1’ when an operation times out (see section 6.1.3)
DSR[0]:
EPP mode: Timeout
logic 0 ⇒ Timeout has not occurred.
logic 1 ⇒ Timeout has occurred (Reading this bit clears it).
Other modes: Unused
This bit is permanently set to 1.
DSR[1]: Unused
This bit is permanently set to 1.
Data Sheet Revision 1.1 PRELIMINARY
Page 22
OX9162
OXFORD SEMICONDUCTOR LTD.
DSR[2]: INT#
logic 0 ⇒ A parallel port interrupt is pending.
logic 1 ⇒ No parallel port interrupt is pending.
DCR[3]: nSLIN#
logic 0 ⇒ Set SLIN# output to high (inactive).
logic 1 ⇒ Set SLIN# output to low (active).
This bit is activated (set low) on a rising edge of the ACK#
pin. It is de-activated (set high) after reading the DSR.
During an EPP address or data cycle the ADDRSTB# pin is
driven by the EPP controller, otherwise it is inactive.
DSR[3]: ERR#
logic 0 ⇒ The ERR# input is low.
logic 1 ⇒ The ERR# input is high.
DCR[4]: ACK Interrupt Enable
logic 0 ⇒ ACK interrupt is disabled.
logic 1 ⇒ ACK interrupt is enabled.
DSR[4]: SLCT
logic 0 ⇒ The SLCT input is low.
logic 1 ⇒ The SLCT input is high.
DCR[5]: DIR
logic 0 ⇒ PD port is output.
logic 1 ⇒ PD port is input.
DSR[5]: PE
logic 0 ⇒The PE input is low.
logic 1 ⇒The PE input is high.
This bit is overridden during an EPP address or data cycle,
when the direction of the port is controlled by the bus
access (read/write)
DSR[6]: ACK#
logic 0 ⇒ The ACK# input is low.
logic 1 ⇒ The ACK# input is high.
DCR[7:6]: Reserved
These bits are reserved and always set to “00”.
DSR[7]: nBUSY
logic 0 ⇒ The BUSY input is high.
logic 1 ⇒ The BUSY input is low.
6.3.4
Device control register ‘DCR’
DCR is located at offset 002h in the lower block. It is a
read-write register which controls the state of the peripheral
inputs and enables the peripheral interrupt. When reading
this register, bits 0 to 3 reflect the actual state of STB#,
AFD#, INIT# and SLIN# pins respectively. When in EPP
mode, the WRITE#, DATASTB# AND ADDRSTB# pins are
driven by the EPP controller, although writes to this register
will override the state of the respective lines.
DCR[0]: nSTB#
logic 0 ⇒ Set STB# output to high (inactive).
logic 1 ⇒ Set STB# output to low (active).
During an EPP address or data cycle the WRITE# pin is
driven by the EPP controller, otherwise it is inactive.
DCR[1]: nAFD#
logic 0 ⇒ Set AFD# output to high (inactive).
logic 1 ⇒ Set AFD# output to low (active).
During an EPP address or data cycle the DATASTB# pin is
driven by the EPP controller, otherwise it is inactive.
DCR[2]: INIT#
logic 0 ⇒ Set INIT# output to low (active).
logic 1 ⇒ Set INIT# output to high (inactive).
Data Sheet Revision 1.1 PRELIMINARY
6.3.5
EPP address register ‘EPPA’
EPPA is located at offset 003h in lower block, and is only
used in EPP mode. A byte written to this register will be
transferred to the peripheral as an EPP address by the
hardware. A read from this register will transfer an address
from the peripheral under hardware control.
6.3.6
EPP data registers ‘EPPD1-4’
The EPPD registers are located at offset 004h-007h of the
lower block, and are only used in EPP mode. Data written
or read from these registers is transferred to/from the
peripheral under hardware control.
6.3.7
ECP Data FIFO
Hardware transfers data from this 16 bytes deep FIFO to
the peripheral when DCR(5) = ‘0’. When DCR(5) = ‘1’
hardware transfers data from the peripheral to this FIFO.
6.3.8
Test FIFO
Used by the software in conjunction with the full and empty
flags to determine the depth of the FIFO and interrupt
levels.
6.3.9
Configuration A register
ECR[7:5] must be set to ‘111’ to access this register.
Interrupts generated will always be level, and the ECP port
only supports an impID of ‘001’.
Page 23
OX9162
OXFORD SEMICONDUCTOR LTD.
6.3.10 Configuration B register
ECR[7:5] must be set to ‘111’ to access this register. Read
only, all bits will be set to 0, except for bit[6] which will
reflect the state of the interrupt.
6.3.11 Extended control register ‘ECR’
The Extended control register is located at offset 002h in
upper block. It is used to configure the operation of the
parallel port.
ECR[4:0]: Reserved - write
These bits are reserved and must always be set to
“00001”.
ECR[0]: Empty - read
When DCR[5} = ‘0’
logic 0 ⇒ FIFO contains at least one byte
logic 1 ⇒ FIFO completely empty
When DCR[5} = ‘1’
logic 0 ⇒ FIFO contains at least one byte
logic 1 ⇒ FIFO contains less than one byte
ECR[1]: Full - read
When DCR[5} = ‘0’
Data Sheet Revision 1.1 PRELIMINARY
logic 0 ⇒ FIFO has at least one free byte
FIFO completely full
When DCR[5} = ‘1’
logic 0 ⇒ FIFO has at least one free byte
logic 1 ⇒ FIFO full
ECR[2]: serviceIntr - read
When DCR[5} = ‘0’
logic 1 ⇒ writeIntrThreshold (8) free bytes or more in
FIFO
When DCR[5} = ‘1’
logic 1 ⇒ readIntrThreshold (8) bytes or more in FIFO
ECR[7:5]: Mode – read / write
These bits define the operational mode of the parallel port.
logic ‘000’
SPP
logic ‘001’
PS2
logic ‘010’
Reserved
logic ‘011’
ECR
logic ‘100’
EPP
logic ‘101’
Reserved
logic ‘110’
Test
logic ‘111’
Config
Page 24
OX9162
OXFORD SEMICONDUCTOR LTD.
7
7.1
SERIAL EEPROM
Specification
The OX9162 can be configured using an optional serial
electrically-erasable programmable read only memory
(EEPROM). If the EEPROM is not present, the device will
remain in its default configuration after reset. Although this
may be adequate for some applications, many will benefit
from the degree of programmability afforded by this
feature. The EEPROM also allows configuration accesses
to the local bus (or parallel port), which can be useful for
default set ups.
The EEPROM interface is based on the 93C46/56 serial
EEPROM devices which have a proprietary serial interface
known as MicrowireTM. The interface has four pins which
supply the memory device with a clock, a chip-select, and
serial data input and output lines. In order to read from
such a device, a controller has to output serially a read
command and address, then input serially the data. The
93C46/56 and compatible devices have a 16-bit data word
format but differ in memory size (and number of address
bits).
The OX9162 incorporates a controller module which reads
data from the serial EEPROM and writes data into the
configuration register space. It performs this operation in a
sequence which starts immediately after a PCI bus reset
and ends either when the controller finds no EEPROM is
present or when it reaches the end of its data. NOTE: that
any attempted PCI access while data is being downloaded
from the serial EEPROM will result in a retry. The operation
of this controller is described below. Following device
configuration, driver software can access the serial
EEPROM through four bits in the device-specific Local
Configuration Register LCC[27:24]. Software can use this
register to manipulate the device pins in order to read and
modify the EEPROM contents.
Note that 93C46 and 93C56 EEPROM devices offer 128
and 256 bytes of programmable data respectively.
A Windows based utility to program the EEPROM is
available. For further details please contact Oxford
Semiconductor (see back cover).
MicrowireTM is a trade mark of National Semiconductor. For
a description of MicrowireTM, please refer to National
Semiconductor data manuals.
Data Sheet Revision 1.1 PRELIMINARY
7.2
EEPROM Data Organisation
The serial EEPROM data is divided in five zones. The size
of each zone is an exact multiple of 16-bit WORDs. Zone0
is allocated to the header. A valid EEPROM program must
contain a header. The EEPROM can be programmed from
the PCI bus. Once the programming is complete, the
device driver should either reset the PCI bus or set
LCC[29] to reload the OX9162 registers from the serial
EEPROM. The general EEPROM data structure is shown
in Table 8.
DATA
Zone
0
1
2
3
4
Size (Words)
Description
One
One or more
One to four
Two or more
Multiples of 2
Header
Local Configuration Registers
Identification Registers
PCI Configuration Registers
Function Access
Table 8: EEPROM data format
7.2.1
Zone0: Header
The header identifies the EEPROM program as valid.
Bits
15:4
3
2
1
0
Description
These bits should return 0x840 to identify a valid
program. Once the OX9162 reads 0x840 from
these bits, it sets LCC[28] to indicate that a valid
EEPROM program is present.
1 = Zone1 (Local Configuration) exists
0 = Zone1 does not exist
1 = Zone2 (Identification) exists
0 = Zone2 does not exist
1 = Zone3 (PCI Configuration) exists
0 = Zone3 does not exist
1 = Zone4 (Function Access) exists
0 = Zone4 does not exist
The programming data for each zone follows the
proceeding zone if it exists. For example a Header value of
0x840F indicates that all zones exist and they follow one
another in sequence, while 0x8405 indicates that only
Zones 2 and 4 exist where the header data is followed by
Zone2 WORDs, and since Zone3 is missing Zone2
WORDs are followed by Zone4 WORDs.
Page 25
OXFORD SEMICONDUCTOR LTD.
Data Sheet Revision 1.1 PRELIMINARY
OX9162
Page 26
OX9162
OXFORD SEMICONDUCTOR LTD.
7.2.2
Zone1: Local Configuration Registers
The Zone1 region of EEPROM contains the program value
of the vendor-specific Local Configuration Registers using
one or more configuration WORDs. Registers are selected
using a 7-bit byte-offset field. This offset value is the offset
from Base Address Registers in I/O or memory space (see
section 4.4).
Bits
15
Note: Not all of the registers in the Local Configuration Register set are
writable by EEPROM. If bit3 of the header is set, Zone1
configuration WORDs follow the header declaration. The
format of configuration WORDs for the Local Configuration
Registers in Zone1 are described in Table 9.
14:8
7:0
Description
‘0’ = There are no more Configuration WORDs
to follow in Zone1. Move to the next available
zone or end EEPROM program if no more zones
are enabled in the Header.
‘1’ = There is another Configuration WORD to
follow for the Local Configuration Registers.
These seven bits define the byte-offset of the
Local configuration register to be programmed.
For example the byte-offset for LT2[23:16] is
0x0E.
8-bit value of the register to be programmed
Table 9: Zone 1 data format
Data Sheet Revision 1.1 PRELIMINARY
Page 27
OX9162
OXFORD SEMICONDUCTOR LTD.
7.2.3
Zone2: Identification Registers
The Zone2 region of EEPROM contains the program value
for Vendor ID and Subsystem Vendor ID. The format of
Device Identification configuration WORDs are described in
Table 10.
Bits
15
14:8
7:0
Description
‘0’ = There are no more Zone2 (Identification)
bytes to program. Move to the next available
zone or end EEPROM program if no more zones
are enabled in the Header.
‘1’ = There is another Zone2 (Identification) byte
to follow.
0x00 = Vendor ID bits [7:0].
0x01 = Vendor ID bits [15:8].
0x02 = Subsystem Vendor ID [7:0].
0x03 = Subsystem Vendor ID [15:8].
0x03 to 0x7F = Reserved.
8-bit value of the register to be programmed
Table 10: Zone 2 data format
7.2.4
Zone3: PCI Configuration Registers
The Zone3 region of EEPROM contains any changes
required to the PCI Configuration registers (with the
exception of Vendor ID and Subsystem Vendor ID which
are programmed in Zone2). This zone consists of a
function header WORD, and one or more configuration
WORDs for that function. The function header is described
in Table 11.
Bits
15
14:3
2:0
Description
‘0’ = End of Zone 3.
‘1’ = Define this function header.
Reserved. Write zeros.
Function number for the following configuration
WORD(s).
‘000’ = Function0
Other values = Reserved.
Table 11: Zone 3 data format (Function Header)
The subsequent WORDs for each function contain the
address offset and a byte of programming data for the PCI
Configuration Space belonging to the function number
selected by the proceeding Function-Header. The format of
configuration WORDs for the PCI Configuration Registers
are described below.
Data Sheet Revision 1.1 PRELIMINARY
Bits
15
14:8
7:0
Description
‘0’ = This is the last configuration WORD in for
the selected function in the Function-Header.
‘1’ = There is another WORD to follow for this
function.
These seven bits define the byte-offset of the PCI
configuration register to be programmed. For
example the byte-offset of the Interrupt Pin
register is 0x3D. Offset values are tabulated in
section 4.2.
8-bit value of the register to be programmed
Table 12: Zone 3 data format (data)
Table 13 shows which PCI Configuration registers are
writable from the EEPROM for each function.
Offset
0x02
0x03
0x06
0x06
0x06
0x09
0x0A
0x0B
0x2E
0x2F
0x3D
0x42
Bits
7:0
7:0
3:0
4
7:5
7:0
7:0
7:0
7:0
7:0
7:0
7:0
0x43
7:0
Description
Device ID bits 7 to 0.
Device ID bits 15 to 8.
Must be ‘0000’.
Extended Capabilities.
Must be ‘000’.
Class Code bits 7 to 0.
Class Code bits 15 to 8.
Class Code bits 23 to 16.
Subsystem ID bits 7 to 0.
Subsystem ID bits 15 to 8.
Interrupt pin.
Power Management Capabilities
bits 7 to 0.
Power Management Capabilities
bits 15 to 8.
Table 13: EEPROM-writable PCI configuration registers
7.2.5
Zone4: Function Access
Zone 4 allows a device on the local bus (or the parallel
port) to be configured, prior to PCI access. This can be
useful for patching designs to work with generic drivers,
enabling interrupts, etc. Each 8-bit (function) access is
equivalent to accessing the function through I/O bars 0 and
1, with the exception that a function read access does not
return any data (discarded). Each entry in zone 4
comprises 2 16 bit words. The format is as shown in Table
14.
Page 28
OXFORD SEMICONDUCTOR LTD.
OX9162
1st WORD of FUNCTION ACCESS PAIR
Word
Bits
15
14:12
11
10:8
7:0
Description
‘1’ - another WORD to follow
BAR number to access
000 for BAR 0
001 for BAR 1
others reserved
‘0’ : Read access (data discarded)
‘1’ : Write access
Reserved – write 0’s
I/O address to access
This is the location (I/O offset from
the relevant Base Address) that
needs to be written/read.
2nd WORD of FUNCTION ACCESS PAIR
Word
Bits
15
14:8
7:0
Description
‘1’ – another function access
WORD pair to follow.
‘0’ – no more function access
pairs. End EEPROM program.
Reserved – write 0’s
Data to be written to location.
Field unused for function access
READS.
Data Sheet Revision 1.1 PRELIMINARY
Page 29
OX9162
OXFORD SEMICONDUCTOR LTD.
8
OPERATING CONDITIONS
Symbol
VDD
VIN
IIN
TSTG
Parameter
DC supply voltage
DC input voltage
DC input current
Storage temperature
Min
-0.3
-0.3
-40
Max
7.0
VDD + 0.3
+/- 10
125
Units
V
V
mA
°C
Min
4.5
0
Max
5.5
70
Units
V
°C
Table 14: Absolute maximum ratings
Symbol
VDD
TC
Parameter
DC supply voltage
Temperature
Table 15: Recommended operating conditions
9
DC ELECTRICAL CHARACTERISTICS
9.1
Non-PCI I/O Buffers
Symbol
VDD
VIH
Parameter
Supply voltage
Input high voltage
VIL
Input low voltage
CIL
COL
IIH
IIL
VOH
VOH
VOL
VOL
IOZ
Cap of input buffers
Cap of output buffers
Input high leakage current
Input low leakage current
Output high voltage
Output high voltage
Output low voltage
Output low voltage
3-state output leakage current
Symbol
ICC
Condition
Commercial
TTL Interface 1
TTL Schmitt trig
TTL Interface 1
TTL Schmitt trig
Min
4.75
2.0
2.0
Vin = VDD
Vin = VSS
IOH = 1 µA
IOH = 4 mA 2
IOL = 1 µA
IOL = 4 mA 2
-10
-10
Max
5.25
Units
V
V
0.8
0.8
5.0
10.0
10
10
V
VDD – 0.05
2.4
-10
Parameter
Operating supply current in
normal mode
Typical
TBD
Operating supply current in
Power-down mode
TBD
Max
TBD
0.05
0.4
10
pF
pF
µA
µA
V
V
V
V
µA
Units
mA
Table 16: Characteristics of non-PCI I/O buffers
Note 1:
Note 2:
All input buffers are TTL with the exception of PCI buffers
IOH and IOL are 12 mA for PD/LBDB[7:0] and other Parallel Port Outputs. They are 4 mA for all other non-PCI outputs
Data Sheet Revision 1.1 PRELIMINARY
Page 30
OX9162
OXFORD SEMICONDUCTOR LTD.
9.2
PCI I/O Buffers
Symbol
Parameter
DC Specifications
VCC
Supply voltage
VIL
Input low voltage
VIH
Input high voltage
IIL
Input low leakage current
IIH
Input high leakage current
VOL
Output low voltage
VOH
Output low voltage
CIN
Input pin capacitance
CCLK
CLK pin capacitance
CIDSEL
IDSEL pin capacitance
LPIN
Pin inductance
AC Specifications
Switching current
IOH(AC)
high
(Test point)
Switching current
IOL(AC)
low
ICL
(Test point)
Low clamp current
IHL
High clamp current
SlewR
SlewF
Output rise slew rate
Output fall slew rate
Condition
VIN = 0.5V
VIN = 2.7V
IOUT = -2 mA
IOUT = 3 mA, 6mA
Min
Max
Unit
4.75
-0.5
2.0
5.25
0.8
VCC + 0.5
-70
70
0.55
V
V
V
µA
µA
V
V
pF
pF
pF
nH
2.4
5
0 < VOUT
-44
1.4
1.4 < VOUT
2.4
3.1 < VOUT
VOUT = 3.1
VCC
-44 (VOUT - 1.4)/0.024
mA
Eq. A
-142
95
VOUT 2.2
2.2 > VOUT > 0.55
0.71 > VOUT > 0
VOUT = 0.71
-5 < VIN < -1
VCC+4 < VIN
VCC+1
0.4V to 2.4V
2.4V to 0.4V
10
12
8
10
VOUT / 0.023
mA
Eq. B
206
<
-25 + (VIN +1)/
0.015
25+ (VIN -VCC -1)/
0.015
1
1
mA
mA
5
5
V/nS
V/nS
Table 17: Characteristics of PCI I/O buffers
Eq. A :
Eq. B :
IOH = 11.9 * (VOUT - 5.25) * (VOUT + 2.45)
IOL = 78.5 * VOUT * (4.4 - VOUT )
Data Sheet Revision 1.1 PRELIMINARY
for 3.1 < VOUT VCC
for 0.71 > VOUT > 0
Page 31
OX9162
OXFORD SEMICONDUCTOR LTD.
10 AC ELECTRICAL CHARACTERISTICS
10.1 PCI Bus
The timings for PCI pins comply with PCI Specification for the 5.0 Volt signalling environment.
10.2 Local Bus
By default, the Local bus control signals change state in the cycle immediately following the reference cycle, with offsets to
provide setup and hold times for common peripherals in Intel mode. The tables below show these default values; however each
of these can be increased or decreased by an number of PCI clock cycles by adjusting the parameters in registers LT1 and LT2.
Symbol
tref
tza
tard
tzrcs1
tzrcs2
tcsrd
trdcs
tzrd1
tzrd2
tdrd
tzd1
tzd2
tsd
thd
Parameter
IRDY# falling to reference LBCLK
Reference LBCLK to Address Valid
Address Valid to LBRD# falling
Reference LBCLK to LBCS# falling
Reference LBCLK to LBCS# rising
LBCS# falling to LBRD# falling
LBRD# rising to LBCS# rising
Reference LBCLK to LBRD# falling
Reference LBCLK to LBRD# rising
Data bus floating to LBRD# falling
Reference LBCLK to data bus floating at the start of the read
transaction
Reference LBCLK to data bus driven by OX9162 at the end of the read
transaction
Data bus valid to LBRD# rising
Data bus valid after LBRD# rising
Min
Max
Units
Nominally 2 PCI clock cycles
TBD
TBD
ns
TBD
TBD
ns
TBD
TBD
ns
TBD
TBD
ns
TBD
TBD
ns
TBD
TBD
ns
TBD
TBD
ns
TBD
TBD
ns
TBD
TBD
ns
TBD
TBD
ns
TBD
TBD
ns
TBD
TBD
TBD
TBD
ns
ns
Table 18: Read operation from Intel-type Local Bus
Symbol
tref
tza
tawr
tzwcs1
tzwcs2
tcswr
twrcs
tzwr1
tzwr2
tzdv
tzdf
twrdi
Parameter
IRDY# falling to reference LBCLK
Reference LBCLK to Address Valid
Address Valid to LBWR# falling
Reference LBCLK to LBCS# falling
Reference LBCLK to LBCS# rising
LBCS# falling to LBWR# falling
LBWR# rising to LBCS# rising
Reference LBCLK to LBWR# falling
Reference LBCLK to LBWR# rising
Reference LBCLK to data bus valid
Reference LBCLK to data bus high-impedance
LBWR# rising to data bus invalid
Min
Max
Units
Nominally 2 PCI clock cycles
TBD
TBD
ns
TBD
TBD
ns
TBD
TBD
ns
TBD
TBD
ns
TBD
TBD
ns
TBD
TBD
ns
TBD
TBD
ns
TBD
TBD
ns
TBD
TBD
ns
TBD
TBD
ns
TBD
TBD
ns
Table 19: Write operation to Intel-type Local Bus
Data Sheet Revision 1.1 PRELIMINARY
Page 32
OX9162
OXFORD SEMICONDUCTOR LTD.
Symbol
tref
tza
tads
tzrds1
tzrds2
vtdrd
tzd1
tzd2
tsd
thd
Parameter
IRDY# falling to reference LBCLK
Reference LBCLK to Address Valid
Address Valid to LBDS# falling
Reference LBCLK to LBDS# falling
Reference LBCLK to LBDS# rising
Data bus floating to LBDS# falling
Reference LBCLK to data bus floating at the start of the read
transaction
Reference LBCLK to data bus driven by OX9162 at the end of the read
transaction
Data bus valid to LBDS# rising
Data bus valid after LBDS# rising
Min
Max
Units
Nominally 2 PCI clock cycles
TBD
TBD
ns
TBD
TBD
ns
TBD
TBD
ns
TBD
TBD
ns
TBD
TBD
ns
TBD
TBD
ns
TBD
TBD
ns
TBD
TBD
TBD
TBD
ns
ns
Table 20: Read operation from Motorola-type Local Bus
Symbol
tref
tza
tads
tzw1
tzw2
twds
tdsw
tzwds1
tzwds2
tzdv
tzdf
tdsdi
Parameter
IRDY# falling to reference LBCLK
Reference LBCLK to Address Valid
Address Valid to LBDS# falling
Reference LBCLK to LBRDWR# falling
Reference LBCLK to LBRDWR# rising
LBRDWR# falling to LBDS# falling
LBDS# rising to LBRDWR# rising
Reference LBCLK to LBDS# falling
Reference LBCLK to LBDS# rising
Reference LBCLK to data bus valid
Reference LBCLK to data bus high-impedance
LBDS# rising to data bus invalid
Min
Max
Units
Nominally 2 PCI clock cycles
TBD
TBD
ns
TBD
TBD
ns
TBD
TBD
ns
TBD
TBD
ns
TBD
TBD
ns
TBD
TBD
ns
TBD
TBD
ns
TBD
TBD
ns
TBD
TBD
ns
TBD
TBD
ns
TBD
TBD
ns
Table 21: Write operation to Motorola-type Local Bus
Data Sheet Revision 1.1 PRELIMINARY
Page 33
OX9162
OXFORD SEMICONDUCTOR LTD.
11 Timing Waveforms
CLK
1
2
3
4
FRAME#
AD[31:0]
Address
C/BE[3:0]#
Bus CMD
Data
Byte enable#
Data transfer
IRDY#
TRDY#
DEVSEL#
STOP#
Figure 1: PCI Read transaction from Local Configuration registers
CLK
1
2
3
4
FRAME#
Address
C/BE[3:0]#
Bus CMD
IRDY#
TRDY#
Data
Byte enable#
Data transfer
AD[31:0]
DEVSEL#
STOP#
Figure 2: PCI Write transaction to Local Configuration Registers
Data Sheet Revision 1.1 PRELIMINARY
Page 34
OX9162
OXFORD SEMICONDUCTOR LTD.
TIMING WAVEFORMS
CLK
1
2
3
4
5
n+5
n+6
Where: n = 0, 1, .., 9
n+7
FRAME#
AD[31:0]
Address
C/BE[3:0]#
Bus CMD
Data
Data
Byte enable#
Wait
Wait
Data transfer
TRDY#
Wait
Wait
IRDY#
t ref
DEVSEL#
STOP#
LBCLK
t za
t ard
Valid Local Bus Address
LBCS#
LBRD#
LBD
1
LBD
2
t zrcs2
t zrcs1
t csrd
tzrd1
t
t zd1 drd
trdcs
Data sampled
Local Bus Reference Cycle
LBA
tzrd2
Valid Data
t sd
t zd2
t hd
Valid Data
Figure 3: PCI Read Transaction from Intel-type Local Bus
Data Sheet Revision 1.1 PRELIMINARY
Page 35
OX9162
OXFORD SEMICONDUCTOR LTD.
TIMING WAVEFORMS
CLK
1
2
3
4
5
n+5
n+6
Where: n = 0, 1, .., 9
n+7
FRAME#
AD[31:0]
Address
C/BE[3:0]#
Bus CMD
Data
Byte enable#
Wait
Wait
Data transfer
TRDY#
Wait
Wait
IRDY#
t ref
DEVSEL#
STOP#
LBCLK
t za
t awr
Local Bus Reference Cycle
LBA
LBCS#
LBWR#
tzwcs1
tcswr
Valid Local Bus Address
tzwcs2
twrcs
tzwr2
tzwr1
1
LBD
Valid Local Bus Data
t zdv
LBD
2
Valid Local Bus Data
twrdi
t zdf
Figure 4: PCI Write Transaction to Intel-type Local Bus
Data Sheet Revision 1.1 PRELIMINARY
Page 36
OX9162
OXFORD SEMICONDUCTOR LTD.
TIMING WAVEFORMS
CLK
1
2
3
4
5
n+5
n+6
Where: n = 0, 1, .., 9
n+7
FRAME#
AD[31:0]
Address
C/BE[3:0]#
Bus CMD
Data
Data
Byte enable#
Wait
Wait
Data transfer
TRDY#
Wait
Wait
IRDY#
t ref
DEVSEL#
STOP#
LBCLK
t za
t ads
Valid Local Bus Address
LBRDWR#
LBDS#
LBD
1
LBD
2
tzrds1
tzd1
tdrd
tzrds2
Data sampled
Local Bus Reference Cycle
LBA
Valid Data
t sd
t zd2
t hd
Valid Data
Figure 5: PCI Read Transaction from Motorola-type Local Bus
Data Sheet Revision 1.1 PRELIMINARY
Page 37
OX9162
OXFORD SEMICONDUCTOR LTD.
TIMING WAVEFORMS
CLK
1
2
3
4
5
n+5
n+6
Where: n = 0, 1, .., 9
n+7
FRAME#
AD[31:0]
Address
C/BE[3:0]#
Bus CMD
Data
Byte enable#
Wait
Wait
Data transfer
TRDY#
Wait
Wait
IRDY#
t ref
DEVSEL#
STOP#
LBCLK
t za
t ads
Valid Local Bus Address
Local Bus Reference Cycle
LBA
LBRDWR#
LBDS#
t
t zw2
zw1
t wds
t zwds1
1
LBD
Valid Local Bus Data
t zdv
LBD
t dsw
t zwds2
2
Valid Local Bus Data
tdsdi
t zdf
Figure 6: PCI Write Transaction to Motorola-type Local Bus
Data Sheet Revision 1.1 PRELIMINARY
Page 38
OXFORD SEMICONDUCTOR LTD.
OX9162
12 ERRATA 1 – IMMEDIATE POWER DOWN FILTERING
The OX9162 does not support the IMMEDIATE mode in Power Down Filtering. If this mode is asserted, then a Power Down
Request is issued immediately, regardless of any other settings.
To take advantage of the Power Down mode, place the filter into another mode. Power Down requests will be invoked via the
selected MIO pins, providing the options for these pins have been selected correctly. The Power Down will occur after the user
specified power down filter time.
Data Sheet Revision 1.1 PRELIMINARY
Page 39
OX9162
OXFORD SEMICONDUCTOR LTD.
NOTES
This page has been intentionally left blank
Data Sheet Revision 1.1 PRELIMINARY
Page 40
OXFORD SEMICONDUCTOR LTD.
OX9162
CONTACT DETAILS
Oxford Semiconductor Ltd.
69 Milton Park
Abingdon
Oxfordshire
OX14 4RX
United Kingdom
Telephone:
Fax:
Sales e-mail:
Tech support e-mail:
Web site:
+44 (0)1235 824900
+44 (0)1235 821141
[email protected]
[email protected]
http://www.oxsemi.com
DISCLAIMER
Oxford Semiconductor believes the information contained in this document to be accurate and reliable. However, it is subject to
change without notice. No responsibility is assumed by Oxford Semiconductor for its use, nor for infringement of patents or other
rights of third parties. No part of this publication may be reproduced, or transmitted in any form or by any means without the prior
consent of Oxford Semiconductor Ltd. Oxford Semiconductor’s terms and conditions of sale apply at all times.
Data Sheet Revision 1.1 PRELIMINARY
Page 41