diff options
Diffstat (limited to 'arch/powerpc/platforms/85xx')
-rw-r--r-- | arch/powerpc/platforms/85xx/Kconfig | 6 | ||||
-rw-r--r-- | arch/powerpc/platforms/85xx/Makefile | 1 | ||||
-rw-r--r-- | arch/powerpc/platforms/85xx/mvme2500.c | 74 |
3 files changed, 81 insertions, 0 deletions
diff --git a/arch/powerpc/platforms/85xx/Kconfig b/arch/powerpc/platforms/85xx/Kconfig index f22635a71d01..2fb4b24368a6 100644 --- a/arch/powerpc/platforms/85xx/Kconfig +++ b/arch/powerpc/platforms/85xx/Kconfig | |||
@@ -241,6 +241,12 @@ config SGY_CTS1000 | |||
241 | help | 241 | help |
242 | Enable this to support functionality in Servergy's CTS-1000 systems. | 242 | Enable this to support functionality in Servergy's CTS-1000 systems. |
243 | 243 | ||
244 | config MVME2500 | ||
245 | bool "Artesyn MVME2500" | ||
246 | select DEFAULT_UIMAGE | ||
247 | help | ||
248 | This option enables support for the Emerson/Artesyn MVME2500 board. | ||
249 | |||
244 | endif # PPC32 | 250 | endif # PPC32 |
245 | 251 | ||
246 | config PPC_QEMU_E500 | 252 | config PPC_QEMU_E500 |
diff --git a/arch/powerpc/platforms/85xx/Makefile b/arch/powerpc/platforms/85xx/Makefile index 730326046625..1fe7fb95175a 100644 --- a/arch/powerpc/platforms/85xx/Makefile +++ b/arch/powerpc/platforms/85xx/Makefile | |||
@@ -31,3 +31,4 @@ obj-$(CONFIG_XES_MPC85xx) += xes_mpc85xx.o | |||
31 | obj-$(CONFIG_GE_IMP3A) += ge_imp3a.o | 31 | obj-$(CONFIG_GE_IMP3A) += ge_imp3a.o |
32 | obj-$(CONFIG_PPC_QEMU_E500) += qemu_e500.o | 32 | obj-$(CONFIG_PPC_QEMU_E500) += qemu_e500.o |
33 | obj-$(CONFIG_SGY_CTS1000) += sgy_cts1000.o | 33 | obj-$(CONFIG_SGY_CTS1000) += sgy_cts1000.o |
34 | obj-$(CONFIG_MVME2500) += mvme2500.o | ||
diff --git a/arch/powerpc/platforms/85xx/mvme2500.c b/arch/powerpc/platforms/85xx/mvme2500.c new file mode 100644 index 000000000000..1233050560ae --- /dev/null +++ b/arch/powerpc/platforms/85xx/mvme2500.c | |||
@@ -0,0 +1,74 @@ | |||
1 | /* | ||
2 | * Board setup routines for the Emerson/Artesyn MVME2500 | ||
3 | * | ||
4 | * Copyright 2014 Elettra-Sincrotrone Trieste S.C.p.A. | ||
5 | * | ||
6 | * Based on earlier code by: | ||
7 | * | ||
8 | * Xianghua Xiao (x.xiao@freescale.com) | ||
9 | * Tom Armistead (tom.armistead@emerson.com) | ||
10 | * Copyright 2012 Emerson | ||
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 | * Author Alessio Igor Bogani <alessio.bogani@elettra.eu> | ||
18 | * | ||
19 | */ | ||
20 | |||
21 | #include <linux/pci.h> | ||
22 | #include <asm/udbg.h> | ||
23 | #include <asm/mpic.h> | ||
24 | #include <sysdev/fsl_soc.h> | ||
25 | #include <sysdev/fsl_pci.h> | ||
26 | |||
27 | #include "mpc85xx.h" | ||
28 | |||
29 | void __init mvme2500_pic_init(void) | ||
30 | { | ||
31 | struct mpic *mpic = mpic_alloc(NULL, 0, | ||
32 | MPIC_BIG_ENDIAN | MPIC_SINGLE_DEST_CPU, | ||
33 | 0, 256, " OpenPIC "); | ||
34 | BUG_ON(mpic == NULL); | ||
35 | mpic_init(mpic); | ||
36 | } | ||
37 | |||
38 | /* | ||
39 | * Setup the architecture | ||
40 | */ | ||
41 | static void __init mvme2500_setup_arch(void) | ||
42 | { | ||
43 | if (ppc_md.progress) | ||
44 | ppc_md.progress("mvme2500_setup_arch()", 0); | ||
45 | fsl_pci_assign_primary(); | ||
46 | pr_info("MVME2500 board from Artesyn\n"); | ||
47 | } | ||
48 | |||
49 | machine_arch_initcall(mvme2500, mpc85xx_common_publish_devices); | ||
50 | |||
51 | /* | ||
52 | * Called very early, device-tree isn't unflattened | ||
53 | */ | ||
54 | static int __init mvme2500_probe(void) | ||
55 | { | ||
56 | unsigned long root = of_get_flat_dt_root(); | ||
57 | |||
58 | return of_flat_dt_is_compatible(root, "artesyn,MVME2500"); | ||
59 | } | ||
60 | |||
61 | define_machine(mvme2500) { | ||
62 | .name = "MVME2500", | ||
63 | .probe = mvme2500_probe, | ||
64 | .setup_arch = mvme2500_setup_arch, | ||
65 | .init_IRQ = mvme2500_pic_init, | ||
66 | #ifdef CONFIG_PCI | ||
67 | .pcibios_fixup_bus = fsl_pcibios_fixup_bus, | ||
68 | .pcibios_fixup_phb = fsl_pcibios_fixup_phb, | ||
69 | #endif | ||
70 | .get_irq = mpic_get_irq, | ||
71 | .restart = fsl_rstcr_restart, | ||
72 | .calibrate_decr = generic_calibrate_decr, | ||
73 | .progress = udbg_progress, | ||
74 | }; | ||