--- eeprom.c.orig	Mon May 27 16:02:03 2002
+++ eeprom.c	Mon May 27 16:09:28 2002
@@ -62,6 +62,10 @@
 	 */
 	{ 0x1e00, 0x0000, 0x000b, 0x8f01, 0x0103, 0x0300, 0x0821, 0x000, 0x0001, 0x0000, 0x01e1 }
   },
+  {"Cobalt MicroServer", 0, 0x10, 0xE0, { 0x1e00, 0x0000, 0x0800, 0x8001,
+					  0x0003, 0x0400, 0x0801, 0x0000,
+					  0x0800, 0x0000, 0x7800, 0x01e0,
+					  0x5000, 0x1800, 0x0000 }},
   {0, 0, 0, 0, {}}};
 
 
--- media.c.orig	Mon May 27 16:02:03 2002
+++ media.c	Mon May 27 16:09:28 2002
@@ -400,6 +400,7 @@
 	}
 
 	tp->csr6 = new_csr6 | (tp->csr6 & 0xfdff) | (tp->full_duplex ? 0x0200 : 0);
+	udelay(1000);
 	return;
 }
 
--- tulip_core.c.orig	Mon May 27 16:03:54 2002
+++ tulip_core.c	Mon May 27 16:09:50 2002
@@ -1583,6 +1583,14 @@
 		/* DEC now has a specification (see Notes) but early board makers
 		   just put the address in the first EEPROM locations. */
 		/* This does  memcmp(eedata, eedata+16, 8) */
+#ifdef CONFIG_MIPS_COBALT
+                /* On-board tulip chips have a bad format EEPROM, so copy the
+                   address to make it right */
+		if ((pdev->bus->number == 0) && 
+                    ((PCI_SLOT(pdev->devfn) == 7) ||
+                     (PCI_SLOT(pdev->devfn) == 12)))
+                        memcpy(ee_data+16, ee_data, 8);
+#endif
 		for (i = 0; i < 8; i ++)
 			if (ee_data[i] != ee_data[16+i])
 				sa_offset = 20;
@@ -1601,16 +1609,6 @@
 #ifdef CONFIG_DDB5477
                if ((pdev->bus->number == 0) && (PCI_SLOT(pdev->devfn) == 4)) {
                        /* DDB5477 MAC address in first EEPROM locations. */
-                       sa_offset = 0;
-                       /* No media table either */
-                       tp->flags &= ~HAS_MEDIA_TABLE;
-               }
-#endif
-#ifdef CONFIG_MIPS_COBALT
-               if ((pdev->bus->number == 0) && 
-                   ((PCI_SLOT(pdev->devfn) == 7) ||
-                    (PCI_SLOT(pdev->devfn) == 12))) {
-                       /* Cobalt MAC address in first EEPROM locations. */
                        sa_offset = 0;
                        /* No media table either */
                        tp->flags &= ~HAS_MEDIA_TABLE;
