- Jun 18, 2020
-
-
Phil Elwell authored
The other sc16is75x overlays have an xtal parameter to allow a different crystal frequency to be specified, but sc16is752-spi1 doesn't. Fix this omission. See: https://www.raspberrypi.org/forums/viewtopic.php?f=107&t=273234 Signed-off-by:
Phil Elwell <phil@raspberrypi.com>
-
Phil Elwell authored
If the firmware hasn't detected a display, the driver would assume one display was available, but because it had failed to retrieve the display size it would try to allocate a zero-sized buffer. Avoid the allocation failure by bailing out early if no display is found. See: https://github.com/raspberrypi/linux/issues/3598 Signed-off-by:
Phil Elwell <phil@raspberrypi.com>
-
Jacko Dirks authored
Signed-off-by:
Jacko Dirks <jdirks.linuxdev@gmail.com>
-
Jacko Dirks authored
Signed-off-by:
Jacko Dirks <jdirks.linuxdev@gmail.com>
-
Phil Elwell authored
The firmware and runtime overlay support has recently been updated to correctly process fragments that target other fragments within the overlay. Make use of that ability and avoid the use of the awkward target-path = "<alias>/..." workaround and for better readability. Signed-off-by:
Phil Elwell <phil@raspberrypi.com>
-
popcornmix authored
This is stored in a 6-bit register field which causes a WARN Signed-off-by:
popcornmix <popcornmix@gmail.com>
-
Phil Elwell authored
The 32- and 64-bit bcm2711 defconfigs are missing support for the official Raspberry Pi touchscreen. Restore the missing config settings. See: https://github.com/Hexxeh/rpi-firmware/issues/223 Signed-off-by:
Phil Elwell <phil@raspberrypi.com>
-
Phil Elwell authored
The arm64 bcm2711_defconfig was inexplicably missing three PPS config options. Add them, along with another missing option from bcmrpi3_defconfig. See: https://github.com/raspberrypi/linux/issues/3593 Signed-off-by:
Phil Elwell <phil@raspberrypi.com>
-
Phil Elwell authored
The i2c-gpio driver expects to use a GPIO in open-drain mode. Failure to configure it in that way causes alarming warnings in the kernel log. The BCM283x and BCM2711 GPIO blocks don't support open-drain mode, but i2c-gpio works anyway. Silence the warning by declaring that open-drain mode has been enabled by other means. See: https://github.com/raspberrypi/firmware/issues/1381 Signed-off-by:
Phil Elwell <phil@raspberrypi.com>
-
Dave Stevenson authored
The array of potential formats and their configuration should be const. Rework all accesses so that this is possible. The list of supported formats was taking a copy of entries from this table. This is unnecessary, therefore allocate an array of pointers instead of an array of entries. Signed-off-by:
Dave Stevenson <dave.stevenson@raspberrypi.com>
-
Dave Stevenson authored
With the codec code from which this was derived, the driver had to get the supported formats for both input and output ports. This had been copied across, however here we have independent nodes for each port, but the code had been left in to do the same thing twice. Remove the duplicate. Signed-off-by:
Dave Stevenson <dave.stevenson@raspberrypi.com>
-
Naushir Patuck authored
This is used to enumerate available frame sizes on all nodes apart from statistics output. Signed-off-by:
Naushir Patuck <naush@raspberrypi.com>
-
Dave Stevenson authored
The reference counting of node->open was only incremented after a check that the node was v4l2_fh_is_singular_file, which resulted in the counting going wrong and s_power not being called at an appropriate time. Signed-off-by:
Dave Stevenson <dave.stevenson@raspberrypi.com>
-
Dave Stevenson authored
unicam_release calls _vb2_fop_release, which will call stop_streaming if that particular node was streaming. Calling it unconditionally (as the code was) means that if a second handle was opened eg to alter a setting, on closing that connection it also stopped Unicam. Signed-off-by:
Dave Stevenson <dave.stevenson@raspberrypi.com>
-
Dave Stevenson authored
Sensors are now reflecting cropping and scaling parameters through the selection API, therefore Unicam needs to forward the requests through to the subdev. Signed-off-by:
Dave Stevenson <dave.stevenson@raspberrypi.com>
-
Dave Stevenson authored
Exposure is clipped by the VTS of the mode, so needs to be updated as and when this is changed. Signed-off-by:
Dave Stevenson <dave.stevenson@raspberrypi.com>
-
Dave Stevenson authored
To make adding new members to the mode structures easier, use the member names in the initialisers. Signed-off-by:
Dave Stevenson <dave.stevenson@raspberrypi.com>
-
Dave Stevenson authored
The controls for analogue gain and exposure were defined with V4L2_CTRL_FLAG_EXECUTE_ON_WRITE. This is not required as we only need to send changes to the sensor. Signed-off-by:
Dave Stevenson <dave.stevenson@raspberrypi.com>
-
Dave Stevenson authored
Adds vblank control to allow for frame rate control. Signed-off-by:
Dave Stevenson <dave.stevenson@raspberrypi.com>
-
Dave Stevenson authored
The ov5647 subdev can generate control events, therefore set the V4L2_SUBDEV_FL_HAS_EVENTS flag. Signed-off-by:
Dave Stevenson <dave.stevenson@raspberrypi.com>
-
Dave Stevenson authored
Clients need to know the pixel rate in order to compute exposure and frame rate values. Advertise it. Signed-off-by:
Dave Stevenson <dave.stevenson@raspberrypi.com>
-
Dave Stevenson authored
"87f3ab94 media: ov5647: Add basic support for multiple sensor modes." added a return path ov5647_set_fmt that didn't release the device mutex that it had claimed. Release the mutex. Signed-off-by:
Dave Stevenson <dave.stevenson@raspberrypi.com>
-
Dave Stevenson authored
In order to apply lens shading correctly the client needs to know how each mode crops or scales the image compared to the full sensor array. Implement this (based on the imx219 equivalent). Signed-off-by:
Dave Stevenson <dave.stevenson@raspberrypi.com>
-
David Plowman authored
Specifically: * AWB is now off by default. * AEC/AGC is also off by default. * The default mode is changed to the 10-bit 2x2 binned mode. AWB and AEC/AGC can be re-enabled using the usual V4L2 controls. The original 8-bit mode will be respected if an application requests the 8-bit format. Signed-off-by:
David Plowman <david.plowman@raspberrypi.com> Signed-off-by:
Naushir Patuck <naush@raspberrypi.com>
-
David Plowman authored
The 8-bit VGA mode remains, we add the following 10-bit modes: Mode 0: 2592x1944 full resolution. Mode 1: 1920x1080 full resolution, but centre-cropped. (This mode achieves 30fps, mode 0 does not.) Mode 2: 1296x972 full field-of-view 2x2 binned mode. Mode 3: VGA full field of view mode. Signed-off-by:
David Plowman <david.plowman@raspberrypi.com> Signed-off-by:
Naushir Patuck <naush@raspberrypi.com>
-
David Plowman authored
Added basic v4l2_ctrl_handler infrastructure (there was none previously). Added controls to let AWB/AEC/AGC run in the sensor's auto mode or manually. Also controls to set exposure (in lines) and analogue gain (as a register code) from user code. Also delete registers (just the one) from the VGA mode register set that are now controlled by the new V4L2 controls. Signed-off-by:
David Plowman <david.plowman@raspberrypi.com> Signed-off-by:
Naushir Patuck <naush@raspberrypi.com>
-
David Plowman authored
Specifically: Added a structure ov5647_mode and a list of supported_modes (though no actual new modes as yet). The state object points to the "current mode". ov5647_enum_mbus_code, ov5647_enum_frame_size, ov5647_set_fmt and ov5647_get_fmt all needed upgrading to cope with multiple modes. __sensor_init (which writes all the registers) is now called by ov5647_stream_on (once the mode is known) rather than by ov5647_sensor_power. Signed-off-by:
David Plowman <david.plowman@raspberrypi.com> Signed-off-by:
Naushir Patuck <naush@raspberrypi.com>
-
David Plowman authored
Previously they were returning positive non-zero codes for success, which were getting passed up the call stack. Since release 4.19, do_dentry_open (fs/open.c) has been catching these and flagging an error. (So this driver has been broken since that date.) Fixes: 3c2472a3 [media] media: i2c: Add support for OV5647 sensor Signed-off-by:
David Plowman <david.plowman@raspberrypi.org> Signed-off-by:
Naushir Patuck <naush@raspberrypi.com>
-
Dave Stevenson authored
The flag V4L2_SUBDEV_FL_HAS_EVENTS is required if the subdev can generate events. It can create events from the ctrl handler, therefore this is required. Signed-off-by:
Dave Stevenson <dave.stevenson@raspberrypi.com>
-
Jacopo Mondi authored
Implement the get_selection pad operation for the IMX219 sensor driver. The supported targets report the sensor's native size, the crop default rectangle and the crop rectangle. Reviewed-by:
Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by:
Jacopo Mondi <jacopo@jmondi.org>
-
Phil Elwell authored
Like many overlays, the i2c-gpio overlay goes to efforts to avoid generating warnings about #address-cells and #size-cells not being defined, which it does by defining them. Unfortunately this is fatal if they don't match what the system requires, and the recent switch to #size-cells = 2 on 2711 made i2c-gpio very dangerous. In the absence of the knowledge of a clean way to fix this, just delete the declarations and suffer the warnings. Signed-off-by:
Phil Elwell <phil@raspberrypi.com>
-
Phil Elwell authored
Add the spi_dma4 DT parameter to enable use of the 40-bit DMA channels to drive SPI. Note that there are only 3-4 40-bit channels available, and using this parameter claims 2 of them. Usage: dtparam=spi_dma4 Signed-off-by:
Phil Elwell <phil@raspberrypi.com>
-
Phil Elwell authored
BCM2711 has 4 DMA channels with a 40-bit address range, allowing them to access the full 4GB of memory on a Pi 4. Signed-off-by:
Phil Elwell <phil@raspberrypi.org>
-
Phil Elwell authored
This warning is unavoidable from a client's perspective and doesn't indicate anything wrong (just surprising). SQUASH with "spi: use_gpio_descriptor fixup moved to spi_setup" Signed-off-by:
Phil Elwell <phil@raspberrypi.com>
-
popcornmix authored
Signed-off-by:
popcornmix <popcornmix@gmail.com>
-
popcornmix authored
Signed-off-by:
popcornmix <popcornmix@gmail.com>
-
popcornmix authored
This isn't required on Pi3, so don't treat as an error Signed-off-by:
popcornmix <popcornmix@gmail.com>
-
Naushir Patuck authored
This commit enables the bcm2835-isp driver in the following defconfigs: bcm2709_defconfig bcm2711_defconfig bcmrpi_defconfig bcmrpi3_defconfig Signed-off-by:
Naushir Patuck <naush@raspberrypi.com>
-
Naushir Patuck authored
bcmn2835_isp is a platform driver dependent on vchiq, therefore add the load/unload functions for it to vchiq. Signed-off-by:
Naushir Patuck <naush@raspberrypi.com>
-
Naushir Patuck authored
Driver for the BCM2835 ISP hardware block. This driver uses the MMAL component to program the ISP hardware through the VC firmware. The ISP component can produce two video stream outputs, and Bayer image statistics. This can't be encompassed in a simple V4L2 M2M device, so create a new device that registers 4 video nodes. Signed-off-by:
Naushir Patuck <naush@raspberrypi.com>
-