Other Parts Discussed in Thread: TPS2223A, , PCI2050B
Tool/software:
We're using the TPS2223A in a design with with the PCI1520. Schematic excerpt for the TPS2223A is below. There is a 2k pull-down on the LATCH signal and a 43k pull-down on the CLOCK signal.
The issues we're seeing are:
- There is no P2C bus activity (CLOCK, DATA, or LATCH) seen at any point during power-up and initialization.
- The TPS2223A always has no output for slot A VCC or VPP, 5.0V for slot B VCC, and no output for slot B VPP independent of whether cards are inserted, the Socket Control Register is updated, etc.
- With a 3.3V card inserted we see the Socket Control Register set to 0x433 by the SW driver but no VCC output
- We attempt to manually set the Socket Control Register to 0x400, 0x433, & 0x422 and see no change in the VCC output state
The PCI configuration space for the device with a 3.3V PCMCIA memory card installed in slot A and no card installed in slot B is shown below:
02:00.0 CardBus bridge: Texas Instruments PCI1520 PC card Cardbus Controller (rev 01)
00: 4c 10 55 ac 07 00 10 02 01 00 07 06 10 a8 82 00
10: 00 00 00 e0 a0 00 00 02 02 03 06 b0 00 10 00 e0
20: 00 10 00 e0 00 20 00 e0 00 20 00 e0 00 00 00 00
30: 00 00 00 00 00 00 00 00 00 00 00 00 20 01 c0 05
40: 78 56 34 12 01 00 00 00 00 00 00 00 00 00 00 00
50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
80: 60 f0 44 28 00 00 00 00 00 00 00 00 02 0d d0 00
90: c0 00 64 60 00 00 00 00 00 00 00 00 00 00 00 00
a0: 01 00 02 7e 00 00 c0 00 1f 08 00 00 0b 00 00 00
b0: 00 00 00 08 00 00 00 00 00 00 00 00 00 00 00 00
c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
02:00.1 CardBus bridge: Texas Instruments PCI1520 PC card Cardbus Controller (rev 01)
00: 4c 10 55 ac 07 00 10 02 01 00 07 06 10 a8 82 00
10: 00 30 00 e0 a0 00 00 02 02 07 0a b0 00 40 00 e0
20: 00 40 00 e0 00 50 00 e0 00 50 00 e0 00 00 00 00
30: 00 00 00 00 00 00 00 00 00 00 00 00 20 01 c0 05
40: 78 56 34 12 01 00 00 00 00 00 00 00 00 00 00 00
50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
80: 60 d0 44 28 00 00 00 00 00 00 00 00 02 0d d0 00
90: c0 00 64 60 00 00 00 00 00 00 00 00 00 00 00 00
a0: 01 00 02 7e 00 00 c0 00 1f 08 00 00 0b 00 00 00
b0: 00 00 00 08 00 00 00 00 00 00 00 00 00 00 00 00
c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
The CardBus Socket Registers for both slots with a 3.3V PCMCIA memory card installed in slot A and no card installed in slot B are shown below. These register contents are after Linux has booted and the yenta driver has attempted to initialize the bridge.
root@dsdts-linux:~# devmem 0xE0000000 32
0x00000000
root@dsdts-linux:~# devmem 0xE0000004 32
0x00000006
root@dsdts-linux:~# devmem 0xE0000008 32
0x30000818
root@dsdts-linux:~# devmem 0xE000000C 32
0x00000000
root@dsdts-linux:~# devmem 0xE0000010 32
0x00000433
root@dsdts-linux:~# devmem 0xE0000020 32
0x00000000
root@dsdts-linux:~# devmem 0xE0003000 32
0x00000000
root@dsdts-linux:~# devmem 0xE0003004 32
0x00000006
root@dsdts-linux:~# devmem 0xE0003008 32
0x300000C6
root@dsdts-linux:~# devmem 0xE000300C 32
0x00000000
root@dsdts-linux:~# devmem 0xE0003010 32
0x00000400
root@dsdts-linux:~# devmem 0xE0003020 32
0x00000000