![](http://datasheet.mmic.net.cn/110000/GT-96100A_datasheet_3491740/GT-96100A_478.png)
GT-96100A Advanced Communication Controller
478
Revision 1.0
30. REGISTER TABLES
The GT-96100A’s internal registers are accessed by the CPU or from the PCI bus.
The registers are memory-mapped for the CPU and memory- or I/O-mapped for the PCI.
The registers’ address is comprised of the value in the Internal Space Decode register and the register Offset. The
value in the Internal Space Decode register [14:0] is matched against bits [35:21] of the actual address; therefore,
this value must be the actual address bits [35:21] shifted right once.
For example, to access “Channel 0 DMA Byte Count” register (offset 0x800) immediately after Reset:
The full address is the default value in the Internal Space Decode register;
this value is 0x0a0 shifted left once, which gives 0x140, two zero’s and the offset 0x800, to become a
32-bit address of 0x14000800.
The location of the registers in the memory space can be changed by changing the value programmed into the
Internal Space Decode register. For example, after changing the value in the Internal Space Decode register by
writing to 0x14000068 a value of 0bd, an access to the “Channel 0 DMA Byte Count” register is with
0x17a00800.
When writing to the internal registers from the PCI with Byte Enable = 0xF, the write is ignored (as per PCI spec-
ifications).
If a write occurs to the following registers with at least one CBE* pin asserted, the entire 32-bit word is written:
CPU Interface
Processor Address Space Decoders
Device Address Space Decoders
All SDRAM and Device registers
All DMA registers
All Communication unit registers
Timer/Counter
The following internal registers are CBE* sensitive:
PCI Internal registers
PCI Configuration registers
Interrupt Registers
30.1
Access to On-Chip PCI Configuration Space Registers
An access from the CPU to one of the GT-96100A PCI configuration registers is performed differently than
accesses to all other registers. The access is performed indirectly by writing the PCI configuration register offset
into the Configuration Address register and then reading, or writing, the data from/to the Configuration Data reg-
ister.
For example, to read data from the Status and Command register, the register offset “0x004” is written into the
Configuration Address register, offset 0xcf8 (or full address from the previous example 0xbd000cf8). Then, read-
ing from the Configuration Data register (offset 0xcfc), returns the data of the Status and Command register.