]> git.kernelconcepts.de Git - karo-tx-uboot.git/blobdiff - drivers/net/ne2000.h
net/phy: Add support for realtek RTL8211F
[karo-tx-uboot.git] / drivers / net / ne2000.h
index 6049482868bf23ccfc27d12dddeb52fcf8df0cce..2cde6be4377dd6c9454b64086c4ec5b3a8096211 100644 (file)
@@ -81,6 +81,7 @@ are GPL, so this is, of course, GPL.
 
 #define DP_DATA                0x10
 #define START_PG       0x50    /* First page of TX buffer */
+#define START_PG2      0x48
 #define STOP_PG                0x80    /* Last page +1 of RX ring */
 
 #define RX_START       0x50
@@ -90,90 +91,4 @@ are GPL, so this is, of course, GPL.
 #define DP_OUT(_b_, _o_, _d_)  *( (vu_char *) ((_b_)+(_o_))) = (_d_)
 #define DP_IN_DATA(_b_, _d_)   (_d_) = *( (vu_char *) ((_b_)))
 #define DP_OUT_DATA(_b_, _d_)  *( (vu_char *) ((_b_))) = (_d_)
-
-static void pcnet_reset_8390(void)
-{
-       int i, r;
-
-       PRINTK("nic base is %lx\n", nic_base);
-
-       n2k_outb(E8390_NODMA+E8390_PAGE0+E8390_STOP, E8390_CMD);
-       PRINTK("cmd (at %lx) is %x\n", nic_base+ E8390_CMD, n2k_inb(E8390_CMD));
-       n2k_outb(E8390_NODMA+E8390_PAGE1+E8390_STOP, E8390_CMD);
-       PRINTK("cmd (at %lx) is %x\n", nic_base+ E8390_CMD, n2k_inb(E8390_CMD));
-       n2k_outb(E8390_NODMA+E8390_PAGE0+E8390_STOP, E8390_CMD);
-       PRINTK("cmd (at %lx) is %x\n", nic_base+ E8390_CMD, n2k_inb(E8390_CMD));
-       n2k_outb(E8390_NODMA+E8390_PAGE0+E8390_STOP, E8390_CMD);
-
-       n2k_outb(n2k_inb(PCNET_RESET), PCNET_RESET);
-
-       for (i = 0; i < 100; i++) {
-               if ((r = (n2k_inb(EN0_ISR) & ENISR_RESET)) != 0)
-                       break;
-               PRINTK("got %x in reset\n", r);
-               udelay(100);
-       }
-       n2k_outb(ENISR_RESET, EN0_ISR); /* Ack intr. */
-
-       if (i == 100)
-               printf("pcnet_reset_8390() did not complete.\n");
-} /* pcnet_reset_8390 */
-
-int get_prom(u8* mac_addr)
-{
-       u8 prom[32];
-       int i, j;
-       struct {
-               u_char value, offset;
-       } program_seq[] = {
-               {E8390_NODMA+E8390_PAGE0+E8390_STOP, E8390_CMD}, /* Select page 0*/
-               {0x48,  EN0_DCFG},              /* Set byte-wide (0x48) access. */
-               {0x00,  EN0_RCNTLO},            /* Clear the count regs. */
-               {0x00,  EN0_RCNTHI},
-               {0x00,  EN0_IMR},               /* Mask completion irq. */
-               {0xFF,  EN0_ISR},
-               {E8390_RXOFF, EN0_RXCR},        /* 0x20  Set to monitor */
-               {E8390_TXOFF, EN0_TXCR},        /* 0x02  and loopback mode. */
-               {32,    EN0_RCNTLO},
-               {0x00,  EN0_RCNTHI},
-               {0x00,  EN0_RSARLO},            /* DMA starting at 0x0000. */
-               {0x00,  EN0_RSARHI},
-               {E8390_RREAD+E8390_START, E8390_CMD},
-       };
-
-       PRINTK ("trying to get MAC via prom reading\n");
-
-       pcnet_reset_8390 ();
-
-       mdelay (10);
-
-       for (i = 0; i < sizeof (program_seq) / sizeof (program_seq[0]); i++)
-               n2k_outb (program_seq[i].value, program_seq[i].offset);
-
-       PRINTK ("PROM:");
-       for (i = 0; i < 32; i++) {
-               prom[i] = n2k_inb (PCNET_DATAPORT);
-               PRINTK (" %02x", prom[i]);
-       }
-       PRINTK ("\n");
-       for (i = 0; i < NR_INFO; i++) {
-               if ((prom[0] == hw_info[i].a0) &&
-                   (prom[2] == hw_info[i].a1) &&
-                   (prom[4] == hw_info[i].a2)) {
-                       PRINTK ("matched board %d\n", i);
-                       break;
-               }
-       }
-       if ((i < NR_INFO) || ((prom[28] == 0x57) && (prom[30] == 0x57))) {
-               PRINTK ("on exit i is %d/%ld\n", i, NR_INFO);
-               PRINTK ("MAC address is ");
-               for (j = 0; j < 6; j++) {
-                       mac_addr[j] = prom[j << 1];
-                       PRINTK ("%02x:", mac_addr[i]);
-               }
-               PRINTK ("\n");
-               return (i < NR_INFO) ? i : 0;
-       }
-       return NULL;
-}
 #endif /* __DRIVERS_NE2000_H__ */