Hi, I am currently investigating adding support for the BT656 format which is currently missing in the driver. The platform which I am currently testing can support both 8-bit DVP and BT656 modes. * Testing DVP mode capturing 320x240, 640x480 worked OK with random green lines in-between Following is the chunk of code which enables BT656 support, (for BT656 mode ov5640_set_dvp_pclk() is used), with the below changes I can get 640x480 working #define OV5640_REG_CCIR656_CTRL00 0x4730 static int ov5640_set_stream_bt656(struct ov5640_dev *sensor, bool on) { int ret; ret = ov5640_write_reg(sensor, OV5640_REG_IO_MIPI_CTRL00, on ? 0x18: 0); if (ret) return ret; ret = ov5640_write_reg(sensor, OV5640_REG_PAD_OUTPUT_ENABLE01, 0x7f); if (ret) return ret; ret = ov5640_write_reg(sensor, OV5640_REG_PAD_OUTPUT_ENABLE02, 0xfc); if (ret) return ret; return ov5640_write_reg(sensor, OV5640_REG_CCIR656_CTRL00, on ? 0x1: 0x0); } As soon as I change the code to below to disable the data pads on stream OFF as below it stops working! static int ov5640_set_stream_bt656(struct ov5640_dev *sensor, bool on) { int ret; ret = ov5640_write_reg(sensor, OV5640_REG_IO_MIPI_CTRL00, on ? 0x18: 0); if (ret) return ret; ret = ov5640_write_reg(sensor, OV5640_REG_PAD_OUTPUT_ENABLE01, on ? 0x7f, 0); if (ret) return ret; ret = ov5640_write_reg(sensor, OV5640_REG_PAD_OUTPUT_ENABLE02, on ? 0xfc, 0); if (ret) return ret; return ov5640_write_reg(sensor, OV5640_REG_CCIR656_CTRL00, on ? 0x1: 0x0); } Looking at the datasheet [1] I don't find it wrong or is there any information missing in this freely available datasheet. Ideally BT656 mode should just work in DVP mode by setting 0x1 in 0x4730, but doesn work. Is there anything I'm missing here, any thoughts ? [1] https://cdn.sparkfun.com/datasheets/Sensors/LightImaging/OV5640_datasheet.pdf Cheers, --Prabhakar