2008-08-08 04:11:16 +08:00
|
|
|
--- 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", },
|
2008-11-07 04:55:33 +08:00
|
|
|
@@ -46,6 +48,13 @@ static int __init kilauea_probe(void)
|
2008-08-08 04:11:16 +08:00
|
|
|
|
|
|
|
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;
|
|
|
|
}
|
|
|
|
|