Will next release of Familiar include patch for Socket Ruggerized 100/10 Ethernet Card (drivers/net/pcmcia/axnet_cs.c)

LOEWENTHAL Simon <[email protected]>
Newsgroups gmane.comp.handhelds.linux.familiar
Message-ID <[email protected]>
Hi all,

Will the next release of Familiar have the patch for the *Socket*
Ruggerized 100/10 Ethernet Card Compact Flash included in it?

I think the patch is this (taken from
http://www.mail-archive.com/[email protected]/msg00051.html
).

If not, then is there a way I could persuade someone kindly to include
it? :)

Best regards, Simon.

Index: drivers/net/pcmcia/axnet_cs.c
===================================================================
--- drivers/net/pcmcia/axnet_cs.c	(revision 332)
+++ drivers/net/pcmcia/axnet_cs.c	(working copy)
@@ -13,6 +13,10 @@
 
     axnet_cs.c 1.28 2002/06/29 06:27:37
 
+    Changelog:
+
+    Todd Blumer		: added PHY bug workaround for AX88790
+
     The network driver code is based on Donald Becker's NE2000 code:
 
     Written 1992,1993 by Donald Becker.
@@ -59,6 +63,18 @@
 #define AXNET_START_PG	0x40	/* First page of TX buffer */
 #define AXNET_STOP_PG	0x80	/* Last page +1 of RX ring */
 
+#define AXNET_PHY_MR0		0
+#define AXNET_MR0_SW_RESET	(1<<15)
+#define AXNET_MR0_LOOPBACK	(1<<14)
+#define AXNET_MR0_SPEED100	(1<<13)
+#define AXNET_MR0_NWAY_ENA	(1<<12)
+#define AXNET_MR0_PWRDN		(1<<11)
+#define AXNET_MR0_ISOLATE	(1<<10)
+#define AXNET_MR0_REDONWAY	(1<<9)
+#define AXNET_MR0_FULL_DUP	(1<<8)
+#define AXNET_MR0_COLTST	(1<<7)
+/* remaining bits are reserved */
+
 #define AXNET_RDC_TIMEOUT 0x02	/* Max wait in jiffies for Tx RDC */
 
 #define IS_AX88190	0x0001
@@ -439,6 +455,22 @@
     }
 
     info->phy_id = (i < 32) ? i : -1;
+    if ((info->flags & IS_AX88790) && (info->phy_id != -1)) {
+	int data;
+	/*
+	 * The AX88790L has a bug in the auto-negotiation (AN). A work-around
+	 * is to turn off the phy, wait 2.5 secs, then re-enable AN. Once this
+	 * action is taken, AN works fine.
+	 *
+	 * Note: this chip is in the Socket Rugged CF Ethernet card
+	 */
+	data = mdio_read(dev->base_addr+ AXNET_MII_EEP, info->phy_id, AXNET_PHY_MR0);
+	mdio_write(dev->base_addr + AXNET_MII_EEP,
+	    info->phy_id, AXNET_PHY_MR0, data | AXNET_MR0_PWRDN );
+	mdelay(2500);
+	mdio_write(dev->base_addr + AXNET_MII_EEP,
+	    info->phy_id, AXNET_PHY_MR0, data | AXNET_MR0_REDONWAY | AXNET_MR0_NWAY_ENA);
+    }
     link->dev = &info->node;
     link->state &= ~DEV_CONFIG_PENDING;
     SET_NETDEV_DEV(dev, &handle_to_dev(handle));
@@ -852,6 +884,7 @@
 	PCMCIA_DEVICE_MANF_CARD(0x026f, 0x0309),
 	PCMCIA_DEVICE_MANF_CARD(0x0274, 0x1106),
 	PCMCIA_DEVICE_MANF_CARD(0x8a01, 0xc1ab),
+	PCMCIA_DEVICE_MANF_CARD(0x0104, 0x02d2), /* "Socket", "CF 10/100 Ethernet Card", "Revision B", "05/11/06" */
 	PCMCIA_DEVICE_PROD_ID124("Fast Ethernet", "16-bit PC Card", "AX88190", 0xb4be14e3, 0x9a12eb6a, 0xab9be5ef),
 	PCMCIA_DEVICE_PROD_ID12("ASIX", "AX88190", 0x0959823b, 0xab9be5ef),
 	PCMCIA_DEVICE_PROD_ID12("Billionton", "LNA-100B", 0x552ab682, 0xbc3b87e1),

_______________________________________________
The Familiar Linux Distribution
Familiar mailing list
[email protected]
https://handhelds.org/mailman/listinfo/familiar
irc://irc.freenode.net #familiar
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.