All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v3 0/5] media: Add ST VGXY61 camera sensor driver
@ 2022-05-12  7:40 Benjamin Mugnier
  2022-05-12  7:40 ` [PATCH v3 1/5] media: v4l: Add 1X16 16-bit greyscale media bus code definition Benjamin Mugnier
                   ` (5 more replies)
  0 siblings, 6 replies; 23+ messages in thread
From: Benjamin Mugnier @ 2022-05-12  7:40 UTC (permalink / raw)
  To: linux-media
  Cc: alain.volmat, hugues.fruchet, sylvain.petinot, dave.stevenson,
	sakari.ailus, laurent.pinchart, kieran.bingham, Benjamin Mugnier

Hey,

This series adds a driver for the ST VGXY61 camera sensor. This camera sensor is using the i2c bus
for control and the csi-2 bus for data.
These commits introduce the MEDIA_BUS_FMT_Y16_1X16 as a media bus format (1/5), reserve 16 user
controls for the driver (2/5), add a uapi header file to declare a control for the hdr mode (3/5),
dt bindings (3/5), and finally the driver (5/5).
Tested on DragonBoard 410c and on Raspberry Pi 4.

Unfortunately, I was not able to do the freely configurable frame size as advised by Laurent, and
I'm stuck. I tried to mimic the ov5693 driver as it seems to work mostly the same but was not
successful.
I managed to implement the get_selection to set the sensor crop, and set the set_format call to the
same frame size. By doing that my captured frame has black lines appearing if I don't use the sensor
native resolution, and seem to have issues with matching the sensor internal frame size and the one
I want to display (as lines appear wider than they should be).
If anyone has an example driver for this please tell me. Any help is appreciated.
I hope this fixed frame sizes will be ok, and I could come back to it later once I figure it out.

Thanks,

Benjamin

v2->v3:
- Fix errors in dt bindings
- Use alphabetical order where applicable
- Remove US_PER_MS macro
- Rename device specific macros
- Fix some control grabs not releasing
- Move user controls to public header and add documentation
- Rename set_framerate to set_framelength
- Rework i2c access
- Remove branchings that should never happen
- Rework pattern generator setting
- Update information on sensor rules of thumb
- Remove temperature control
- Remove suspend and resume
- Move mutex init to probe
- Move detect to probe
- Fix async_subdev_register order
- Support autosuspend
- Add init_cfg
- Fix controls not updating when sensor was off
- Various cleaning
- Rebase on master

v1->v2:
- Move temperature control to v4l2-controls.h as a standard control
- Reserve controls in v4l2-controls.h for HDR control
- Remove GPIO strobbing controls
- Remove references to unused controls in sensor struct
- Use v4l2_find_nearest_size
- Use V4L2_COLORSPACE_RAW instead of V4L2_COLORSPACE_SRGB
- Fill ycbcr_enc, quantization, and xfer_func in v4l2_mbus_framefmt
- Change gain from formula to a register RAW write
- Change temperature control value directly
- Remove clock-name and clock-lanes from device tree bindings
- Declare crop zones in mode_info structure
- Remove frame_interval functions and add hblank and vblank instead
- Update controls dependencies on change
- Fix first exposure rule of thumb being too restrictive
- Disable hflip and vflip controls while streaming
- Change RGB media bus code to Y as the sensor is monochrome
- Add Y16 format to v4l2 media bus formats
- Add get_selection API
- Fix timeout errors while disabling streaming on high framerates
- Support pm_runtime
- Rebase on master

Benjamin Mugnier (5):
  media: v4l: Add 1X16 16-bit greyscale media bus code definition
  media: v4l: ctrls: Add user control base for st-vgxy61 controls
  media: uapi: Add ST VGXY61 header file
  media: dt-bindings: media: i2c: Add ST VGXY61 camera sensor binding
  media: i2c: Add driver for ST VGXY61 camera sensor

 .../bindings/media/i2c/st,st-vgxy61.yaml      |  117 +
 .../userspace-api/media/drivers/st-vgxy61.rst |   23 +
 .../media/v4l/subdev-formats.rst              |   37 +
 MAINTAINERS                                   |    9 +
 drivers/media/i2c/Kconfig                     |   10 +
 drivers/media/i2c/Makefile                    |    1 +
 drivers/media/i2c/st-vgxy61.c                 | 1940 +++++++++++++++++
 include/uapi/linux/media-bus-format.h         |    3 +-
 include/uapi/linux/st-vgxy61.h                |   15 +
 include/uapi/linux/v4l2-controls.h            |    5 +
 10 files changed, 2159 insertions(+), 1 deletion(-)
 create mode 100644 Documentation/devicetree/bindings/media/i2c/st,st-vgxy61.yaml
 create mode 100644 Documentation/userspace-api/media/drivers/st-vgxy61.rst
 create mode 100644 drivers/media/i2c/st-vgxy61.c
 create mode 100644 include/uapi/linux/st-vgxy61.h

-- 
2.25.1


^ permalink raw reply	[flat|nested] 23+ messages in thread

end of thread, other threads:[~2022-09-26 14:35 UTC | newest]

Thread overview: 23+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-05-12  7:40 [PATCH v3 0/5] media: Add ST VGXY61 camera sensor driver Benjamin Mugnier
2022-05-12  7:40 ` [PATCH v3 1/5] media: v4l: Add 1X16 16-bit greyscale media bus code definition Benjamin Mugnier
2022-05-12  7:40 ` [PATCH v3 2/5] media: v4l: ctrls: Add user control base for st-vgxy61 controls Benjamin Mugnier
2022-05-12  7:40 ` [PATCH v3 3/5] media: uapi: Add ST VGXY61 header file Benjamin Mugnier
2022-05-12 10:32   ` kernel test robot
2022-05-12 12:43     ` Benjamin Mugnier
2022-05-12 12:43       ` Benjamin Mugnier
2022-08-22 10:37   ` Sakari Ailus
2022-08-26 14:17     ` Benjamin MUGNIER
2022-05-12  7:40 ` [PATCH v3 4/5] media: dt-bindings: media: i2c: Add ST VGXY61 camera sensor binding Benjamin Mugnier
2022-05-12  7:40 ` [PATCH v3 5/5] media: i2c: Add driver for ST VGXY61 camera sensor Benjamin Mugnier
2022-08-22 10:04   ` Sakari Ailus
2022-08-26 14:12     ` Benjamin MUGNIER
2022-09-25 11:32       ` Sakari Ailus
2022-09-26  9:28         ` Benjamin MUGNIER
2022-09-26  9:42           ` Sakari Ailus
2022-09-26 11:54             ` Benjamin MUGNIER
2022-09-26 12:52             ` Benjamin MUGNIER
2022-06-01  7:20 ` [PATCH v3 0/5] media: Add ST VGXY61 camera sensor driver Benjamin Mugnier
2022-06-20  7:30   ` Benjamin Mugnier
2022-07-18  7:26     ` Benjamin Mugnier
2022-07-18  9:06       ` Sakari Ailus
2022-08-22  8:18         ` Benjamin MUGNIER

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.