diff options
Diffstat (limited to 'target/linux/ppc40x/patches')
-rw-r--r-- | target/linux/ppc40x/patches/001-kilauea_openwrt_flashmap.patch | 6 | ||||
-rw-r--r-- | target/linux/ppc40x/patches/002-disable_emac_loopback_mode.patch | 25 |
2 files changed, 27 insertions, 4 deletions
diff --git a/target/linux/ppc40x/patches/001-kilauea_openwrt_flashmap.patch b/target/linux/ppc40x/patches/001-kilauea_openwrt_flashmap.patch index 450a150ca1..78c94d88d9 100644 --- a/target/linux/ppc40x/patches/001-kilauea_openwrt_flashmap.patch +++ b/target/linux/ppc40x/patches/001-kilauea_openwrt_flashmap.patch @@ -1,7 +1,5 @@ -Index: linux-2.6.24.7/arch/powerpc/boot/dts/kilauea.dts -=================================================================== ---- linux-2.6.24.7.orig/arch/powerpc/boot/dts/kilauea.dts -+++ linux-2.6.24.7/arch/powerpc/boot/dts/kilauea.dts +--- a/arch/powerpc/boot/dts/kilauea.dts ++++ b/arch/powerpc/boot/dts/kilauea.dts @@ -138,15 +138,15 @@ #size-cells = <1>; partition@0 { diff --git a/target/linux/ppc40x/patches/002-disable_emac_loopback_mode.patch b/target/linux/ppc40x/patches/002-disable_emac_loopback_mode.patch new file mode 100644 index 0000000000..10f17747bc --- /dev/null +++ b/target/linux/ppc40x/patches/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 @@ + + ppc_pci_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; + } + |