diff options
author | Mike Rapoport <mike@compulab.co.il> | 2011-04-24 18:09:05 -0400 |
---|---|---|
committer | Tony Lindgren <tony@atomide.com> | 2011-05-03 05:38:09 -0400 |
commit | 96974a249b0cf3537f49115a59be67e2c54f315c (patch) | |
tree | 4415a81a5ad4a91313bacf6b534b77f5556858a9 /arch/arm/mach-omap2/board-devkit8000.c | |
parent | d14f81741f4ca5c96f52eff0210c8da0b0997d6f (diff) |
omap: consolidate touch screen initialization among different boards
Add common-board-devices.c that will contain the code for peripheral
devices initializatoin shared between multiple boards.
Start small with touchscreen initialization.
Signed-off-by: Mike Rapoport <mike@compulab.co.il>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Diffstat (limited to 'arch/arm/mach-omap2/board-devkit8000.c')
-rw-r--r-- | arch/arm/mach-omap2/board-devkit8000.c | 56 |
1 files changed, 2 insertions, 54 deletions
diff --git a/arch/arm/mach-omap2/board-devkit8000.c b/arch/arm/mach-omap2/board-devkit8000.c index 65f9fde2c567..9f8338d15a21 100644 --- a/arch/arm/mach-omap2/board-devkit8000.c +++ b/arch/arm/mach-omap2/board-devkit8000.c | |||
@@ -51,7 +51,6 @@ | |||
51 | #include <plat/mcspi.h> | 51 | #include <plat/mcspi.h> |
52 | #include <linux/input/matrix_keypad.h> | 52 | #include <linux/input/matrix_keypad.h> |
53 | #include <linux/spi/spi.h> | 53 | #include <linux/spi/spi.h> |
54 | #include <linux/spi/ads7846.h> | ||
55 | #include <linux/dm9000.h> | 54 | #include <linux/dm9000.h> |
56 | #include <linux/interrupt.h> | 55 | #include <linux/interrupt.h> |
57 | 56 | ||
@@ -60,6 +59,7 @@ | |||
60 | #include "mux.h" | 59 | #include "mux.h" |
61 | #include "hsmmc.h" | 60 | #include "hsmmc.h" |
62 | #include "timer-gp.h" | 61 | #include "timer-gp.h" |
62 | #include "common-board-devices.h" | ||
63 | 63 | ||
64 | #define NAND_BLOCK_SIZE SZ_128K | 64 | #define NAND_BLOCK_SIZE SZ_128K |
65 | 65 | ||
@@ -463,56 +463,6 @@ static void __init devkit8000_init_irq(void) | |||
463 | #endif | 463 | #endif |
464 | } | 464 | } |
465 | 465 | ||
466 | static void __init devkit8000_ads7846_init(void) | ||
467 | { | ||
468 | int gpio = OMAP3_DEVKIT_TS_GPIO; | ||
469 | int ret; | ||
470 | |||
471 | ret = gpio_request(gpio, "ads7846_pen_down"); | ||
472 | if (ret < 0) { | ||
473 | printk(KERN_ERR "Failed to request GPIO %d for " | ||
474 | "ads7846 pen down IRQ\n", gpio); | ||
475 | return; | ||
476 | } | ||
477 | |||
478 | gpio_direction_input(gpio); | ||
479 | } | ||
480 | |||
481 | static int ads7846_get_pendown_state(void) | ||
482 | { | ||
483 | return !gpio_get_value(OMAP3_DEVKIT_TS_GPIO); | ||
484 | } | ||
485 | |||
486 | static struct ads7846_platform_data ads7846_config = { | ||
487 | .x_max = 0x0fff, | ||
488 | .y_max = 0x0fff, | ||
489 | .x_plate_ohms = 180, | ||
490 | .pressure_max = 255, | ||
491 | .debounce_max = 10, | ||
492 | .debounce_tol = 5, | ||
493 | .debounce_rep = 1, | ||
494 | .get_pendown_state = ads7846_get_pendown_state, | ||
495 | .keep_vref_on = 1, | ||
496 | .settle_delay_usecs = 150, | ||
497 | }; | ||
498 | |||
499 | static struct omap2_mcspi_device_config ads7846_mcspi_config = { | ||
500 | .turbo_mode = 0, | ||
501 | .single_channel = 1, /* 0: slave, 1: master */ | ||
502 | }; | ||
503 | |||
504 | static struct spi_board_info devkit8000_spi_board_info[] __initdata = { | ||
505 | { | ||
506 | .modalias = "ads7846", | ||
507 | .bus_num = 2, | ||
508 | .chip_select = 0, | ||
509 | .max_speed_hz = 1500000, | ||
510 | .controller_data = &ads7846_mcspi_config, | ||
511 | .irq = OMAP_GPIO_IRQ(OMAP3_DEVKIT_TS_GPIO), | ||
512 | .platform_data = &ads7846_config, | ||
513 | } | ||
514 | }; | ||
515 | |||
516 | #define OMAP_DM9000_BASE 0x2c000000 | 466 | #define OMAP_DM9000_BASE 0x2c000000 |
517 | 467 | ||
518 | static struct resource omap_dm9000_resources[] = { | 468 | static struct resource omap_dm9000_resources[] = { |
@@ -795,10 +745,8 @@ static void __init devkit8000_init(void) | |||
795 | ARRAY_SIZE(devkit8000_devices)); | 745 | ARRAY_SIZE(devkit8000_devices)); |
796 | 746 | ||
797 | omap_display_init(&devkit8000_dss_data); | 747 | omap_display_init(&devkit8000_dss_data); |
798 | spi_register_board_info(devkit8000_spi_board_info, | ||
799 | ARRAY_SIZE(devkit8000_spi_board_info)); | ||
800 | 748 | ||
801 | devkit8000_ads7846_init(); | 749 | omap_ads7846_init(2, OMAP3_DEVKIT_TS_GPIO, 0, NULL); |
802 | 750 | ||
803 | usb_musb_init(&musb_board_data); | 751 | usb_musb_init(&musb_board_data); |
804 | usbhs_init(&usbhs_bdata); | 752 | usbhs_init(&usbhs_bdata); |