aboutsummaryrefslogtreecommitdiffstats
path: root/arch/powerpc/platforms/83xx
diff options
context:
space:
mode:
authorBryan O'Donoghue <bodonoghue@codehermit.ie>2008-05-08 08:47:00 -0400
committerKumar Gala <galak@kernel.crashing.org>2008-06-02 15:44:25 -0400
commit59d13f9dba56c444e5356b42d3d57b46e44ef975 (patch)
tree320b02fb36d0fe68575e740b5053cdca6288b5c4 /arch/powerpc/platforms/83xx
parent64f9b5ee17ee7974d7cc58d75221432d86960ba3 (diff)
[POWERPC] 83xx: Add support for Analogue & Micro ASP837E board
The following adds support for the Analogue & Micro ASP 8347E, running Redboot. http://www.analogue-micro.com/ASP8347.html Signed-off-by: Bryan O'Donoghue <bodonoghue@codehermit.ie> Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
Diffstat (limited to 'arch/powerpc/platforms/83xx')
-rw-r--r--arch/powerpc/platforms/83xx/Kconfig9
-rw-r--r--arch/powerpc/platforms/83xx/Makefile1
-rw-r--r--arch/powerpc/platforms/83xx/asp834x.c90
3 files changed, 100 insertions, 0 deletions
diff --git a/arch/powerpc/platforms/83xx/Kconfig b/arch/powerpc/platforms/83xx/Kconfig
index 13587e2e8680..583b0c7409c9 100644
--- a/arch/powerpc/platforms/83xx/Kconfig
+++ b/arch/powerpc/platforms/83xx/Kconfig
@@ -79,6 +79,15 @@ config SBC834x
79 help 79 help
80 This option enables support for the Wind River SBC834x board. 80 This option enables support for the Wind River SBC834x board.
81 81
82config ASP834x
83 bool "Analogue & Micro ASP 834x"
84 select PPC_MPC834x
85 select REDBOOT
86 help
87 This enables support for the Analogue & Micro ASP 83xx
88 board.
89
90
82endif 91endif
83 92
84# used for usb 93# used for usb
diff --git a/arch/powerpc/platforms/83xx/Makefile b/arch/powerpc/platforms/83xx/Makefile
index 7e6dd3e259d8..76494bed69ae 100644
--- a/arch/powerpc/platforms/83xx/Makefile
+++ b/arch/powerpc/platforms/83xx/Makefile
@@ -12,3 +12,4 @@ obj-$(CONFIG_MPC832x_MDS) += mpc832x_mds.o
12obj-$(CONFIG_MPC837x_MDS) += mpc837x_mds.o 12obj-$(CONFIG_MPC837x_MDS) += mpc837x_mds.o
13obj-$(CONFIG_SBC834x) += sbc834x.o 13obj-$(CONFIG_SBC834x) += sbc834x.o
14obj-$(CONFIG_MPC837x_RDB) += mpc837x_rdb.o 14obj-$(CONFIG_MPC837x_RDB) += mpc837x_rdb.o
15obj-$(CONFIG_ASP834x) += asp834x.o
diff --git a/arch/powerpc/platforms/83xx/asp834x.c b/arch/powerpc/platforms/83xx/asp834x.c
new file mode 100644
index 000000000000..bb30d67ad0a2
--- /dev/null
+++ b/arch/powerpc/platforms/83xx/asp834x.c
@@ -0,0 +1,90 @@
1/*
2 * arch/powerpc/platforms/83xx/asp834x.c
3 *
4 * Analogue & Micro ASP8347 board specific routines
5 * clone of mpc834x_itx
6 *
7 * Copyright 2008 Codehermit
8 *
9 * Maintainer: Bryan O'Donoghue <bodonoghue@codhermit.ie>
10 *
11 * This program is free software; you can redistribute it and/or modify it
12 * under the terms of the GNU General Public License as published by the
13 * Free Software Foundation; either version 2 of the License, or (at your
14 * option) any later version.
15 */
16
17#include <linux/pci.h>
18#include <linux/of_platform.h>
19
20#include <asm/time.h>
21#include <asm/ipic.h>
22#include <asm/udbg.h>
23
24#include "mpc83xx.h"
25
26/* ************************************************************************
27 *
28 * Setup the architecture
29 *
30 */
31static void __init asp834x_setup_arch(void)
32{
33 if (ppc_md.progress)
34 ppc_md.progress("asp834x_setup_arch()", 0);
35
36 mpc834x_usb_cfg();
37}
38
39static void __init asp834x_init_IRQ(void)
40{
41 struct device_node *np;
42
43 np = of_find_node_by_type(NULL, "ipic");
44 if (!np)
45 return;
46
47 ipic_init(np, 0);
48
49 of_node_put(np);
50
51 /* Initialize the default interrupt mapping priorities,
52 * in case the boot rom changed something on us.
53 */
54 ipic_set_default_priority();
55}
56
57static struct __initdata of_device_id asp8347_ids[] = {
58 { .type = "soc", },
59 { .compatible = "soc", },
60 { .compatible = "simple-bus", },
61 {},
62};
63
64static int __init asp8347_declare_of_platform_devices(void)
65{
66 of_platform_bus_probe(NULL, asp8347_ids, NULL);
67 return 0;
68}
69machine_device_initcall(asp834x, asp8347_declare_of_platform_devices);
70
71/*
72 * Called very early, MMU is off, device-tree isn't unflattened
73 */
74static int __init asp834x_probe(void)
75{
76 unsigned long root = of_get_flat_dt_root();
77 return of_flat_dt_is_compatible(root, "analogue-and-micro,asp8347e");
78}
79
80define_machine(asp834x) {
81 .name = "ASP8347E",
82 .probe = asp834x_probe,
83 .setup_arch = asp834x_setup_arch,
84 .init_IRQ = asp834x_init_IRQ,
85 .get_irq = ipic_get_irq,
86 .restart = mpc83xx_restart,
87 .time_init = mpc83xx_time_init,
88 .calibrate_decr = generic_calibrate_decr,
89 .progress = udbg_progress,
90};