[libcamera-devel,00/25] media: ov5647: Support RaspberryPi Camera Module v1
mbox series

Message ID 20200623100815.10674-1-jacopo@jmondi.org
Headers show
Series
  • media: ov5647: Support RaspberryPi Camera Module v1
Related show

Message

Jacopo Mondi June 23, 2020, 10:07 a.m. UTC
-------------------------------------------------------------------------------
Second attempt after my ISP blocked the part of the first sending.
Also removed Luis Oliveira email from the receiver list as it gets
bounced back.
550 5.1.1 <lolivei@synopsys.com>... User unknown
-------------------------------------------------------------------------------

Hello,
  this series improves and expand the existing ov5647 sensor driver to
the same feature level as found in RaspberryPi BSP.

It is based on recent media tree master and the sensor bindings conversion
to dt-schema I sent out a few days ago:
"[PATCH 0/2] dt-bidings: media: ov5647 bindings + small fix"

The first patches in the series has been sent by Roman as part of
"[PATCH v2 0/6] ov5647 driver improvement"
I took his patches in, addressed review comments and rebased on top
of the new dt-schema bindings. I kept the extensive receiver list he had
in his series for this reason.

The series continues by polishing and cleaning up the driver and expanding
its functionalities to support multiple modes and image formats.

The series has been tested with libcamera and the driver functionalities
compared with the BSP driver ones, and tested stand-alone by capturing
raw frames with yavta.

Thanks
   j

Dave Stevenson (8):
  media: ov5647: Add support for PWDN GPIO.
  media: ov5647: Add support for non-continuous clock mode
  media: ov5647: Add set_fmt and get_fmt calls.
  media: ov5647: Add support for get_selection()
  media: ov5647: Set V4L2_SUBDEV_FL_HAS_EVENTS flag
  media: ov5647: Support V4L2_CID_PIXEL_RATE
  media: ov5647: Support V4L2_CID_VBLANK control
  media: ov5647: Advertise the correct exposure range

David Plowman (1):
  media: ov5647: Support gain, exposure and AWB controls

Jacopo Mondi (16):
  dt-bindings: media: ov5647: Document pwdn-gpios
  dt-bindings: media: ov5647: Document clock-noncontinuous
  media: ov5647: Fix format initialization
  media: ov5647: Fix style issues
  media: ov5647: Replace license with SPDX identifier
  media: ov5647: Fix return value from read/write
  media: ov5647: Program mode at s_stream(1) time
  media: ov5647: Implement enum_frame_size()
  media: ov5647: Protect s_stream() with mutex
  media: ov5647: Rationalize driver structure name
  media: ov5647: Break out format handling
  media: ov5647: Rename SBGGR8 VGA mode
  media: ov5647: Add SGGBR10_1X10 modes
  media: ov5647: Implement set_fmt pad operation
  media: ov5647: Program mode only if it has changed
  media: ov5647: Support V4L2_CID_HBLANK control

 .../devicetree/bindings/media/i2c/ov5647.yaml |   11 +
 drivers/media/i2c/ov5647.c                    | 1267 +++++++++++++++--
 2 files changed, 1126 insertions(+), 152 deletions(-)

--
2.27.0

Comments

Dafna Hirschfeld June 29, 2020, 5:33 p.m. UTC | #1
Hi,
Thanks for the series,

I tried to apply it on master and found out that the set
is rebased on top of the patchset
"dt-bidings: media: ov5647 bindings"
so running 'git am' without the other set fails.
Maybe better to merge the two sets or mention it in the cover letter.

Thanks,
Dafna



