
S5335 – PCI Bus Controller, 3.3V
Revision 5.01 – November 30, 2005
Data Sheet
AMCC Confidential and Proprietary
DS1657 161
CONFIGURATION
The S5335 Pass-Thru interface utilizes four Base
Address Registers (BADR1:4). Each Base Address
Register corresponds to a Pass-Thru region. The con-
tents of these registers during initialization determine
the characteristics of that particular Pass-Thru region.
Each region can be mapped to memory or I/O space.
Memory mapped devices can, optionally, be mapped
below 1 Mbyte and can be identified as prefetchable.
Both memory and I/O regions can be configured as 8-,
16-, or 32-bits wide.
The designer has the option to use 1, 2, 3, 4 or none of
the Pass-Thru regions. Base Address Registers are
loaded during initialization from the external non-vola-
tile boot device. Without an external boot device, the
default value for the BADR registers is zero (region
disabled). The Base Address Registers are the only
registers that define Pass-Thru operation.
S5335 Base Address Register Definition
Some bits in the Base Address Registers have specific
functions. The following bits have special functions:
BADR1:4 bits D31:30 are used only by the S5335.
When the host reads the Base Address Registers dur-
ing configuration cycles, they always return the same
value as D29. If D29 is zero, D31:30 return zero, indi-
cating the region is disabled. If D29 is one, D31:30
return one. This operation limits each Pass-Thru
region to a maximum size of 512 Mbytes of memory.
For I/O mapped regions, the PCI specification allows
no more than 256 bytes per region. The S5335 allows
larger regions to be requested by the Add-On, but a
PCI BIOS will not allocate the I/O space and will prob-
ably disable the region.
Creating a Pass-Thru Region
Page 3-40 describes the values that must be pro-
grammed into the non-volatile boot device to request
various block sizes and characteristics for Pass-Thru
regions. After reset, the S5335 downloads the con-
tents of the boot device locations 54h, 58h, 5Ch, and
60h into “masks” for the corresponding Base Address
Registers. The following are some examples for vari-
ous Pass-Thru region definitions:
During the PCI bus configuration, the host CPU writes
all ones to each Base Address Register, and then
reads the contents of the registers back. The mask
downloaded from the boot device determines which
bits are read back as zeros and which are read back
D0
Memory or I/O mapping. If this bit is clear, the
region should be memory mapped. If this bit is
set, the region should be I/O mapped.
D2:1
Location of a memory region. These bits
request that the region be mapped in a particu-
lar part of memory. These bit definitions are
only used for memory mapped regions.
D3
Prefetchable. For memory mapped regions,
the region can be defined as cacheable. If set,
the region is cacheable. If this bit is clear, the
region is not.
D31:30
Pass-Thru region bus width. These two bits are
used by the S5335 to define the data bus width
for a Pass-Thru region. Regardless of the pro-
gramming of other bits in the BADR register, if
D31:30 are zeros, the Pass-Thru region is dis-
abled.
D2
D1
Location
0
0
Anywhere in 32-bit memory space
0
1
Below 1 Mbyte in memory space (Real Mode
address space)
1
0
Anywhere in 64-bit memory space (not valid
for the S5335)
1
1
Reserved
D31
D30
Add-On Bus Width
0
0
Region disabled
0
1
8-bits
1
0
16-bits
1
1
32-bits
NV Memory
Contents
Pass-Thru Region Definition
54h = BFFFF002h
Pass-Thru region 1 is a 4Kbyte
region, mapped below 1 Mbyte in
memory space with a 16-bit Add-On
data bus. This memory region is not
cacheable.
58h = 3xxxxxxxh
Pass-Thru region 2 is disabled.
(D31:30 = 00.)
60h = FFFFFF81h
Pass-Thru region 3 is a 32-bit, 128
byte I/O-mapped region.
64h = 00000000h
Pass-Thru region 4 is disabled.