- Jun 18, 2020
-
-
Phil Elwell authored
Better late than never. Signed-off-by: Phil Elwell <phil@raspberrypi.com>
-
Matt Flax authored
This patch adds support for the Audio Injector Isolated sound card. Signed-off-by: Matt Flax <flatmax@flatmax.org>
-
Phil Elwell authored
The filesystem-specific encryption options have been replaced by a generic FS_ENCRYPTION option. Signed-off-by: Phil Elwell <phil@raspberrypi.com>
-
popcornmix authored
For performance/power it is beneficial to adjust gpu clocks with arm clock. This is how the downstream cpufreq driver works Signed-off-by: popcornmix <popcornmix@gmail.com>
-
Phil Elwell authored
Signed-off-by: Phil Elwell <phil@raspberrypi.com>
-
Phil Elwell authored
Because the upstream overlay applies vc4-kms-v3d, of which Pi 4 has its own version, there also needs to be a Pi 4 version - vc4-kms-v3d-pi4. Signed-off-by: Phil Elwell <phil@raspberrypi.com>
-
Phil Elwell authored
Signed-off-by: Phil Elwell <phil@raspberrypi.com>
-
Phil Elwell authored
Take advantage of the overlay_map to rename or deprecate some obsolete overlays. Signed-off-by: Phil Elwell <phil@raspberrypi.com>
-
Phil Elwell authored
The overlay map permits platform-specific overlays, with deprecation and renaming. See: https://github.com/raspberrypi/linux/issues/3520 Signed-off-by: Phil Elwell <phil@raspberrypi.com>
-
Phil Elwell authored
-
popcornmix authored
The original firmware code worked with float and did offset = ((vco_freq / fref * 2) * (1 << 22)); offset >>= 2; In this code it's all integer so doing the integer divide before the shift loses lots of precision This fixes the issue of 1080p59.94 mode having 59.64 fps Signed-off-by: popcornmix <popcornmix@gmail.com>
-
Dave Stevenson authored
It was set to 390kHz, which is outside of the required spec for reading HDMI (max 100kHz). The i2c-brcmstb driver only supports a number of fixed bus speeds, of which 97.5kHz is the closest to 100kHz without exceeding it. Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
-
Dave Stevenson authored
If there is no interrupt defined then an error is logged due to the use of platform_get_irq. The driver handles not having the interrupt by falling back to polling, therefore make the appropriate call when claiming it. Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
-
Dave Stevenson authored
The debugfs usage within asoc gets confused if multiple interfaces have the same card name, therefore use unique names when initialising them. Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
-
Dave Stevenson authored
"drm/vc4: plane: Move additional planes creation to driver" moved overlay and cursor plane creation to a global function thata was unconditionally run, when it is not wanted in firmware KMS mode. Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
-
Dave Stevenson authored
Fix up "drm/vc4: Kick the core clock up during a mode change" for firmware KMS mode where we don't have the HVS or core clock configured. Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
-
Dave Stevenson authored
Experimental commit to kick the core clock up during mode switching. This makes mode switching far more reliable, and mimics what the firmware does. Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
-
Dave Stevenson authored
Using vc4-kms-v3d with X has worked for quite a while, and essentially required not using fbturbo and having an up to date MESA library. Remove the comment that says otherwise. Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
-
Dave Stevenson authored
Whilst the documentation for BCM2835 states that the HDMI state machine clock needs to be 108% of the pixel clock, other documentation says that it only has to be greater than the pixel clock. The firmware uses 101%, and that allows 1920x1200@60Hz to work within the constraint of the HSM clock being < 163.68MHz. Adopt 101%, and increase the maximum pixel clock for vc4 to 162MHz so that it too supports 1920x1200@60. Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
-
Dave Stevenson authored
This could be a revert of "drm/vc4: hdmi: Add an audio support flag" as it is no longer needed. Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
-
Dave Stevenson authored
The audio configuration has changed for Pi4, so support the configuration functions via the variant tables. Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
-
Dave Stevenson authored
HDMI audio configuration was using fixed index numbers to load in DT register settings. Switch to using reg-names for flexibility and to match Pi4. Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
-
Dave Stevenson authored
Adds the relevant DMA settings for HDMI audio to work. Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
-
Dave Stevenson authored
Pi4 is requiring many more register configs in the HDMI block, and has switched to using reg-names instead of fixed index values. Switch bc2835-common to match. Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
-
Dave Stevenson authored
ALSA's iec958 plugin by default sets the block start preamble to 8, whilst this driver was programming the hardware to expect 0xF. Amend the hardware config to match ALSA. Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
-
Dave Stevenson authored
If the encoder is disabled and re-enabled (eg mode change) all infoframes are reset, whilst the audio subsystem know nothing about this change. The driver therefore needs to reinstate the audio infoframe for itself. Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
-
Dave Stevenson authored
Use the updated DT clock-names property to map the v3d clock to the firmware_clocks driver, instead of the older clkdev API. Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
-
Dave Stevenson authored
Channel assignments is only in full KMS, so skip the check if in firmware kms mode. Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
-
Dave Stevenson authored
I got the logic wrong for enabling pixel formats, resulting in Pi0-3 only getting a single, invalid, format (P030 SAND). Fixes: e07ef1d drm/vc4: Add support for DRM_FORMAT_P030 to vc4 planes Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
-
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>
-
Dave Stevenson authored
framebuffer_check was computing a minimum pitch value and ensuring that the provided value was greater than this. That check is only valid if the format is linear. Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
-
Dave Stevenson authored
The Pi4 version of the KMS drivers is a work in progress, some blocks need alternate configuration, and some blocks currently need to remain disabled (eg the VEC). Add a new overlay (vc4-kms-v3d-pi4) that loads the parts of vc4-kms that do work on Pi4. This has been tested with DPI and HDMI (not 100% reliable on mode switching) Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.org>
-
Maxime Ripard authored
Signed-off-by: Maxime Ripard <maxime@cerno.tech>
-
Maxime Ripard authored
Now that all the drivers have been adjusted for it, let's bring in the necessary device tree changes. Signed-off-by: Maxime Ripard <maxime@cerno.tech>
-
Maxime Ripard authored
The HDMI controllers found in the BCM2711 SoC need some adjustments to the bindings, especially since the registers have been shuffled around in more register ranges. Cc: Rob Herring <robh+dt@kernel.org> Cc: devicetree@vger.kernel.org Signed-off-by: Maxime Ripard <maxime@cerno.tech>
-
Maxime Ripard authored
Now that the driver is ready for it, let's bring in the HDMI controllers variants for the BCM2711. Signed-off-by: Maxime Ripard <maxime@cerno.tech>
-
Maxime Ripard authored
The HSM clock needs to be setup at around 110% of the pixel rate. This was done previously by setting the clock rate to 148.5MHz * 108% at probe time and only check in mode_valid whether the mode pixel clock was under 148.5MHz or not. However, with 4k we need to change that frequency to a higher frequency than 148.5MHz. Let's change that logic a bit by setting the clock rate of the HSM clock to the pixel rate at encoder_enable time. This would work for the BCM2711 that support 4k resolutions and has a clock that can provide it, but we still have to take care of a 4k panel plugged on a BCM283x SoCs that wouldn't be able to use those modes, so let's define the limit in the variant. Signed-off-by: Maxime Ripard <maxime@cerno.tech>
-
Maxime Ripard authored
The mode_valid hook on the encoder uses a pointer to a drm_encoder called crtc, which is pretty confusing. Let's rename it to encoder to make it clear what it is. Signed-off-by: Maxime Ripard <maxime@cerno.tech>
-
Maxime Ripard authored
The CEC_CLOCK_DIV define is not used anywhere in the driver, let's remove it. Signed-off-by: Maxime Ripard <maxime@cerno.tech>
-
Maxime Ripard authored
Similarly to the audio support, CEC support is not there yet for the BCM2711, so let's skip entirely the CEC initialization through a variant flag. Signed-off-by: Maxime Ripard <maxime@cerno.tech>
-