diff options
author | David Brownell <dbrownell@users.sourceforge.net> | 2006-12-11 17:14:11 -0500 |
---|---|---|
committer | Tony Lindgren <tony@atomide.com> | 2007-09-20 21:34:49 -0400 |
commit | c72d8950baf737fe4da1982a8fad1f33fecdde2e (patch) | |
tree | 948a96f7d44e40a364e3cd51af6b83bbfc3095d3 /arch/arm/mach-omap1/board-osk.c | |
parent | 6017e29536f37045f0897c1afdc5500b21af8243 (diff) |
ARM: OMAP: omap camera builds again; Mistral init and mux
Support the camera connector on the OSK Mistral add-on board:
- define muxing for both camera controllers
- mux both of them for Mistral
- teach ov9640 glue about mistral powerup/powerdown
Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Diffstat (limited to 'arch/arm/mach-omap1/board-osk.c')
-rw-r--r-- | arch/arm/mach-omap1/board-osk.c | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/arch/arm/mach-omap1/board-osk.c b/arch/arm/mach-omap1/board-osk.c index e7130293a03f..2bfa08870664 100644 --- a/arch/arm/mach-omap1/board-osk.c +++ b/arch/arm/mach-omap1/board-osk.c | |||
@@ -342,6 +342,38 @@ static void __init osk_mistral_init(void) | |||
342 | * can't talk to the ads or even the i2c eeprom. | 342 | * can't talk to the ads or even the i2c eeprom. |
343 | */ | 343 | */ |
344 | 344 | ||
345 | /* parallel camera interface */ | ||
346 | omap_cfg_reg(J15_1610_CAM_LCLK); | ||
347 | omap_cfg_reg(J18_1610_CAM_D7); | ||
348 | omap_cfg_reg(J19_1610_CAM_D6); | ||
349 | omap_cfg_reg(J14_1610_CAM_D5); | ||
350 | omap_cfg_reg(K18_1610_CAM_D4); | ||
351 | omap_cfg_reg(K19_1610_CAM_D3); | ||
352 | omap_cfg_reg(K15_1610_CAM_D2); | ||
353 | omap_cfg_reg(K14_1610_CAM_D1); | ||
354 | omap_cfg_reg(L19_1610_CAM_D0); | ||
355 | omap_cfg_reg(L18_1610_CAM_VS); | ||
356 | omap_cfg_reg(L15_1610_CAM_HS); | ||
357 | omap_cfg_reg(M19_1610_CAM_RSTZ); | ||
358 | omap_cfg_reg(Y15_1610_CAM_OUTCLK); | ||
359 | |||
360 | /* serial camera interface */ | ||
361 | omap_cfg_reg(H19_1610_CAM_EXCLK); | ||
362 | omap_cfg_reg(W13_1610_CCP_CLKM); | ||
363 | omap_cfg_reg(Y12_1610_CCP_CLKP); | ||
364 | /* CCP_DATAM CONFLICTS WITH UART1.TX (and serial console) */ | ||
365 | // omap_cfg_reg(Y14_1610_CCP_DATAM); | ||
366 | omap_cfg_reg(W14_1610_CCP_DATAP); | ||
367 | |||
368 | /* CAM_PWDN */ | ||
369 | if (omap_request_gpio(11) == 0) { | ||
370 | omap_cfg_reg(N20_1610_GPIO11); | ||
371 | omap_set_gpio_direction(11, 0 /* out */); | ||
372 | omap_set_gpio_dataout(11, 0 /* off */); | ||
373 | } else | ||
374 | pr_debug("OSK+Mistral: CAM_PWDN is awol\n"); | ||
375 | |||
376 | |||
345 | // omap_cfg_reg(P19_1610_GPIO6); // BUSY | 377 | // omap_cfg_reg(P19_1610_GPIO6); // BUSY |
346 | omap_cfg_reg(P20_1610_GPIO4); // PENIRQ | 378 | omap_cfg_reg(P20_1610_GPIO4); // PENIRQ |
347 | set_irq_type(OMAP_GPIO_IRQ(4), IRQT_FALLING); | 379 | set_irq_type(OMAP_GPIO_IRQ(4), IRQT_FALLING); |