From b3af7a55da9925b73136d5358573e8962dfd35a0 Mon Sep 17 00:00:00 2001 From: Josh Boyer Date: Sat, 20 Oct 2007 00:53:11 +1000 Subject: [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 --- arch/powerpc/boot/dts/walnut.dts | 12 +++++++++--- arch/powerpc/boot/treeboot-walnut.c | 2 ++ 2 files changed, 11 insertions(+), 3 deletions(-) (limited to 'arch/powerpc/boot') diff --git a/arch/powerpc/boot/dts/walnut.dts b/arch/powerpc/boot/dts/walnut.dts index ec54f4e04ad..fa681f5343f 100644 --- a/arch/powerpc/boot/dts/walnut.dts +++ b/arch/powerpc/boot/dts/walnut.dts @@ -64,10 +64,15 @@ MAL: mcmal { compatible = "ibm,mcmal-405gp", "ibm,mcmal"; dcr-reg = <180 62>; - num-tx-chans = <2>; + num-tx-chans = <1>; num-rx-chans = <1>; interrupt-parent = <&UIC0>; - interrupts = ; + interrupts = < + b 4 /* TXEOB */ + c 4 /* RXEOB */ + a 4 /* SERR */ + d 4 /* TXDE */ + e 4 /* RXDE */>; }; POB0: opb { @@ -118,9 +123,10 @@ compatible = "ibm,emac-405gp", "ibm,emac"; interrupt-parent = <&UIC0>; interrupts = <9 4 f 4>; + local-mac-address = [000000000000]; /* Filled in by zImage */ reg = ; mal-device = <&MAL>; - mal-tx-channel = <0 1>; + mal-tx-channel = <0>; mal-rx-channel = <0>; cell-index = <0>; max-frame-size = <5dc>; diff --git a/arch/powerpc/boot/treeboot-walnut.c b/arch/powerpc/boot/treeboot-walnut.c index 6be76b7edc1..bb2c309d70f 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) setprop(sram, "reg", reg_sram, sizeof(reg_sram)); } +#define WALNUT_OPENBIOS_MAC_OFF 0xfffffe0b static void walnut_fixups(void) { ibm4xx_fixup_memsize(); @@ -116,6 +117,7 @@ static void walnut_fixups(void) ibm4xx_quiesce_eth((u32 *)0xef600800, NULL); ibm4xx_fixup_ebc_ranges("/plb/ebc"); walnut_flashsel_fixup(); + dt_fixup_mac_addresses((u8 *) WALNUT_OPENBIOS_MAC_OFF); } void platform_init(void) -- cgit v1.2.3-18-g5258