diff options
Diffstat (limited to 'drivers/net/tulip')
-rw-r--r-- | drivers/net/tulip/eeprom.c | 16 | ||||
-rw-r--r-- | drivers/net/tulip/media.c | 3 | ||||
-rw-r--r-- | drivers/net/tulip/tulip_core.c | 4 |
3 files changed, 21 insertions, 2 deletions
diff --git a/drivers/net/tulip/eeprom.c b/drivers/net/tulip/eeprom.c index ac5bf49ff60f..fbd9ab60b052 100644 --- a/drivers/net/tulip/eeprom.c +++ b/drivers/net/tulip/eeprom.c | |||
@@ -63,6 +63,22 @@ static struct eeprom_fixup eeprom_fixups[] __devinitdata = { | |||
63 | */ | 63 | */ |
64 | { 0x1e00, 0x0000, 0x000b, 0x8f01, 0x0103, 0x0300, 0x0821, 0x000, 0x0001, 0x0000, 0x01e1 } | 64 | { 0x1e00, 0x0000, 0x000b, 0x8f01, 0x0103, 0x0300, 0x0821, 0x000, 0x0001, 0x0000, 0x01e1 } |
65 | }, | 65 | }, |
66 | {"Cobalt Microserver", 0, 0x10, 0xE0, {0x1e00, /* 0 == controller #, 1e == offset */ | ||
67 | 0x0000, /* 0 == high offset, 0 == gap */ | ||
68 | 0x0800, /* Default Autoselect */ | ||
69 | 0x8001, /* 1 leaf, extended type, bogus len */ | ||
70 | 0x0003, /* Type 3 (MII), PHY #0 */ | ||
71 | 0x0400, /* 0 init instr, 4 reset instr */ | ||
72 | 0x0801, /* Set control mode, GP0 output */ | ||
73 | 0x0000, /* Drive GP0 Low (RST is active low) */ | ||
74 | 0x0800, /* control mode, GP0 input (undriven) */ | ||
75 | 0x0000, /* clear control mode */ | ||
76 | 0x7800, /* 100TX FDX + HDX, 10bT FDX + HDX */ | ||
77 | 0x01e0, /* Advertise all above */ | ||
78 | 0x5000, /* FDX all above */ | ||
79 | 0x1800, /* Set fast TTM in 100bt modes */ | ||
80 | 0x0000, /* PHY cannot be unplugged */ | ||
81 | }}, | ||
66 | {NULL}}; | 82 | {NULL}}; |
67 | 83 | ||
68 | 84 | ||
diff --git a/drivers/net/tulip/media.c b/drivers/net/tulip/media.c index 919c40cd635c..e26c31f944bf 100644 --- a/drivers/net/tulip/media.c +++ b/drivers/net/tulip/media.c | |||
@@ -400,6 +400,9 @@ void tulip_select_media(struct net_device *dev, int startup) | |||
400 | } | 400 | } |
401 | 401 | ||
402 | tp->csr6 = new_csr6 | (tp->csr6 & 0xfdff) | (tp->full_duplex ? 0x0200 : 0); | 402 | tp->csr6 = new_csr6 | (tp->csr6 & 0xfdff) | (tp->full_duplex ? 0x0200 : 0); |
403 | |||
404 | mdelay(1); | ||
405 | |||
403 | return; | 406 | return; |
404 | } | 407 | } |
405 | 408 | ||
diff --git a/drivers/net/tulip/tulip_core.c b/drivers/net/tulip/tulip_core.c index e0ae3ed6e578..cfc346e72d62 100644 --- a/drivers/net/tulip/tulip_core.c +++ b/drivers/net/tulip/tulip_core.c | |||
@@ -1514,8 +1514,8 @@ static int __devinit tulip_init_one (struct pci_dev *pdev, | |||
1514 | (PCI_SLOT(pdev->devfn) == 12))) { | 1514 | (PCI_SLOT(pdev->devfn) == 12))) { |
1515 | /* Cobalt MAC address in first EEPROM locations. */ | 1515 | /* Cobalt MAC address in first EEPROM locations. */ |
1516 | sa_offset = 0; | 1516 | sa_offset = 0; |
1517 | /* No media table either */ | 1517 | /* Ensure our media table fixup get's applied */ |
1518 | tp->flags &= ~HAS_MEDIA_TABLE; | 1518 | memcpy(ee_data + 16, ee_data, 8); |
1519 | } | 1519 | } |
1520 | #endif | 1520 | #endif |
1521 | #ifdef CONFIG_GSC | 1521 | #ifdef CONFIG_GSC |