Index: target/linux/lantiq/patches-3.3/0027-etop-without-uboot.patch
===================================================================
--- target/linux/lantiq/patches-3.3/0027-etop-without-uboot.patch	(revision 0)
+++ target/linux/lantiq/patches-3.3/0027-etop-without-uboot.patch	(working copy)
@@ -0,0 +1,43 @@
+Index: linux-3.3.8/drivers/net/ethernet/lantiq_etop.c
+===================================================================
+--- linux-3.3.8.orig/drivers/net/ethernet/lantiq_etop.c	2012-08-04 23:21:41.040574994 +0200
++++ linux-3.3.8/drivers/net/ethernet/lantiq_etop.c	2012-08-04 23:23:32.557037752 +0200
+@@ -44,6 +44,7 @@
+ #include <xway_dma.h>
+ #include <lantiq_platform.h>
+ 
++#define LTQ_ETOP_MDIO_CFG	0x11800
+ #define LTQ_ETOP_MDIO		0x11804
+ #define MDIO_REQUEST		0x80000000
+ #define MDIO_READ		0x40000000
+@@ -68,8 +69,8 @@
+ 
+ #define ETOP_FTCU		BIT(28)
+ #define ETOP_MII_MASK		0xf
+-#define ETOP_MII_NORMAL		0xd
+-#define ETOP_MII_REVERSE	0xe
++#define ETOP_MII_NORMAL		0x8
++#define ETOP_MII_REVERSE	0xa
+ #define ETOP_PLEN_UNDER		0x40
+ #define ETOP_CFG_MII0		0x01
+ 
+@@ -325,6 +326,10 @@
+ 
+ 	clk_enable(priv->clk_ppe);
+ 
++	/* From uboot-lantiq ifx_etop.c lq_eth_init_chip() */
++	ltq_etop_w32_mask(0x6, 0, LTQ_ETOP_MDIO_CFG);
++	ltq_etop_w32(0x187, LTQ_ETOP_MAC_CFG);
++
+ 	if (ltq_has_gbit()) {
+ 		ltq_etop_gbit_init(dev);
+ 		/* force the etops link to the gbit to MII */
+@@ -361,7 +366,7 @@
+ 	}
+ 
+ 	/* enable crc generation */
+-	ltq_etop_w32(ETOP_CGEN, LTQ_ETOP_MAC_CFG);
++	ltq_etop_w32_mask(ETOP_CGEN, ETOP_CGEN, LTQ_ETOP_MAC_CFG);
+ 
+ 	return 0;
+ }
