- Jan 08, 2024
-
-
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>
-
Naushir Patuck authored
The horizontal scaler was enabled for the 2028x1520 and 2028x1080 modes, with a scale factor of 1. It caused a single column of bad pixels on the right edge of the image. Since scaling is not needed for these modes, disable it entirely. Signed-off-by: Naushir Patuck <naush@raspberrypi.com>
-
Dave Stevenson authored
With the new compatible to handle the interrupts correctly, switch the base dt to use it. Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
-
Dave Stevenson authored
2712 has switched from using the SMI peripheral to another interrupt source for the vsync interrupt, so handle both sources cleanly. Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
-
Dave Stevenson authored
This reverts commit 3fb20da9.
-
Phil Elwell authored
Add a Pi 5 implementation of the krnbt parameter, for symmetry and for tinkering purposes. Signed-off-by: Phil Elwell <phil@raspberrypi.com>
-
Andrew Scheller authored
touchscreen-size-y for rpi-ft5406 defaults to 480, not 600
-
Dave Stevenson authored
Fixes: 61b138ad ("dt: Add overrides for drm framebuffer allocations on Pi5") Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
-
Dave Stevenson authored
Fixes: 1216ea56 ("drm/fb-helper: Look up preferred fbdev node number from DT") Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
-
Dave Stevenson authored
Fixes: 7ec42740 ("dt: Add DSI1 and DSI2 aliases to 2712") Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
-
Dave Stevenson authored
Apparently aliases are only allowed lower case and hyphens, so swap the use of underscore to hyphen. Fixes: 3aa1f247 ("drm: Look for an alias for the displays to use as the DRM device name") Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
-
Phil Elwell authored
Most bus masters on Pi 5 have access to at least the lower 4GB, but the old DWC OTG controller is still restricted to the first 1GB. Create a Pi 5-specific version of the overlay including a fragment that ensures the swiotlb bounce buffers are allocated in that area. Signed-off-by: Phil Elwell <phil@raspberrypi.com>
-
Dave Stevenson authored
Adds dtparam overrides to the base Pi5 DT such that vc4, DSI0, DSI1, or DPI can be requested to be /dev/fb[012]. No override is specified by default, so the order will be based on probe order (aka semi-random). Any device that doesn't have an override specified will be placed above all specified overrides. Having an fb1 or fb2 override but no fb0 one will result in no console via fbcon. Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
-
Dave Stevenson authored
For situations where there are multiple DRM cards in a system, add a query of DT for "drm_fb" designations for cards to set their preferred /dev/fbN designation. Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
-
Dave Stevenson authored
Add a flag custom_fb_num to denote that the client has requested a specific fbdev node number via node. Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
-
Phil Elwell authored
"Model B" is no more - "Raspberry Pi 5" is the official name. Signed-off-by: Phil Elwell <phil@raspberrypi.com>
-