On 23.06.20 12:07, Jacopo Mondi wrote:
> -------------------------------------------------------------------------------
> Second attempt after my ISP blocked the part of the first sending.
> Also removed Luis Oliveira email from the receiver list as it gets
> bounced back.
> 550 5.1.1 <lolivei@synopsys.com>... User unknown
> -------------------------------------------------------------------------------
> 
> Hello,
>    this series improves and expand the existing ov5647 sensor driver to
> the same feature level as found in RaspberryPi BSP.
> 
> It is based on recent media tree master and the sensor bindings conversion
> to dt-schema I sent out a few days ago:
> "[PATCH 0/2] dt-bidings: media: ov5647 bindings + small fix"
> 
> The first patches in the series has been sent by Roman as part of
> "[PATCH v2 0/6] ov5647 driver improvement"
> I took his patches in, addressed review comments and rebased on top
> of the new dt-schema bindings. I kept the extensive receiver list he had
> in his series for this reason.
> 
> The series continues by polishing and cleaning up the driver and expanding
> its functionalities to support multiple modes and image formats.
> 
> The series has been tested with libcamera and the driver functionalities
> compared with the BSP driver ones, and tested stand-alone by capturing
> raw frames with yavta.
> 
> Thanks
>     j
> 
> Dave Stevenson (8):
>    media: ov5647: Add support for PWDN GPIO.
>    media: ov5647: Add support for non-continuous clock mode
>    media: ov5647: Add set_fmt and get_fmt calls.
>    media: ov5647: Add support for get_selection()
>    media: ov5647: Set V4L2_SUBDEV_FL_HAS_EVENTS flag
>    media: ov5647: Support V4L2_CID_PIXEL_RATE
>    media: ov5647: Support V4L2_CID_VBLANK control
>    media: ov5647: Advertise the correct exposure range
> 
> David Plowman (1):
>    media: ov5647: Support gain, exposure and AWB controls
> 
> Jacopo Mondi (16):
>    dt-bindings: media: ov5647: Document pwdn-gpios
>    dt-bindings: media: ov5647: Document clock-noncontinuous
>    media: ov5647: Fix format initialization
>    media: ov5647: Fix style issues
>    media: ov5647: Replace license with SPDX identifier
>    media: ov5647: Fix return value from read/write
>    media: ov5647: Program mode at s_stream(1) time
>    media: ov5647: Implement enum_frame_size()
>    media: ov5647: Protect s_stream() with mutex
>    media: ov5647: Rationalize driver structure name
>    media: ov5647: Break out format handling
>    media: ov5647: Rename SBGGR8 VGA mode
>    media: ov5647: Add SGGBR10_1X10 modes
>    media: ov5647: Implement set_fmt pad operation
>    media: ov5647: Program mode only if it has changed
>    media: ov5647: Support V4L2_CID_HBLANK control
> 
>   .../devicetree/bindings/media/i2c/ov5647.yaml |   11 +
>   drivers/media/i2c/ov5647.c                    | 1267 +++++++++++++++--
>   2 files changed, 1126 insertions(+), 152 deletions(-)
> 
> --
> 2.27.0
>
Dafna Hirschfeld June 29, 2020, 6:08 p.m. UTC | #2
On 29.06.20 19:33, Dafna Hirschfeld wrote:
> Hi,
> Thanks for the series,
> 
> I tried to apply it on master and found out that the set
> is rebased on top of the patchset
> "dt-bidings: media: ov5647 bindings"
> so running 'git am' without the other set fails.
> Maybe better to merge the two sets or mention it in the cover letter.
> 
> Thanks,
> Dafna
> 
> 
> 
> On 23.06.20 12:07, Jacopo Mondi wrote:
>> -------------------------------------------------------------------------------
>> Second attempt after my ISP blocked the part of the first sending.
>> Also removed Luis Oliveira email from the receiver list as it gets
>> bounced back.
>> 550 5.1.1 <lolivei@synopsys.com>... User unknown
>> -------------------------------------------------------------------------------
>>
>> Hello,
>>    this series improves and expand the existing ov5647 sensor driver to
>> the same feature level as found in RaspberryPi BSP.
>>
>> It is based on recent media tree master and the sensor bindings conversion
>> to dt-schema I sent out a few days ago:
>> "[PATCH 0/2] dt-bidings: media: ov5647 bindings + small fix"

oops, maybe I should better read the cover letter first,
sorry for the noise,

Thanks,
Dafna

