diff options
author | Josh Boyer <jwboyer@linux.vnet.ibm.com> | 2007-09-07 08:51:24 -0400 |
---|---|---|
committer | Josh Boyer <jwboyer@linux.vnet.ibm.com> | 2007-09-07 08:51:24 -0400 |
commit | 545c069ccd76a0f1f3ceacd8ba5bc8f5208eb727 (patch) | |
tree | 05837287a30fe3e0f8037e4039c2bd5bc80dae99 /arch/powerpc/platforms | |
parent | 7f2814d229905c35d7c38798891adf00286fdca4 (diff) |
[POWERPC] Walnut board support
Board support for the PPC405 Walnut evaluation board
Signed-off-by: Josh Boyer <jwboyer@linux.vnet.ibm.com>
Acked-by: David Gibson <david@gibson.dropbear.id.au>
Diffstat (limited to 'arch/powerpc/platforms')
-rw-r--r-- | arch/powerpc/platforms/40x/Kconfig | 14 | ||||
-rw-r--r-- | arch/powerpc/platforms/40x/Makefile | 2 | ||||
-rw-r--r-- | arch/powerpc/platforms/40x/walnut.c | 68 | ||||
-rw-r--r-- | arch/powerpc/platforms/Kconfig | 2 | ||||
-rw-r--r-- | arch/powerpc/platforms/Makefile | 2 |
5 files changed, 78 insertions, 10 deletions
diff --git a/arch/powerpc/platforms/40x/Kconfig b/arch/powerpc/platforms/40x/Kconfig index 2cc7343b468c..c3dce3b3d524 100644 --- a/arch/powerpc/platforms/40x/Kconfig +++ b/arch/powerpc/platforms/40x/Kconfig | |||
@@ -53,13 +53,13 @@ | |||
53 | # help | 53 | # help |
54 | # This option enables support for the IBM PPC405GPr evaluation board. | 54 | # This option enables support for the IBM PPC405GPr evaluation board. |
55 | 55 | ||
56 | #config WALNUT | 56 | config WALNUT |
57 | # bool "Walnut" | 57 | bool "Walnut" |
58 | # depends on 40x | 58 | depends on 40x |
59 | # default y | 59 | default y |
60 | # select 405GP | 60 | select 405GP |
61 | # help | 61 | help |
62 | # This option enables support for the IBM PPC405GP evaluation board. | 62 | This option enables support for the IBM PPC405GP evaluation board. |
63 | 63 | ||
64 | #config XILINX_ML300 | 64 | #config XILINX_ML300 |
65 | # bool "Xilinx-ML300" | 65 | # bool "Xilinx-ML300" |
diff --git a/arch/powerpc/platforms/40x/Makefile b/arch/powerpc/platforms/40x/Makefile index 79ff6b1e887c..e6c0bbd063a4 100644 --- a/arch/powerpc/platforms/40x/Makefile +++ b/arch/powerpc/platforms/40x/Makefile | |||
@@ -1 +1 @@ | |||
# empty makefile so make clean works \ No newline at end of file | obj-$(CONFIG_WALNUT) += walnut.o | ||
diff --git a/arch/powerpc/platforms/40x/walnut.c b/arch/powerpc/platforms/40x/walnut.c new file mode 100644 index 000000000000..c17fdf23b492 --- /dev/null +++ b/arch/powerpc/platforms/40x/walnut.c | |||
@@ -0,0 +1,68 @@ | |||
1 | /* | ||
2 | * Architecture- / platform-specific boot-time initialization code for | ||
3 | * IBM PowerPC 4xx based boards. Adapted from original | ||
4 | * code by Gary Thomas, Cort Dougan <cort@fsmlabs.com>, and Dan Malek | ||
5 | * <dan@net4x.com>. | ||
6 | * | ||
7 | * Copyright(c) 1999-2000 Grant Erickson <grant@lcse.umn.edu> | ||
8 | * | ||
9 | * Rewritten and ported to the merged powerpc tree: | ||
10 | * Copyright 2007 IBM Corporation | ||
11 | * Josh Boyer <jwboyer@linux.vnet.ibm.com> | ||
12 | * | ||
13 | * 2002 (c) MontaVista, Software, Inc. This file is licensed under | ||
14 | * the terms of the GNU General Public License version 2. This program | ||
15 | * is licensed "as is" without any warranty of any kind, whether express | ||
16 | * or implied. | ||
17 | */ | ||
18 | |||
19 | #include <linux/init.h> | ||
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/of_platform.h> | ||
26 | |||
27 | static struct of_device_id walnut_of_bus[] = { | ||
28 | { .compatible = "ibm,plb3", }, | ||
29 | { .compatible = "ibm,opb", }, | ||
30 | { .compatible = "ibm,ebc", }, | ||
31 | {}, | ||
32 | }; | ||
33 | |||
34 | static int __init walnut_device_probe(void) | ||
35 | { | ||
36 | if (!machine_is(walnut)) | ||
37 | return 0; | ||
38 | |||
39 | /* FIXME: do bus probe here */ | ||
40 | of_platform_bus_probe(NULL, walnut_of_bus, NULL); | ||
41 | |||
42 | return 0; | ||
43 | } | ||
44 | device_initcall(walnut_device_probe); | ||
45 | |||
46 | static int __init walnut_probe(void) | ||
47 | { | ||
48 | unsigned long root = of_get_flat_dt_root(); | ||
49 | |||
50 | if (!of_flat_dt_is_compatible(root, "ibm,walnut")) | ||
51 | return 0; | ||
52 | |||
53 | return 1; | ||
54 | } | ||
55 | |||
56 | static void __init walnut_setup_arch(void) | ||
57 | { | ||
58 | } | ||
59 | |||
60 | define_machine(walnut) { | ||
61 | .name = "Walnut", | ||
62 | .probe = walnut_probe, | ||
63 | .setup_arch = walnut_setup_arch, | ||
64 | .progress = udbg_progress, | ||
65 | .init_IRQ = uic_init_tree, | ||
66 | .get_irq = uic_get_irq, | ||
67 | .calibrate_decr = generic_calibrate_decr, | ||
68 | }; | ||
diff --git a/arch/powerpc/platforms/Kconfig b/arch/powerpc/platforms/Kconfig index 041df77ec117..8eb8d400ecb2 100644 --- a/arch/powerpc/platforms/Kconfig +++ b/arch/powerpc/platforms/Kconfig | |||
@@ -59,7 +59,7 @@ source "arch/powerpc/platforms/85xx/Kconfig" | |||
59 | source "arch/powerpc/platforms/86xx/Kconfig" | 59 | source "arch/powerpc/platforms/86xx/Kconfig" |
60 | source "arch/powerpc/platforms/embedded6xx/Kconfig" | 60 | source "arch/powerpc/platforms/embedded6xx/Kconfig" |
61 | source "arch/powerpc/platforms/44x/Kconfig" | 61 | source "arch/powerpc/platforms/44x/Kconfig" |
62 | #source "arch/powerpc/platforms/4xx/Kconfig | 62 | source "arch/powerpc/platforms/40x/Kconfig" |
63 | 63 | ||
64 | config PPC_NATIVE | 64 | config PPC_NATIVE |
65 | bool | 65 | bool |
diff --git a/arch/powerpc/platforms/Makefile b/arch/powerpc/platforms/Makefile index d44e832b01f2..6d9079da5f5a 100644 --- a/arch/powerpc/platforms/Makefile +++ b/arch/powerpc/platforms/Makefile | |||
@@ -9,7 +9,7 @@ obj-$(CONFIG_PPC_PMAC) += powermac/ | |||
9 | endif | 9 | endif |
10 | endif | 10 | endif |
11 | obj-$(CONFIG_PPC_CHRP) += chrp/ | 11 | obj-$(CONFIG_PPC_CHRP) += chrp/ |
12 | #obj-$(CONFIG_4xx) += 4xx/ | 12 | obj-$(CONFIG_40x) += 40x/ |
13 | obj-$(CONFIG_44x) += 44x/ | 13 | obj-$(CONFIG_44x) += 44x/ |
14 | obj-$(CONFIG_PPC_MPC52xx) += 52xx/ | 14 | obj-$(CONFIG_PPC_MPC52xx) += 52xx/ |
15 | obj-$(CONFIG_PPC_8xx) += 8xx/ | 15 | obj-$(CONFIG_PPC_8xx) += 8xx/ |