TCP201 User Manual Issue 1.4
Page 20 of 35
3.5 Big / Little Endian Mode setting
The PCI target chip of the TCP201, the PCI9030 can be set to convert to Big Endian data ordering
on the local bus. This is useful for IP modules that use Big Endian byte ordering. Big Endian byte
ordering is the convention used in the Motorola 68000 microprocessor family and is the VMEbus
convention.
Changing Local Space 0, 1 or 2 to Big Endian mode results in swapped data lines of the local bus:
A 32 bit access is separated by the PCI9030 into two local 16 bit accesses. Byte lane 0 and 1 are
swapped, and byte lane 2 and 3 are swapped.
During 16 bit access, the upper and lower bytes are displayed in reverse order.
During 8 bit access odd and even addresses are swapped. To access Address 0x00, the Address
0x01 must be used. An access to Address 0x01 is done by Address 0x00.
Figure 3-8 : PCI to Local Byte lane swapping
The local Endian mode of the PCI9030 can be changed for each local space separately. This is
done by changing the value of bit 24 in the corresponding Bus Region Descriptor Register:
To change local Space 0, that provides access to the local control and status registers, from Little
Endian to Big Endian mode, write 0xD5 to PCI BAR0 + 0x2B.
To change local Space 1, that provides access to IP I/O- ID and INT- Space, from Little Endian to
Big Endian mode, write 0x15 to PCI BAR0 + 0x2F.
To change local Space 2, that provides access to the IP MEM-Space (16 bit port), from Little
Endian to Big Endian mode, write 0x15 to PCI BAR0 + 0x33.
Changing local Space 3 from Little Endian to Big Endian mode has no effect, because this space
has only an 8 bit port.