aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/arm/mach-at91/at91sam9263_devices.c50
-rw-r--r--include/asm-arm/arch-at91/board.h3
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
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
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};
127extern void __init at91_add_device_ac97(struct atmel_ac97_data *data); 127extern void __init at91_add_device_ac97(struct atmel_ac97_data *data);
128 128
129 /* ISI */
130extern void __init at91_add_device_isi(void);
131
129 /* LEDs */ 132 /* LEDs */
130extern u8 at91_leds_cpu; 133extern u8 at91_leds_cpu;
131extern u8 at91_leds_timer; 134extern u8 at91_leds_timer;