I'd like to mount my camera cape directly on my beaglebone and make it functions correctly. I followed your post but the problem is still there, I'd like to ask what software you used to capture images after configured the gpmc pin mux? I'm using gstreamer.
GPMC_AD6 is incorrectly muxed as a GPIO when the Camera Cape is attached to a BeagleBone w/o additional capes. In this configuration, you are able to read data from the camera, but due to AD6 being muxed incorrectly it is in a constant state (not sure which direction it pulls to), the resulting image is incorrect (color space appears reduced and looses a lot of detail).
You can verify this by booting the BeagleBone w/ only the Camera Cape attached. View the mux state of the GPMC_AD# pins via /sys/kernel/debug/omap_mux/gpmc_ad*. Pins 5-7 listed below:
# cat /sys/kernel/debug/omap_mux/gpmc_ad[5-7]
name: gpmc_ad5.gpmc_ad5 (0x44e10814/0x814 = 0x0030), b NA, t NA
mode: OMAP_PIN_INPUT_PULLUP | OMAP_MUX_MODE0
signals: gpmc_ad5 | mmc1_dat5 | NA | NA | NA | NA | NA | gpio1_5
name: gpmc_ad6.gpio1_6 (0x44e10818/0x818 = 0x0037), b NA, t NA
mode: OMAP_PIN_INPUT_PULLUP | OMAP_MUX_MODE7
signals: gpmc_ad6 | mmc1_dat6 | NA | NA | NA | NA | NA | gpio1_6
name: gpmc_ad7.gpmc_ad7 (0x44e1081c/0x81c = 0x0030), b NA, t NA
mode: OMAP_PIN_INPUT_PULLUP | OMAP_MUX_MODE0
signals: gpmc_ad7 | mmc1_dat7 | NA | NA | NA | NA | NA | gpio1_7
Note that gpmc_ad6 is set to MODE7 which configures it as a a GPIO. Attempting to take a picture in this state results in an incorrect image.
To workaround this bug, change the state of the pin with:
# echo 0x0030 > /sys/kernel/debug/omap_mux/gpmc_ad6
After changing the mux configuration of the pin, pictures taken result in a correct image.
A bit of additional information, when the LCD7 cape is used in addition to the BeagleBone and camera cape, the pin does get configured correctly. This is only an issue when the camera cape is used w/o LCD7. Not sure if the DVI cape correctly configures the pin as I don't have that cape.
NOTE: Some preliminary information related to this issue is described in this post:
For the record, BeagleBone is A6, Camera Cape is A2, and software load is stock Angstrom v2012.05 (from /etc/version).
Eric