aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-pxa/lubbock.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/arm/mach-pxa/lubbock.c')
-rw-r--r--arch/arm/mach-pxa/lubbock.c27
1 files changed, 12 insertions, 15 deletions
diff --git a/arch/arm/mach-pxa/lubbock.c b/arch/arm/mach-pxa/lubbock.c
index 7b9bdd0c6665..ac26423cd20c 100644
--- a/arch/arm/mach-pxa/lubbock.c
+++ b/arch/arm/mach-pxa/lubbock.c
@@ -21,6 +21,7 @@
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>
@@ -43,6 +44,7 @@
43#include <asm/arch/pxa-regs.h> 44#include <asm/arch/pxa-regs.h>
44#include <asm/arch/pxa2xx-regs.h> 45#include <asm/arch/pxa2xx-regs.h>
45#include <asm/arch/mfp-pxa25x.h> 46#include <asm/arch/mfp-pxa25x.h>
47#include <asm/arch/audio.h>
46#include <asm/arch/lubbock.h> 48#include <asm/arch/lubbock.h>
47#include <asm/arch/udc.h> 49#include <asm/arch/udc.h>
48#include <asm/arch/irda.h> 50#include <asm/arch/irda.h>
@@ -196,11 +198,6 @@ static struct pxa2xx_udc_mach_info udc_info __initdata = {
196 // no D+ pullup; lubbock can't connect/disconnect in software 198 // no D+ pullup; lubbock can't connect/disconnect in software
197}; 199};
198 200
199static struct platform_device lub_audio_device = {
200 .name = "pxa2xx-ac97",
201 .id = -1,
202};
203
204static struct resource sa1111_resources[] = { 201static struct resource sa1111_resources[] = {
205 [0] = { 202 [0] = {
206 .start = 0x10000000, 203 .start = 0x10000000,
@@ -230,14 +227,6 @@ static struct pxa2xx_spi_master pxa_ssp_master_info = {
230 .num_chipselect = 0, 227 .num_chipselect = 0,
231}; 228};
232 229
233static struct platform_device pxa_ssp = {
234 .name = "pxa2xx-spi",
235 .id = 1,
236 .dev = {
237 .platform_data = &pxa_ssp_master_info,
238 },
239};
240
241static int lubbock_ads7846_pendown_state(void) 230static int lubbock_ads7846_pendown_state(void)
242{ 231{
243 /* TS_BUSY is bit 8 in LUB_MISC_RD, but pendown is irq-only */ 232 /* TS_BUSY is bit 8 in LUB_MISC_RD, but pendown is irq-only */
@@ -296,11 +285,18 @@ static struct resource smc91x_resources[] = {
296 }, 285 },
297}; 286};
298 287
288static struct smc91x_platdata lubbock_smc91x_info = {
289 .flags = SMC91X_USE_16BIT | SMC91X_NOWAIT | SMC91X_IO_SHIFT_2,
290};
291
299static struct platform_device smc91x_device = { 292static struct platform_device smc91x_device = {
300 .name = "smc91x", 293 .name = "smc91x",
301 .id = -1, 294 .id = -1,
302 .num_resources = ARRAY_SIZE(smc91x_resources), 295 .num_resources = ARRAY_SIZE(smc91x_resources),
303 .resource = smc91x_resources, 296 .resource = smc91x_resources,
297 .dev = {
298 .platform_data = &lubbock_smc91x_info,
299 },
304}; 300};
305 301
306static struct resource flash_resources[] = { 302static struct resource flash_resources[] = {
@@ -368,11 +364,9 @@ static struct platform_device lubbock_flash_device[2] = {
368 364
369static struct platform_device *devices[] __initdata = { 365static struct platform_device *devices[] __initdata = {
370 &sa1111_device, 366 &sa1111_device,
371 &lub_audio_device,
372 &smc91x_device, 367 &smc91x_device,
373 &lubbock_flash_device[0], 368 &lubbock_flash_device[0],
374 &lubbock_flash_device[1], 369 &lubbock_flash_device[1],
375 &pxa_ssp,
376}; 370};
377 371
378static struct pxafb_mode_info sharp_lm8v31_mode = { 372static struct pxafb_mode_info sharp_lm8v31_mode = {
@@ -476,6 +470,7 @@ static void lubbock_irda_transceiver_mode(struct device *dev, int mode)
476 } else if (mode & IR_FIRMODE) { 470 } else if (mode & IR_FIRMODE) {
477 LUB_MISC_WR |= 1 << 4; 471 LUB_MISC_WR |= 1 << 4;
478 } 472 }
473 pxa2xx_transceiver_mode(dev, mode);
479 local_irq_restore(flags); 474 local_irq_restore(flags);
480} 475}
481 476
@@ -494,6 +489,7 @@ static void __init lubbock_init(void)
494 set_pxa_fb_info(&sharp_lm8v31); 489 set_pxa_fb_info(&sharp_lm8v31);
495 pxa_set_mci_info(&lubbock_mci_platform_data); 490 pxa_set_mci_info(&lubbock_mci_platform_data);
496 pxa_set_ficp_info(&lubbock_ficp_platform_data); 491 pxa_set_ficp_info(&lubbock_ficp_platform_data);
492 pxa_set_ac97_info(NULL);
497 493
498 lubbock_flash_data[0].width = lubbock_flash_data[1].width = 494 lubbock_flash_data[0].width = lubbock_flash_data[1].width =
499 (BOOT_DEF & 1) ? 2 : 4; 495 (BOOT_DEF & 1) ? 2 : 4;
@@ -505,6 +501,7 @@ static void __init lubbock_init(void)
505 lubbock_flash_data[flashboot].name = "boot-rom"; 501 lubbock_flash_data[flashboot].name = "boot-rom";
506 (void) platform_add_devices(devices, ARRAY_SIZE(devices)); 502 (void) platform_add_devices(devices, ARRAY_SIZE(devices));
507 503
504 pxa2xx_set_spi_info(1, &pxa_ssp_master_info);
508 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));
509} 506}
510 507