- Sep 14, 2023
-
-
Dave Stevenson authored
FFmpeg insists on trying to set V4L2_CID_MPEG_VIDEO_B_FRAMES to 0, and generates an error should it fail. As our encoder doesn't support B frames, add a stub handler for it to silence FFmpeg. Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
-
Dave Stevenson authored
V4L2_CID_MPEG_VIDEO_MPEG2_LEVEL was missed from "vc04_services: bcm2835_codec: Ignore READ_ONLY ctrls in s_ctrl" Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
-
Phil Elwell authored
While waiting for random data, use sleeps that are proportional to the amount of data expected. Prevent indefinite waits by giving up if nothing is received for a second. See: https://github.com/raspberrypi/linux/issues/5390 Signed-off-by: Phil Elwell <phil@raspberrypi.com>
-
Phil Elwell authored
As of commit [1], introduced in 5.18, fbdev drivers that use deferred IO and need mmap support must include an explicit fb_mmap pointer to the fb_deferred_io_mmap. Signed-off-by: Phil Elwell <phil@raspberrypi.com> [1] 59055851 ("fbdev: Put mmap for deferred I/O into drivers")
-
David Plowman authored
Setting V4L2_CID_WIDE_DYNAMIC_RANGE was causing the long exposure shift count to be reset, which is incorrect if the user has already changed the frame length to cause it to have a non-zero value. Because it only updates control ranges and doesn't set any registers, the control can also be applied when the sensor is not powered on. Signed-off-by: David Plowman <david.plowman@raspberrypi.com>
-
Lee Jackson authored
Add PDAF support for IMX519, and reduce the pixel rate to 426666667, link freq to 408000000. Signed-off-by: Lee Jackson <lee.jackson@arducam.com>
-
Maxime Ripard authored
The RaspberryPi firmware clocks driver uses in several instances a container_of to retrieve the struct raspberrypi_clk_data from a pointer to struct clk_hw. Let's create a small function to avoid duplicating it all over the place. Signed-off-by: Maxime Ripard <maxime@cerno.tech>
-
Dom Cobley authored
Busy spinning after halt is dumb We've previously applied this patch to arch/arm but it is currenltly missing in arch/arm64 Pi4 after "sudo halt" uses 520mA Pi4 after "sudo shutdown now" uses 310mA Make them both use the lower powered option Signed-off-by: Dom Cobley <popcornmix@gmail.com>
-
Dom Cobley authored
-
Naushir Patuck authored
This commit updates the imx219 driver to adverise support for embedded data streams. This can then be used by the bcm2835-unicam driver, which has recently been updated to expose the embedded data stream to userland. The imx219 sensor subdevice overloads the media pad to differentiate between image stream (pad 0) and embedded data stream (pad 1) when performing the v4l2_subdev_pad_ops functions. Signed-off-by: Naushir Patuck <naush@raspberrypi.com> Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
-
Dave Stevenson authored
The HBLANK control was read-only, and always configured such that the sensor HTS register was 3448. This limited the maximum exposure time that could be achieved to around 1.26 secs. Make HBLANK read/write so that the line time can be extended, and thereby allow longer exposures (and slower frame rates). Retain the overall HTS setting when changing modes rather than resetting it to a default. Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
-
David Plowman authored
The datasheet for this sensor documents the minimum vblanking as being 32 lines. It does fix some problems with occasional black lines at the bottom of images (tested on Raspberry Pi). Signed-off-by: David Plowman <david.plowman@raspberrypi.com>
-
David Plowman authored
Tested on Raspberry Pi running libcamera. Signed-off-by: David Plowman <david.plowman@raspberrypi.com>
-
Dave Stevenson authored
This is currently running on defaults, so the --strict desired for media drivers and similar won't be observed. That may be possible to add later. Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
-
Phil Elwell authored
Signed-off-by: Phil Elwell <phil@raspberrypi.com>
-
Phil Elwell authored
Signed-off-by: Phil Elwell <phil@raspberrypi.com>
-
Phil Elwell authored
Signed-off-by: Phil Elwell <phil@raspberrypi.com>
-
Phil Elwell authored
Signed-off-by: Phil Elwell <phil@raspberrypi.com>
-
Phil Elwell authored
Signed-off-by: Phil Elwell <phil@raspberrypi.com>
-
Phil Elwell authored
Signed-off-by: Phil Elwell <phil@raspberrypi.com>
-
Phil Elwell authored
Signed-off-by: Phil Elwell <phil@raspberrypi.com>
-
Phil Elwell authored
Signed-off-by: Phil Elwell <phil@raspberrypi.com>
-
Dave Stevenson authored
The ST7701 supports numerous different interface mechanisms for MIPI DSI, RGB, or SPI. The driver was only implementing DSI input, so add RGB parallel input with SPI configuration. Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
-
Dave Stevenson authored
In adding the MPEG2/MPEG4/H264 level and profile controls to the decoder, they weren't declared as read-only, nor handlers added to bcm2835_codec_s_ctrl. That resulted in an error message "Invalid control" being logged every time v4l2_ctrl_handler_setup was called from bcm2835_codec_create_component. Define those controls as read only, and exit early from s_ctrl on read only controls. Fixes: "media: bcm2835-v4l2-codec: Add profile & level ctrls to decode" Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
-
John Cox authored
In order to support discovery of what profile & levels are supported by stateful decoders implement the profile and level controls where they are defined by V4L2. Signed-off-by: John Cox <jc@kynesim.co.uk>
-
Phil Elwell authored
Signed-off-by: Phil Elwell <phil@raspberrypi.com>
-
Phil Elwell authored
6.0 is EOL and 6.2 is heading towards release, so update the build status display accordingly.
-
Phil Elwell authored
Remove the per-build duplication by putting build parameters in a matrix. Signed-off-by: Phil Elwell <phil@raspberrypi.com>
-
John Cox authored
The ISP cases do nothing. Remove the break that separates them from the deinterlace case so they now do the same as deinterlace. This enables simple width & height setting, but does not enable setting left and top coordinates. Signed-off-by: John Cox <jc@kynesim.co.uk>
-
Dave Stevenson authored
With the RAW16 formats now having a defined CSI2 data type ID, they can be added to the driver. Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
-
Dave Stevenson authored
The MIPI CSI2 data type ID values are now defined in the mipi-csi2.h header, so use those defines instead of hard coding them in the driver. Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
-
Dave Stevenson authored
Commit d3292dae ("dma-buf: Make locking consistent in dma_buf_detach()") added checking that the same dmabuf for which dma_buf_attach was called is passed into dma_buf_detach, which flagged up that vcsm-cma was passing in the wrong dmabuf. Correct this so that we don't get the WARN on every dma_buf release. Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
-
Phil Elwell authored
Modify the kernel build workflow to create artifacts with the correct names and structure, both as an example of what we expect and in case anyone wants to use the output. Signed-off-by: Phil Elwell <phil@raspberrypi.com>
-
Phil Elwell authored
To avoid code with build warnings being introduced into the tree, force CONFIG_WERROR=y in the build workflow. Signed-off-by: Phil Elwell <phil@raspberrypi.com>
-
David Plowman authored
The 1536x864 mode contained incorrect crop information. Signed-off-by: David Plowman <david.plowman@raspberrypi.com>
-
Naushir Patuck authored
Enable long exposure modes by using the long exposure shift register setting in the imx708 sensor. Signed-off-by: Naushir Patuck <naush@raspberrypi.com>
-
Phil Elwell authored
Signed-off-by: Phil Elwell <phil@raspberrypi.com>
-
Phil Elwell authored
CM4 uses BCM54210PE, which supports 2 additional LEDs, choosing LED3 for the amber LED because it shows activity by default (LED4 is not connected). However, this makes it uncontrollable by the eth_led<n> dtparams which target LEDs 1+2. Solve the problem by making LEDs 3+4 mirror LEDs 1+2 (which is much simpler than adding baseboard-specific overrides, but comes with a risk of making one of the LEDs redundant). See: https://github.com/raspberrypi/linux/issues/5289 Signed-off-by: Phil Elwell <phil@raspberrypi.com>
-
Nick Hollinghurst authored
The imx708 is a 12MP MIPI sensor with a 16:9 aspect ratio, here using two CSI-2 lanes. It is a "quad Bayer" sensor with all 3 modes offering 10-bit output: 12MP: 4608x2592 up to 14.35fps (full FoV) 1080p: 2304x1296 up to 56.02fps (full FoV) 720p: 1536x864 up to 120.12fps (cropped) This imx708 sensor driver is based heavily on the imx477 driver and has been tested on the Raspberry Pi platform using libcamera. Signed-off-by: Nick Hollinghurst <nick.hollinghurst@raspberrypi.com> Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
-
Dave Stevenson authored
Add YAML devicetree binding for IMX708 CMOS image sensor. Let's also add a MAINTAINERS entry for the binding and driver. Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
-