bridges behind cardbus bridges
Julia Elbert
jelbert at magma.com
Fri Mar 12 18:10:29 GMT 2004
Hello,
I am working on running pci cards behind the cardbus bridge, and 2 dec
bridges.
To get cards with IO Space to work, like the ethernet 10/100 pro
I had to map the dec bridges IO space inside the cardbus io space
by default the pci setup-res.c maps the IO outside the range because of
alignment issues. I forced it inside the total cardbus IO range and was
able to load my ethernet card and surf the net. We do this under Windows
as well and it works.
I have listed the results below. But my question is do I right a patch
for setup-res.c, and possibly other files in drivers/pci/?
Or, do I write a program to do this that runs at boot?
Basically, I would read the cardbus bridge IO window, take the bottom,
lower value and make sure it was on a 4k boundary, like 0x4000 and set
my bridge windows and below from 0x4000 to 0x4fff.
The memory stuff already works, I just enable the windows.
Kernel changes or application?
Sorry, don't quite know the formal stuff.
I am using kernel 2.6.1.
Thanks so much.
--Julia
00:0a.0 CardBus bridge: Texas Instruments PCI1225 (rev 01)
Subsystem: Hewlett-Packard Company: Unknown device 000e
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop-
ParErr- Stepping- SERR- FastB2B-
Status: Cap+ 66Mhz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort-
<TAbort- <MAbort- >SERR- <PERR-
Latency: 168, cache line size 10
Interrupt: pin A routed to IRQ 10
Region 0: Memory at 10000000 (32-bit, non-prefetchable)
[size=4K]
Bus: primary=00, secondary=02, subordinate=05, sec-latency=248
Memory window 0: 10400000-107ff000 (prefetchable)
Memory window 1: 10800000-10bff000
I/O window 0: 00004000-000040ff
I/O window 1: 00004400-000044ff
BridgeCtl: Parity- SERR- ISA- VGA- MAbort- >Reset- 16bInt-
PostWrite+
16-bit legacy interface ports at 0001
02:00.0 PCI bridge: Digital Equipment Corporation DECchip 21150 (rev 06)
(prog-if 00 [Normal decode])
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop-
ParErr- Stepping- SERR- FastB2B-
Status: Cap+ 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort-
<TAbort- <MAbort- >SERR- <PERR-
Latency: 248, cache line size 10
Bus: primary=02, secondary=03, subordinate=04, sec-latency=248
I/O behind bridge: 00004000-00004fff
Memory behind bridge: 10800000-10bfffff
Prefetchable memory behind bridge:
0000000010400000-0000000010700000
BridgeCtl: Parity- SERR- NoISA+ VGA- MAbort- >Reset- FastB2B-
Capabilities: [dc] Power Management version 1
Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA
PME(D0-,D1-,D2-,D3hot-,D3cold-)
Status: D0 PME-Enable- DSel=0 DScale=0 PME-
Bridge: PM- B3+
03:04.0 PCI bridge: Digital Equipment Corporation DECchip 21150 (rev 06)
(prog-if 00 [Normal decode])
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop-
ParErr- Stepping- SERR- FastB2B-
Status: Cap+ 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort-
<TAbort- <MAbort- >SERR- <PERR-
Latency: 248, cache line size 10
Bus: primary=03, secondary=04, subordinate=04, sec-latency=248
I/O behind bridge: 00004000-00004fff
Memory behind bridge: 10800000-10bfffff
Prefetchable memory behind bridge:
0000000010400000-0000000010700000
BridgeCtl: Parity- SERR- NoISA+ VGA- MAbort- >Reset- FastB2B-
Capabilities: [dc] Power Management version 1
Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA
PME(D0-,D1-,D2-,D3hot-,D3cold-)
Status: D0 PME-Enable- DSel=0 DScale=0 PME-
Bridge: PM- B3+
04:06.0 Ethernet controller: Intel Corp. 82557/8/9 [Ethernet Pro 100]
(rev 08)
Subsystem: Intel Corp. EtherExpress PRO/100+ Management Adapter
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV+ VGASnoop-
ParErr- Stepping- SERR- FastB2B-
Status: Cap+ 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort-
<TAbort- <MAbort- >SERR- <PERR-
Latency: 248 (2000ns min, 14000ns max), cache line size 10
Interrupt: pin A routed to IRQ 10
Region 0: Memory at 10900000 (32-bit, non-prefetchable)
[size=4K]
Region 1: I/O ports at 4000 [size=64]
Region 2: Memory at 10800000 (32-bit, non-prefetchable)
[size=1M]
Expansion ROM at 10400000 [disabled] [size=1M]
Capabilities: [dc] Power Management version 2
Flags: PMEClk- DSI+ D1+ D2+ AuxCurrent=0mA
PME(D0+,D1+,D2+,D3hot+,D3cold+)
Status: D0 PME-Enable- DSel=0 DScale=2 PME-
More information about the linux-pcmcia
mailing list