[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>
This commit is contained in:
parent
f06e656fb4
commit
e292080235
2 changed files with 53 additions and 0 deletions
|
@ -731,6 +731,56 @@ void __init at91_add_device_lcdc(struct atmel_lcdfb_info *data) {}
|
|||
#endif
|
||||
|
||||
|
||||
/* --------------------------------------------------------------------
|
||||
* 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
|
||||
* -------------------------------------------------------------------- */
|
||||
|
|
|
@ -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;
|
||||
|
|
Loading…
Reference in a new issue