Re: Texas Instruments cardbus bridge issue (PCI ID 104c:8031)

"M. Warner Losh" <[email protected]>
Newsgroups gmane.os.freebsd.devel.mobile
Message-ID <[email protected]>
I think that your problem is due to the way that FreeBSD numbers, or
doesn't number PCI busses.  You have the right symptom set: 16-bit
cards work great, 32-bit cards not at all.

cbb_pcic_socket_disable
# I insert and remove the D-Link G650 Cardbus card a couple of times:
Status is 0x30000920
cbb0: card inserted: event=0x00000000, state=30000920
cbb0: cbb_power: 3V
cbb0: cbb_power: 0V

pcib2: <MPTable PCI-PCI bridge> at device 20.4 on pci0
pcib2:   secondary bus     5
pcib2:   subordinate bus   5
pcib2:   I/O decode        0xa000-0xafff
pcib2:   memory decode     0xd0200000-0xd02fffff
pcib2:   prefetched decode 0xfff00000-0xfffff
pcib2:   Subtractively decoded bridge.
pci5: <PCI bus> on pcib2
cbb0: <PCI-CardBus Bridge> at device 9.0 on pci5

Notice that the subordinate bus number == 5.  There's no way to get
the config cycles to the cardbus bus.  FreeBSD needs to renumber the
'5' there to some larger value  The cbb bridge says:

  0x10: 0xd0208000 0x020000a0 0x20070605 0xfffff000

which says that the CardBus will be pci bus 6 and it can have 1 child
pci bus 7.

Try using pciconf to change pcib2's subordinate bus register to 7:

pciconf -wb pci0:20:4 0x1a 7

This is, at best, a workaround until I can get the bus numbering code
working.  My laptops don't have this problem.  Maybe I need to buy a
new laptop.  Maybe one with Express Card :-)

Warner


_______________________________________________
[email protected] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-mobile
To unsubscribe, send any mail to "[email protected]"
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.