diff options
| -rw-r--r-- | arch/powerpc/boot/Makefile | 3 | ||||
| -rw-r--r-- | arch/powerpc/boot/cuboot-yosemite.c | 44 | 
2 files changed, 46 insertions, 1 deletions
diff --git a/arch/powerpc/boot/Makefile b/arch/powerpc/boot/Makefile index 1aded8f759d..75b4e1f64b5 100644 --- a/arch/powerpc/boot/Makefile +++ b/arch/powerpc/boot/Makefile @@ -64,7 +64,7 @@ src-plat := of.c cuboot-52xx.c cuboot-824x.c cuboot-83xx.c cuboot-85xx.c holly.c  		cuboot-bamboo.c cuboot-mpc7448hpc2.c cuboot-taishan.c \  		fixed-head.S ep88xc.c ep405.c \  		cuboot-katmai.c cuboot-rainier.c redboot-8xx.c ep8248e.c \ -		cuboot-warp.c cuboot-85xx-cpm2.c +		cuboot-warp.c cuboot-85xx-cpm2.c cuboot-yosemite.c  src-boot := $(src-wlib) $(src-plat) empty.c  src-boot := $(addprefix $(obj)/, $(src-boot)) @@ -216,6 +216,7 @@ image-$(CONFIG_RAINIER)			+= cuImage.rainier  image-$(CONFIG_TAISHAN)			+= cuImage.taishan  image-$(CONFIG_KATMAI)			+= cuImage.katmai  image-$(CONFIG_WARP)			+= cuImage.warp +image-$(CONFIG_YOSEMITE)		+= cuImage.yosemite  # Board ports in arch/powerpc/platform/8xx/Kconfig  image-$(CONFIG_PPC_MPC86XADS)		+= cuImage.mpc866ads diff --git a/arch/powerpc/boot/cuboot-yosemite.c b/arch/powerpc/boot/cuboot-yosemite.c new file mode 100644 index 00000000000..cc6e338c5d0 --- /dev/null +++ b/arch/powerpc/boot/cuboot-yosemite.c @@ -0,0 +1,44 @@ +/* + * Old U-boot compatibility for Yosemite + * + * Author: Josh Boyer <jwboyer@linux.vnet.ibm.com> + * + * Copyright 2008 IBM Corporation + * + * 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 "4xx.h" +#include "44x.h" +#include "cuboot.h" + +#define TARGET_4xx +#define TARGET_44x +#include "ppcboot.h" + +static bd_t bd; + +static void yosemite_fixups(void) +{ +	unsigned long sysclk = 66666666; + +	ibm440ep_fixup_clocks(sysclk, 11059200, 50000000); +	ibm4xx_sdram_fixup_memsize(); +	ibm4xx_quiesce_eth((u32 *)0xef600e00, (u32 *)0xef600f00); +	dt_fixup_mac_address_by_alias("ethernet0", bd.bi_enetaddr); +	dt_fixup_mac_address_by_alias("ethernet1", bd.bi_enet1addr); +} + +void platform_init(unsigned long r3, unsigned long r4, unsigned long r5, +		unsigned long r6, unsigned long r7) +{ +	CUBOOT_INIT(); +	platform_ops.fixups = yosemite_fixups; +	platform_ops.exit = ibm44x_dbcr_reset; +	fdt_init(_dtb_start); +	serial_console_init(); +}  |