[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20241025-drm-vc4-2712-support-v2-0-35efa83c8fc0@raspberrypi.com>
Date: Fri, 25 Oct 2024 18:15:31 +0100
From: Dave Stevenson <dave.stevenson@...pberrypi.com>
To: Maxime Ripard <mripard@...nel.org>,
MaĆra Canal <mcanal@...lia.com>,
Raspberry Pi Kernel Maintenance <kernel-list@...pberrypi.com>,
Maarten Lankhorst <maarten.lankhorst@...ux.intel.com>,
Thomas Zimmermann <tzimmermann@...e.de>, David Airlie <airlied@...il.com>,
Simona Vetter <simona@...ll.ch>, Rob Herring <robh@...nel.org>,
Krzysztof Kozlowski <krzk+dt@...nel.org>,
Conor Dooley <conor+dt@...nel.org>,
Florian Fainelli <florian.fainelli@...adcom.com>,
Broadcom internal kernel review list <bcm-kernel-feedback-list@...adcom.com>,
Ray Jui <rjui@...adcom.com>, Scott Branden <sbranden@...adcom.com>,
Michael Turquette <mturquette@...libre.com>,
Stephen Boyd <sboyd@...nel.org>,
Javier Martinez Canillas <javierm@...hat.com>,
Catalin Marinas <catalin.marinas@....com>, Will Deacon <will@...nel.org>
Cc: dri-devel@...ts.freedesktop.org, linux-kernel@...r.kernel.org,
devicetree@...r.kernel.org, linux-rpi-kernel@...ts.infradead.org,
linux-arm-kernel@...ts.infradead.org, linux-clk@...r.kernel.org,
Dave Stevenson <dave.stevenson@...pberrypi.com>,
Dom Cobley <popcornmix@...il.com>
Subject: [PATCH v2 00/36] drm/vc4: Add support for BCM2712 / Pi5 display
hardware
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.
Thanks!
Signed-off-by: Dave Stevenson <dave.stevenson@...pberrypi.com>
---
Changes in v2:
- Collected Acks and R-b tags
- Dropped patch 1 "drm/vc4: Limit max_bpc to 8 on Pi0-3". Already fixed as
noted by Maxime.
- Fix unintialised var "mux" in vc6_hvs_pv_muxing_commit.
- Fixed uninitialised var "reg" in vc4_hvs_cob_init.
- Make bcm2712_mop_data and bcm2712_moplet_data static.
- Removed the "disable_turbo" line from the struct in
raspberrypi_clock_property
- I'm confused by the CI error "performing pointer arithmetic on a null
pointer has undefined behavior" for PCI_IOBASE as I'm not using it.
- Link to v1: https://lore.kernel.org/r/20241023-drm-vc4-2712-support-v1-0-1cc2d5594907@raspberrypi.com
---
Dave Stevenson (11):
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 | 33 +-
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 | 107 ++-
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 | 105 ++-
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, 3461 insertions(+), 204 deletions(-)
---
base-commit: 3ae80b375739495e36fc6143ff27716fe390a13e
change-id: 20241002-drm-vc4-2712-support-9ad3236e3caf
Best regards,
--
Dave Stevenson <dave.stevenson@...pberrypi.com>
Powered by blists - more mailing lists