aboutsummaryrefslogtreecommitdiffstats
path: root/arch/powerpc
diff options
context:
space:
mode:
authorStefan Roese <sr@denx.de>2008-02-23 16:07:52 -0500
committerJosh Boyer <jwboyer@linux.vnet.ibm.com>2008-03-26 08:19:16 -0400
commit66e4b3341d722d464fea627f7c0b7273d4f2912b (patch)
tree803a32bc098fdce858aecd0201909b17dd1db204 /arch/powerpc
parent464076a4b328946528998513c4ef799fd60de588 (diff)
[POWERPC] 4xx: Add AMCC Canyonlands 460EX eval board support to platforms/44x
Canyonlands is the AMCC 460EX eval board, featuring nearly all of the 460EX interfaces: - 1 * PCI (max 66MHz), 2 * PCIe (one 4-lane, one 1-lane) - 2 * GBit Ethernet with TCP/IP acceleration - USB 2.0 Host/Device OTG and Host interface - SATA port Signed-off-by: Stefan Roese <sr@denx.de> Signed-off-by: Josh Boyer <jwboyer@linux.vnet.ibm.com>
Diffstat (limited to 'arch/powerpc')
-rw-r--r--arch/powerpc/platforms/44x/Kconfig18
-rw-r--r--arch/powerpc/platforms/44x/Makefile1
-rw-r--r--arch/powerpc/platforms/44x/canyonlands.c64
3 files changed, 83 insertions, 0 deletions
diff --git a/arch/powerpc/platforms/44x/Kconfig b/arch/powerpc/platforms/44x/Kconfig
index 1bfb2191010a..83155fe29eba 100644
--- a/arch/powerpc/platforms/44x/Kconfig
+++ b/arch/powerpc/platforms/44x/Kconfig
@@ -67,6 +67,16 @@ config WARP
67 See http://www.pikatechnologies.com/ and follow the "PIKA for Computer 67 See http://www.pikatechnologies.com/ and follow the "PIKA for Computer
68 Telephony Developers" link for more information. 68 Telephony Developers" link for more information.
69 69
70config CANYONLANDS
71 bool "Canyonlands"
72 depends on 44x
73 default n
74 select 460EX
75 select PCI
76 select PPC4xx_PCI_EXPRESS
77 help
78 This option enables support for the AMCC PPC460EX evaluation board.
79
70#config LUAN 80#config LUAN
71# bool "Luan" 81# bool "Luan"
72# depends on 44x 82# depends on 44x
@@ -122,6 +132,14 @@ config 440SPe
122 bool 132 bool
123 select IBM_NEW_EMAC_EMAC4 133 select IBM_NEW_EMAC_EMAC4
124 134
135config 460EX
136 bool
137 select PPC_FPU
138 select IBM_NEW_EMAC_EMAC4
139 select IBM_NEW_EMAC_RGMII
140 select IBM_NEW_EMAC_ZMII
141 select IBM_NEW_EMAC_TAH
142
125# 44x errata/workaround config symbols, selected by the CPU models above 143# 44x errata/workaround config symbols, selected by the CPU models above
126config IBM440EP_ERR42 144config IBM440EP_ERR42
127 bool 145 bool
diff --git a/arch/powerpc/platforms/44x/Makefile b/arch/powerpc/platforms/44x/Makefile
index 0864d4f1cbc2..d70eb0341de3 100644
--- a/arch/powerpc/platforms/44x/Makefile
+++ b/arch/powerpc/platforms/44x/Makefile
@@ -7,3 +7,4 @@ obj-$(CONFIG_KATMAI) += katmai.o
7obj-$(CONFIG_RAINIER) += rainier.o 7obj-$(CONFIG_RAINIER) += rainier.o
8obj-$(CONFIG_WARP) += warp.o 8obj-$(CONFIG_WARP) += warp.o
9obj-$(CONFIG_WARP) += warp-nand.o 9obj-$(CONFIG_WARP) += warp-nand.o
10obj-$(CONFIG_CANYONLANDS) += canyonlands.o
diff --git a/arch/powerpc/platforms/44x/canyonlands.c b/arch/powerpc/platforms/44x/canyonlands.c
new file mode 100644
index 000000000000..dac5b3203696
--- /dev/null
+++ b/arch/powerpc/platforms/44x/canyonlands.c
@@ -0,0 +1,64 @@
1/*
2 * Canyonlands board specific routines
3 *
4 * Copyright 2008 DENX Software Engineering, Stefan Roese <sr@denx.de>
5 *
6 * Based on the Katmai code by
7 * Benjamin Herrenschmidt <benh@kernel.crashing.org>
8 * Copyright 2007 IBM Corp.
9 * Josh Boyer <jwboyer@linux.vnet.ibm.com>
10 * Copyright 2007 IBM Corporation
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 as published by the
14 * Free Software Foundation; either version 2 of the License, or (at your
15 * option) any later version.
16 */
17#include <linux/init.h>
18#include <linux/of_platform.h>
19
20#include <asm/machdep.h>
21#include <asm/prom.h>
22#include <asm/udbg.h>
23#include <asm/time.h>
24#include <asm/uic.h>
25#include <asm/pci-bridge.h>
26
27#include "44x.h"
28
29static __initdata struct of_device_id canyonlands_of_bus[] = {
30 { .compatible = "ibm,plb4", },
31 { .compatible = "ibm,opb", },
32 { .compatible = "ibm,ebc", },
33 {},
34};
35
36static int __init canyonlands_device_probe(void)
37{
38 of_platform_bus_probe(NULL, canyonlands_of_bus, NULL);
39
40 return 0;
41}
42machine_device_initcall(canyonlands, canyonlands_device_probe);
43
44static int __init canyonlands_probe(void)
45{
46 unsigned long root = of_get_flat_dt_root();
47
48 if (!of_flat_dt_is_compatible(root, "amcc,canyonlands"))
49 return 0;
50
51 ppc_pci_flags = PPC_PCI_REASSIGN_ALL_RSRC;
52
53 return 1;
54}
55
56define_machine(canyonlands) {
57 .name = "Canyonlands",
58 .probe = canyonlands_probe,
59 .progress = udbg_progress,
60 .init_IRQ = uic_init_tree,
61 .get_irq = uic_get_irq,
62 .restart = ppc44x_reset_system,
63 .calibrate_decr = generic_calibrate_decr,
64};