1
0
mirror of git://projects.qi-hardware.com/openwrt-xburst.git synced 2024-09-18 19:40:15 +03:00
openwrt-xburst/target/linux/ppc40x/patches-2.6.30/002-disable_emac_loopback_mode.patch
juhosg df7edc24b9 [ppc40x] initial support for 2.6.30
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@16901 3c298f89-4303-0410-b956-a3cf2f4a3e73
2009-07-18 15:13:40 +00:00

26 lines
705 B
Diff

--- a/arch/powerpc/platforms/40x/kilauea.c
+++ b/arch/powerpc/platforms/40x/kilauea.c
@@ -21,6 +21,8 @@
#include <asm/uic.h>
#include <asm/pci-bridge.h>
#include <asm/ppc4xx.h>
+#include <asm/dcr.h>
+#include <asm/dcr-regs.h>
static __initdata struct of_device_id kilauea_of_bus[] = {
{ .compatible = "ibm,plb4", },
@@ -46,6 +48,13 @@ static int __init kilauea_probe(void)
ppc_pci_set_flags(PPC_PCI_REASSIGN_ALL_RSRC);
+ /*
+ * 405EX(r) has SDR0_MFR[E0CS/E1CS] set after reset. This selects
+ * the internal loopback mode. Clear these bits so that both EMACs
+ * don't use loopback mode as deafult.
+ */
+ mtdcri(SDR0, SDR0_MFR, mfdcri(SDR0, SDR0_MFR) & ~0x0c000000);
+
return 1;
}