From: Dave Stevenson <dave.stevenson@raspberrypi.com>
To: "Maxime Ripard" <mripard@kernel.org>,
"Maíra Canal" <mcanal@igalia.com>,
"Raspberry Pi Kernel Maintenance" <kernel-list@raspberrypi.com>,
"Maarten Lankhorst" <maarten.lankhorst@linux.intel.com>,
"Thomas Zimmermann" <tzimmermann@suse.de>,
"David Airlie" <airlied@gmail.com>,
"Simona Vetter" <simona@ffwll.ch>,
"Rob Herring" <robh@kernel.org>,
"Krzysztof Kozlowski" <krzk+dt@kernel.org>,
"Conor Dooley" <conor+dt@kernel.org>,
"Florian Fainelli" <florian.fainelli@broadcom.com>,
"Broadcom internal kernel review list"
<bcm-kernel-feedback-list@broadcom.com>,
"Ray Jui" <rjui@broadcom.com>,
"Scott Branden" <sbranden@broadcom.com>,
"Michael Turquette" <mturquette@baylibre.com>,
"Stephen Boyd" <sboyd@kernel.org>,
"Javier Martinez Canillas" <javierm@redhat.com>,
"Catalin Marinas" <catalin.marinas@arm.com>,
"Will Deacon" <will@kernel.org>
Cc: dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org,
devicetree@vger.kernel.org,
linux-rpi-kernel@lists.infradead.org,
linux-arm-kernel@lists.infradead.org, linux-clk@vger.kernel.org,
Dave Stevenson <dave.stevenson@raspberrypi.com>
Subject: [PATCH v2 35/36] arm64: dts: broadcom: Add display pipeline support to BCM2712
Date: Fri, 25 Oct 2024 18:16:06 +0100 [thread overview]
Message-ID: <20241025-drm-vc4-2712-support-v2-35-35efa83c8fc0@raspberrypi.com> (raw)
In-Reply-To: <20241025-drm-vc4-2712-support-v2-0-35efa83c8fc0@raspberrypi.com>
Adds the HVS and associated hardware blocks to support the HDMI
and writeback connectors on BCM2712 / Pi5.
Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
---
arch/arm64/boot/dts/broadcom/bcm2712-rpi-5-b.dts | 14 ++
arch/arm64/boot/dts/broadcom/bcm2712.dtsi | 188 +++++++++++++++++++++++
2 files changed, 202 insertions(+)
diff --git a/arch/arm64/boot/dts/broadcom/bcm2712-rpi-5-b.dts b/arch/arm64/boot/dts/broadcom/bcm2712-rpi-5-b.dts
index 92a2ada037f3..fbc56309660f 100644
--- a/arch/arm64/boot/dts/broadcom/bcm2712-rpi-5-b.dts
+++ b/arch/arm64/boot/dts/broadcom/bcm2712-rpi-5-b.dts
@@ -88,5 +88,19 @@ power: power {
firmware = <&firmware>;
#power-domain-cells = <1>;
};
+};
+
+&hvs {
+ clocks = <&firmware_clocks 4>, <&firmware_clocks 16>;
+ clock-names = "core", "disp";
+};
+
+&hdmi0 {
+ clocks = <&firmware_clocks 13>, <&firmware_clocks 14>, <&dvp 0>, <&clk_27MHz>;
+ clock-names = "hdmi", "bvb", "audio", "cec";
+};
+&hdmi1 {
+ clocks = <&firmware_clocks 13>, <&firmware_clocks 14>, <&dvp 1>, <&clk_27MHz>;
+ clock-names = "hdmi", "bvb", "audio", "cec";
};
diff --git a/arch/arm64/boot/dts/broadcom/bcm2712.dtsi b/arch/arm64/boot/dts/broadcom/bcm2712.dtsi
index 6e5a984c1d4e..39305e0869ec 100644
--- a/arch/arm64/boot/dts/broadcom/bcm2712.dtsi
+++ b/arch/arm64/boot/dts/broadcom/bcm2712.dtsi
@@ -265,6 +265,172 @@ gicv2: interrupt-controller@7fff9000 {
interrupt-controller;
#interrupt-cells = <3>;
};
+
+ aon_intr: interrupt-controller@7d510600 {
+ compatible = "brcm,bcm2711-l2-intc", "brcm,l2-intc";
+ reg = <0x7d510600 0x30>;
+ interrupts = <GIC_SPI 239 IRQ_TYPE_LEVEL_HIGH>;
+ interrupt-controller;
+ #interrupt-cells = <1>;
+ };
+
+ pixelvalve0: pixelvalve@7c410000 {
+ compatible = "brcm,bcm2712-pixelvalve0";
+ reg = <0x7c410000 0x100>;
+ interrupts = <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>;
+ };
+
+ pixelvalve1: pixelvalve@7c411000 {
+ compatible = "brcm,bcm2712-pixelvalve1";
+ reg = <0x7c411000 0x100>;
+ interrupts = <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>;
+ };
+
+ mop: mop@7c500000 {
+ compatible = "brcm,bcm2712-mop";
+ reg = <0x7c500000 0x28>;
+ interrupt-parent = <&disp_intr>;
+ interrupts = <1>;
+ };
+
+ moplet: moplet@7c501000 {
+ compatible = "brcm,bcm2712-moplet";
+ reg = <0x7c501000 0x20>;
+ interrupt-parent = <&disp_intr>;
+ interrupts = <0>;
+ };
+
+ disp_intr: interrupt-controller@7c502000 {
+ compatible = "brcm,bcm2711-l2-intc", "brcm,l2-intc";
+ reg = <0x7c502000 0x30>;
+ interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>;
+ interrupt-controller;
+ #interrupt-cells = <1>;
+ };
+
+ dvp: clock@7c700000 {
+ compatible = "brcm,brcm2711-dvp";
+ reg = <0x7c700000 0x10>;
+ clocks = <&clk_108MHz>;
+ #clock-cells = <1>;
+ #reset-cells = <1>;
+ };
+
+ ddc0: i2c@7d508200 {
+ compatible = "brcm,brcmstb-i2c";
+ reg = <0x7d508200 0x58>;
+ interrupt-parent = <&bsc_irq>;
+ interrupts = <1>;
+ clock-frequency = <97500>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ };
+
+ ddc1: i2c@7d508280 {
+ compatible = "brcm,brcmstb-i2c";
+ reg = <0x7d508280 0x58>;
+ interrupt-parent = <&bsc_irq>;
+ interrupts = <2>;
+ clock-frequency = <97500>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ };
+
+ bsc_irq: intc@7d508380 {
+ compatible = "brcm,bcm7271-l2-intc";
+ reg = <0x7d508380 0x10>;
+ interrupts = <GIC_SPI 242 IRQ_TYPE_LEVEL_HIGH>;
+ interrupt-controller;
+ #interrupt-cells = <1>;
+ };
+
+ main_irq: intc@7d508400 {
+ compatible = "brcm,bcm7271-l2-intc";
+ reg = <0x7d508400 0x10>;
+ interrupts = <GIC_SPI 244 IRQ_TYPE_LEVEL_HIGH>;
+ interrupt-controller;
+ #interrupt-cells = <1>;
+ };
+
+ hdmi0: hdmi@7ef00700 {
+ compatible = "brcm,bcm2712-hdmi0";
+ reg = <0x7c701400 0x300>,
+ <0x7c701000 0x200>,
+ <0x7c701d00 0x300>,
+ <0x7c702000 0x80>,
+ <0x7c703800 0x200>,
+ <0x7c704000 0x800>,
+ <0x7c700100 0x80>,
+ <0x7d510800 0x100>,
+ <0x7c720000 0x100>;
+ reg-names = "hdmi",
+ "dvp",
+ "phy",
+ "rm",
+ "packet",
+ "metadata",
+ "csc",
+ "cec",
+ "hd";
+ resets = <&dvp 1>;
+ interrupt-parent = <&aon_intr>;
+ interrupts = <1>, <2>, <3>,
+ <7>, <8>;
+ interrupt-names = "cec-tx", "cec-rx", "cec-low",
+ "hpd-connected", "hpd-removed";
+ ddc = <&ddc0>;
+ };
+
+ hdmi1: hdmi@7ef05700 {
+ compatible = "brcm,bcm2712-hdmi1";
+ reg = <0x7c706400 0x300>,
+ <0x7c706000 0x200>,
+ <0x7c706d00 0x300>,
+ <0x7c707000 0x80>,
+ <0x7c708800 0x200>,
+ <0x7c709000 0x800>,
+ <0x7c700180 0x80>,
+ <0x7d511000 0x100>,
+ <0x7c720000 0x100>;
+ reg-names = "hdmi",
+ "dvp",
+ "phy",
+ "rm",
+ "packet",
+ "metadata",
+ "csc",
+ "cec",
+ "hd";
+ resets = <&dvp 2>;
+ interrupt-parent = <&aon_intr>;
+ interrupts = <11>, <12>, <13>,
+ <14>, <15>;
+ interrupt-names = "cec-tx", "cec-rx", "cec-low",
+ "hpd-connected", "hpd-removed";
+ ddc = <&ddc1>;
+ };
+ };
+
+ axi: axi {
+ compatible = "simple-bus";
+ #address-cells = <2>;
+ #size-cells = <2>;
+
+ ranges = <0x00 0x00000000 0x00 0x00000000 0x10 0x00000000>,
+ <0x10 0x00000000 0x10 0x00000000 0x01 0x00000000>,
+ <0x14 0x00000000 0x14 0x00000000 0x04 0x00000000>,
+ <0x18 0x00000000 0x18 0x00000000 0x04 0x00000000>,
+ <0x1c 0x00000000 0x1c 0x00000000 0x04 0x00000000>;
+
+ dma-ranges = <0x00 0x00000000 0x00 0x00000000 0x10 0x00000000>,
+ <0x10 0x00000000 0x10 0x00000000 0x01 0x00000000>,
+ <0x14 0x00000000 0x14 0x00000000 0x04 0x00000000>,
+ <0x18 0x00000000 0x18 0x00000000 0x04 0x00000000>,
+ <0x1c 0x00000000 0x1c 0x00000000 0x04 0x00000000>;
+
+ vc4: gpu {
+ compatible = "brcm,bcm2712-vc6";
+ };
};
timer {
@@ -280,4 +446,26 @@ IRQ_TYPE_LEVEL_LOW)>,
<GIC_PPI 12 (GIC_CPU_MASK_SIMPLE(4) |
IRQ_TYPE_LEVEL_LOW)>;
};
+
+ clk_27MHz: clk-27M {
+ #clock-cells = <0>;
+ compatible = "fixed-clock";
+ clock-frequency = <27000000>;
+ clock-output-names = "27MHz-clock";
+ };
+
+ clk_108MHz: clk-108M {
+ #clock-cells = <0>;
+ compatible = "fixed-clock";
+ clock-frequency = <108000000>;
+ clock-output-names = "108MHz-clock";
+ };
+
+ hvs: hvs@107c580000 {
+ compatible = "brcm,bcm2712-hvs";
+ reg = <0x10 0x7c580000 0x0 0x1a000>;
+ interrupt-parent = <&disp_intr>;
+ interrupts = <2>, <9>, <16>;
+ interrupt-names = "ch0-eof", "ch1-eof", "ch2-eof";
+ };
};
--
2.34.1
next prev parent reply other threads:[~2024-10-25 17:16 UTC|newest]
Thread overview: 41+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-10-25 17:15 [PATCH v2 00/36] drm/vc4: Add support for BCM2712 / Pi5 display hardware Dave Stevenson
2024-10-25 17:15 ` [PATCH v2 01/36] drm/vc4: Use of_device_get_match_data to set generation Dave Stevenson
2024-10-25 17:15 ` [PATCH v2 02/36] drm/vc4: Fix reading of frame count on GEN5 / Pi4 Dave Stevenson
2024-10-25 17:15 ` [PATCH v2 03/36] dt-bindings: display: Add BCM2712 HDMI bindings Dave Stevenson
2024-10-25 17:15 ` [PATCH v2 04/36] dt-bindings: display: Add BCM2712 HVS bindings Dave Stevenson
2024-10-25 17:15 ` [PATCH v2 05/36] dt-bindings: display: Add BCM2712 PixelValve bindings Dave Stevenson
2024-10-25 17:15 ` [PATCH v2 06/36] dt-bindings: display: Add BCM2712 MOP bindings Dave Stevenson
2024-10-25 17:15 ` [PATCH v2 07/36] dt-bindings: display: Add BCM2712 MOPLET bindings Dave Stevenson
2024-10-25 17:15 ` [PATCH v2 08/36] dt-bindings: display: Add BCM2712 KMS driver bindings Dave Stevenson
2024-10-25 17:15 ` [PATCH v2 09/36] drm/vc4: drv: Support BCM2712 Dave Stevenson
2024-10-25 17:15 ` [PATCH v2 10/36] drm/vc4: hvs: Add support for BCM2712 HVS Dave Stevenson
2024-10-25 17:15 ` [PATCH v2 11/36] drm/vc4: crtc: Add support for BCM2712 PixelValves Dave Stevenson
2024-10-25 17:15 ` [PATCH v2 12/36] drm/vc4: hdmi: Add support for BCM2712 HDMI controllers Dave Stevenson
2024-10-25 17:15 ` [PATCH v2 13/36] drm/vc4: txp: Introduce structure to deal with revision differences Dave Stevenson
2024-10-25 17:15 ` [PATCH v2 14/36] drm/vc4: txp: Rename TXP data structure Dave Stevenson
2024-10-25 17:15 ` [PATCH v2 15/36] drm/vc4: txp: Add byte enable toggle bit Dave Stevenson
2024-10-25 17:15 ` [PATCH v2 16/36] drm/vc4: txp: Add horizontal and vertical size offset " Dave Stevenson
2024-10-25 17:15 ` [PATCH v2 17/36] drm/vc4: txp: Handle 40-bits DMA Addresses Dave Stevenson
2024-10-25 17:15 ` [PATCH v2 18/36] drm/vc4: txp: Move the encoder type in the variant structure Dave Stevenson
2024-10-25 17:15 ` [PATCH v2 19/36] drm/vc4: txp: Add a new TXP encoder type Dave Stevenson
2024-10-25 17:15 ` [PATCH v2 20/36] drm/vc4: txp: Add support for BCM2712 MOP Dave Stevenson
2024-10-25 17:15 ` [PATCH v2 21/36] drm/vc4: txp: Add BCM2712 MOPLET support Dave Stevenson
2024-10-25 17:15 ` [PATCH v2 22/36] drm/vc4: drv: Add support for 2712 D-step Dave Stevenson
2024-10-25 17:15 ` [PATCH v2 23/36] drm/vc4: hvs: Add in " Dave Stevenson
2024-10-25 17:15 ` [PATCH v2 24/36] drm/vc4: plane: Add " Dave Stevenson
2024-10-25 17:15 ` [PATCH v2 25/36] drm/vc4: hdmi: Support 2712 D-step register map Dave Stevenson
2024-10-25 17:15 ` [PATCH v2 26/36] drm/vc4: Add additional warn_on for incorrect revisions Dave Stevenson
2024-10-25 17:15 ` [PATCH v2 27/36] drm/vc4: Enable bg_fill if there are no planes enabled Dave Stevenson
2024-10-25 17:15 ` [PATCH v2 28/36] drm/vc4: Drop planes that are completely off-screen or 0 crtc size Dave Stevenson
2024-10-25 17:16 ` [PATCH v2 29/36] clk: bcm: rpi: Add ISP to exported clocks Dave Stevenson
2024-10-25 17:16 ` [PATCH v2 30/36] clk: bcm: rpi: Allow cpufreq driver to also adjust gpu clocks Dave Stevenson
2024-10-25 17:16 ` [PATCH v2 31/36] clk: bcm: rpi: Enable minimize for all firmware clocks Dave Stevenson
2024-10-25 17:16 ` [PATCH v2 32/36] clk: bcm: rpi: Create helper to retrieve private data Dave Stevenson
2024-10-25 17:16 ` [PATCH v2 33/36] clk: bcm: rpi: Add disp clock Dave Stevenson
2024-10-25 17:16 ` [PATCH v2 34/36] arm64: dts: broadcom: Add firmware clocks and power nodes to Pi5 DT Dave Stevenson
2024-11-24 17:03 ` Florian Fainelli
2024-10-25 17:16 ` Dave Stevenson [this message]
2024-11-24 17:04 ` [PATCH v2 35/36] arm64: dts: broadcom: Add display pipeline support to BCM2712 Florian Fainelli
2024-10-25 17:16 ` [PATCH v2 36/36] arm64: dts: broadcom: Add DT for D-step version of BCM2712 Dave Stevenson
2024-11-24 17:04 ` Florian Fainelli
2024-10-27 21:17 ` [PATCH v2 00/36] drm/vc4: Add support for BCM2712 / Pi5 display hardware Rob Herring (Arm)
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20241025-drm-vc4-2712-support-v2-35-35efa83c8fc0@raspberrypi.com \
--to=dave.stevenson@raspberrypi.com \
--cc=airlied@gmail.com \
--cc=bcm-kernel-feedback-list@broadcom.com \
--cc=catalin.marinas@arm.com \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=dri-devel@lists.freedesktop.org \
--cc=florian.fainelli@broadcom.com \
--cc=javierm@redhat.com \
--cc=kernel-list@raspberrypi.com \
--cc=krzk+dt@kernel.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-clk@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-rpi-kernel@lists.infradead.org \
--cc=maarten.lankhorst@linux.intel.com \
--cc=mcanal@igalia.com \
--cc=mripard@kernel.org \
--cc=mturquette@baylibre.com \
--cc=rjui@broadcom.com \
--cc=robh@kernel.org \
--cc=sboyd@kernel.org \
--cc=sbranden@broadcom.com \
--cc=simona@ffwll.ch \
--cc=tzimmermann@suse.de \
--cc=will@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®