Re: [Query] OV5640 DVP and BT656 modes

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Laurent,

On Tue, Jul 28, 2020 at 7:43 PM Laurent Pinchart
<laurent.pinchart@xxxxxxxxxxxxxxxx> wrote:
>
> Hi Prabhakar,
>
> On Tue, Jul 28, 2020 at 06:50:21PM +0100, Lad, Prabhakar wrote:
> > 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);
>
> s/,/:/ ? Is that a typo in your e-mail, or also in the code you've
> tested ? I assume the former as the latter shouldn't compile.
>
My bad it's a typo :) as my code base had one which doesnt disable
data pads on stream off, so I mistyped while hand crafting it.

Cheers,
Prabhakar

> >     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
>
> --
> Regards,
>
> Laurent Pinchart



[Index of Archives]     [Linux Input]     [Video for Linux]     [Gstreamer Embedded]     [Mplayer Users]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]

  Powered by Linux