aboutsummaryrefslogtreecommitdiffstats
path: root/arch/powerpc/boot
diff options
context:
space:
mode:
authorJosh Boyer <jwboyer@linux.vnet.ibm.com>2007-10-19 10:53:11 -0400
committerJosh Boyer <jwboyer@linux.vnet.ibm.com>2007-10-19 17:18:33 -0400
commitb3af7a55da9925b73136d5358573e8962dfd35a0 (patch)
tree3335e4e2248b6ecbaa4c0001275be5e78acdc0d9 /arch/powerpc/boot
parent094624fa66758e9f555587c29b23cf5bc67c10fd (diff)
[POWERPC] 4xx: Enable EMAC for PPC405 Walnut board
This patch enables the ibm_newemac driver for the Walnut board. It fixes the device tree for the walnut board to order the MAL interrupts correctly and adds the local-mac-address property to the EMAC node. The bootwrapper is also updated to extract the MAC address from the OpenBIOS offset where it is stored. Signed-off-by: Josh Boyer <jwboyer@linux.vnet.ibm.com>
Diffstat (limited to 'arch/powerpc/boot')
-rw-r--r--arch/powerpc/boot/dts/walnut.dts12
-rw-r--r--arch/powerpc/boot/treeboot-walnut.c2
2 files changed, 11 insertions, 3 deletions
diff --git a/arch/powerpc/boot/dts/walnut.dts b/arch/powerpc/boot/dts/walnut.dts
index ec54f4e04ad6..fa681f5343fe 100644
--- a/arch/powerpc/boot/dts/walnut.dts
+++ b/arch/powerpc/boot/dts/walnut.dts
@@ -64,10 +64,15 @@
64 MAL: mcmal { 64 MAL: mcmal {
65 compatible = "ibm,mcmal-405gp", "ibm,mcmal"; 65 compatible = "ibm,mcmal-405gp", "ibm,mcmal";
66 dcr-reg = <180 62>; 66 dcr-reg = <180 62>;
67 num-tx-chans = <2>; 67 num-tx-chans = <1>;
68 num-rx-chans = <1>; 68 num-rx-chans = <1>;
69 interrupt-parent = <&UIC0>; 69 interrupt-parent = <&UIC0>;
70 interrupts = <a 4 b 4 c 4 d 4 e 4>; 70 interrupts = <
71 b 4 /* TXEOB */
72 c 4 /* RXEOB */
73 a 4 /* SERR */
74 d 4 /* TXDE */
75 e 4 /* RXDE */>;
71 }; 76 };
72 77
73 POB0: opb { 78 POB0: opb {
@@ -118,9 +123,10 @@
118 compatible = "ibm,emac-405gp", "ibm,emac"; 123 compatible = "ibm,emac-405gp", "ibm,emac";
119 interrupt-parent = <&UIC0>; 124 interrupt-parent = <&UIC0>;
120 interrupts = <9 4 f 4>; 125 interrupts = <9 4 f 4>;
126 local-mac-address = [000000000000]; /* Filled in by zImage */
121 reg = <ef600800 70>; 127 reg = <ef600800 70>;
122 mal-device = <&MAL>; 128 mal-device = <&MAL>;
123 mal-tx-channel = <0 1>; 129 mal-tx-channel = <0>;
124 mal-rx-channel = <0>; 130 mal-rx-channel = <0>;
125 cell-index = <0>; 131 cell-index = <0>;
126 max-frame-size = <5dc>; 132 max-frame-size = <5dc>;
diff --git a/arch/powerpc/boot/treeboot-walnut.c b/arch/powerpc/boot/treeboot-walnut.c
index 6be76b7edc10..bb2c309d70fc 100644
--- a/arch/powerpc/boot/treeboot-walnut.c
+++ b/arch/powerpc/boot/treeboot-walnut.c
@@ -109,6 +109,7 @@ static void walnut_flashsel_fixup(void)
109 setprop(sram, "reg", reg_sram, sizeof(reg_sram)); 109 setprop(sram, "reg", reg_sram, sizeof(reg_sram));
110} 110}
111 111
112#define WALNUT_OPENBIOS_MAC_OFF 0xfffffe0b
112static void walnut_fixups(void) 113static void walnut_fixups(void)
113{ 114{
114 ibm4xx_fixup_memsize(); 115 ibm4xx_fixup_memsize();
@@ -116,6 +117,7 @@ static void walnut_fixups(void)
116 ibm4xx_quiesce_eth((u32 *)0xef600800, NULL); 117 ibm4xx_quiesce_eth((u32 *)0xef600800, NULL);
117 ibm4xx_fixup_ebc_ranges("/plb/ebc"); 118 ibm4xx_fixup_ebc_ranges("/plb/ebc");
118 walnut_flashsel_fixup(); 119 walnut_flashsel_fixup();
120 dt_fixup_mac_addresses((u8 *) WALNUT_OPENBIOS_MAC_OFF);
119} 121}
120 122
121void platform_init(void) 123void platform_init(void)