Gitweb:     
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e2920802351b3e01a3e70a26bb1bbb22f29da4cb
Commit:     e2920802351b3e01a3e70a26bb1bbb22f29da4cb
Parent:     f06e656fb4f6f41ae9cba0f5d6948a6c7f6250ba
Author:     Andrew Victor <[EMAIL PROTECTED]>
AuthorDate: Tue Jan 22 11:43:26 2008 +0100
Committer:  Russell King <[EMAIL PROTECTED]>
CommitDate: Sat Jan 26 15:00:31 2008 +0000

    [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 <[EMAIL PROTECTED]>
    Signed-off-by: Russell King <[EMAIL PROTECTED]>
---
 arch/arm/mach-at91/at91sam9263_devices.c |   50 ++++++++++++++++++++++++++++++
 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 ac329a9..d50a8df 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) {}
 
 
 /* --------------------------------------------------------------------
+ *  Image Sensor Interface
+ * -------------------------------------------------------------------- */
+
+#if defined(CONFIG_VIDEO_AT91_ISI) || defined(CONFIG_VIDEO_AT91_ISI_MODULE)
+
+struct resource isi_resources[] = {
+       [0] = {
+               .start  = AT91SAM9263_BASE_ISI,
+               .end    = AT91SAM9263_BASE_ISI + SZ_16K - 1,
+               .flags  = IORESOURCE_MEM,
+       },
+       [1] = {
+               .start  = AT91SAM9263_ID_ISI,
+               .end    = AT91SAM9263_ID_ISI,
+               .flags  = IORESOURCE_IRQ,
+       },
+};
+
+static struct platform_device at91sam9263_isi_device = {
+       .name           = "at91_isi",
+       .id             = -1,
+       .resource       = isi_resources,
+       .num_resources  = ARRAY_SIZE(isi_resources),
+};
+
+void __init at91_add_device_isi(void)
+{
+       at91_set_A_periph(AT91_PIN_PE0, 0);     /* ISI_D0 */
+       at91_set_A_periph(AT91_PIN_PE1, 0);     /* ISI_D1 */
+       at91_set_A_periph(AT91_PIN_PE2, 0);     /* ISI_D2 */
+       at91_set_A_periph(AT91_PIN_PE3, 0);     /* ISI_D3 */
+       at91_set_A_periph(AT91_PIN_PE4, 0);     /* ISI_D4 */
+       at91_set_A_periph(AT91_PIN_PE5, 0);     /* ISI_D5 */
+       at91_set_A_periph(AT91_PIN_PE6, 0);     /* ISI_D6 */
+       at91_set_A_periph(AT91_PIN_PE7, 0);     /* ISI_D7 */
+       at91_set_A_periph(AT91_PIN_PE8, 0);     /* ISI_PCK */
+       at91_set_A_periph(AT91_PIN_PE9, 0);     /* ISI_HSYNC */
+       at91_set_A_periph(AT91_PIN_PE10, 0);    /* ISI_VSYNC */
+       at91_set_B_periph(AT91_PIN_PE11, 0);    /* ISI_MCK (PCK3) */
+       at91_set_B_periph(AT91_PIN_PE12, 0);    /* ISI_PD8 */
+       at91_set_B_periph(AT91_PIN_PE13, 0);    /* ISI_PD9 */
+       at91_set_B_periph(AT91_PIN_PE14, 0);    /* ISI_PD10 */
+       at91_set_B_periph(AT91_PIN_PE15, 0);    /* ISI_PD11 */
+}
+#else
+void __init at91_add_device_isi(void) {}
+#endif
+
+
+/* --------------------------------------------------------------------
  *  LEDs
  * -------------------------------------------------------------------- */
 
diff --git a/include/asm-arm/arch-at91/board.h 
b/include/asm-arm/arch-at91/board.h
index 7905496..762148c 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 {
 };
 extern void __init at91_add_device_ac97(struct atmel_ac97_data *data);
 
+ /* ISI */
+extern void __init at91_add_device_isi(void);
+
  /* LEDs */
 extern u8 at91_leds_cpu;
 extern u8 at91_leds_timer;
-
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to