s5935qrc Applied Micro Circuits Corporation (AMCC), s5935qrc Datasheet - Page 49

no-image

s5935qrc

Manufacturer Part Number
s5935qrc
Description
Pci Product
Manufacturer
Applied Micro Circuits Corporation (AMCC)
Datasheet

Available stocks

Company
Part Number
Manufacturer
Quantity
Price
Part Number:
S5935QRC
Manufacturer:
TECCOR
Quantity:
12 000
S5935 – PCI Product
BASE ADDRESS REGISTERS (BADR)
The base address registers provide a mechanism for
assigning memory or I/O space for the Add-On func-
tion. The actual location(s) the Add-On function is to
respond to is determined by first interrogating these
registers to ascertain the size or space desired, and
then writing the high-order field of each register to
place it physically in the system’s address space. Bit
zero of each field is used to select whether the space
required is to be decoded as memory (bit 0 = 0) or I/O
(bit 0 = 1). Since this PCI controller has 16 DWORDs
of internal operating registers, the Base Address Reg-
ister at offset 10h is assigned to them. The remaining
five base address registers can only be used by boot-
loading them from the external nvRAM interface.
Figure 18. Base Address Register — Memory
Base Address Register — I/O
AMCC Confidential and Proprietary
Register Name
Address Offset
Power-up value
Boot-load
Attribute
Size
See page 3-157
31 30 29
31
Base Address
00000000h for all others
58h, 5Ch, 60h (BADR0-4)
Only
10h, 14h, 18h, 1Ch, 20h, 24h
FFFFFFC1h for offset 10h;
External nvRAM offset 050h, 54h,
high bits Read/Write; low bits Read
32 bits
4
3
X
X
BADR5 register is not implemented and will return all
0’s.
Determining Base Address Size
The address space defined by a given base address
register is determined by writing all 1s to a given base
address register from the PCI bus and then reading
that register back. The number of 0s returned starting
from D4 for memory space and D2 for I/O space
toward the high-order bits reveals the amount of
address space desired. Tables 23 and 24 list the pos-
sible returned values and their corresponding size for
both memory and I/O, respectively. Included in the
table are the nvRAM/EPROM boot values which corre-
spond to a given assigned size. A register returning all
zeros is disabled.
Assigning the Base Address
After a base address has been sized as described in
the preceding paragraph, the region associated with
that base address register (the high order one bits)
can physically locate it in memory (or I/O) space. For
example, the first base address register returns
FFFFFFC1h indicating an I/O space (D0=1) and is
then written with the value 00000300h. This means
that the controller’s internal registers can be selected
for I/O addresses between 00000300h through
0000033Fh, in this example. The base address value
must be on a natural binary boundary for the required
size (example 300h, 340h, 380h etc.; 338h would not
be allowable).
2
2
1
X
1
0
X
0
X
0
Revision 1.02 – June 27, 2006
Bit
Value
Memory Space
Indicator (RO)
Type (RO)
Prefetchable (RO)
Programmable (R/W)
00-locate anywhere (32)
01-below 1 MB
10-locate anywhere (64)
11-reserved
Value
I/O Space
Indicator (RO)
Reserved (RO)
Programmable (R/W)
Bit
0 = Memory
1 = I/O
Data Book
DS1527
49

Related parts for s5935qrc