Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 67364
b: refs/heads/master
c: 658e817
h: refs/heads/master
v: v3
  • Loading branch information
Josh Boyer authored and Josh Boyer committed Sep 20, 2007
1 parent 8a2077f commit df5f1a4
Show file tree
Hide file tree
Showing 6 changed files with 58 additions and 10 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 0ce49a3945474fc942ec37c0c0efece60f592f80
refs/heads/master: 658e81701970a82d33f46241f20be416ebd5e930
2 changes: 1 addition & 1 deletion trunk/arch/powerpc/boot/44x.h
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,6 @@
#define _PPC_BOOT_44X_H_

void ebony_init(void *mac0, void *mac1);
void bamboo_init(void);
void bamboo_init(void *mac0, void *mac1);

#endif /* _PPC_BOOT_44X_H_ */
4 changes: 2 additions & 2 deletions trunk/arch/powerpc/boot/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ src-wlib := string.S crt0.S stdio.c main.c flatdevtree.c flatdevtree_misc.c \
src-plat := of.c cuboot-83xx.c cuboot-85xx.c holly.c \
cuboot-ebony.c treeboot-ebony.c prpmc2800.c \
ps3-head.S ps3-hvcall.S ps3.c treeboot-bamboo.c cuboot-8xx.c \
cuboot-pq2.c cuboot-sequoia.c treeboot-walnut.c
cuboot-pq2.c cuboot-sequoia.c treeboot-walnut.c cuboot-bamboo.c
src-boot := $(src-wlib) $(src-plat) empty.c

src-boot := $(addprefix $(obj)/, $(src-boot))
Expand Down Expand Up @@ -146,7 +146,7 @@ image-$(CONFIG_8260) += cuImage.pq2
image-$(CONFIG_PPC_83xx) += cuImage.83xx
image-$(CONFIG_PPC_85xx) += cuImage.85xx
image-$(CONFIG_EBONY) += treeImage.ebony cuImage.ebony
image-$(CONFIG_BAMBOO) += treeImage.bamboo
image-$(CONFIG_BAMBOO) += treeImage.bamboo cuImage.bamboo
image-$(CONFIG_SEQUOIA) += cuImage.sequoia
image-$(CONFIG_WALNUT) += treeImage.walnut
endif
Expand Down
8 changes: 5 additions & 3 deletions trunk/arch/powerpc/boot/bamboo.c
Original file line number Diff line number Diff line change
Expand Up @@ -24,8 +24,7 @@
#include "4xx.h"
#include "44x.h"

extern char _dtb_start[];
extern char _dtb_end[];
static u8 *bamboo_mac0, *bamboo_mac1;

static void bamboo_fixups(void)
{
Expand All @@ -34,12 +33,15 @@ static void bamboo_fixups(void)
ibm440ep_fixup_clocks(sysclk, 11059200);
ibm4xx_fixup_memsize();
ibm4xx_quiesce_eth((u32 *)0xef600e00, (u32 *)0xef600f00);
dt_fixup_mac_addresses(bamboo_mac0, bamboo_mac1);
}

void bamboo_init(void)
void bamboo_init(void *mac0, void *mac1)
{
platform_ops.fixups = bamboo_fixups;
platform_ops.exit = ibm44x_dbcr_reset;
bamboo_mac0 = mac0;
bamboo_mac1 = mac1;
ft_init(_dtb_start, 0, 32);
serial_console_init();
}
30 changes: 30 additions & 0 deletions trunk/arch/powerpc/boot/cuboot-bamboo.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
/*
* Old U-boot compatibility for Bamboo
*
* Author: Josh Boyer <jwboyer@linux.vnet.ibm.com>
*
* Copyright 2007 IBM Corporation
*
* Based on cuboot-ebony.c
*
* This program is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 as published
* by the Free Software Foundation.
*/

#include "ops.h"
#include "stdio.h"
#include "44x.h"
#include "cuboot.h"

#define TARGET_44x
#include "ppcboot.h"

static bd_t bd;

void platform_init(unsigned long r3, unsigned long r4, unsigned long r5,
unsigned long r6, unsigned long r7)
{
CUBOOT_INIT();
bamboo_init(&bd.bi_enetaddr, &bd.bi_enet1addr);
}
22 changes: 19 additions & 3 deletions trunk/arch/powerpc/boot/treeboot-bamboo.c
Original file line number Diff line number Diff line change
Expand Up @@ -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);
}

0 comments on commit df5f1a4

Please sign in to comment.