>>
>> The first patches in the series has been sent by Roman as part of
>> "[PATCH v2 0/6] ov5647 driver improvement"
>> I took his patches in, addressed review comments and rebased on top
>> of the new dt-schema bindings. I kept the extensive receiver list he had
>> in his series for this reason.
>>
>> The series continues by polishing and cleaning up the driver and expanding
>> its functionalities to support multiple modes and image formats.
>>
>> The series has been tested with libcamera and the driver functionalities
>> compared with the BSP driver ones, and tested stand-alone by capturing
>> raw frames with yavta.
>>
>> Thanks
>>     j
>>
>> Dave Stevenson (8):
>>    media: ov5647: Add support for PWDN GPIO.
>>    media: ov5647: Add support for non-continuous clock mode
>>    media: ov5647: Add set_fmt and get_fmt calls.
>>    media: ov5647: Add support for get_selection()
>>    media: ov5647: Set V4L2_SUBDEV_FL_HAS_EVENTS flag
>>    media: ov5647: Support V4L2_CID_PIXEL_RATE
>>    media: ov5647: Support V4L2_CID_VBLANK control
>>    media: ov5647: Advertise the correct exposure range
>>
>> David Plowman (1):
>>    media: ov5647: Support gain, exposure and AWB controls
>>
>> Jacopo Mondi (16):
>>    dt-bindings: media: ov5647: Document pwdn-gpios
>>    dt-bindings: media: ov5647: Document clock-noncontinuous
>>    media: ov5647: Fix format initialization
>>    media: ov5647: Fix style issues
>>    media: ov5647: Replace license with SPDX identifier
>>    media: ov5647: Fix return value from read/write
>>    media: ov5647: Program mode at s_stream(1) time
>>    media: ov5647: Implement enum_frame_size()
>>    media: ov5647: Protect s_stream() with mutex
>>    media: ov5647: Rationalize driver structure name
>>    media: ov5647: Break out format handling
>>    media: ov5647: Rename SBGGR8 VGA mode
>>    media: ov5647: Add SGGBR10_1X10 modes
>>    media: ov5647: Implement set_fmt pad operation
>>    media: ov5647: Program mode only if it has changed
>>    media: ov5647: Support V4L2_CID_HBLANK control
>>
>>   .../devicetree/bindings/media/i2c/ov5647.yaml |   11 +
>>   drivers/media/i2c/ov5647.c                    | 1267 +++++++++++++++--
>>   2 files changed, 1126 insertions(+), 152 deletions(-)
>>
>> -- 
>> 2.27.0
>>
Dafna Hirschfeld July 10, 2020, 3:59 p.m. UTC | #3
On 23.06.20 12:07, Jacopo Mondi wrote:
> -------------------------------------------------------------------------------
> Second attempt after my ISP blocked the part of the first sending.
> Also removed Luis Oliveira email from the receiver list as it gets
> bounced back.
> 550 5.1.1 <lolivei@synopsys.com>... User unknown
> -------------------------------------------------------------------------------
> 
> Hello,
>    this series improves and expand the existing ov5647 sensor driver to
> the same feature level as found in RaspberryPi BSP.
> 
> It is based on recent media tree master and the sensor bindings conversion
> to dt-schema I sent out a few days ago:
> "[PATCH 0/2] dt-bidings: media: ov5647 bindings + small fix"
> 
> The first patches in the series has been sent by Roman as part of
> "[PATCH v2 0/6] ov5647 driver improvement"
> I took his patches in, addressed review comments and rebased on top
> of the new dt-schema bindings. I kept the extensive receiver list he had
> in his series for this reason.
> 
> The series continues by polishing and cleaning up the driver and expanding
> its functionalities to support multiple modes and image formats.
> 
> The series has been tested with libcamera and the driver functionalities
> compared with the BSP driver ones, and tested stand-alone by capturing
> raw frames with yavta.

Hi,
Tested it on rock-pi 4 board with rkisp1 driver for the isp,
using the command 'cam -c 1 -C --file="/tmp/libcamframe#.data" -s width=800,height=600'
from libcamera.

This the branch: https://gitlab.collabora.com/dafna/linux/-/tree/test-ov5647-10-jul
The top commit is the ov5647 dts node:
https://gitlab.collabora.com/dafna/linux/-/commit/6aa58e6c5378dc20fce9fcc0ef68916ae3fa7b22

Tested-by: Dafna Hirschfeld <dafna.hirschfeld@collabora.com>

> 
> Thanks
>     j
> 
> Dave Stevenson (8):
>    media: ov5647: Add support for PWDN GPIO.
>    media: ov5647: Add support for non-continuous clock mode
>    media: ov5647: Add set_fmt and get_fmt calls.
>    media: ov5647: Add support for get_selection()
>    media: ov5647: Set V4L2_SUBDEV_FL_HAS_EVENTS flag
>    media: ov5647: Support V4L2_CID_PIXEL_RATE
>    media: ov5647: Support V4L2_CID_VBLANK control
>    media: ov5647: Advertise the correct exposure range
> 
> David Plowman (1):
>    media: ov5647: Support gain, exposure and AWB controls
> 
> Jacopo Mondi (16):
>    dt-bindings: media: ov5647: Document pwdn-gpios
>    dt-bindings: media: ov5647: Document clock-noncontinuous
>    media: ov5647: Fix format initialization
>    media: ov5647: Fix style issues
>    media: ov5647: Replace license with SPDX identifier
>    media: ov5647: Fix return value from read/write
>    media: ov5647: Program mode at s_stream(1) time
>    media: ov5647: Implement enum_frame_size()
>    media: ov5647: Protect s_stream() with mutex
>    media: ov5647: Rationalize driver structure name
>    media: ov5647: Break out format handling
>    media: ov5647: Rename SBGGR8 VGA mode
>    media: ov5647: Add SGGBR10_1X10 modes
>    media: ov5647: Implement set_fmt pad operation
>    media: ov5647: Program mode only if it has changed
>    media: ov5647: Support V4L2_CID_HBLANK control
> 
>   .../devicetree/bindings/media/i2c/ov5647.yaml |   11 +
>   drivers/media/i2c/ov5647.c                    | 1267 +++++++++++++++--
>   2 files changed, 1126 insertions(+), 152 deletions(-)
> 
> --
> 2.27.0
> 
> _______________________________________________
> libcamera-devel mailing list
> libcamera-devel@lists.libcamera.org
> https://lists.libcamera.org/listinfo/libcamera-devel
>
Jacopo Mondi July 14, 2020, 12:48 p.m. UTC | #4
Hi Dafna,

