diff options
-rw-r--r-- | arch/arm/mach-at91/at91sam9263_devices.c | 50 | ||||
-rw-r--r-- | include/asm-arm/arch-at91/board.h | 3 |
2 files changed, 53 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 | ||
diff --git a/include/asm-arm/arch-at91/board.h b/include/asm-arm/arch-at91/board.h index 79054965baa6..762148cc48c1 100644 --- a/include/asm-arm/arch-at91/board.h +++ b/include/asm-arm/arch-at91/board.h | |||
@@ -126,6 +126,9 @@ struct atmel_ac97_data { | |||
126 | }; | 126 | }; |
127 | extern void __init at91_add_device_ac97(struct atmel_ac97_data *data); | 127 | extern void __init at91_add_device_ac97(struct atmel_ac97_data *data); |
128 | 128 | ||
129 | /* ISI */ | ||
130 | extern void __init at91_add_device_isi(void); | ||
131 | |||
129 | /* LEDs */ | 132 | /* LEDs */ |
130 | extern u8 at91_leds_cpu; | 133 | extern u8 at91_leds_cpu; |
131 | extern u8 at91_leds_timer; | 134 | extern u8 at91_leds_timer; |