diff options
author | Mark Brown <broonie@sirena.org.uk> | 2007-02-19 15:15:40 -0500 |
---|---|---|
committer | Jeff Garzik <jeff@garzik.org> | 2007-02-20 11:18:13 -0500 |
commit | 6aab44475a1355365f0a24abe6f8eb32185a701e (patch) | |
tree | 084fab50438559617142445b80059d901fc81cb8 /drivers/net/natsemi.c | |
parent | 68c90166e4aaa15ddcdd4778ad30bfb8b32534be (diff) |
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: Mark Brown <broonie@sirena.org.uk>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Diffstat (limited to 'drivers/net/natsemi.c')
-rw-r--r-- | drivers/net/natsemi.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/drivers/net/natsemi.c b/drivers/net/natsemi.c index 4e21f5510b90..adf29dd66798 100644 --- a/drivers/net/natsemi.c +++ b/drivers/net/natsemi.c | |||
@@ -244,6 +244,9 @@ enum { | |||
244 | MII_EN_SCRM = 0x0004, /* enable scrambler (tp) */ | 244 | MII_EN_SCRM = 0x0004, /* enable scrambler (tp) */ |
245 | }; | 245 | }; |
246 | 246 | ||
247 | enum { | ||
248 | NATSEMI_FLAG_IGNORE_PHY = 0x1, | ||
249 | }; | ||
247 | 250 | ||
248 | /* array of board data directly indexed by pci_tbl[x].driver_data */ | 251 | /* array of board data directly indexed by pci_tbl[x].driver_data */ |
249 | static const struct { | 252 | static const struct { |
@@ -251,10 +254,12 @@ static const struct { | |||
251 | unsigned long flags; | 254 | unsigned long flags; |
252 | unsigned int eeprom_size; | 255 | unsigned int eeprom_size; |
253 | } natsemi_pci_info[] __devinitdata = { | 256 | } natsemi_pci_info[] __devinitdata = { |
257 | { "Aculab E1/T1 PMXc cPCI carrier card", NATSEMI_FLAG_IGNORE_PHY, 128 }, | ||
254 | { "NatSemi DP8381[56]", 0, 24 }, | 258 | { "NatSemi DP8381[56]", 0, 24 }, |
255 | }; | 259 | }; |
256 | 260 | ||
257 | static const struct pci_device_id natsemi_pci_tbl[] __devinitdata = { | 261 | static const struct pci_device_id natsemi_pci_tbl[] __devinitdata = { |
262 | { PCI_VENDOR_ID_NS, 0x0020, 0x12d9, 0x000c, 0, 0, 0 }, | ||
258 | { PCI_VENDOR_ID_NS, 0x0020, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 }, | 263 | { PCI_VENDOR_ID_NS, 0x0020, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 }, |
259 | { } /* terminate list */ | 264 | { } /* terminate list */ |
260 | }; | 265 | }; |
@@ -811,7 +816,10 @@ static int __devinit natsemi_probe1 (struct pci_dev *pdev, | |||
811 | np->hands_off = 0; | 816 | np->hands_off = 0; |
812 | np->intr_status = 0; | 817 | np->intr_status = 0; |
813 | np->eeprom_size = natsemi_pci_info[chip_idx].eeprom_size; | 818 | np->eeprom_size = natsemi_pci_info[chip_idx].eeprom_size; |
814 | np->ignore_phy = 0; | 819 | if (natsemi_pci_info[chip_idx].flags & NATSEMI_FLAG_IGNORE_PHY) |
820 | np->ignore_phy = 1; | ||
821 | else | ||
822 | np->ignore_phy = 0; | ||
815 | 823 | ||
816 | /* Initial port: | 824 | /* Initial port: |
817 | * - If configured to ignore the PHY set up for external. | 825 | * - If configured to ignore the PHY set up for external. |