On Wed, 23 Oct 2024 at 17:50, Dave Stevenson <dave.stevenson@xxxxxxxxxxxxxxx> 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@xxxxxxxxxxxxxxx> > --- > 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@xxxxxxxxxxxxxxx> >