- Dec 01, 2021
-
-
Phil Elwell authored
Bring the Pi 3 kernel in line with the Pi Zero and Pi 4 by enabling USB gadget support, which is useful on Zero 2 W. See: https://github.com/raspberrypi/firmware/issues/1654 Signed-off-by: Phil Elwell <phil@raspberrypi.com>
-
Phil Elwell authored
It is important to reinitialise the firmware array pointers to protect against the case that the brcmfmac driver is reprobed without first being unloaded. The potential hazard was noticed while investigating https://github.com/raspberrypi/firmware/issues/1644 . Signed-off-by: Phil Elwell <phil@raspberrypi.com>
-
Phil Elwell authored
Add the ability to load the names of alternative firmwares from the Device Tree node. This permits separate firmwares for 43436s and 43438 and allows downstream firmwares to coexist with upstream. Signed-off-by: Phil Elwell <phil@raspberrypi.com>
-
Phil Elwell authored
This reverts commit c52581ff . Replace the hardcoded alternate firmware names with mappings provided from Device Tree. Signed-off-by: Phil Elwell <phil@raspberrypi.com>
-
Phil Elwell authored
BCM43430/2 may be BCM43430B0 or BCM43436P, and BCM43430/1 can be either BCM43430A1 or BCM43436S, the former being upstream names and the latter downstream names for differently-sourced sister parts. Make the choice of firmwares board-specific (without making the actual firmwares board-specific) by placing the alternative firmware names for each part in the DT node. Signed-off-by: Phil Elwell <phil@raspberrypi.com>
-
Phil Elwell authored
Mirror upstream changes into the downstream dts files. Signed-off-by: Phil Elwell <phil@raspberrypi.com>
-
Phil Elwell authored
Retain the old names for backwards compatibility for a while, while the necessary firmware change rolls out. Signed-off-by: Phil Elwell <phil@raspberrypi.com>
-
Phil Elwell authored
Signed-off-by: Phil Elwell <phil@raspberrypi.com>
-
Dom Cobley authored
Signed-off-by: Dom Cobley <popcornmix@gmail.com>
-
Dom Cobley authored
clk-2835 is deprecated and gets an innacurate clock for VEC (107MHz). Switch to clk-raspberrypi which uses the right PLL to get an accurate 108MHz. Signed-off-by: Dom Cobley <popcornmix@gmail.com>
-
Dom Cobley authored
Signed-off-by: Dom Cobley <popcornmix@gmail.com>
-
- Oct 06, 2021
-
-
Jonathan Bell authored
A regression introduced in https://github.com/raspberrypi/linux/pull/3887 meant that if the newly scheduled transfer immediately returned data, and the driver resubmitted a single URB after every transfer, then the effective polling interval would end up being approx 1ms. Use the larger of SCHEDULE_SLOP or the configured endpoint interval. Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
-
- Oct 04, 2021
-
-
Dave Stevenson authored
Adds an overlay to configure the TinyDRM driver for ST7735R based 160x128 and 128x128 (untested) displays such as the Adafruit 1.8" display. Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
-
- Sep 30, 2021
-
-
Lee Jackson authored
Added overlays for enabling IMX519 and add the relevant information to the README. Signed-off-by: Lee Jackson <info@arducam.com>
-
Lee Jackson authored
Include the driver module for the IMX519. Signed-off-by: Lee Jackson <info@arducam.com>
-
Arducam authored
This commit updates the imx519 driver to adverise support for embedded data streams. The imx519 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: Lee Jackson <info@arducam.com>
-
Lee Jackson authored
Adds a driver for the 16MPix IMX519 CSI2 sensor. Whilst the sensor supports 2 or 4 CSI2 data lanes, this driver currently only supports 2 lanes. The following Bayer modes are currently available: 4656x3496 10-bit @ 10fps 3840x2160 10-bit (cropped) @ 21fps 2328x1748 10-bit (binned) @ 30fps 1920x1080 10-bit (cropped/binned) @ 60fps 1280x720 10-bit (cropped/binned) @ 120fps Signed-off-by: Lee Jackson <info@arducam.com>
-
Lee Jackson authored
Add YAML device tree binding for IMX519 CMOS image sensor, and the relevant MAINTAINERS entries. Signed-off-by: Lee Jackson <info@arducam.com>
-
- Sep 29, 2021
-
-
Juerg Haefliger authored
The Linux support for controlling card power via regulators appears to be contentious. I would argue that the default behaviour is contrary to the SDHCI spec - turning off the power writes a reserved value to the SD Bus Voltage Select field of the Power Control Register, which seems to kill the Arasan/iProc controller - but fortunately there is a hook in sdhci_ops to override the behaviour. Signed-off-by: Juerg Haefliger <juergh@canonical.com> Signed-off-by: Phil Elwell <phil@raspberrypi.com>
-
Juerg Haefliger authored
This reverts commit aed19399. Commit 6c92ae1e ("mmc: sdhci: Introduce sdhci_set_power_and_bus_voltage()") introduced a generic helper that does the same thing so use that instead in the following commit. Signed-off-by: Juerg Haefliger <juergh@canonical.com>
-
Juerg Haefliger authored
Check for errors only if we actually tried to enable the bvb clock. Fixes: 01a6d727 ("vc4/drm: hdmi: Handle case when bvb clock is null") Signed-off-by: Juerg Haefliger <juergh@canonical.com>
-
- Sep 28, 2021
-
-
Maxime Ripard authored
When doing an asynchronous page flip (PAGE_FLIP ioctl with the DRM_MODE_PAGE_FLIP_ASYNC flag set), the current code waits for the possible GPU buffer being rendered through a call to vc4_queue_seqno_cb(). On the BCM2835-37, the GPU driver is part of the vc4 driver and that function is defined in vc4_gem.c to wait for the buffer to be rendered, and once it's done, call a callback. However, on the BCM2711 used on the RaspberryPi4, the GPU driver is separate (v3d) and that function won't do anything. This was working because we were going into a path, due to uninitialized variables, that was always scheduling the callback. However, we were never actually waiting for the buffer to be rendered which was resulting in frames being displayed out of order. The generic API to signal those kind of completion in the kernel are the DMA fences, and fortunately the v3d drivers supports them and signal when its job is done. That API also provides an equivalent function that allows to have a callback being executed when the fence is signalled as done. Let's change our driver a bit to rely on the previous function for the older SoCs, and on DMA fences for the BCM2711. Signed-off-by: Maxime Ripard <maxime@cerno.tech>
-
Dom Cobley authored
This reverts commit 02038a75.
-
Dom Cobley authored
This reverts commit 121592a1.
-
madimario authored
The read and write functions did not use the correct pointer offset when dealing with an odd number of bytes after a DMA transfer. Also, only handle the remaining odd bytes if the DMA transfer completed successfully. Submitted-by: @madimario (GitHub) Signed-off-by: Phil Elwell <phil@raspberrypi.com>
-
- Sep 27, 2021
-
-
Dave Stevenson authored
The driver was implementing a get_brightness function that tried to read back the PWM setting of the display to report as the current brightness. The controller on the display does not support that, therefore we end up reporting a brightness of 0, and that confuses systemd's backlight service. Remove the hook so that the framework returns the current brightness automatically. Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
-
GabyPCgeeK authored
Can configure mcp2515 on spi0/1/2 without the need for multiple overlays.
-
Guennadi Liakhovetski authored
This allows using the video-i2c camera driver with MLX90640 thermal infrared sensors, connected to Raspberry Pi. CONFIG_VIDEO_V4L2_I2C has to be selected to use the camera. Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
-
- Sep 23, 2021
-
-
Dave Stevenson authored
The ISP can do H & V flips whilst resizing or converting the image, so expose that via V4L2_CID_[H|V]FLIP. Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
-
Dave Stevenson authored
Currently the code was only setting some controls from bcm2835_codec_set_ctrls, but it's simpler to use v4l2_ctrl_handler_setup to avoid forgetting to adding new controls to the list. Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
-
Dave Stevenson authored
Completions don't reference count, so setting the completion on the first buffer returned and then not reinitialising it means that the flush function doesn't behave as intended. Signal the completion when the last buffer is returned. Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
-
Dave Stevenson authored
Should we go through the timeout failure case with port_disable not returning all buffers for whatever reason, the buffers_with_vpu counter gets left at a non-zero value, which will cause reference counting issues should the instance be reused. Reset the count when the port is enabled again, but before any buffers have been sent to the VPU. Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
-
Dave Stevenson authored
When a buffer is returned on a port that is disabled, return it to the videobuf2 QUEUED state instead of DONE which returns it to the client. Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
-
Dave Stevenson authored
Adds a module parameter "debug" to enable various logging levels. Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
-
Dave Stevenson authored
The firmware defaults to not stopping video decode if only the pixel aspect ratio or colourspace change. V4L2 requires us to stop decoding on any change, therefore tell the firmware of the desire for this alternate behaviour. Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
-
Dave Stevenson authored
When a format changed event occurs, the spec says that it triggers an implicit drain, and that needs to be signalled via -EPIPE. For BCM2835, the format changed event happens at the point the format change occurs, so no further buffers exist from before the resolution changed point. We therefore signal the last buffer immediately. We don't have a V4L2 available to us at this point, so set the videobuf2 queue last_buffer_dequeued flag directly. Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
-
Dave Stevenson authored
The list of includes was slightly over generic, and wasn't in alphabetical order. Clean it up. Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
-
Dave Stevenson authored
With video decode we now enable both input and output ports on the component. This means that buffers will get passed to the VPU earlier than desired if they are queued befoer STREAMON. Check that the queue is streaming before sending buffers to the VPU. Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
-
Dave Stevenson authored
The V4L2 stateful video decoder API requires that you can STREAMON on only the OUTPUT queue, feed in buffers, and wait for the SOURCE_CHANGE event. This requires that we enable the MMAL output port at the same time as the input port, because the output port is the one that creates the SOURCE_CHANGED event. Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
-
John Cox authored
Before uniniting the decode context sync with the IRQ queues to ensure that decode no longer has any buffers in use. This fixes a problem that manifested as ffmpeg leaking CMA buffers when it did a stream off on OUTPUT before CAPTURE, though in reality it was probably much more dangerous than that. Signed-off-by: John Cox <jc@kynesim.co.uk>
-