SUMMARY: OV518 color is finally working! Lots of other small fixes too, including support for the maximum possible OV518 frame rate (30 FPS @ 352x288, given sufficient illumination). The ovfx2 driver is almost functional now too. PER-FILE CHANGES: ov511.c: - OV518 color works, so enable it by default. - Simplify sensor_set_light_freq() - Force sensor's clock divider to 0 with OV518 (part 1 of color fixes) - Disable OV518 U/V swap (part 2 of color fixes) - Increase OV518's clock divider from 2 to 4 (part 3 of color fixes) - Increase OV518 packet size to maximum. This required changes to the CBRs to prevent the internal buffers from overflowing. The framerate is only limited by the sensor now. - Fix capture state machine in *move_data(). It was checking the wrong frame's status. - Rename close() to release() to make it clear that it's *not* the converse of open() - Remove redundant OV7620 init code from ov7xx0_configure(). I increased OV511_I2C_RETRIES and i2c_detect_tries to make up for this. ov511.h: - Remove some unused #defines and fix up some comments ov6x30.c: - Use initial register settings from the Windows driver for now. They will be merged with the existing settings eventually. (part 4 of color fixes) - Use ov_write_mask on register 0x14 when selection CIF/QCIF, so that other bits aren't affected (part 5 of color fixes) - Don't write register 0x13 after init, or color will break. Even writing the current value breaks it! (part 6 of color fixes) - Hardcode clock divider to 0 for now, and remove "clock down" code. (part 7 of color fixes) ovfx2.c: - Remove some irrelevant OV511/OV518 junk - Simplify sensor_set_light_freq() - Switch default format to YUV422 for now (since it's closest to GBR422) - Add a bunch of OV7620 register settings that are specific to this camera - Add bulk submission code and completion handler - Add frame parsing code (ovfx2_move_data()) - Rename close() to release() to make it clear that it's *not* the converse of open() - Add simplified version of read() for debugging purposes - Remove redundant OV7620 init code from ov7xx0_configure(). I increased OV511_I2C_RETRIES and i2c_detect_tries to make up for this.