![](http://datasheet.mmic.net.cn/110000/GT-64111_datasheet_3491739/GT-64111_28.png)
GT-64111 System Controller for RC4640, RM523X and VR4300 CPUs
28
Revision 1.0
4.2
PCI Side Decoding Process
Decoding on the PCI side starts with the PCI address being compared with the values in the various Base Address
Registers. For example, the RAS[1:0] Base Address Register sets the PCI base address range in which the Ras0* and
Ras1* signals are active (i.e. where DRAM banks 0 and 1 are located in PCI space.)
The size of the “window” in PCI space for each Base Address Register is set by the Bank Size registers for each Base
Address Register. The bank size sets which address bits are significant for the comparison between the active PCI
address and the values in the Base Address Registers (see Figure 8).
Figure 8: Bank Size Register Function Example (16Meg Decode)
The comparison works as follows:
Bits 31:N of the PCI address are compared against bits 31:N in the various Base Address Registers (BAR).
These values much match exactly. The value of ‘N’ is set by the least significant bit with a ‘0’ in the Bank Size
Registers (for example, ‘N’ would be equal to 24 in the example shown in Figure 8, above.)
If all of the above is true, then the resource group is selected and a subdecode is perfomed to determine the
specific resource.
Once a resource group has been decoded by a BAR, it must be subdecoded to determine which physical device
should be accessed within that group. This decoding is controlled by the Device Low and High decode registers.
Note
that these registers are the same ones used for CPU/Local Master-side decoding. This means that the PCI and SysAD
memory maps are coupled at the device decoders. Address bits 27:20 (the bits compared by the Device decoders) for
any given device overlap in both the PCI and SysAD maps.
The sub-decoding comparison works as follows:
Bits 27:20 of the PCI address are then compared against bits the relevant device Low decode registers. The
value of the PCI address bits must be greater than or equal to the Low decode value. This sets the lower
boundary for the sub-decode region.
Bits 27:20 of the PCI address are then compared against the relevantbdevice High decode registers. The
value of the PCI address bits must be less than or equal to this value. This sets the upper bound for the sub-
decode region.
If all of the above are true, then the specific device is selected and an access to that device is performed.
Note that the coupling of the SysAD, PCI, and device memory maps requires special attention for designers of PC Plug
and Play adapters. Please see Galileo’s apnote for this application on our website.
4.3
Disabling the Device Decoders
Any Device sub-decoder can be disabled by setting the value of the “Low” decoder to be higher than the “High”
decoder.
4.4
DMA Unit Address Decoding
The DMA controller uses the address mapping of the CPU/Local Master interface when accessing the device/DRAM
bus. The DMA Unit can access the PCI bus independent of the CPU/Local Master-side PCI bridge decoders on the
GT-64011 and GT-64060 devices only (see DMA section.)
0
1
31
30
29
28
27
26
25
24
23
22
21
20
1
Bank Size Reg
PCI Address
Bits
1
19
18
17
16
15
14
13
12
1
=
x
'=' means must match exactly
'x' means don't care
Comparison
against PCI
address