On Wed, 23 Oct 2024 at 17:50, Dave Stevenson
<dave.stevenson@raspberrypi.com> wrote:
>
> This series adds the required DRM, clock, and DT changes
> required to support the display hardware on Pi5.
> There are a couple of minor fixes first before the main patches.
>
> Many of the patches were authored by Maxime whilst working
> for us, however there have been a number of fixes squashed
> into his original patches as issues have been found. I also
> reworked the way UBM allocations are done to avoid double
> buffering of the handles as they are quite a limited resource.
>
> There are 2 variants of the IP. Most Pi5's released to date
> have used the C1 step of the SoC, whilst the 2GB Pi5 released
> in August is using the D0 step, as will other boards in future.
>
> Due to various reasons the register map got reworked between
> the steps, so there is extra code to handle the differences.
> Which step is in use is read out of the hardware, so they
> share a compatible string.
A gentle ping on the patches for clk-raspberrypi (patches 29-33) and
Broadcom DT (patches 34-36).
All the DRM and dtbinding ones are reviewed or acked (thank you!).
Thanks
Dave
> Thanks!
>
> Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
> ---
> Dave Stevenson (12):
> drm/vc4: Limit max_bpc to 8 on Pi0-3
> drm/vc4: Use of_device_get_match_data to set generation
> drm/vc4: Fix reading of frame count on GEN5 / Pi4
> drm/vc4: drv: Add support for 2712 D-step
> drm/vc4: hvs: Add in support for 2712 D-step.
> drm/vc4: plane: Add support for 2712 D-step.
> drm/vc4: hdmi: Support 2712 D-step register map
> drm/vc4: Enable bg_fill if there are no planes enabled
> drm/vc4: Drop planes that are completely off-screen or 0 crtc size
> arm64: dts: broadcom: Add firmware clocks and power nodes to Pi5 DT
> arm64: dts: broadcom: Add display pipeline support to BCM2712
> arm64: dts: broadcom: Add DT for D-step version of BCM2712
>
> Dom Cobley (3):
> clk: bcm: rpi: Add ISP to exported clocks
> clk: bcm: rpi: Allow cpufreq driver to also adjust gpu clocks
> clk: bcm: rpi: Enable minimize for all firmware clocks
>
> Maxime Ripard (22):
> dt-bindings: display: Add BCM2712 HDMI bindings
> dt-bindings: display: Add BCM2712 HVS bindings
> dt-bindings: display: Add BCM2712 PixelValve bindings
> dt-bindings: display: Add BCM2712 MOP bindings
> dt-bindings: display: Add BCM2712 MOPLET bindings
> dt-bindings: display: Add BCM2712 KMS driver bindings
> drm/vc4: drv: Support BCM2712
> drm/vc4: hvs: Add support for BCM2712 HVS
> drm/vc4: crtc: Add support for BCM2712 PixelValves
> drm/vc4: hdmi: Add support for BCM2712 HDMI controllers
> drm/vc4: txp: Introduce structure to deal with revision differences
> drm/vc4: txp: Rename TXP data structure
> drm/vc4: txp: Add byte enable toggle bit
> drm/vc4: txp: Add horizontal and vertical size offset toggle bit
> drm/vc4: txp: Handle 40-bits DMA Addresses
> drm/vc4: txp: Move the encoder type in the variant structure
> drm/vc4: txp: Add a new TXP encoder type
> drm/vc4: txp: Add support for BCM2712 MOP
> drm/vc4: txp: Add BCM2712 MOPLET support
> drm/vc4: Add additional warn_on for incorrect revisions
> clk: bcm: rpi: Create helper to retrieve private data
> clk: bcm: rpi: Add disp clock
>
> .../bindings/display/brcm,bcm2711-hdmi.yaml | 2 +
> .../bindings/display/brcm,bcm2835-hvs.yaml | 5 +-
> .../bindings/display/brcm,bcm2835-pixelvalve0.yaml | 3 +
> .../bindings/display/brcm,bcm2835-txp.yaml | 5 +-
> .../bindings/display/brcm,bcm2835-vc4.yaml | 1 +
> arch/arm64/boot/dts/broadcom/Makefile | 1 +
> arch/arm64/boot/dts/broadcom/bcm2712-d-rpi-5-b.dts | 37 +
> arch/arm64/boot/dts/broadcom/bcm2712-rpi-5-b.dts | 42 +
> arch/arm64/boot/dts/broadcom/bcm2712.dtsi | 188 +++++
> drivers/clk/bcm/clk-raspberrypi.c | 34 +-
> drivers/gpu/drm/vc4/tests/vc4_mock.c | 8 +-
> drivers/gpu/drm/vc4/tests/vc4_test_pv_muxing.c | 106 +--
> drivers/gpu/drm/vc4/vc4_crtc.c | 96 ++-
> drivers/gpu/drm/vc4/vc4_drv.c | 19 +-
> drivers/gpu/drm/vc4/vc4_drv.h | 54 +-
> drivers/gpu/drm/vc4/vc4_hdmi.c | 112 ++-
> drivers/gpu/drm/vc4/vc4_hdmi.h | 4 +
> drivers/gpu/drm/vc4/vc4_hdmi_phy.c | 640 +++++++++++++++
> drivers/gpu/drm/vc4/vc4_hdmi_regs.h | 217 ++++++
> drivers/gpu/drm/vc4/vc4_hvs.c | 737 ++++++++++++++++--
> drivers/gpu/drm/vc4/vc4_kms.c | 102 ++-
> drivers/gpu/drm/vc4/vc4_plane.c | 866 ++++++++++++++++++++-
> drivers/gpu/drm/vc4/vc4_regs.h | 297 +++++++
> drivers/gpu/drm/vc4/vc4_txp.c | 91 ++-
> include/soc/bcm2835/raspberrypi-firmware.h | 1 +
> 25 files changed, 3464 insertions(+), 204 deletions(-)
> ---
> base-commit: 91e21479c81dd4e9e22a78d7446f92f6b96a7284
> change-id: 20241002-drm-vc4-2712-support-9ad3236e3caf
>
> Best regards,
> --
> Dave Stevenson <dave.stevenson@raspberrypi.com>
>