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.
This commit is contained in:
Warner Losh 2001-07-01 23:41:09 +00:00
parent c799054841
commit 6428acdc74
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=79058

View file

@ -60,67 +60,98 @@ struct pcic_pci_table
int revision; int revision;
} pcic_pci_devs[] = { } pcic_pci_devs[] = {
{ PCI_DEVICE_ID_PCIC_CLPD6729, { 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, { 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, { 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, { 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, { 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, { 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, { 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, { 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, { 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, { 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, { 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, { 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, { 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, { 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, { 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, { 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, { 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, { 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, { 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, { 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, { 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, { 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, { 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, { 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, { 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, { 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, { 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, { 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, { 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, { 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, { PCI_DEVICE_ID_TOSHIBA_TOPIC100,
"Toshiba ToPIC100 PCI-CardBus Bridge" }, "Toshiba ToPIC100 PCI-CardBus Bridge",
PCIC_I82365, PCIC_AB_POWER },
{ 0, NULL, 0, 0 } { 0, NULL, 0, 0 }
}; };
@ -466,7 +497,6 @@ pcic_pci_attach(device_t dev)
sp->controller = itm->type; sp->controller = itm->type;
sp->revision = itm->revision; sp->revision = itm->revision;
sc->flags = itm->flags; sc->flags = itm->flags;
sc->flags = PCIC_AB_POWER;
} else { } else {
/* By default, assume we're a D step compatible */ /* By default, assume we're a D step compatible */
sp->controller = PCIC_I82365SL_DF; sp->controller = PCIC_I82365SL_DF;