- Dec 05, 2023
-
-
Naushir Patuck authored
Signed-off-by: Naushir Patuck <naush@raspberrypi.com>
-
Naushir Patuck authored
Signed-off-by: Naushir Patuck <naush@raspberrypi.com>
-
Naushir Patuck authored
Add the following formats: - V4L2_PIX_FMT_RGB48/V4L2_PIX_FMT_BGR48 48-bit RGB where each colour sample is 16-bits. - V4L2_PIX_FMT_PISP_COMP1_MONO/V4L2_PIX_FMT_PISP_COMP2_MONO 16-bit to 8-bit pisp compressed monochrome pixel format. Signed-off-by: Naushir Patuck <naush@raspberrypi.com>
-
Phil Elwell authored
See: https://forums.raspberrypi.com/viewtopic.php?p=2159344 Signed-off-by: Phil Elwell <phil@raspberrypi.com>
-
Phil Elwell authored
When the cam0 parameter is used, the vcm should be updated to refer to the cam0 regulator. See: https://github.com/raspberrypi/linux/issues/5722 Signed-off-by: Phil Elwell <phil@raspberrypi.com>
-
Phil Elwell authored
Signed-off-by: Phil Elwell <phil@raspberrypi.com>
-
Phil Elwell authored
See: https://github.com/raspberrypi/linux/issues/5670 Signed-off-by: Phil Elwell <phil@raspberrypi.com>
-
Naushir Patuck authored
The override was missing/incorrect for the regulator labels. Signed-off-by: Naushir Patuck <naush@raspberrypi.com>
-
Naushir Patuck authored
The driver was interchaning these units when talking about link rate. Fix this to avoid confusion. Apart from the logging message change, there is no function change in this commit. Signed-off-by: Naushir Patuck <naush@raspberrypi.com>
-
Nick Hollinghurst authored
This reverts commit ecbc04aa which duplicated 5fb3b300 Signed-off-by: Nick Hollinghurst <nick.hollinghurst@raspberrypi.com>
-
Nick Hollinghurst authored
In full-resolution mode, the LPF_INTENSITY_EN and LPF_INTENSITY registers control Quad Bayer Re-mosaic broken line correction. Expose this as a module parameter "qbc_adjust": zero disables the correction and values in the range 2 to 5 set its strength. There is a trade-off between coloured and monochrome patterns. The previous fixed value 4 could produce ladder/spots artefacts in coloured textures. The new default value 2 may suit a wider range of scenes. Signed-off-by: Nick Hollinghurst <nick.hollinghurst@raspberrypi.com>
-
Phil Elwell authored
See: https://github.com/raspberrypi/linux/issues/5697 Signed-off-by: Phil Elwell <phil@raspberrypi.com>
-
Jonathan Bell authored
Also add a sdio-pi5 overlay which enables mmc0 on GPIOs 22-27, as was possible with earlier models of Pi. Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
-
Jonathan Bell authored
Differentiate the RP1 variant of the Designware MSHC controller(s). Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
-
Jonathan Bell authored
The DWC MSHC controller on RP1 needs differentiating from the generic version. Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
-
Jonathan Bell authored
Certain controllers (dwc-mshc) generate timeout conditions separately to command-completion conditions, where the end result is interrupts are separated in time depending on the current SDCLK frequency. This causes spurious interrupts if SDCLK is slow compared to the CPU's ability to process and return from interrupt. This occurs during card probe with an empty slot where all commands that would generate a response time out. Add a quirk to squelch command response interrupts when a command timeout interrupt is received. Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
-
Dave Stevenson authored
CONFIG_FB_UBL is the fbdev driver for DisplayLink USB displays. CONFIG_UDL is the DRM driver for DisplayLink USB displays. Both attach themselves to the same USB device alias, so both get loaded for any attached display. You now have 2 drivers for the same hardware, and a race as to which one will load. DRM emulates the framebuffer interface, so disable the fbdev driver. https://github.com/raspberrypi/bookworm-feedback/issues/133 Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
-
Phil Elwell authored
With a DMA FIFO threshold greater than 1 (encoded as 0), it is possible for data in the FIFO to be inaccessible, causing the transfer to fail after a timeout. If the transfer includes a transmission, reduce the RX threshold when the TX completes, otherwise use 1 for the whole transfer (inefficient, but not catastrophic at SPI data rates). See: https://github.com/raspberrypi/linux/issues/5696 Signed-off-by: Phil Elwell <phil@raspberrypi.com>
-
Dom Cobley authored
BCM2711 runs pixelvalve at two pixels per clock cycle which results in an unfortunate limitation that odd horizontal timings are not possible. This is apparent on the standard DMT mode of 1366x768@60 which cannot be driven with correct timing. BCM2712 defaults to the same behaviour, but has a mode to support odd timings. While internally it still runs at two pixels per clock, setting the PV_VCONTROL_ODD_TIMING bit makes it appear externally to behave as it is one pixel per clock. Switching to this mode fixes 1366x768@60 mode, and other custom resultions with odd horizontal timings. Signed-off-by: Dom Cobley <popcornmix@gmail.com>
-
Dave Stevenson authored
Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
-
Dave Stevenson authored
Users are reporting running out of DLIST memory. Add a debugfs file to dump out all the allocations. Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
-
Dave Stevenson authored
The code handling freeing stale dlists had 2 issues: - it disabled the interrupt as soon as the first EOF interrupt occurred, even if it didn't clear all stale allocations, thus leading to stale entries - It didn't free stale entries from disabled channels, so eg "kmstest -c 0" could leave a stale alloc on channel 1 floating around. Keep the interrupt enabled whilst there are any outstanding allocs, and discard those on disabled channels. This second channel does require us to call vc4_hvs_stop_channel from vc4_crtc_atomic_disable so that the channel actually gets stopped. Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
-
Dave Stevenson authored
The reset condition for the EMPTY flag in DISPSTATx is 0, so seeing as we've just reset the pipeline there is no guarantee that the flag will denote empty if it hasn't been enabled. Drop the WARN. Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
-
Dave Stevenson authored
When factoring out __vc4_hvs_stop_channel, the logic got inverted from if (condition) // stop channel to if (condition) goto out //stop channel out: and also changed the exact register writes used to stop the channel. Correct the logic so that the channel is actually stopped, and revert to the original register writes. Fixes: 6d01a106 ("drm/vc4: crtc: Move HVS init and close to a function") Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
-
Naushir Patuck authored
This control is meant to be read-only, mark it as such. Signed-off-by: Naushir Patuck <naush@raspberrypi.com>
-
Naushir Patuck authored
Add V4L2_CID_LINK_FREQ as a read-only control with a value of 450 Mhz. This will be used by the CFE driver to corretly setup the DPHY timing parameters in the CSI-2 block. Signed-off-by: Naushir Patuck <naush@raspberrypi.com>
-
Phil Elwell authored
Without the pinctrl-0 property in the overlays, the UARTs may not be mapped correctly. Signed-off-by: Phil Elwell <phil@raspberrypi.com>
-
Phil Elwell authored
spi6 won't be useful on Pi 5 because it can't be enabled on the 40-pin header, but include it for completeness. Also fix the #address-cells value for spi1, otherwise the kernel will reject attempts to apply the, say, spi1-2cs overlay at runtime. Signed-off-by: Phil Elwell <phil@raspberrypi.com>
-
Phil Elwell authored
The kernel now treats multiple fragments targeting the same node as an error. For this reason, it is important that labels created just for compatibility with other systems (e.g. i2c0if and i2c0mux) are attached to unique nodes, not just tacked onto existing nodes. Signed-off-by: Phil Elwell <phil@raspberrypi.com>
-
Naushir Patuck authored
Use the sensor provided link frequency to set the DPHY timing parameters on stream_on. This replaces the hard-coded 999 MHz value currently being used. As a fallback, revert to the original 999 Mhz link frequency. As a drive-by, fix a 80-character line formatting error. Signed-off-by: Naushir Patuck <naush@raspberrypi.com>
-
Phil Elwell authored
With careful use of qualified firmware names there is no need for the ability to override the device names based on Device Tree properties. Signed-off-by: Phil Elwell <phil@raspberrypi.com>
-
Phil Elwell authored
This reverts commit 5dba6ec6. With careful use of qualified firmware names there is no need for the ability to override the device names based on Device Tree properties. Signed-off-by: Phil Elwell <phil@raspberrypi.com>
-
David Plowman authored
The horizontal scaler has been disabled but actually the sensor is not binning horizontally, resulting in images that are stretched 2x horizontally (missing the right half of the field of view completely). Therefore we must additionally set the horizontal binning mode. There is only marginal change in output quality and noise levels. Signed-off-by: David Plowman <david.plowman@raspberrypi.com> Fixes: f075893e ("drivers: media: imx477: Disable the scaler")
-
Jonathan Bell authored
The Pi 5 variant gets two parameters so that the CM4-compatible name will also work on Pi 5. Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
-
Jonathan Bell authored
The RC has a feature that allows for manual control over the deassertion of the PERST# output pin, which allows the time between refclk active and reset deassert at the EP to be increased. Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
-
Phil Elwell authored
It is safe to set the MPS_RCB bit for RP1, but not necessarily for other devices, so add the new enabling property to pcie2 on Pi 5. Signed-off-by: Phil Elwell <phil@raspberrypi.com>
-
Phil Elwell authored
Upstream commit [1] unconditionally sets the RCB_MPS and RCB_64B bits that govern where packets are split. We think this is potentially harmful, particularly on CM4 and Pi 5 where potentially any PCIe devices could be attached. Make RCB_MPS conditional on a DT property and never set RCB_64B. [1] commit 602fb860 ("PCI: brcmstb: Set RCB_{MPS,64B}_MODE bits") Signed-off-by: Phil Elwell <phil@raspberrypi.com>
-
Jonathan Bell authored
This property can be used to delay deassertion of external fundamental reset, which may be useful for endpoints that require an extended time for internal setup to complete. Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
-
Naushir Patuck authored
Add the opaque V4L2_PIX_FMT_RPI_BE format back to the format list as it is needed for the verification test suite. Also set the default format to YUV420 non-multiplanar. Signed-off-by: Naushir Patuck <naush@raspberrypi.com>
-
Dave Stevenson authored
Follows up '61b138ad ("dt: Add overrides for drm framebuffer allocations on Pi5")' with an equivalent for Pi0-4. These will have no effect on most normal systems, but drm_fb0_vc4 will stop SPI displays jumping in and claiming /dev/fb0. Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
-