aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-at91/at91sam9263_devices.c
diff options
context:
space:
mode:
authorAndrew Victor <linux@maxim.org.za>2008-01-22 05:43:26 -0500
committerRussell King <rmk+kernel@arm.linux.org.uk>2008-01-26 10:00:31 -0500
commite2920802351b3e01a3e70a26bb1bbb22f29da4cb (patch)
treefb2ba713860aefbcda802c092fdb4bd16da6ce7b /arch/arm/mach-at91/at91sam9263_devices.c
parentf06e656fb4f6f41ae9cba0f5d6948a6c7f6250ba (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.c50
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
740struct 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
753static 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
760void __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
780void __init at91_add_device_isi(void) {}
781#endif
782
783
784/* --------------------------------------------------------------------
735 * LEDs 785 * LEDs
736 * -------------------------------------------------------------------- */ 786 * -------------------------------------------------------------------- */
737 787