aboutsummaryrefslogtreecommitdiffstats
path: root/arch/powerpc/boot/cuboot-taishan.c
diff options
context:
space:
mode:
authorHugh Blemings <hugh@blemings.org>2007-12-20 23:39:28 -0500
committerJosh Boyer <jwboyer@linux.vnet.ibm.com>2007-12-23 14:13:33 -0500
commit6bbc5476298a3dd46a7a19c2af03778b094acb15 (patch)
treed88cbb289b92195f079d62f3695224b09865e855 /arch/powerpc/boot/cuboot-taishan.c
parent379865d63cb97f8e8241724aae48e795a6b7cb10 (diff)
[POWERPC] 4xx: Base support for 440GX Taishan eval board
This patch adds base support for the AMCC Taishan 440GX evaluation board. Signed-off-by: Hugh Blemings <hugh@blemings.org> Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Josh Boyer <jwboyer@linux.vnet.ibm.com>
Diffstat (limited to 'arch/powerpc/boot/cuboot-taishan.c')
-rw-r--r--arch/powerpc/boot/cuboot-taishan.c56
1 files changed, 56 insertions, 0 deletions
diff --git a/arch/powerpc/boot/cuboot-taishan.c b/arch/powerpc/boot/cuboot-taishan.c
new file mode 100644
index 000000000000..4ef92021d012
--- /dev/null
+++ b/arch/powerpc/boot/cuboot-taishan.c
@@ -0,0 +1,56 @@
1/*
2 * Old U-boot compatibility for Taishan
3 *
4 * Author: Hugh Blemings <hugh@au.ibm.com>
5 *
6 * Copyright 2007 Hugh Blemings, IBM Corporation.
7 * Based on cuboot-ebony.c which is:
8 * Copyright 2007 David Gibson, IBM Corporation.
9 * Based on cuboot-83xx.c, which is:
10 * Copyright (c) 2007 Freescale Semiconductor, Inc.
11 *
12 * This program is free software; you can redistribute it and/or modify it
13 * under the terms of the GNU General Public License version 2 as published
14 * by the Free Software Foundation.
15 */
16
17#include "ops.h"
18#include "stdio.h"
19#include "cuboot.h"
20#include "reg.h"
21#include "dcr.h"
22#include "4xx.h"
23
24#define TARGET_44x
25#include "ppcboot.h"
26
27static bd_t bd;
28
29BSS_STACK(4096);
30
31static void taishan_fixups(void)
32{
33 /* FIXME: sysclk should be derived by reading the FPGA
34 registers */
35 unsigned long sysclk = 33000000;
36
37 /* 440EP Clock logic is all but identical to 440GX
38 so we just use that code for now at least */
39 ibm440ep_fixup_clocks(sysclk, 6 * 1843200);
40
41 ibm4xx_fixup_memsize();
42
43 dt_fixup_mac_addresses(bd.bi_enetaddr, bd.bi_enet1addr);
44
45 ibm4xx_fixup_ebc_ranges("/plb/opb/ebc");
46}
47
48void platform_init(unsigned long r3, unsigned long r4, unsigned long r5,
49 unsigned long r6, unsigned long r7)
50{
51 CUBOOT_INIT();
52
53 platform_ops.fixups = taishan_fixups;
54 fdt_init(_dtb_start);
55 serial_console_init();
56}