aboutsummaryrefslogtreecommitdiffstats
path: root/arch/powerpc/platforms
diff options
context:
space:
mode:
authorPaul Mackerras <paulus@samba.org>2008-06-29 19:57:05 -0400
committerPaul Mackerras <paulus@samba.org>2008-06-29 19:57:05 -0400
commit441dbb500b4344a8e3125e5aabab4f9dbf72514f (patch)
tree3bb8fb1a88db3f5d03062a4887312f25c2e8041d /arch/powerpc/platforms
parentdee805532a30183c4462305b4614e58bd83a7bc1 (diff)
parent5ce4b59653b2c2053cd9a011918ac1e4747f24cc (diff)
Merge branch 'next' of master.kernel.org:/pub/scm/linux/kernel/git/jwboyer/powerpc-4xx
Diffstat (limited to 'arch/powerpc/platforms')
-rw-r--r--arch/powerpc/platforms/44x/Kconfig9
-rw-r--r--arch/powerpc/platforms/44x/Makefile1
-rw-r--r--arch/powerpc/platforms/44x/sam440ep.c79
-rw-r--r--arch/powerpc/platforms/44x/warp-nand.c3
4 files changed, 90 insertions, 2 deletions
diff --git a/arch/powerpc/platforms/44x/Kconfig b/arch/powerpc/platforms/44x/Kconfig
index 6abe91357ee..bee49ca704e 100644
--- a/arch/powerpc/platforms/44x/Kconfig
+++ b/arch/powerpc/platforms/44x/Kconfig
@@ -17,6 +17,15 @@ config EBONY
17 help 17 help
18 This option enables support for the IBM PPC440GP evaluation board. 18 This option enables support for the IBM PPC440GP evaluation board.
19 19
20config SAM440EP
21 bool "Sam440ep"
22 depends on 44x
23 default n
24 select 440EP
25 select PCI
26 help
27 This option enables support for the ACube Sam440ep board.
28
20config SEQUOIA 29config SEQUOIA
21 bool "Sequoia" 30 bool "Sequoia"
22 depends on 44x 31 depends on 44x
diff --git a/arch/powerpc/platforms/44x/Makefile b/arch/powerpc/platforms/44x/Makefile
index 774165f9acd..4e71e77f9a2 100644
--- a/arch/powerpc/platforms/44x/Makefile
+++ b/arch/powerpc/platforms/44x/Makefile
@@ -3,6 +3,7 @@ obj-$(CONFIG_EBONY) += ebony.o
3obj-$(CONFIG_TAISHAN) += taishan.o 3obj-$(CONFIG_TAISHAN) += taishan.o
4obj-$(CONFIG_BAMBOO) += bamboo.o 4obj-$(CONFIG_BAMBOO) += bamboo.o
5obj-$(CONFIG_YOSEMITE) += bamboo.o 5obj-$(CONFIG_YOSEMITE) += bamboo.o
6obj-$(CONFIG_SAM440EP) += sam440ep.o
6obj-$(CONFIG_SEQUOIA) += sequoia.o 7obj-$(CONFIG_SEQUOIA) += sequoia.o
7obj-$(CONFIG_KATMAI) += katmai.o 8obj-$(CONFIG_KATMAI) += katmai.o
8obj-$(CONFIG_RAINIER) += rainier.o 9obj-$(CONFIG_RAINIER) += rainier.o
diff --git a/arch/powerpc/platforms/44x/sam440ep.c b/arch/powerpc/platforms/44x/sam440ep.c
new file mode 100644
index 00000000000..47f10e64773
--- /dev/null
+++ b/arch/powerpc/platforms/44x/sam440ep.c
@@ -0,0 +1,79 @@
1/*
2 * Sam440ep board specific routines based off bamboo.c code
3 * original copyrights below
4 *
5 * Wade Farnsworth <wfarnsworth@mvista.com>
6 * Copyright 2004 MontaVista Software Inc.
7 *
8 * Rewritten and ported to the merged powerpc tree:
9 * Josh Boyer <jwboyer@linux.vnet.ibm.com>
10 * Copyright 2007 IBM Corporation
11 *
12 * Modified from bamboo.c for sam440ep:
13 * Copyright 2008 Giuseppe Coviello <gicoviello@gmail.com>
14 *
15 * This program is free software; you can redistribute it and/or modify it
16 * under the terms of the GNU General Public License as published by the
17 * Free Software Foundation; either version 2 of the License, or (at your
18 * option) any later version.
19 */
20#include <linux/init.h>
21#include <linux/of_platform.h>
22
23#include <asm/machdep.h>
24#include <asm/prom.h>
25#include <asm/udbg.h>
26#include <asm/time.h>
27#include <asm/uic.h>
28#include <asm/pci-bridge.h>
29#include <asm/ppc4xx.h>
30#include <linux/i2c.h>
31
32static __initdata struct of_device_id sam440ep_of_bus[] = {
33 { .compatible = "ibm,plb4", },
34 { .compatible = "ibm,opb", },
35 { .compatible = "ibm,ebc", },
36 {},
37};
38
39static int __init sam440ep_device_probe(void)
40{
41 of_platform_bus_probe(NULL, sam440ep_of_bus, NULL);
42
43 return 0;
44}
45machine_device_initcall(sam440ep, sam440ep_device_probe);
46
47static int __init sam440ep_probe(void)
48{
49 unsigned long root = of_get_flat_dt_root();
50
51 if (!of_flat_dt_is_compatible(root, "acube,sam440ep"))
52 return 0;
53
54 ppc_pci_flags = PPC_PCI_REASSIGN_ALL_RSRC;
55
56 return 1;
57}
58
59define_machine(sam440ep) {
60 .name = "Sam440ep",
61 .probe = sam440ep_probe,
62 .progress = udbg_progress,
63 .init_IRQ = uic_init_tree,
64 .get_irq = uic_get_irq,
65 .restart = ppc4xx_reset_system,
66 .calibrate_decr = generic_calibrate_decr,
67};
68
69static struct i2c_board_info sam440ep_rtc_info = {
70 .type = "m41st85",
71 .addr = 0x68,
72 .irq = -1,
73};
74
75static int sam440ep_setup_rtc(void)
76{
77 return i2c_register_board_info(0, &sam440ep_rtc_info, 1);
78}
79machine_device_initcall(sam440ep, sam440ep_setup_rtc);
diff --git a/arch/powerpc/platforms/44x/warp-nand.c b/arch/powerpc/platforms/44x/warp-nand.c
index d293c702e73..7bec2815771 100644
--- a/arch/powerpc/platforms/44x/warp-nand.c
+++ b/arch/powerpc/platforms/44x/warp-nand.c
@@ -94,8 +94,7 @@ static struct platform_nand_chip warp_nand_chip0 = {
94static struct platform_device warp_nand_device = { 94static struct platform_device warp_nand_device = {
95 .name = "ndfc-chip", 95 .name = "ndfc-chip",
96 .id = 0, 96 .id = 0,
97 .num_resources = 1, 97 .num_resources = 0,
98 .resource = &warp_ndfc,
99 .dev = { 98 .dev = {
100 .platform_data = &warp_nand_chip0, 99 .platform_data = &warp_nand_chip0,
101 .parent = &warp_ndfc_device.dev, 100 .parent = &warp_ndfc_device.dev,