
PC Card Controller Programming Model
85
September 2005
SCPS110
4.21 CardBus I/O Base Registers 0, 1
These registers indicate the lower address of a PCI I/O address range. They are used by the controller to
determine when to forward an I/O transaction to the CardBus bus, and likewise, when to forward a CardBus
cycle to the PCI bus. The lower 16 bits of this register locate the bottom of the I/O window within a 64-Kbyte
page. The upper 16 bits (3116) are all 0000h, which locates this 64-Kbyte page in the first page of the 32-bit
PCI I/O address space. Bits 312 are read/write and always return 0s forcing I/O windows to be aligned on
a natural doubleword boundary in the first 64-Kbyte page of PCI I/O address space. Bits 10 are read-only,
returning 00b or 01b when read, depending on the value of bit 11 (IO_BASE_SEL) in the general control
register (PCI offset 86h, see Section 4.30). These I/O windows are enabled when either the I/O base register
or the I/O limit register is nonzero. The I/O windows by default are not enabled to pass the first doubleword
of I/O to CardBus.
Either the I/O base register or the I/O limit register must be nonzero to enable any I/O transactions.
PCI register offset:
2Ch, 34h
Register type:
Read-only, Read/Write
Default value:
0000 000Xh
BIT NUMBER
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
RESET STATE
0
BIT NUMBER
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
RESET STATE
0
X
4.22 CardBus I/O Limit Registers 0, 1
These registers indicate the upper address of a PCI I/O address range. They are used by the controller to
determine when to forward an I/O transaction to the CardBus bus, and likewise, when to forward a CardBus
cycle to PCI. The lower 16 bits of this register locate the top of the I/O window within a 64-Kbyte page, and
the upper 16 bits are a page register which locates this 64-Kbyte page in 32-bit PCI I/O address space. Bits
152 are read/write and allow the I/O limit address to be located anywhere in the 64-Kbyte page (indicated
by bits 3116 of the appropriate I/O base register) on doubleword boundaries.
Bits 3116 are read-only and always return 0000h when read. The page is set in the I/O base register. Bits
152 are read/write and bits 10 are read-only, returning 00b or 01b when read, depending on the value of
bit 12 (IO_LIMIT_SEL) in the general control register (PCI offset 86h, see Section 4.30). Writes to read-only
bits have no effect.
These I/O windows are enabled when either the I/O base register or the I/O limit register is nonzero. By default,
the I/O windows are not enabled to pass the first doubleword of I/O to CardBus.
Either the I/O base register or the I/O limit register must be nonzero to enable any I/O transactions.
PCI register offset:
30h, 38h
Register type:
Read-only, Read/Write
Default value:
0000 000Xh
BIT NUMBER
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
RESET STATE
0
BIT NUMBER
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
RESET STATE
0
X