aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJaya Kumar <jayakumar.lkml@gmail.com>2008-12-09 09:14:29 -0500
committerEric Miao <eric.miao@marvell.com>2008-12-17 09:51:38 -0500
commit3332b0c17969d91d8868d2d003e685c420d84262 (patch)
treeea706af11e2473c8336bb6ec28d22f2d11b21a7f
parent07f651c72ac0530033883c113939d9b9c7fa75e5 (diff)
[ARM] pxa/gumstix: fix incorrect init done by am200
Signed-off-by: Jaya Kumar <jayakumar.lkml@gmail.com> Cc: Andre Puschmann <andre.puschmann@imms.de> Signed-off-by: Eric Miao <eric.miao@marvell.com>
-rw-r--r--arch/arm/mach-pxa/Kconfig21
-rw-r--r--arch/arm/mach-pxa/Makefile2
-rw-r--r--arch/arm/mach-pxa/am200epd.c4
-rw-r--r--arch/arm/mach-pxa/gumstix.c15
-rw-r--r--arch/arm/mach-pxa/include/mach/gumstix.h4
5 files changed, 32 insertions, 14 deletions
diff --git a/arch/arm/mach-pxa/Kconfig b/arch/arm/mach-pxa/Kconfig
index 8627e718a613..0b7f145dd418 100644
--- a/arch/arm/mach-pxa/Kconfig
+++ b/arch/arm/mach-pxa/Kconfig
@@ -27,15 +27,20 @@ endmenu
27endif 27endif
28 28
29config ARCH_GUMSTIX 29config ARCH_GUMSTIX
30 bool "Gumstix XScale boards" 30 bool "Gumstix XScale 255 boards"
31 select PXA25x
31 help 32 help
32 Say Y here if you intend to run this kernel on a 33 Say Y here if you intend to run this kernel on
33 Gumstix Full Function Minature Computer. 34 Basix, Connex, ws-200ax, ws-400ax systems
34 35
35config MACH_GUMSTIX_F 36choice
36 bool "Basix, Connex, ws-200ax, ws-400ax systems" 37 prompt "Gumstix Carrier/Expansion Board"
37 depends on ARCH_GUMSTIX 38 depends on ARCH_GUMSTIX
38 select PXA25x 39
40config GUMSTIX_AM200EPD
41 bool "Enable AM200EPD board support"
42
43endchoice
39 44
40config ARCH_LUBBOCK 45config ARCH_LUBBOCK
41 bool "Intel DBPXA250 Development Platform" 46 bool "Intel DBPXA250 Development Platform"
@@ -348,10 +353,6 @@ config PCM990_DISPLAY_NONE
348 353
349endchoice 354endchoice
350 355
351config MACH_AM200EPD
352 depends on MACH_GUMSTIX_F
353 bool "Enable AM200EPD board support"
354
355config PXA_EZX 356config PXA_EZX
356 bool "Motorola EZX Platform" 357 bool "Motorola EZX Platform"
357 select PXA27x 358 select PXA27x
diff --git a/arch/arm/mach-pxa/Makefile b/arch/arm/mach-pxa/Makefile
index dc184eae5109..264644519215 100644
--- a/arch/arm/mach-pxa/Makefile
+++ b/arch/arm/mach-pxa/Makefile
@@ -27,7 +27,7 @@ obj-$(CONFIG_CPU_PXA930) += pxa930.o
27 27
28# Specific board support 28# Specific board support
29obj-$(CONFIG_ARCH_GUMSTIX) += gumstix.o 29obj-$(CONFIG_ARCH_GUMSTIX) += gumstix.o
30obj-$(CONFIG_MACH_AM200EPD) += am200epd.o 30obj-$(CONFIG_GUMSTIX_AM200EPD) += am200epd.o
31obj-$(CONFIG_ARCH_LUBBOCK) += lubbock.o 31obj-$(CONFIG_ARCH_LUBBOCK) += lubbock.o
32obj-$(CONFIG_MACH_LOGICPD_PXA270) += lpd270.o 32obj-$(CONFIG_MACH_LOGICPD_PXA270) += lpd270.o
33obj-$(CONFIG_MACH_MAINSTONE) += mainstone.o 33obj-$(CONFIG_MACH_MAINSTONE) += mainstone.o
diff --git a/arch/arm/mach-pxa/am200epd.c b/arch/arm/mach-pxa/am200epd.c
index b965085a37b9..fd6142054578 100644
--- a/arch/arm/mach-pxa/am200epd.c
+++ b/arch/arm/mach-pxa/am200epd.c
@@ -331,7 +331,7 @@ static struct metronome_board am200_board = {
331 .cleanup = am200_cleanup, 331 .cleanup = am200_cleanup,
332}; 332};
333 333
334static int __init am200_init(void) 334int __init am200_init(void)
335{ 335{
336 int ret; 336 int ret;
337 337
@@ -367,8 +367,6 @@ static int __init am200_init(void)
367module_param(panel_type, uint, 0); 367module_param(panel_type, uint, 0);
368MODULE_PARM_DESC(panel_type, "Select the panel type: 6, 8, 97"); 368MODULE_PARM_DESC(panel_type, "Select the panel type: 6, 8, 97");
369 369
370module_init(am200_init);
371
372MODULE_DESCRIPTION("board driver for am200 metronome epd kit"); 370MODULE_DESCRIPTION("board driver for am200 metronome epd kit");
373MODULE_AUTHOR("Jaya Kumar"); 371MODULE_AUTHOR("Jaya Kumar");
374MODULE_LICENSE("GPL"); 372MODULE_LICENSE("GPL");
diff --git a/arch/arm/mach-pxa/gumstix.c b/arch/arm/mach-pxa/gumstix.c
index d8962a0fb98d..14d5103dafc9 100644
--- a/arch/arm/mach-pxa/gumstix.c
+++ b/arch/arm/mach-pxa/gumstix.c
@@ -193,6 +193,20 @@ static unsigned long gumstix_pin_config[] __initdata = {
193 GPIO16_GPIO, 193 GPIO16_GPIO,
194}; 194};
195 195
196int __attribute__((weak)) am200_init(void)
197{
198 return 0;
199}
200
201static void __init carrier_board_init(void)
202{
203 /*
204 * put carrier/expansion board init here if
205 * they cannot be detected programatically
206 */
207 am200_init();
208}
209
196static void __init gumstix_init(void) 210static void __init gumstix_init(void)
197{ 211{
198 pxa2xx_mfp_config(ARRAY_AND_SIZE(gumstix_pin_config)); 212 pxa2xx_mfp_config(ARRAY_AND_SIZE(gumstix_pin_config));
@@ -201,6 +215,7 @@ static void __init gumstix_init(void)
201 gumstix_udc_init(); 215 gumstix_udc_init();
202 gumstix_mmc_init(); 216 gumstix_mmc_init();
203 (void) platform_add_devices(devices, ARRAY_SIZE(devices)); 217 (void) platform_add_devices(devices, ARRAY_SIZE(devices));
218 carrier_board_init();
204} 219}
205 220
206MACHINE_START(GUMSTIX, "Gumstix") 221MACHINE_START(GUMSTIX, "Gumstix")
diff --git a/arch/arm/mach-pxa/include/mach/gumstix.h b/arch/arm/mach-pxa/include/mach/gumstix.h
index 42ee1956750e..099f54a41de4 100644
--- a/arch/arm/mach-pxa/include/mach/gumstix.h
+++ b/arch/arm/mach-pxa/include/mach/gumstix.h
@@ -94,3 +94,7 @@ has detected a cable insertion; driven low otherwise. */
94#define GPIO26_PRDY_nBSY_MD (GPIO26_PRDY_nBSY | GPIO_IN) 94#define GPIO26_PRDY_nBSY_MD (GPIO26_PRDY_nBSY | GPIO_IN)
95#define GPIO27_PRDY_nBSY_MD (GPIO27_PRDY_nBSY | GPIO_IN) 95#define GPIO27_PRDY_nBSY_MD (GPIO27_PRDY_nBSY | GPIO_IN)
96#define GPIO36_nCD_MD (GPIO36_nCD | GPIO_IN) 96#define GPIO36_nCD_MD (GPIO36_nCD | GPIO_IN)
97
98/* for expansion boards that can't be programatically detected */
99extern int am200_init(void);
100