summaryrefslogtreecommitdiffstats
path: root/arch/powerpc/boot/treeboot-bamboo.c
diff options
context:
space:
mode:
authorJosh Boyer <jwboyer@linux.vnet.ibm.com>2007-09-15 04:54:11 +1000
committerJosh Boyer <jwboyer@gmail.com>2007-09-19 21:13:16 -0500
commit658e81701970a82d33f46241f20be416ebd5e930 (patch)
tree3390a85f111ee99c666dacb0573c455fe0ac2cf5 /arch/powerpc/boot/treeboot-bamboo.c
parent0ce49a3945474fc942ec37c0c0efece60f592f80 (diff)
downloadlinux-658e81701970a82d33f46241f20be416ebd5e930.tar.bz2
[POWERPC] cuimage for Bamboo board
Add a cuboot wrapper for the Bamboo board. Additionally, we enable MAC address fixups for both cuboot and treeboot. This also removes some obsoleted linker declarations that have been moved into ops.h Signed-off-by: Josh Boyer <jwboyer@linux.vnet.ibm.com> Acked-by: David Gibson <david@gibson.dropbear.id.au>
Diffstat (limited to 'arch/powerpc/boot/treeboot-bamboo.c')
-rw-r--r--arch/powerpc/boot/treeboot-bamboo.c22
1 files changed, 19 insertions, 3 deletions
diff --git a/arch/powerpc/boot/treeboot-bamboo.c b/arch/powerpc/boot/treeboot-bamboo.c
index 1f1fe5aaac12..9eee48fc7114 100644
--- a/arch/powerpc/boot/treeboot-bamboo.c
+++ b/arch/powerpc/boot/treeboot-bamboo.c
@@ -12,16 +12,32 @@
#include "ops.h"
#include "stdio.h"
#include "44x.h"
-
-extern char _end[];
+#include "stdlib.h"
BSS_STACK(4096);
+#define PIBS_MAC0 0xfffc0400
+#define PIBS_MAC1 0xfffc0500
+char pibs_mac0[6];
+char pibs_mac1[6];
+
+static void read_pibs_mac(void)
+{
+ unsigned long long mac64;
+
+ mac64 = strtoull((char *)PIBS_MAC0, 0, 16);
+ memcpy(&pibs_mac0, (char *)&mac64+2, 6);
+
+ mac64 = strtoull((char *)PIBS_MAC1, 0, 16);
+ memcpy(&pibs_mac1, (char *)&mac64+2, 6);
+}
+
void platform_init(void)
{
unsigned long end_of_ram = 0x8000000;
unsigned long avail_ram = end_of_ram - (unsigned long)_end;
simple_alloc_init(_end, avail_ram, 32, 64);
- bamboo_init();
+ read_pibs_mac();
+ bamboo_init((u8 *)&pibs_mac0, (u8 *)&pibs_mac1);
}