aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/arm/mach-mx2/Kconfig14
-rw-r--r--arch/arm/mach-mx2/Makefile1
-rw-r--r--arch/arm/mach-mx2/pcm038.c4
-rw-r--r--arch/arm/mach-mx2/pcm970-baseboard.c32
-rw-r--r--include/asm-arm/arch-mxc/board-pcm038.h5
5 files changed, 56 insertions, 0 deletions
diff --git a/arch/arm/mach-mx2/Kconfig b/arch/arm/mach-mx2/Kconfig
index 4c19e1c79471..1eaa97cb716d 100644
--- a/arch/arm/mach-mx2/Kconfig
+++ b/arch/arm/mach-mx2/Kconfig
@@ -23,3 +23,17 @@ config MACH_PCM038
23 help 23 help
24 Include support for phyCORE-i.MX27 (aka pcm038) platform. This 24 Include support for phyCORE-i.MX27 (aka pcm038) platform. This
25 includes specific configurations for the module and its peripherals. 25 includes specific configurations for the module and its peripherals.
26
27choice
28 prompt "Baseboard"
29 depends on MACH_PCM038
30 default MACH_PCM970_BASEBOARD
31
32config MACH_PCM970_BASEBOARD
33 prompt "PHYTEC PCM970 development board"
34 bool
35 help
36 This adds board specific devices that can be found on Phytec's
37 PCM970 evaluation board.
38
39endchoice
diff --git a/arch/arm/mach-mx2/Makefile b/arch/arm/mach-mx2/Makefile
index f8d3836ee2f5..382d86080e86 100644
--- a/arch/arm/mach-mx2/Makefile
+++ b/arch/arm/mach-mx2/Makefile
@@ -11,3 +11,4 @@ obj-$(CONFIG_MACH_MX27) += clock_imx27.o
11 11
12obj-$(CONFIG_MACH_MX27ADS) += mx27ads.o 12obj-$(CONFIG_MACH_MX27ADS) += mx27ads.o
13obj-$(CONFIG_MACH_PCM038) += pcm038.o 13obj-$(CONFIG_MACH_PCM038) += pcm038.o
14obj-$(CONFIG_MACH_PCM970_BASEBOARD) += pcm970-baseboard.o
diff --git a/arch/arm/mach-mx2/pcm038.c b/arch/arm/mach-mx2/pcm038.c
index 46fc026138cc..a9a28f58e714 100644
--- a/arch/arm/mach-mx2/pcm038.c
+++ b/arch/arm/mach-mx2/pcm038.c
@@ -177,6 +177,10 @@ static void __init pcm038_init(void)
177 imx_init_uart(i, &uart_pdata[i]); 177 imx_init_uart(i, &uart_pdata[i]);
178 178
179 platform_add_devices(platform_devices, ARRAY_SIZE(platform_devices)); 179 platform_add_devices(platform_devices, ARRAY_SIZE(platform_devices));
180
181#ifdef CONFIG_MACH_PCM970_BASEBOARD
182 pcm970_baseboard_init();
183#endif
180} 184}
181 185
182static void __init pcm038_timer_init(void) 186static void __init pcm038_timer_init(void)
diff --git a/arch/arm/mach-mx2/pcm970-baseboard.c b/arch/arm/mach-mx2/pcm970-baseboard.c
new file mode 100644
index 000000000000..028ac4d33684
--- /dev/null
+++ b/arch/arm/mach-mx2/pcm970-baseboard.c
@@ -0,0 +1,32 @@
1/*
2 * Copyright (C) 2008 Juergen Beisert (kernel@pengutronix.de)
3 *
4 * This program is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU General Public License
6 * as published by the Free Software Foundation; either version 2
7 * of the License, or (at your option) any later version.
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program; if not, write to the Free Software
15 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
16 * MA 02110-1301, USA.
17 */
18
19#include <linux/platform_device.h>
20#include <asm/hardware.h>
21#include <asm/mach-types.h>
22#include <asm/mach/arch.h>
23
24/*
25 * system init for baseboard usage. Will be called by pcm038 init.
26 *
27 * Add platform devices present on this baseboard and init
28 * them from CPU side as far as required to use them later on
29 */
30void __init pcm970_baseboard_init(void)
31{
32}
diff --git a/include/asm-arm/arch-mxc/board-pcm038.h b/include/asm-arm/arch-mxc/board-pcm038.h
index 300467e8db66..750c62afd90f 100644
--- a/include/asm-arm/arch-mxc/board-pcm038.h
+++ b/include/asm-arm/arch-mxc/board-pcm038.h
@@ -30,7 +30,12 @@
30 * its own devices, it calls baseboard's init function. 30 * its own devices, it calls baseboard's init function.
31 * TODO: Add your own baseboard init function and call it from 31 * TODO: Add your own baseboard init function and call it from
32 * inside pcm038_init(). 32 * inside pcm038_init().
33 *
34 * This example here is for the development board. Refer pcm970-baseboard.c
33 */ 35 */
36
37extern void pcm970_baseboard_init(void);
38
34#endif 39#endif
35 40
36#endif /* __ASM_ARCH_MXC_BOARD_PCM038_H__ */ 41#endif /* __ASM_ARCH_MXC_BOARD_PCM038_H__ */