aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/ppc40x/patches-2.6.30/002-disable_emac_loopback_mode.patch
diff options
context:
space:
mode:
authorGabor Juhos <juhosg@openwrt.org>2009-07-18 15:13:40 +0000
committerGabor Juhos <juhosg@openwrt.org>2009-07-18 15:13:40 +0000
commit9f973a60988dcc98d9ebdc7be16015e555c6c3aa (patch)
tree1b5add54adfb693ee3c54b1a8444f338e3a7b67a /target/linux/ppc40x/patches-2.6.30/002-disable_emac_loopback_mode.patch
parent72b3866adb1d88fd4eb0cceed70ae6dc93fa6859 (diff)
downloadupstream-9f973a60988dcc98d9ebdc7be16015e555c6c3aa.tar.gz
upstream-9f973a60988dcc98d9ebdc7be16015e555c6c3aa.tar.bz2
upstream-9f973a60988dcc98d9ebdc7be16015e555c6c3aa.zip
initial support for 2.6.30
SVN-Revision: 16901
Diffstat (limited to 'target/linux/ppc40x/patches-2.6.30/002-disable_emac_loopback_mode.patch')
-rw-r--r--target/linux/ppc40x/patches-2.6.30/002-disable_emac_loopback_mode.patch25
1 files changed, 25 insertions, 0 deletions
diff --git a/target/linux/ppc40x/patches-2.6.30/002-disable_emac_loopback_mode.patch b/target/linux/ppc40x/patches-2.6.30/002-disable_emac_loopback_mode.patch
new file mode 100644
index 0000000000..a82a7a1320
--- /dev/null
+++ b/target/linux/ppc40x/patches-2.6.30/002-disable_emac_loopback_mode.patch
@@ -0,0 +1,25 @@
+--- 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;
+ }
+