diff options
Diffstat (limited to 'arch/arm/mach-pxa/lubbock.c')
-rw-r--r-- | arch/arm/mach-pxa/lubbock.c | 45 |
1 files changed, 23 insertions, 22 deletions
diff --git a/arch/arm/mach-pxa/lubbock.c b/arch/arm/mach-pxa/lubbock.c index a3fae4139203..bb9e09208b9f 100644 --- a/arch/arm/mach-pxa/lubbock.c +++ b/arch/arm/mach-pxa/lubbock.c | |||
@@ -21,15 +21,16 @@ | |||
21 | #include <linux/interrupt.h> | 21 | #include <linux/interrupt.h> |
22 | #include <linux/mtd/mtd.h> | 22 | #include <linux/mtd/mtd.h> |
23 | #include <linux/mtd/partitions.h> | 23 | #include <linux/mtd/partitions.h> |
24 | #include <linux/smc91x.h> | ||
24 | 25 | ||
25 | #include <linux/spi/spi.h> | 26 | #include <linux/spi/spi.h> |
26 | #include <linux/spi/ads7846.h> | 27 | #include <linux/spi/ads7846.h> |
27 | #include <asm/arch/pxa2xx_spi.h> | 28 | #include <mach/pxa2xx_spi.h> |
28 | 29 | ||
29 | #include <asm/setup.h> | 30 | #include <asm/setup.h> |
30 | #include <asm/memory.h> | 31 | #include <asm/memory.h> |
31 | #include <asm/mach-types.h> | 32 | #include <asm/mach-types.h> |
32 | #include <asm/hardware.h> | 33 | #include <mach/hardware.h> |
33 | #include <asm/irq.h> | 34 | #include <asm/irq.h> |
34 | #include <asm/sizes.h> | 35 | #include <asm/sizes.h> |
35 | 36 | ||
@@ -40,15 +41,15 @@ | |||
40 | 41 | ||
41 | #include <asm/hardware/sa1111.h> | 42 | #include <asm/hardware/sa1111.h> |
42 | 43 | ||
43 | #include <asm/arch/pxa-regs.h> | 44 | #include <mach/pxa-regs.h> |
44 | #include <asm/arch/pxa2xx-regs.h> | 45 | #include <mach/pxa2xx-regs.h> |
45 | #include <asm/arch/mfp-pxa25x.h> | 46 | #include <mach/mfp-pxa25x.h> |
46 | #include <asm/arch/audio.h> | 47 | #include <mach/audio.h> |
47 | #include <asm/arch/lubbock.h> | 48 | #include <mach/lubbock.h> |
48 | #include <asm/arch/udc.h> | 49 | #include <mach/udc.h> |
49 | #include <asm/arch/irda.h> | 50 | #include <mach/irda.h> |
50 | #include <asm/arch/pxafb.h> | 51 | #include <mach/pxafb.h> |
51 | #include <asm/arch/mmc.h> | 52 | #include <mach/mmc.h> |
52 | 53 | ||
53 | #include "generic.h" | 54 | #include "generic.h" |
54 | #include "devices.h" | 55 | #include "devices.h" |
@@ -151,7 +152,7 @@ static void __init lubbock_init_irq(void) | |||
151 | } | 152 | } |
152 | 153 | ||
153 | set_irq_chained_handler(IRQ_GPIO(0), lubbock_irq_handler); | 154 | set_irq_chained_handler(IRQ_GPIO(0), lubbock_irq_handler); |
154 | set_irq_type(IRQ_GPIO(0), IRQT_FALLING); | 155 | set_irq_type(IRQ_GPIO(0), IRQ_TYPE_EDGE_FALLING); |
155 | } | 156 | } |
156 | 157 | ||
157 | #ifdef CONFIG_PM | 158 | #ifdef CONFIG_PM |
@@ -223,15 +224,7 @@ static struct platform_device sa1111_device = { | |||
223 | * for the temperature sensors. | 224 | * for the temperature sensors. |
224 | */ | 225 | */ |
225 | static struct pxa2xx_spi_master pxa_ssp_master_info = { | 226 | static struct pxa2xx_spi_master pxa_ssp_master_info = { |
226 | .num_chipselect = 0, | 227 | .num_chipselect = 1, |
227 | }; | ||
228 | |||
229 | static struct platform_device pxa_ssp = { | ||
230 | .name = "pxa2xx-spi", | ||
231 | .id = 1, | ||
232 | .dev = { | ||
233 | .platform_data = &pxa_ssp_master_info, | ||
234 | }, | ||
235 | }; | 228 | }; |
236 | 229 | ||
237 | static int lubbock_ads7846_pendown_state(void) | 230 | static int lubbock_ads7846_pendown_state(void) |
@@ -292,11 +285,18 @@ static struct resource smc91x_resources[] = { | |||
292 | }, | 285 | }, |
293 | }; | 286 | }; |
294 | 287 | ||
288 | static struct smc91x_platdata lubbock_smc91x_info = { | ||
289 | .flags = SMC91X_USE_16BIT | SMC91X_NOWAIT | SMC91X_IO_SHIFT_2, | ||
290 | }; | ||
291 | |||
295 | static struct platform_device smc91x_device = { | 292 | static struct platform_device smc91x_device = { |
296 | .name = "smc91x", | 293 | .name = "smc91x", |
297 | .id = -1, | 294 | .id = -1, |
298 | .num_resources = ARRAY_SIZE(smc91x_resources), | 295 | .num_resources = ARRAY_SIZE(smc91x_resources), |
299 | .resource = smc91x_resources, | 296 | .resource = smc91x_resources, |
297 | .dev = { | ||
298 | .platform_data = &lubbock_smc91x_info, | ||
299 | }, | ||
300 | }; | 300 | }; |
301 | 301 | ||
302 | static struct resource flash_resources[] = { | 302 | static struct resource flash_resources[] = { |
@@ -367,7 +367,6 @@ static struct platform_device *devices[] __initdata = { | |||
367 | &smc91x_device, | 367 | &smc91x_device, |
368 | &lubbock_flash_device[0], | 368 | &lubbock_flash_device[0], |
369 | &lubbock_flash_device[1], | 369 | &lubbock_flash_device[1], |
370 | &pxa_ssp, | ||
371 | }; | 370 | }; |
372 | 371 | ||
373 | static struct pxafb_mode_info sharp_lm8v31_mode = { | 372 | static struct pxafb_mode_info sharp_lm8v31_mode = { |
@@ -471,6 +470,7 @@ static void lubbock_irda_transceiver_mode(struct device *dev, int mode) | |||
471 | } else if (mode & IR_FIRMODE) { | 470 | } else if (mode & IR_FIRMODE) { |
472 | LUB_MISC_WR |= 1 << 4; | 471 | LUB_MISC_WR |= 1 << 4; |
473 | } | 472 | } |
473 | pxa2xx_transceiver_mode(dev, mode); | ||
474 | local_irq_restore(flags); | 474 | local_irq_restore(flags); |
475 | } | 475 | } |
476 | 476 | ||
@@ -501,6 +501,7 @@ static void __init lubbock_init(void) | |||
501 | lubbock_flash_data[flashboot].name = "boot-rom"; | 501 | lubbock_flash_data[flashboot].name = "boot-rom"; |
502 | (void) platform_add_devices(devices, ARRAY_SIZE(devices)); | 502 | (void) platform_add_devices(devices, ARRAY_SIZE(devices)); |
503 | 503 | ||
504 | pxa2xx_set_spi_info(1, &pxa_ssp_master_info); | ||
504 | spi_register_board_info(spi_board_info, ARRAY_SIZE(spi_board_info)); | 505 | spi_register_board_info(spi_board_info, ARRAY_SIZE(spi_board_info)); |
505 | } | 506 | } |
506 | 507 | ||