diff options
author | Andrew Victor <linux@maxim.org.za> | 2008-01-22 05:43:26 -0500 |
---|---|---|
committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2008-01-26 10:00:31 -0500 |
commit | e2920802351b3e01a3e70a26bb1bbb22f29da4cb (patch) | |
tree | fb2ba713860aefbcda802c092fdb4bd16da6ce7b /arch/arm/mach-at91/at91sam9263_devices.c | |
parent | f06e656fb4f6f41ae9cba0f5d6948a6c7f6250ba (diff) |
[ARM] 4751/1: [AT91] ISI peripheral on SAM9263
Add support for the Image Sensor Interface (ISI) peripheral integrated
in the Atmel AT91SAM9263 processor.
Patch from MaLiK
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/at91sam9263_devices.c')
-rw-r--r-- | arch/arm/mach-at91/at91sam9263_devices.c | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/arch/arm/mach-at91/at91sam9263_devices.c b/arch/arm/mach-at91/at91sam9263_devices.c index ac329a98e959..d50a8dfb916d 100644 --- a/arch/arm/mach-at91/at91sam9263_devices.c +++ b/arch/arm/mach-at91/at91sam9263_devices.c | |||
@@ -732,6 +732,56 @@ void __init at91_add_device_lcdc(struct atmel_lcdfb_info *data) {} | |||
732 | 732 | ||
733 | 733 | ||
734 | /* -------------------------------------------------------------------- | 734 | /* -------------------------------------------------------------------- |
735 | * Image Sensor Interface | ||
736 | * -------------------------------------------------------------------- */ | ||
737 | |||
738 | #if defined(CONFIG_VIDEO_AT91_ISI) || defined(CONFIG_VIDEO_AT91_ISI_MODULE) | ||
739 | |||
740 | struct resource isi_resources[] = { | ||
741 | [0] = { | ||
742 | .start = AT91SAM9263_BASE_ISI, | ||
743 | .end = AT91SAM9263_BASE_ISI + SZ_16K - 1, | ||
744 | .flags = IORESOURCE_MEM, | ||
745 | }, | ||
746 | [1] = { | ||
747 | .start = AT91SAM9263_ID_ISI, | ||
748 | .end = AT91SAM9263_ID_ISI, | ||
749 | .flags = IORESOURCE_IRQ, | ||
750 | }, | ||
751 | }; | ||
752 | |||
753 | static struct platform_device at91sam9263_isi_device = { | ||
754 | .name = "at91_isi", | ||
755 | .id = -1, | ||
756 | .resource = isi_resources, | ||
757 | .num_resources = ARRAY_SIZE(isi_resources), | ||
758 | }; | ||
759 | |||
760 | void __init at91_add_device_isi(void) | ||
761 | { | ||
762 | at91_set_A_periph(AT91_PIN_PE0, 0); /* ISI_D0 */ | ||
763 | at91_set_A_periph(AT91_PIN_PE1, 0); /* ISI_D1 */ | ||
764 | at91_set_A_periph(AT91_PIN_PE2, 0); /* ISI_D2 */ | ||
765 | at91_set_A_periph(AT91_PIN_PE3, 0); /* ISI_D3 */ | ||
766 | at91_set_A_periph(AT91_PIN_PE4, 0); /* ISI_D4 */ | ||
767 | at91_set_A_periph(AT91_PIN_PE5, 0); /* ISI_D5 */ | ||
768 | at91_set_A_periph(AT91_PIN_PE6, 0); /* ISI_D6 */ | ||
769 | at91_set_A_periph(AT91_PIN_PE7, 0); /* ISI_D7 */ | ||
770 | at91_set_A_periph(AT91_PIN_PE8, 0); /* ISI_PCK */ | ||
771 | at91_set_A_periph(AT91_PIN_PE9, 0); /* ISI_HSYNC */ | ||
772 | at91_set_A_periph(AT91_PIN_PE10, 0); /* ISI_VSYNC */ | ||
773 | at91_set_B_periph(AT91_PIN_PE11, 0); /* ISI_MCK (PCK3) */ | ||
774 | at91_set_B_periph(AT91_PIN_PE12, 0); /* ISI_PD8 */ | ||
775 | at91_set_B_periph(AT91_PIN_PE13, 0); /* ISI_PD9 */ | ||
776 | at91_set_B_periph(AT91_PIN_PE14, 0); /* ISI_PD10 */ | ||
777 | at91_set_B_periph(AT91_PIN_PE15, 0); /* ISI_PD11 */ | ||
778 | } | ||
779 | #else | ||
780 | void __init at91_add_device_isi(void) {} | ||
781 | #endif | ||
782 | |||
783 | |||
784 | /* -------------------------------------------------------------------- | ||
735 | * LEDs | 785 | * LEDs |
736 | * -------------------------------------------------------------------- */ | 786 | * -------------------------------------------------------------------- */ |
737 | 787 | ||