| From: |
| Benjamin Mugnier <benjamin.mugnier-AT-foss.st.com> |
| To: |
| <linux-media-AT-vger.kernel.org> |
| Subject: |
| [PATCH v4 0/4] media: Add ST VGXY61 camera sensor driver |
| Date: |
| Tue, 30 Aug 2022 14:16:04 +0200 |
| Message-ID: |
| <20220830121608.12047-1-benjamin.mugnier@foss.st.com> |
| Cc: |
| <alain.volmat-AT-foss.st.com>, <hugues.fruchet-AT-foss.st.com>, <sylvain.petinot-AT-foss.st.com>, <dave.stevenson-AT-raspberrypi.com>, <sakari.ailus-AT-linux.intel.com>, <laurent.pinchart-AT-ideasonboard.com>, <kieran.bingham-AT-ideasonboard.com>, Benjamin Mugnier <benjamin.mugnier-AT-foss.st.com> |
| Archive-link: |
| Article |
Hi,
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/4),
a standard control in V4L2 for the hdr mode (2/4), dt bindings (3/4), and the
driver (4/4).
Tested on DragonBoard 410c, Raspberry Pi 4, and Qualcomm Robotics RB5.
Thanks,
Benjamin
v3->v4:
- Standardize V4L2_CID_HDR_MODE
- Refactor to 80 characters limit
- Better types handling
- Various others
- Rebase on master
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 (4):
media: v4l: Add 1X16 16-bit greyscale media bus code definition
media: v4l: ctrls: Add a control for HDR mode
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 +
.../media/v4l/ext-ctrls-camera.rst | 8 +
.../media/v4l/subdev-formats.rst | 37 +
MAINTAINERS | 9 +
drivers/media/i2c/Kconfig | 10 +
drivers/media/i2c/Makefile | 1 +
drivers/media/i2c/st-vgxy61.c | 1967 +++++++++++++++++
drivers/media/v4l2-core/v4l2-ctrls-defs.c | 2 +
include/uapi/linux/media-bus-format.h | 3 +-
include/uapi/linux/v4l2-controls.h | 2 +
10 files changed, 2155 insertions(+), 1 deletion(-)
create mode 100644 Documentation/devicetree/bindings/media/i2c/st,st-vgxy61.yaml
create mode 100644 drivers/media/i2c/st-vgxy61.c
--
2.25.1