Commit 6aab4447 authored by Mark Brown's avatar Mark Brown Committed by Jeff Garzik

natsemi: Support Aculab E1/T1 PMXc cPCI carrier cards

Aculab E1/T1 PMXc cPCI carrier card cards present a natsemi on the cPCI
bus with an oversized EEPROM using a direct MII<->MII connection with no
PHY.  This patch adds a new device table entry supporting these cards.
Signed-Off-By: default avatarMark Brown <broonie@sirena.org.uk>
Signed-off-by: default avatarJeff Garzik <jeff@garzik.org>
parent 68c90166
...@@ -244,6 +244,9 @@ enum { ...@@ -244,6 +244,9 @@ enum {
MII_EN_SCRM = 0x0004, /* enable scrambler (tp) */ MII_EN_SCRM = 0x0004, /* enable scrambler (tp) */
}; };
enum {
NATSEMI_FLAG_IGNORE_PHY = 0x1,
};
/* array of board data directly indexed by pci_tbl[x].driver_data */ /* array of board data directly indexed by pci_tbl[x].driver_data */
static const struct { static const struct {
...@@ -251,10 +254,12 @@ static const struct { ...@@ -251,10 +254,12 @@ static const struct {
unsigned long flags; unsigned long flags;
unsigned int eeprom_size; unsigned int eeprom_size;
} natsemi_pci_info[] __devinitdata = { } natsemi_pci_info[] __devinitdata = {
{ "Aculab E1/T1 PMXc cPCI carrier card", NATSEMI_FLAG_IGNORE_PHY, 128 },
{ "NatSemi DP8381[56]", 0, 24 }, { "NatSemi DP8381[56]", 0, 24 },
}; };
static const struct pci_device_id natsemi_pci_tbl[] __devinitdata = { static const struct pci_device_id natsemi_pci_tbl[] __devinitdata = {
{ PCI_VENDOR_ID_NS, 0x0020, 0x12d9, 0x000c, 0, 0, 0 },
{ PCI_VENDOR_ID_NS, 0x0020, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 }, { PCI_VENDOR_ID_NS, 0x0020, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 },
{ } /* terminate list */ { } /* terminate list */
}; };
...@@ -811,7 +816,10 @@ static int __devinit natsemi_probe1 (struct pci_dev *pdev, ...@@ -811,7 +816,10 @@ static int __devinit natsemi_probe1 (struct pci_dev *pdev,
np->hands_off = 0; np->hands_off = 0;
np->intr_status = 0; np->intr_status = 0;
np->eeprom_size = natsemi_pci_info[chip_idx].eeprom_size; np->eeprom_size = natsemi_pci_info[chip_idx].eeprom_size;
np->ignore_phy = 0; if (natsemi_pci_info[chip_idx].flags & NATSEMI_FLAG_IGNORE_PHY)
np->ignore_phy = 1;
else
np->ignore_phy = 0;
/* Initial port: /* Initial port:
* - If configured to ignore the PHY set up for external. * - If configured to ignore the PHY set up for external.
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment