BCM1250/BCM1125/BCM1125H
User Manual
10/21/02
B r o a d c o m C o r p o r a t i o n
Page
202
Section 8: PCI Bus and HyperTransport Fabric
Document
1250_1125-UM100CB-R
B
IG
E
NDIAN
S
YSTEM
: M
ATCH
B
YTE
L
ANES
The match byte lanes endian policy will match the byte lanes of 32 bit values on either side of the interface.
This preserves the memory address ordering between the ZBbus and PCI or HyperTransport. However, it will
scramble the bit ordering. Consequently a 32 bit value that is written into a PCI register from the CPU will have
a different interpretation.
The policy is illustrated in the
. This is similar to
, except that from the CPU the
mapping from bytes of the double-word onto addresses is reversed. When the data is passed to the PCI/
HyperTransport the address order is maintained and the low two address bits directly set the PCI byte enables.
The little endian nature of the PCI is exposed to the processor. If a value is stored from a CPU register into a
peripheral device register its bytes will be reversed.
Figure 39: Match Byte Lane Endian Policy
If a sequence of bytes is moved through the interface the address of each byte is maintained, so the order of
the sequence is maintained between the PCI or HyperTransport device and memory. Therefore this is the
correct endian policy to use for most DMA transfers.
This policy is also the correct one to use for configuration and control register accesses if the software is written
to explicitly endian swap the values in big-endian systems. However, since most drivers will be ported from
little endian systems they are unlikely to have the endian swap code. It will normally be better to avoid the
software overhead and use the match bits policy for control functions.
A B
63 56 55
C D
48 47
E F
G H
4039 32 31 24 23 16 15
8 7
0
BYTE Address [2:0]
000 001 010 011 100 101 110 111
D C
B A
31
24 23 16 15
8 7
0
H G
F E
31
24 23 16 15
8 7
0
PCI Bus
A [2] = 0
PCI Bus
A [2] = 1
PCI Byte Enables
BE#[3] BE#[2] BE#[1] BE#[0]