diff options
author | Stefan Roese <sr@denx.de> | 2008-02-23 16:07:52 -0500 |
---|---|---|
committer | Josh Boyer <jwboyer@linux.vnet.ibm.com> | 2008-03-26 08:19:16 -0400 |
commit | 66e4b3341d722d464fea627f7c0b7273d4f2912b (patch) | |
tree | 803a32bc098fdce858aecd0201909b17dd1db204 /arch/powerpc/platforms/44x | |
parent | 464076a4b328946528998513c4ef799fd60de588 (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/platforms/44x')
-rw-r--r-- | arch/powerpc/platforms/44x/Kconfig | 18 | ||||
-rw-r--r-- | arch/powerpc/platforms/44x/Makefile | 1 | ||||
-rw-r--r-- | arch/powerpc/platforms/44x/canyonlands.c | 64 |
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 | ||
70 | config 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 | ||
135 | config 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 |
126 | config IBM440EP_ERR42 | 144 | config 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 | |||
7 | obj-$(CONFIG_RAINIER) += rainier.o | 7 | obj-$(CONFIG_RAINIER) += rainier.o |
8 | obj-$(CONFIG_WARP) += warp.o | 8 | obj-$(CONFIG_WARP) += warp.o |
9 | obj-$(CONFIG_WARP) += warp-nand.o | 9 | obj-$(CONFIG_WARP) += warp-nand.o |
10 | obj-$(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 | |||
29 | static __initdata struct of_device_id canyonlands_of_bus[] = { | ||
30 | { .compatible = "ibm,plb4", }, | ||
31 | { .compatible = "ibm,opb", }, | ||
32 | { .compatible = "ibm,ebc", }, | ||
33 | {}, | ||
34 | }; | ||
35 | |||
36 | static int __init canyonlands_device_probe(void) | ||
37 | { | ||
38 | of_platform_bus_probe(NULL, canyonlands_of_bus, NULL); | ||
39 | |||
40 | return 0; | ||
41 | } | ||
42 | machine_device_initcall(canyonlands, canyonlands_device_probe); | ||
43 | |||
44 | static 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 | |||
56 | define_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 | }; | ||