aboutsummaryrefslogtreecommitdiffstats
path: root/arch/powerpc/platforms/44x
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/platforms/44x
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/platforms/44x')
-rw-r--r--arch/powerpc/platforms/44x/Kconfig14
-rw-r--r--arch/powerpc/platforms/44x/Makefile1
-rw-r--r--arch/powerpc/platforms/44x/taishan.c74
3 files changed, 89 insertions, 0 deletions
diff --git a/arch/powerpc/platforms/44x/Kconfig b/arch/powerpc/platforms/44x/Kconfig
index f65fa10ef427..1bf042498f6e 100644
--- a/arch/powerpc/platforms/44x/Kconfig
+++ b/arch/powerpc/platforms/44x/Kconfig
@@ -23,6 +23,16 @@ config SEQUOIA
23 help 23 help
24 This option enables support for the AMCC PPC440EPX evaluation board. 24 This option enables support for the AMCC PPC440EPX evaluation board.
25 25
26config TAISHAN
27 bool "Taishan"
28 depends on 44x
29 default n
30 select 440GX
31 select PCI
32 help
33 This option enables support for the AMCC PPC440GX "Taishan"
34 evaluation board.
35
26#config LUAN 36#config LUAN
27# bool "Luan" 37# bool "Luan"
28# depends on 44x 38# depends on 44x
@@ -59,6 +69,10 @@ config 440GP
59 69
60config 440GX 70config 440GX
61 bool 71 bool
72 select IBM_NEW_EMAC_EMAC4
73 select IBM_NEW_EMAC_RGMII
74 select IBM_NEW_EMAC_ZMII #test only
75 select IBM_NEW_EMAC_TAH #test only
62 76
63config 440SP 77config 440SP
64 bool 78 bool
diff --git a/arch/powerpc/platforms/44x/Makefile b/arch/powerpc/platforms/44x/Makefile
index 10ce6740cc7d..8b05589471d2 100644
--- a/arch/powerpc/platforms/44x/Makefile
+++ b/arch/powerpc/platforms/44x/Makefile
@@ -1,4 +1,5 @@
1obj-$(CONFIG_44x) := misc_44x.o 1obj-$(CONFIG_44x) := misc_44x.o
2obj-$(CONFIG_EBONY) += ebony.o 2obj-$(CONFIG_EBONY) += ebony.o
3obj-$(CONFIG_TAISHAN) += taishan.o
3obj-$(CONFIG_BAMBOO) += bamboo.o 4obj-$(CONFIG_BAMBOO) += bamboo.o
4obj-$(CONFIG_SEQUOIA) += sequoia.o 5obj-$(CONFIG_SEQUOIA) += sequoia.o
diff --git a/arch/powerpc/platforms/44x/taishan.c b/arch/powerpc/platforms/44x/taishan.c
new file mode 100644
index 000000000000..e3b7c7023336
--- /dev/null
+++ b/arch/powerpc/platforms/44x/taishan.c
@@ -0,0 +1,74 @@
1/*
2 * Taishan board specific routines based off ebony.c code
3 * original copyrights below
4 *
5 * Matt Porter <mporter@kernel.crashing.org>
6 * Copyright 2002-2005 MontaVista Software Inc.
7 *
8 * Eugene Surovegin <eugene.surovegin@zultys.com> or <ebs@ebshome.net>
9 * Copyright (c) 2003-2005 Zultys Technologies
10 *
11 * Rewritten and ported to the merged powerpc tree:
12 * Copyright 2007 David Gibson <dwg@au1.ibm.com>, IBM Corporation.
13 *
14 * Modified from ebony.c for taishan:
15 * Copyright 2007 Hugh Blemings <hugh@au.ibm.com>, IBM Corporation.
16 *
17 * This program is free software; you can redistribute it and/or modify it
18 * under the terms of the GNU General Public License as published by the
19 * Free Software Foundation; either version 2 of the License, or (at your
20 * option) any later version.
21 */
22
23#include <linux/init.h>
24#include <linux/of_platform.h>
25
26#include <asm/machdep.h>
27#include <asm/prom.h>
28#include <asm/udbg.h>
29#include <asm/time.h>
30#include <asm/uic.h>
31#include <asm/pci-bridge.h>
32
33#include "44x.h"
34
35static struct of_device_id taishan_of_bus[] = {
36 { .compatible = "ibm,plb4", },
37 { .compatible = "ibm,opb", },
38 { .compatible = "ibm,ebc", },
39 {},
40};
41
42static int __init taishan_device_probe(void)
43{
44 if (!machine_is(taishan))
45 return 0;
46
47 of_platform_bus_probe(NULL, taishan_of_bus, NULL);
48
49 return 0;
50}
51device_initcall(taishan_device_probe);
52
53/*
54 * Called very early, MMU is off, device-tree isn't unflattened
55 */
56static int __init taishan_probe(void)
57{
58 unsigned long root = of_get_flat_dt_root();
59
60 if (!of_flat_dt_is_compatible(root, "amcc,taishan"))
61 return 0;
62
63 return 1;
64}
65
66define_machine(taishan) {
67 .name = "Taishan",
68 .probe = taishan_probe,
69 .progress = udbg_progress,
70 .init_IRQ = uic_init_tree,
71 .get_irq = uic_get_irq,
72 .restart = ppc44x_reset_system,
73 .calibrate_decr = generic_calibrate_decr,
74};