Backport vd65g4 camera driver support - #7463
Merged
Merged
Conversation
Commit 5489abf upstream Switch compatible from a const to an enum to accommodate both the vd55g1 and the vd65g4, which is the color variant. Signed-off-by: Benjamin Mugnier <benjamin.mugnier@foss.st.com> Acked-by: Conor Dooley <conor.dooley@microchip.com> Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com> Signed-off-by: Hans Verkuil <hverkuil+cisco@kernel.org>
Commit e138e7f upstream The vd65g4 is the bayer version of the vd55g1. As opposed to the vd55g1, the vd65g4 does not need any patch. Check the sensor id at probe and choose to patch or not on power_on() according to it. It's bayer matrix's order is RGGB. This commit handles hflip and vflip by switching the bayer pattern accordingly. Signed-off-by: Benjamin Mugnier <benjamin.mugnier@foss.st.com> Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com> Signed-off-by: Hans Verkuil <hverkuil+cisco@kernel.org>
Commit e4a4f2e3b9bc65e0b82ae8c3a2945955870df36f upstream. In the driver initialization, the index of the default media bus code from the supported media bus code array is passed directly to the vd55g1_get_fmt_code() function instead of the proper media bus code. This works correctly as a proper media bus code is set after initialization but could not have been the case. This also resulted in mutliple "Unsupported mbus format" error messages. Retrieve the media bus code from the media bus code array, and pass this media bus code to vd55g1_get_fmt_code() instead of the code index. Rename VD55G1_MBUS_CODE_DEF to VD55G1_MBUS_CODE_IDX_DEF and VD55G1_MODE_DEF to VD55G1_MODE_IDX_DEF while at it to avoid future confusions. Display the guilty error code in warning message. Cc: stable@vger.kernel.org Fixes: e138e7f ("media: i2c: vd55g1: Add support for vd65g4 RGB variant") Signed-off-by: Benjamin Mugnier <benjamin.mugnier@foss.st.com>
Commit 3e275097e206a67f2b691c8167313871ee421cd7 upstream. vd55g1_update_pad_fmt() is called in vd55g1_init_state(). But vd55g1_set_pad_fmt(), called at the end of vd55g1_init_state(), also calls vd55g1_update_pad_fmt() itself. Enhance readability and clear confusion by only preparing the format in vd55g1_init_state() and let vd55g1_set_pad_fmt() update it instead, effectively calling it only 1 time instead of 2. Reviewed-by: Jacopo Mondi <jacopo.mondi@ideasonboard.com> Signed-off-by: Benjamin Mugnier <benjamin.mugnier@foss.st.com>
Commit 113a84d6ba739d333eef2a595e3ccd4f97a306c2 upstream Apply digital gain to all channels, each channel representing a color. Cc: stable@vger.kernel.org Fixes: e138e7f ("media: i2c: vd55g1: Add support for vd65g4 RGB variant") Reviewed-by: Jacopo Mondi <jacopo.mondi@ideasonboard.com> Signed-off-by: Benjamin Mugnier <benjamin.mugnier@foss.st.com>
Commit eaa329aff7bb272f7ba6881de14eb3a4c6626ed5 upstream Define it as a new monochrome variant of vd65g4. Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com> Signed-off-by: Benjamin Mugnier <benjamin.mugnier@foss.st.com>
Commit 7a1e5239ae63c68035ac5b8902ff779b394adfd4 upstream vd55g4 is the same device as vd65g4 but outputs in monochrome instead of RGB. Adapt the driver structure according to this new variant, and add its support. Reviewed-by: Jacopo Mondi <jacopo.mondi@ideasonboard.com> Signed-off-by: Benjamin Mugnier <benjamin.mugnier@foss.st.com>
Commit 92a59c24cb688b5faecdb6047a377fc76bc093da upstream Running the sensor on 10 bits mode resulted in FPS being 25% faster than it should be. This issue did not appear in 8 bits mode. This is mostly noticeable with libcamera as it can set a target FPS value directly. This is caused by the V4L2_CID_PIXEL_RATE control being dynamically changed according to the media bus code, while it should be the same regardless of the code. Since we already compute the pixel_clock, use it directly for V4L2_CID_PIXEL_RATE instead. Suggested-by: Dave Stevenson <dave.stevenson@raspberrypi.com> Signed-off-by: Benjamin Mugnier <benjamin.mugnier@foss.st.com> Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
6by9
force-pushed
the
rpi-6.18.y-st-cameras
branch
from
August 3, 2026 10:48
74e2031 to
21acbf0
Compare
6by9
marked this pull request as ready for review
August 3, 2026 13:31
Contributor
Author
|
Pulled in the latest change from mainline, and dropped the draft flag. The 320x240 mode on vd55g1 is still delivering the wrong frame rate, but the others are fine. |
popcornmix
added a commit
to raspberrypi/firmware
that referenced
this pull request
Aug 3, 2026
kernel: Strict pinmux support for pinctrl-bcm2835 See: raspberrypi/linux#7530 kernel: dtoverlays: mcp2515: Add spi6 support See: raspberrypi/linux#7534 kernel: configs: Enable USB Type-C/PD support for FUSB302-based HATs See: raspberrypi/linux#7532 kernel: Backport vd65g4 camera driver support See: raspberrypi/linux#7463
popcornmix
added a commit
to raspberrypi/rpi-firmware
that referenced
this pull request
Aug 3, 2026
kernel: Strict pinmux support for pinctrl-bcm2835 See: raspberrypi/linux#7530 kernel: dtoverlays: mcp2515: Add spi6 support See: raspberrypi/linux#7534 kernel: configs: Enable USB Type-C/PD support for FUSB302-based HATs See: raspberrypi/linux#7532 kernel: Backport vd65g4 camera driver support See: raspberrypi/linux#7463
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Requested by ST.
Draft for the moment as I'm seeing minor issues.