summaryrefslogtreecommitdiffstats
path: root/sys/pccard
diff options
context:
space:
mode:
authorimp <imp@FreeBSD.org>2001-07-01 23:41:09 +0000
committerimp <imp@FreeBSD.org>2001-07-01 23:41:09 +0000
commitae6d28ac1550ca74c27e50bc539a87a30ba4bfbe (patch)
tree8d967e635fbe717871aa02b1d63dece24bc32f08 /sys/pccard
parent1233b006a4263baac92b3125a3835ac4f96fa96a (diff)
downloadFreeBSD-src-ae6d28ac1550ca74c27e50bc539a87a30ba4bfbe.zip
FreeBSD-src-ae6d28ac1550ca74c27e50bc539a87a30ba4bfbe.tar.gz
First cut at getting the pcic controller and power information for
each of the bridge chips. Before we wrongly assumes that all cardbus bridge chips were intel compatible step A/B. This mostly worked, but likely caused problems with certain cirrus logic cardbus bridges.
Diffstat (limited to 'sys/pccard')
-rw-r--r--sys/pccard/pcic_pci.c94
1 files changed, 62 insertions, 32 deletions
diff --git a/sys/pccard/pcic_pci.c b/sys/pccard/pcic_pci.c
index cddb574..666d014 100644
--- a/sys/pccard/pcic_pci.c
+++ b/sys/pccard/pcic_pci.c
@@ -60,67 +60,98 @@ struct pcic_pci_table
int revision;
} pcic_pci_devs[] = {
{ PCI_DEVICE_ID_PCIC_CLPD6729,
- "Cirrus Logic PD6729/6730 PC-Card Controller" },
+ "Cirrus Logic PD6729/6730 PC-Card Controller",
+ PCIC_PD672X, PCIC_PD_POWER },
{ PCI_DEVICE_ID_PCIC_CLPD6832,
- "Cirrus Logic PD6832 PCI-CardBus Bridge" },
+ "Cirrus Logic PD6832 PCI-CardBus Bridge",
+ PCIC_PD672X, PCIC_PD_POWER },
{ PCI_DEVICE_ID_PCIC_CLPD6833,
- "Cirrus Logic PD6833 PCI-CardBus Bridge" },
+ "Cirrus Logic PD6833 PCI-CardBus Bridge",
+ PCIC_PD672X, PCIC_PD_POWER },
{ PCI_DEVICE_ID_PCIC_OZ6729,
- "O2micro OZ6729 PC-Card Bridge" },
+ "O2micro OZ6729 PC-Card Bridge",
+ PCIC_I82365, PCIC_AB_POWER },
{ PCI_DEVICE_ID_PCIC_OZ6730,
- "O2micro OZ6730 PC-Card Bridge" },
+ "O2micro OZ6730 PC-Card Bridge",
+ PCIC_I82365, PCIC_AB_POWER },
{ PCI_DEVICE_ID_PCIC_OZ6832,
- "O2micro 6832/6833 PCI-Cardbus Bridge" },
+ "O2micro 6832/6833 PCI-Cardbus Bridge",
+ PCIC_I82365, PCIC_AB_POWER },
{ PCI_DEVICE_ID_PCIC_OZ6860,
- "O2micro 6860/6836 PCI-Cardbus Bridge" },
+ "O2micro 6860/6836 PCI-Cardbus Bridge",
+ PCIC_I82365, PCIC_AB_POWER },
{ PCI_DEVICE_ID_PCIC_OZ6872,
- "O2micro 6812/6872 PCI-Cardbus Bridge" },
+ "O2micro 6812/6872 PCI-Cardbus Bridge",
+ PCIC_I82365, PCIC_AB_POWER },
{ PCI_DEVICE_ID_RICOH_RL5C465,
- "Ricoh RL5C465 PCI-CardBus Bridge" },
+ "Ricoh RL5C465 PCI-CardBus Bridge",
+ PCIC_RF5C296, PCIC_RICOH_POWER },
{ PCI_DEVICE_ID_RICOH_RL5C475,
- "Ricoh RL5C475 PCI-CardBus Bridge" },
+ "Ricoh RL5C475 PCI-CardBus Bridge",
+ PCIC_RF5C296, PCIC_RICOH_POWER },
{ PCI_DEVICE_ID_RICOH_RL5C476,
- "Ricoh RL5C476 PCI-CardBus Bridge" },
+ "Ricoh RL5C476 PCI-CardBus Bridge",
+ PCIC_RF5C296, PCIC_RICOH_POWER },
{ PCI_DEVICE_ID_RICOH_RL5C477,
- "Ricoh RL5C477 PCI-CardBus Bridge" },
+ "Ricoh RL5C477 PCI-CardBus Bridge",
+ PCIC_RF5C296, PCIC_RICOH_POWER },
{ PCI_DEVICE_ID_RICOH_RL5C478,
- "Ricoh RL5C478 PCI-CardBus Bridge" },
+ "Ricoh RL5C478 PCI-CardBus Bridge",
+ PCIC_RF5C296, PCIC_RICOH_POWER },
{ PCI_DEVICE_ID_PCIC_TI1031,
- "TI PCI-1031 PCI-PCMCIA Bridge" },
+ "TI PCI-1031 PCI-PCMCIA Bridge",
+ PCIC_I82365SL_DF, PCIC_DF_POWER },
{ PCI_DEVICE_ID_PCIC_TI1130,
- "TI PCI-1130 PCI-CardBus Bridge" },
+ "TI PCI-1130 PCI-CardBus Bridge",
+ PCIC_I82365SL_DF, PCIC_DF_POWER },
{ PCI_DEVICE_ID_PCIC_TI1131,
- "TI PCI-1131 PCI-CardBus Bridge" },
+ "TI PCI-1131 PCI-CardBus Bridge",
+ PCIC_I82365SL_DF, PCIC_DF_POWER },
{ PCI_DEVICE_ID_PCIC_TI1211,
- "TI PCI-1211 PCI-CardBus Bridge" },
+ "TI PCI-1211 PCI-CardBus Bridge",
+ PCIC_I82365SL_DF, PCIC_DF_POWER },
{ PCI_DEVICE_ID_PCIC_TI1220,
- "TI PCI-1220 PCI-CardBus Bridge" },
+ "TI PCI-1220 PCI-CardBus Bridge",
+ PCIC_I82365SL_DF, PCIC_DF_POWER },
{ PCI_DEVICE_ID_PCIC_TI1221,
- "TI PCI-1221 PCI-CardBus Bridge" },
+ "TI PCI-1221 PCI-CardBus Bridge",
+ PCIC_I82365SL_DF, PCIC_DF_POWER },
{ PCI_DEVICE_ID_PCIC_TI1225,
- "TI PCI-1225 PCI-CardBus Bridge" },
+ "TI PCI-1225 PCI-CardBus Bridge",
+ PCIC_I82365SL_DF, PCIC_DF_POWER },
{ PCI_DEVICE_ID_PCIC_TI1250,
- "TI PCI-1250 PCI-CardBus Bridge" },
+ "TI PCI-1250 PCI-CardBus Bridge",
+ PCIC_I82365SL_DF, PCIC_DF_POWER },
{ PCI_DEVICE_ID_PCIC_TI1251,
- "TI PCI-1251 PCI-CardBus Bridge" },
+ "TI PCI-1251 PCI-CardBus Bridge",
+ PCIC_I82365SL_DF, PCIC_DF_POWER },
{ PCI_DEVICE_ID_PCIC_TI1251B,
- "TI PCI-1251B PCI-CardBus Bridge" },
+ "TI PCI-1251B PCI-CardBus Bridge",
+ PCIC_I82365SL_DF, PCIC_DF_POWER },
{ PCI_DEVICE_ID_PCIC_TI1410,
- "TI PCI-1410 PCI-CardBus Bridge" },
+ "TI PCI-1410 PCI-CardBus Bridge",
+ PCIC_I82365SL_DF, PCIC_DF_POWER },
{ PCI_DEVICE_ID_PCIC_TI1420,
- "TI PCI-1420 PCI-CardBus Bridge" },
+ "TI PCI-1420 PCI-CardBus Bridge",
+ PCIC_I82365SL_DF, PCIC_DF_POWER },
{ PCI_DEVICE_ID_PCIC_TI1450,
- "TI PCI-1450 PCI-CardBus Bridge" },
+ "TI PCI-1450 PCI-CardBus Bridge",
+ PCIC_I82365SL_DF, PCIC_DF_POWER },
{ PCI_DEVICE_ID_PCIC_TI1451,
- "TI PCI-1451 PCI-CardBus Bridge" },
+ "TI PCI-1451 PCI-CardBus Bridge",
+ PCIC_I82365SL_DF, PCIC_DF_POWER },
{ PCI_DEVICE_ID_PCIC_TI4451,
- "TI PCI-4451 PCI-CardBus Bridge" },
+ "TI PCI-4451 PCI-CardBus Bridge",
+ PCIC_I82365SL_DF, PCIC_DF_POWER },
{ PCI_DEVICE_ID_TOSHIBA_TOPIC95,
- "Toshiba ToPIC95 PCI-CardBus Bridge" },
+ "Toshiba ToPIC95 PCI-CardBus Bridge",
+ PCIC_I82365, PCIC_AB_POWER },
{ PCI_DEVICE_ID_TOSHIBA_TOPIC97,
- "Toshiba ToPIC97 PCI-CardBus Bridge" },
+ "Toshiba ToPIC97 PCI-CardBus Bridge",
+ PCIC_I82365, PCIC_AB_POWER },
{ PCI_DEVICE_ID_TOSHIBA_TOPIC100,
- "Toshiba ToPIC100 PCI-CardBus Bridge" },
+ "Toshiba ToPIC100 PCI-CardBus Bridge",
+ PCIC_I82365, PCIC_AB_POWER },
{ 0, NULL, 0, 0 }
};
@@ -466,7 +497,6 @@ pcic_pci_attach(device_t dev)
sp->controller = itm->type;
sp->revision = itm->revision;
sc->flags = itm->flags;
- sc->flags = PCIC_AB_POWER;
} else {
/* By default, assume we're a D step compatible */
sp->controller = PCIC_I82365SL_DF;
OpenPOWER on IntegriCloud