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]"