- Jan 28, 2021
-
-
Naushir Patuck authored
The test should return -EIO if the register read id does not match the expected sensor id. Signed-off-by:
Naushir Patuck <naush@raspberrypi.com>
-
Naushir Patuck authored
Use V4L2_CID_EXPOSURE_AUTO_PRIORITY to control if the driver should automatically adjust the sensor frame length based on exposure time, allowing variable frame rates and longer exposures. Signed-off-by:
Naushir Patuck <naush@raspberrypi.com>
-
Naushir Patuck authored
Adds a driver for the 12MPix Sony IMX477 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: 4056x3040 12-bit @ 10fps 2028x1520 12-bit (binned) @ 40fps 2028x1050 12-bit (cropped/binned) @ 50fps 1012x760 10-bit (scaled) @ 120 fps Signed-off-by:
Naushir Patuck <naush@raspberrypi.com>
-
Dave Stevenson authored
Under FKMS, the firmware (via FKMS) also requires the VideoCore cache aliases for image planes, as defined by the dma-ranges under /soc. Add rpi-firmware-kms to the list of acceptable nodes to look for to copy dma config from. Signed-off-by:
Dave Stevenson <dave.stevenson@raspberrypi.com>
-
Dave Stevenson authored
This is a squash of all firmware-kms related patches from previous branches, up to and including "drm/vc4: Set the possible crtcs mask correctly for planes with FKMS" plus a couple of minor fixups for the 5.9 branch. Please refer to earlier branches for full history. This patch includes work by Eric Anholt, James Hughes, Phil Elwell, Dave Stevenson, Dom Cobley, and Jonathon Bell. Signed-off-by:
Dave Stevenson <dave.stevenson@raspberrypi.com> drm/vc4: Fixup firmware-kms after "drm/atomic: Pass the full state to CRTC atomic enable/disable" Prototype for those calls changed, so amend fkms (which isn't upstream) to match. Signed-off-by:
Dave Stevenson <dave.stevenson@raspberrypi.com>
-
Dave Stevenson authored
The BT601/BT709 color encoding and limited vs full range properties were not being exposed, defaulting always to BT601 limited range. Expose the parameters and set the registers appropriately. Signed-off-by:
Dave Stevenson <dave.stevenson@raspberrypi.org>
-
Dave Stevenson authored
This currently doesn't handle non-zero source rectangles correctly, but add support for DRM_FORMAT_P030 with DRM_FORMAT_MOD_BROADCOM_SAND128 modifier to planes when running on HVS5. WIP still for source cropping SAND/P030 formats Signed-off-by:
Dave Stevenson <dave.stevenson@raspberrypi.com>
-
Dom Cobley authored
Currently we call cec_phys_addr_invalidate on a hotplug deassert. That may be due to a TV power cycling, or an AVR being switched on (and switching edid). This makes CEC unusable. Set it back up again on the hotplug assert. Signed-off-by:
Dom Cobley <popcornmix@gmail.com>
-
popcornmix authored
This follows logic in hdmi-codec.c to use speaker layout from ELD to choose a suitable speaker mapping based on number of channels requested and signal that in audio infoframe and report this back to userspace. This allows apps like speaker-test and kodi to get the output to the right speakers. Signed-off-by:
Dom Cobley <popcornmix@gmail.com>
-
Dom Cobley authored
Without this bit set, HDMI_MAI_FORMAT doesn't pick up the format and samplerate from DVP_CFG_MAI0_FMT and you can't get HDMI_HDMI_13_AUDIO_STATUS_1 to indicate HBR mode Signed-off-by:
Dom Cobley <popcornmix@gmail.com>
-
Dom Cobley authored
This was a workaround for bugs in hardware on earlier Pi models and wasn't totally successful. It makes audio quality worse on a Pi4 at the higher sample rates Signed-off-by:
Dom Cobley <popcornmix@gmail.com>
-
Dom Cobley authored
Signed-off-by:
Matthias Reichl <hias@horus.com>
-
Matthias Reichl authored
Configuring HDMI audio registers in prepare allows us to take IEC958 bits into account which are set by the alsa hook after the hw_params call. Signed-off-by:
Matthias Reichl <hias@horus.com>
-
Matthias Reichl authored
Although vc4 get an IEC958 formatted stream passed in from userspace the driver needs the info from the channel status bits to properly set up the hardware, eg for HBR passthrough. Add iec958 controls so the channel status bits can be passed in from userspace. Signed-off-by:
Matthias Reichl <hias@horus.com>
-
popcornmix authored
The hardware uses this for generating the right audio data island packets when using formats other than PCM Signed-off-by:
Dom Cobley <popcornmix@gmail.com>
-
Dom Cobley authored
Symptom is random switching of speakers when using multichannel. Repeatedly running speakertest -c8 occasionally starts with channels jumbled. This is fixed with HD_CTL_WHOLSMP. The other bit looks beneficial and apears harmless in testing so I'd suggest adding it too. Documentation says: HD_CTL_WHILSMP_SET Wait for whole sample. When this bit is set MAI transmit will start only when there is at least one whole sample available in the fifo. Documentation says: HD_CTL_CHALIGN_SET Channel Align When Overflow. This bit is used to realign the audio channels in case of an overflow. If this bit is set, after the detection of an overflow, equal amount of dummy words to the missing words will be written to fifo, filling up the broken sample and maintaining alignment. Signed-off-by:
Dom Cobley <popcornmix@gmail.com>
-
Dave Stevenson authored
vc4_drv isn't necessarily under the /soc node in DT as it is a virtual device, but it is the one that does the allocations. The DMA addresses are consumed by primarily the HVS or V3D, and those require VideoCore cache alias address mapping, and so will be under /soc. During probe find the a suitable device node for HVS or V3D, and adopt the DMA configuration of that node. Signed-off-by:
Dave Stevenson <dave.stevenson@raspberrypi.com>
-
Dom Cobley authored
Signed-off-by:
Dom Cobley <popcornmix@gmail.com>
-
Dom Cobley authored
2711 uses a fixed 27MHz input, earlier models use the HSM clock Signed-off-by:
Dom Cobley <popcornmix@gmail.com>
-
Dom Cobley authored
Signed-off-by:
Dom Cobley <popcornmix@gmail.com>
-
Dom Cobley authored
Signed-off-by:
Dom Cobley <popcornmix@gmail.com>
-
Dom Cobley authored
Signed-off-by:
Dom Cobley <popcornmix@gmail.com>
-
Dom Cobley authored
Fix an incorrect register address, add a missing one and reorder into address order Signed-off-by:
Dom Cobley <popcornmix@gmail.com>
-
Dom Cobley authored
Signed-off-by:
Dom Cobley <popcornmix@gmail.com>
-
popcornmix authored
Signed-off-by:
popcornmix <popcornmix@gmail.com>
-
Dave Stevenson authored
Used by audio and FKMS. Signed-off-by:
Dave Stevenson <dave.stevenson@raspberrypi.com>
-
detule authored
During a bulk transfer we request a DMA allocation to hold the scatter-gather list. Most of the time, this allocation is small (<< PAGE_SIZE), however it can be requested at a high enough frequency to cause fragmentation and/or stress the CMA allocator (think time spent in compaction here, or during allocations elsewhere). Implement a pool to serve up small DMA allocations, falling back to a coherent allocation if the request is greater than VCHIQ_DMA_POOL_SIZE. Signed-off-by:
Oliver Gjoneski <ogjoneski@gmail.com>
-
popcornmix authored
-
popcornmix authored
-
Dave Stevenson authored
The sensor supports 8 bit mode as well as 10bit, so add the relevant code to allow selection of this. Signed-off-by:
Dave Stevenson <dave.stevenson@raspberrypi.com>
-
Dave Stevenson authored
Fix commit "media: tc358743: Return an appropriate colorspace from tc358743_set_fmt" to ensure that the format passed in to set_fmt is checked to be valid, and reset to the current format if not. Signed-off-by:
Dave Stevenson <dave.stevenson@raspberrypi.com>
-
Dave Stevenson authored
Pi 0&1 pass all ARM accesses through the VPU L2 cache, therefore the dma-ranges property sets the cache alias bits to other than the direct alias, hence this WARN was firing. It was overprotective coding, so assume that everything is OK with the dma-ranges, and remove the WARN. Signed-off-by:
Dave Stevenson <dave.stevenson@raspberrypi.com>
-
Hristo Venev authored
MEDIA_CONTROLLER_REQUEST_API is a hidden option. If rpivid depends on it, the user would need to first enable another driver that selects MEDIA_CONTROLLER_REQUEST_API, and only then rpivid would become available. By selecting it instead of depending on it, it becomes possible to enable rpivid without having to enable other potentially unnecessary drivers. Signed-off-by:
Hristo Venev <hristo@venev.name>
-
Hristo Venev authored
That is what almost all other drivers appear to be doing. Signed-off-by:
Hristo Venev <hristo@venev.name>
-
Phil Elwell authored
In an attempt to prevent the problem of CPUn not starting, explicitly misalign the scratch space used to save registers acros the cache invalidation. Notes: At this stage in the boot process the core is running with its cache disabled. Before enabling the cache its contents must be explicitly invalidated, a process that requires quite a few registers that the caller must preserve. Evidence suggests that something is writing a block of zeroes over that space at a time when all other cores should be idle, possibly some kind of write-combiner, and the misalignment is designed to disrupt any write-coalescing. In truth, I don't understand why this patch works, and when the failure is so random it is hard to be certain that this isn't just rolling the dice again. One interesting test would be to change the "addeq r12, #4"s to "addeq r12, #0"s determine see if the offset itself is significant or just the additional code. See: https://github.com/Hexxeh/rpi-firmware/issues/232 Signed-off-by:
Phil Elwell <phil@raspberrypi.com>
-
Phil Elwell authored
Unless the DMA mask is set wider than 32 bits, DMA mapping will use a bounce buffer. Signed-off-by:
Phil Elwell <phil@raspberrypi.com>
-
Phil Elwell authored
Although it is no longer necessary for vchiq's children to have a different DMA configuration to the parent, they do still need to explicitly to have their DMA configuration set - to be that of the parent. Signed-off-by:
Phil Elwell <phil@raspberrypi.com>
-
Phil Elwell authored
The actpwr trigger is a meta trigger that cycles between an inverted mmc0 and default-on. It is written in a way that could fairly easily be generalised to support alternative sets of source triggers. Signed-off-by:
Phil Elwell <phil@raspberrypi.com>
-
Laurent Pinchart authored
Parse device properties and register controls for them using the V4L2 fwnode properties helpers. Signed-off-by:
Laurent Pinchart <laurent.pinchart@ideasonboard.com>
-
Naushir Patuck authored
Update the documentation to reflect the new "VPU" clock needed by the bcm2835-unicam driver. Signed-off-by:
Naushir Patuck <naush@raspberrypi.com>
-