diff options
author | Josh Boyer <jwboyer@linux.vnet.ibm.com> | 2007-10-19 10:53:11 -0400 |
---|---|---|
committer | Josh Boyer <jwboyer@linux.vnet.ibm.com> | 2007-10-19 17:18:33 -0400 |
commit | b3af7a55da9925b73136d5358573e8962dfd35a0 (patch) | |
tree | 3335e4e2248b6ecbaa4c0001275be5e78acdc0d9 /arch/powerpc/boot | |
parent | 094624fa66758e9f555587c29b23cf5bc67c10fd (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.dts | 12 | ||||
-rw-r--r-- | arch/powerpc/boot/treeboot-walnut.c | 2 |
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 | ||
112 | static void walnut_fixups(void) | 113 | static 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 | ||
121 | void platform_init(void) | 123 | void platform_init(void) |