From: Maxime Ripard <hidden> Date: 2021-05-20 15:04:03
Hi,
The composite output in the BCM2711 is dealt using the VEC. While the earlier
SoCs were properly supported, it wasn't functional on the BCM2711. Add the
needed support from the RPi downstream kernel.
Maxime
Mateusz Kwiatkowski (4):
drm/vc4: Fix clock source for VEC PixelValve on BCM2711
dt-bindings: display: bcm2835-vec: Add BCM2711 compatible
drm/vc4: Separate VEC compatible variants
ARM: boot: dts: bcm2711: Add BCM2711 VEC compatible
.../bindings/display/brcm,bcm2835-vec.yaml | 4 ++-
arch/arm/boot/dts/bcm2711.dtsi | 1 +
drivers/gpu/drm/vc4/vc4_crtc.c | 2 +-
drivers/gpu/drm/vc4/vc4_vec.c | 27 +++++++++++++++----
4 files changed, 27 insertions(+), 7 deletions(-)
--
2.31.1
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
From: Maxime Ripard <hidden> Date: 2021-05-20 15:04:04
From: Mateusz Kwiatkowski <redacted>
On the BCM2711 (Raspberry Pi 4), the VEC is actually connected to
output 2 of pixelvalve3.
NOTE: This contradicts the Broadcom docs, but has been empirically
tested and confirmed by Raspberry Pi firmware devs.
Signed-off-by: Mateusz Kwiatkowski <redacted>
Signed-off-by: Maxime Ripard <redacted>
---
drivers/gpu/drm/vc4/vc4_crtc.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
From: Maxime Ripard <hidden> Date: 2021-05-20 15:04:15
From: Mateusz Kwiatkowski <redacted>
The BCM2711 VEC uses a slightly different, incompatible, setup than the
one used for the earlier SoC. Add a new compatible for it.
Signed-off-by: Mateusz Kwiatkowski <redacted>
Signed-off-by: Maxime Ripard <redacted>
---
.../devicetree/bindings/display/brcm,bcm2835-vec.yaml | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
From: Maxime Ripard <hidden> Date: 2021-05-20 15:04:22
From: Mateusz Kwiatkowski <redacted>
The VEC's DAC on BCM2711 is slightly different compared to the one on
BCM283x and needs different configuration. In particular, bit 3
(mask 0x8) switches the BCM2711 DAC input to "self-test input data",
which makes the output unusable. Separating two compatible variants in
devicetrees and the DRM driver was therefore necessary.
The configurations used for both variants have been borrowed from
Raspberry Pi (model 3B for BCM283x, 4B for BCM2711) firmware defaults.
Signed-off-by: Mateusz Kwiatkowski <redacted>
Signed-off-by: Maxime Ripard <redacted>
---
drivers/gpu/drm/vc4/vc4_vec.c | 27 ++++++++++++++++++++++-----
1 file changed, 22 insertions(+), 5 deletions(-)
From: Maxime Ripard <hidden> Date: 2021-05-20 15:04:32
From: Mateusz Kwiatkowski <redacted>
The BCM2711 has a slightly different VEC than the one found in the older
SoCs. Now that we support the new variant, add its compatible to the
device tree.
Signed-off-by: Mateusz Kwiatkowski <redacted>
Signed-off-by: Maxime Ripard <redacted>
---
arch/arm/boot/dts/bcm2711.dtsi | 1 +
1 file changed, 1 insertion(+)
From: Dave Stevenson <dave.stevenson@raspberrypi.com> Date: 2021-05-20 16:54:21
Hi Maxime
On Thu, 20 May 2021 at 16:03, Maxime Ripard [off-list ref] wrote:
Hi,
The composite output in the BCM2711 is dealt using the VEC. While the earlier
SoCs were properly supported, it wasn't functional on the BCM2711. Add the
needed support from the RPi downstream kernel.
Thanks for upstreaming these.
As far as I'm concerned they're all good, but DT bindings aren't an
area of expertise for me.
Patches 1&3:
Reviewed-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
Patches 2&4:
Acked-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
This is going to need firmware from 23rd March 2021 or later in order
to ensure that the VEC can use an integer divider from the PLL. PLLC
was rejigged to run at 2592MHz so that /24 gives the VEC the 108MHz
clock it requires. (Before that it needed a special config.txt option
to set the PLLs appropriately).
Dave
From: Maxime Ripard <hidden> Date: 2021-05-24 11:53:03
On Thu, May 20, 2021 at 05:03:40PM +0200, Maxime Ripard wrote:
Hi,
The composite output in the BCM2711 is dealt using the VEC. While the earlier
SoCs were properly supported, it wasn't functional on the BCM2711. Add the
needed support from the RPi downstream kernel.
Maxime
From: nicolas saenz julienne <nsaenz@kernel.org> Date: 2021-06-08 10:06:31
On Thu, 2021-05-20 at 17:03 +0200, Maxime Ripard wrote:
From: Mateusz Kwiatkowski <redacted>
The BCM2711 has a slightly different VEC than the one found in the older
SoCs. Now that we support the new variant, add its compatible to the
device tree.
Signed-off-by: Mateusz Kwiatkowski <redacted>
Signed-off-by: Maxime Ripard <redacted>
---