diff options
author | Andrew Victor <linux@maxim.org.za> | 2008-09-18 14:45:35 -0400 |
---|---|---|
committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2008-09-21 17:58:39 -0400 |
commit | f7647e63f32c501e8b59ccfdac50eb3d3e897c41 (patch) | |
tree | c6987bc3c06b09f0c21b3b16077a2032d00a4d29 /arch/arm/mach-at91/at91sam9rl_devices.c | |
parent | a7307bf22557e1e029df0ea6f2a2973de4d9c135 (diff) |
[ARM] 5260/1: [AT91] Touchscreen on AT91SAM9RL
This patch adds initialization of the Touchscreen controller for the
AT91SAM9RL processor.
Signed-off-by: Justin Waters <justin.waters@timesys.com>
Signed-off-by: Dan Liang <dan.liang@atmel.com>
Signed-off-by: Andrew Victor <linux@maxim.org.za>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'arch/arm/mach-at91/at91sam9rl_devices.c')
-rw-r--r-- | arch/arm/mach-at91/at91sam9rl_devices.c | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/arch/arm/mach-at91/at91sam9rl_devices.c b/arch/arm/mach-at91/at91sam9rl_devices.c index 3f9fed4902b8..87deb1e1b529 100644 --- a/arch/arm/mach-at91/at91sam9rl_devices.c +++ b/arch/arm/mach-at91/at91sam9rl_devices.c | |||
@@ -527,6 +527,51 @@ static void __init at91_add_device_tc(void) { } | |||
527 | 527 | ||
528 | 528 | ||
529 | /* -------------------------------------------------------------------- | 529 | /* -------------------------------------------------------------------- |
530 | * Touchscreen | ||
531 | * -------------------------------------------------------------------- */ | ||
532 | |||
533 | #if defined(CONFIG_TOUCHSCREEN_ATMEL_TSADCC) || defined(CONFIG_TOUCHSCREEN_ATMEL_TSADCC_MODULE) | ||
534 | static u64 tsadcc_dmamask = DMA_BIT_MASK(32); | ||
535 | |||
536 | static struct resource tsadcc_resources[] = { | ||
537 | [0] = { | ||
538 | .start = AT91SAM9RL_BASE_TSC, | ||
539 | .end = AT91SAM9RL_BASE_TSC + SZ_16K - 1, | ||
540 | .flags = IORESOURCE_MEM, | ||
541 | }, | ||
542 | [1] = { | ||
543 | .start = AT91SAM9RL_ID_TSC, | ||
544 | .end = AT91SAM9RL_ID_TSC, | ||
545 | .flags = IORESOURCE_IRQ, | ||
546 | } | ||
547 | }; | ||
548 | |||
549 | static struct platform_device at91sam9rl_tsadcc_device = { | ||
550 | .name = "atmel_tsadcc", | ||
551 | .id = -1, | ||
552 | .dev = { | ||
553 | .dma_mask = &tsadcc_dmamask, | ||
554 | .coherent_dma_mask = DMA_BIT_MASK(32), | ||
555 | }, | ||
556 | .resource = tsadcc_resources, | ||
557 | .num_resources = ARRAY_SIZE(tsadcc_resources), | ||
558 | }; | ||
559 | |||
560 | void __init at91_add_device_tsadcc(void) | ||
561 | { | ||
562 | at91_set_A_periph(AT91_PIN_PA17, 0); /* AD0_XR */ | ||
563 | at91_set_A_periph(AT91_PIN_PA18, 0); /* AD1_XL */ | ||
564 | at91_set_A_periph(AT91_PIN_PA19, 0); /* AD2_YT */ | ||
565 | at91_set_A_periph(AT91_PIN_PA20, 0); /* AD3_TB */ | ||
566 | |||
567 | platform_device_register(&at91sam9rl_tsadcc_device); | ||
568 | } | ||
569 | #else | ||
570 | void __init at91_add_device_tsadcc(void) {} | ||
571 | #endif | ||
572 | |||
573 | |||
574 | /* -------------------------------------------------------------------- | ||
530 | * RTC | 575 | * RTC |
531 | * -------------------------------------------------------------------- */ | 576 | * -------------------------------------------------------------------- */ |
532 | 577 | ||