Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

powerpc/405ex: support cuImage via included dtb

To support cuImage, we need to initialize the required sections and
ensure that it is built.

Signed-off-by: Tiejun Chen <tiejun.chen@windriver.com>
Signed-off-by: Josh Boyer <jwboyer@linux.vnet.ibm.com>

authored by

Tiejun Chen and committed by
Josh Boyer
c5b20d39 0484c1df

+50 -1
+1 -1
arch/powerpc/boot/Makefile
··· 76 76 cuboot-katmai.c cuboot-rainier.c redboot-8xx.c ep8248e.c \ 77 77 cuboot-warp.c cuboot-85xx-cpm2.c cuboot-yosemite.c simpleboot.c \ 78 78 virtex405-head.S virtex.c redboot-83xx.c cuboot-sam440ep.c \ 79 - cuboot-acadia.c cuboot-amigaone.c 79 + cuboot-acadia.c cuboot-amigaone.c cuboot-kilauea.c 80 80 src-boot := $(src-wlib) $(src-plat) empty.c 81 81 82 82 src-boot := $(addprefix $(obj)/, $(src-boot))
+49
arch/powerpc/boot/cuboot-kilauea.c
··· 1 + /* 2 + * Old U-boot compatibility for PPC405EX. This image is already included 3 + * a dtb. 4 + * 5 + * Author: Tiejun Chen <tiejun.chen@windriver.com> 6 + * 7 + * Copyright (C) 2009 Wind River Systems, Inc. 8 + * 9 + * This program is free software; you can redistribute it and/or modify it 10 + * under the terms of the GNU General Public License version 2 as published 11 + * by the Free Software Foundation. 12 + */ 13 + 14 + #include "ops.h" 15 + #include "io.h" 16 + #include "dcr.h" 17 + #include "stdio.h" 18 + #include "4xx.h" 19 + #include "44x.h" 20 + #include "cuboot.h" 21 + 22 + #define TARGET_4xx 23 + #define TARGET_44x 24 + #include "ppcboot.h" 25 + 26 + #define KILAUEA_SYS_EXT_SERIAL_CLOCK 11059200 /* ext. 11.059MHz clk */ 27 + 28 + static bd_t bd; 29 + 30 + static void kilauea_fixups(void) 31 + { 32 + unsigned long sysclk = 33333333; 33 + 34 + ibm405ex_fixup_clocks(sysclk, KILAUEA_SYS_EXT_SERIAL_CLOCK); 35 + dt_fixup_memory(bd.bi_memstart, bd.bi_memsize); 36 + ibm4xx_fixup_ebc_ranges("/plb/opb/ebc"); 37 + dt_fixup_mac_address_by_alias("ethernet0", bd.bi_enetaddr); 38 + dt_fixup_mac_address_by_alias("ethernet1", bd.bi_enet1addr); 39 + } 40 + 41 + void platform_init(unsigned long r3, unsigned long r4, unsigned long r5, 42 + unsigned long r6, unsigned long r7) 43 + { 44 + CUBOOT_INIT(); 45 + platform_ops.fixups = kilauea_fixups; 46 + platform_ops.exit = ibm40x_dbcr_reset; 47 + fdt_init(_dtb_start); 48 + serial_console_init(); 49 + }