On Fri, Jul 10, 2020 at 05:59:56PM +0200, Dafna Hirschfeld wrote:
>
>
> On 23.06.20 12:07, Jacopo Mondi wrote:
> > -------------------------------------------------------------------------------
> > Second attempt after my ISP blocked the part of the first sending.
> > Also removed Luis Oliveira email from the receiver list as it gets
> > bounced back.
> > 550 5.1.1 <lolivei@synopsys.com>... User unknown
> > -------------------------------------------------------------------------------
> >
> > Hello,
> >    this series improves and expand the existing ov5647 sensor driver to
> > the same feature level as found in RaspberryPi BSP.
> >
> > It is based on recent media tree master and the sensor bindings conversion
> > to dt-schema I sent out a few days ago:
> > "[PATCH 0/2] dt-bidings: media: ov5647 bindings + small fix"
> >
> > The first patches in the series has been sent by Roman as part of
> > "[PATCH v2 0/6] ov5647 driver improvement"
> > I took his patches in, addressed review comments and rebased on top
> > of the new dt-schema bindings. I kept the extensive receiver list he had
> > in his series for this reason.
> >
> > The series continues by polishing and cleaning up the driver and expanding
> > its functionalities to support multiple modes and image formats.
> >
> > The series has been tested with libcamera and the driver functionalities
> > compared with the BSP driver ones, and tested stand-alone by capturing
> > raw frames with yavta.
>
> Hi,
> Tested it on rock-pi 4 board with rkisp1 driver for the isp,
> using the command 'cam -c 1 -C --file="/tmp/libcamframe#.data" -s width=800,height=600'
> from libcamera.
>
> This the branch: https://gitlab.collabora.com/dafna/linux/-/tree/test-ov5647-10-jul
> The top commit is the ov5647 dts node:
> https://gitlab.collabora.com/dafna/linux/-/commit/6aa58e6c5378dc20fce9fcc0ef68916ae3fa7b22
>
> Tested-by: Dafna Hirschfeld <dafna.hirschfeld@collabora.com>
>

Thanks for having validated the driver on a platform different from
the one I've tested with.

I'll collect your tag in the next version.

Thanks
  j

> >
> > Thanks
> >     j
> >
> > Dave Stevenson (8):
> >    media: ov5647: Add support for PWDN GPIO.
> >    media: ov5647: Add support for non-continuous clock mode
> >    media: ov5647: Add set_fmt and get_fmt calls.
> >    media: ov5647: Add support for get_selection()
> >    media: ov5647: Set V4L2_SUBDEV_FL_HAS_EVENTS flag
> >    media: ov5647: Support V4L2_CID_PIXEL_RATE
> >    media: ov5647: Support V4L2_CID_VBLANK control
> >    media: ov5647: Advertise the correct exposure range
> >
> > David Plowman (1):
> >    media: ov5647: Support gain, exposure and AWB controls
> >
> > Jacopo Mondi (16):
> >    dt-bindings: media: ov5647: Document pwdn-gpios
> >    dt-bindings: media: ov5647: Document clock-noncontinuous
> >    media: ov5647: Fix format initialization
> >    media: ov5647: Fix style issues
> >    media: ov5647: Replace license with SPDX identifier
> >    media: ov5647: Fix return value from read/write
> >    media: ov5647: Program mode at s_stream(1) time
> >    media: ov5647: Implement enum_frame_size()
> >    media: ov5647: Protect s_stream() with mutex
> >    media: ov5647: Rationalize driver structure name
> >    media: ov5647: Break out format handling
> >    media: ov5647: Rename SBGGR8 VGA mode
> >    media: ov5647: Add SGGBR10_1X10 modes
> >    media: ov5647: Implement set_fmt pad operation
> >    media: ov5647: Program mode only if it has changed
> >    media: ov5647: Support V4L2_CID_HBLANK control
> >
> >   .../devicetree/bindings/media/i2c/ov5647.yaml |   11 +
> >   drivers/media/i2c/ov5647.c                    | 1267 +++++++++++++++--
> >   2 files changed, 1126 insertions(+), 152 deletions(-)
> >
> > --
> > 2.27.0
> >
> > _______________________________________________
> > libcamera-devel mailing list
> > libcamera-devel@lists.libcamera.org
> > https://lists.libcamera.org/listinfo/libcamera-devel
> >