ALT Linux kernel packages development
 help / color / mirror / Atom feed
From: Anton Midyukov <antohami@altlinux.org>
To: devel-kernel@lists.altlinux.org
Subject: [d-kernel] [PATCH 02/30] dt-bindings: display: rockchip: Add schema for RK3588 HDMI TX Controller
Date: Tue, 22 Apr 2025 13:04:21 +0300
Message-ID: <afc9219c4038978966b11af221413732fe8d49d3.1745307792.git.antohami@altlinux.org> (raw)
In-Reply-To: <cover.1745307792.git.antohami@altlinux.org>

From: Cristian Ciocaltea <cristian.ciocaltea@collabora.com>

Rockchip RK3588 SoC integrates the Synopsys DesignWare HDMI 2.1
Quad-Pixel (QP) TX controller IP.

Since this is a new IP block, quite different from those used in the
previous generations of Rockchip SoCs, add a dedicated binding file.

Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Signed-off-by: Cristian Ciocaltea <cristian.ciocaltea@collabora.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20241016-b4-rk3588-bridge-upstream-v10-2-87ef92a6d14e@collabora.com
Signed-off-by: Maxime Ripard <mripard@kernel.org>
(cherry picked from commit c0d28332ff90f800ccd1a3b73cb50c3335b0286a)
Signed-off-by: Anton Midyukov <antohami@altlinux.org>
---
 .../rockchip/rockchip,rk3588-dw-hdmi-qp.yaml  | 188 ++++++++++++++++++
 1 file changed, 188 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/display/rockchip/rockchip,rk3588-dw-hdmi-qp.yaml

diff --git a/Documentation/devicetree/bindings/display/rockchip/rockchip,rk3588-dw-hdmi-qp.yaml b/Documentation/devicetree/bindings/display/rockchip/rockchip,rk3588-dw-hdmi-qp.yaml
new file mode 100644
index 0000000000000..d8e761865f27e
--- /dev/null
+++ b/Documentation/devicetree/bindings/display/rockchip/rockchip,rk3588-dw-hdmi-qp.yaml
@@ -0,0 +1,188 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/display/rockchip/rockchip,rk3588-dw-hdmi-qp.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Rockchip DW HDMI QP TX Encoder
+
+maintainers:
+  - Cristian Ciocaltea <cristian.ciocaltea@collabora.com>
+
+description: |
+  Rockchip RK3588 SoC integrates the Synopsys DesignWare HDMI QP TX controller
+  IP and a HDMI/eDP TX Combo PHY based on a Samsung IP block, providing the
+  following features, among others:
+
+  * Fixed Rate Link (FRL)
+  * Display Stream Compression (DSC)
+  * 4K@120Hz and 8K@60Hz video modes
+  * Variable Refresh Rate (VRR) including Quick Media Switching (QMS)
+  * Fast Vactive (FVA)
+  * SCDC I2C DDC access
+  * Multi-stream audio
+  * Enhanced Audio Return Channel (EARC)
+
+allOf:
+  - $ref: /schemas/sound/dai-common.yaml#
+
+properties:
+  compatible:
+    enum:
+      - rockchip,rk3588-dw-hdmi-qp
+
+  reg:
+    maxItems: 1
+
+  clocks:
+    items:
+      - description: Peripheral/APB bus clock
+      - description: EARC RX biphase clock
+      - description: Reference clock
+      - description: Audio interface clock
+      - description: TMDS/FRL link clock
+      - description: Video datapath clock
+
+  clock-names:
+    items:
+      - const: pclk
+      - const: earc
+      - const: ref
+      - const: aud
+      - const: hdp
+      - const: hclk_vo1
+
+  interrupts:
+    items:
+      - description: AVP Unit interrupt
+      - description: CEC interrupt
+      - description: eARC RX interrupt
+      - description: Main Unit interrupt
+      - description: HPD interrupt
+
+  interrupt-names:
+    items:
+      - const: avp
+      - const: cec
+      - const: earc
+      - const: main
+      - const: hpd
+
+  phys:
+    maxItems: 1
+    description: The HDMI/eDP PHY
+
+  ports:
+    $ref: /schemas/graph.yaml#/properties/ports
+
+    properties:
+      port@0:
+        $ref: /schemas/graph.yaml#/properties/port
+        description: Video port for RGB/YUV input.
+
+      port@1:
+        $ref: /schemas/graph.yaml#/properties/port
+        description: Video port for HDMI/eDP output.
+
+    required:
+      - port@0
+      - port@1
+
+  power-domains:
+    maxItems: 1
+
+  resets:
+    maxItems: 2
+
+  reset-names:
+    items:
+      - const: ref
+      - const: hdp
+
+  "#sound-dai-cells":
+    const: 0
+
+  rockchip,grf:
+    $ref: /schemas/types.yaml#/definitions/phandle
+    description:
+      Some HDMI QP related data is accessed through SYS GRF regs.
+
+  rockchip,vo-grf:
+    $ref: /schemas/types.yaml#/definitions/phandle
+    description:
+      Additional HDMI QP related data is accessed through VO GRF regs.
+
+required:
+  - compatible
+  - reg
+  - clocks
+  - clock-names
+  - interrupts
+  - interrupt-names
+  - phys
+  - ports
+  - resets
+  - reset-names
+  - rockchip,grf
+  - rockchip,vo-grf
+
+unevaluatedProperties: false
+
+examples:
+  - |
+    #include <dt-bindings/clock/rockchip,rk3588-cru.h>
+    #include <dt-bindings/interrupt-controller/arm-gic.h>
+    #include <dt-bindings/interrupt-controller/irq.h>
+    #include <dt-bindings/power/rk3588-power.h>
+    #include <dt-bindings/reset/rockchip,rk3588-cru.h>
+
+    soc {
+      #address-cells = <2>;
+      #size-cells = <2>;
+
+      hdmi@fde80000 {
+        compatible = "rockchip,rk3588-dw-hdmi-qp";
+        reg = <0x0 0xfde80000 0x0 0x20000>;
+        clocks = <&cru PCLK_HDMITX0>,
+                 <&cru CLK_HDMITX0_EARC>,
+                 <&cru CLK_HDMITX0_REF>,
+                 <&cru MCLK_I2S5_8CH_TX>,
+                 <&cru CLK_HDMIHDP0>,
+                 <&cru HCLK_VO1>;
+        clock-names = "pclk", "earc", "ref", "aud", "hdp", "hclk_vo1";
+        interrupts = <GIC_SPI 169 IRQ_TYPE_LEVEL_HIGH 0>,
+                     <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH 0>,
+                     <GIC_SPI 171 IRQ_TYPE_LEVEL_HIGH 0>,
+                     <GIC_SPI 172 IRQ_TYPE_LEVEL_HIGH 0>,
+                     <GIC_SPI 360 IRQ_TYPE_LEVEL_HIGH 0>;
+        interrupt-names = "avp", "cec", "earc", "main", "hpd";
+        phys = <&hdptxphy_hdmi0>;
+        power-domains = <&power RK3588_PD_VO1>;
+        resets = <&cru SRST_HDMITX0_REF>, <&cru SRST_HDMIHDP0>;
+        reset-names = "ref", "hdp";
+        rockchip,grf = <&sys_grf>;
+        rockchip,vo-grf = <&vo1_grf>;
+        #sound-dai-cells = <0>;
+
+        ports {
+          #address-cells = <1>;
+          #size-cells = <0>;
+
+          port@0 {
+            reg = <0>;
+
+            hdmi0_in_vp0: endpoint {
+              remote-endpoint = <&vp0_out_hdmi0>;
+            };
+          };
+
+          port@1 {
+            reg = <1>;
+
+            hdmi0_out_con0: endpoint {
+              remote-endpoint = <&hdmi_con0_in>;
+            };
+          };
+        };
+      };
+    };
-- 
2.42.4



  parent reply	other threads:[~2025-04-22 10:04 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-04-22 10:04 [d-kernel] [PATCH 00/30] [6.12] Enable HDMI0 support on rk3588 and same other improvements from v6.14 Anton Midyukov
2025-04-22 10:04 ` [d-kernel] [PATCH 01/30] drm/bridge: synopsys: Add DW HDMI QP TX Controller support library Anton Midyukov
2025-04-22 10:04 ` Anton Midyukov [this message]
2025-04-22 10:04 ` [d-kernel] [PATCH 03/30] drm/rockchip: Add basic RK3588 HDMI output support Anton Midyukov
2025-04-22 10:04 ` [d-kernel] [PATCH 04/30] drm/rockchip: avoid 64-bit division Anton Midyukov
2025-04-22 10:04 ` [d-kernel] [PATCH 05/30] arm64: dts: rockchip: Add HDMI0 node to rk3588 Anton Midyukov
2025-04-22 10:04 ` [d-kernel] [PATCH 06/30] arm64: dts: rockchip: Enable HDMI0 on rock-5b Anton Midyukov
2025-04-22 10:04 ` [d-kernel] [PATCH 07/30] arm64: dts: rockchip: Enable HDMI0 on rk3588-evb1 Anton Midyukov
2025-04-22 10:04 ` [d-kernel] [PATCH 08/30] arm64: dts: rockchip: Enable HDMI0 on orangepi-5-plus Anton Midyukov
2025-04-22 10:04 ` [d-kernel] [PATCH 09/30] arm64: dts: rockchip: add and enable gpu node for Radxa ROCK 5A Anton Midyukov
2025-04-22 10:04 ` [d-kernel] [PATCH 10/30] arm64: dts: rockchip: Enable HDMI0 on Orange Pi 5 Anton Midyukov
2025-04-22 10:04 ` [d-kernel] [PATCH 11/30] arm64: dts: rockchip: analog audio " Anton Midyukov
2025-04-22 10:04 ` [d-kernel] [PATCH 12/30] arm64: dts: rockchip: reorder audio/hdmi nodes in " Anton Midyukov
2025-04-22 10:04 ` [d-kernel] [PATCH 13/30] arm64: dts: rockchip: pwm-leds for " Anton Midyukov
2025-04-22 10:04 ` [d-kernel] [PATCH 14/30] arm64: dts: rockchip: Enable HDMI0 on rk3588-nanopc-t6 Anton Midyukov
2025-04-22 10:04 ` [d-kernel] [PATCH 15/30] arm64: dts: rockchip: Enable HDMI0 on rock-5a Anton Midyukov
2025-04-22 10:04 ` [d-kernel] [PATCH 16/30] arm64: dts: rockchip: add HDMI pinctrl to rk3588-tiger SoM Anton Midyukov
2025-04-22 10:04 ` [d-kernel] [PATCH 17/30] arm64: dts: rockchip: add HDMI support to rk3588-tiger-haikou Anton Midyukov
2025-04-22 10:04 ` [d-kernel] [PATCH 18/30] arm64: dts: rockchip: add HDMI support to rk3588-jaguar Anton Midyukov
2025-04-22 10:04 ` [d-kernel] [PATCH 19/30] arm64: dts: rockchip: refactor common Orange Pi 5 board Anton Midyukov
2025-04-22 10:04 ` [d-kernel] [PATCH 20/30] arm64: dts: rockchip: Enable HDMI0 on FriendlyElec CM3588 NAS Anton Midyukov
2025-04-22 10:04 ` [d-kernel] [PATCH 21/30] arm64: dts: rockchip: Enable HDMI on Hardkernel ODROID-M2 Anton Midyukov
2025-04-22 10:04 ` [d-kernel] [PATCH 22/30] arm64: dts: rockchip: Enable HDMI0 for rk3588 Cool Pi CM5 EVB Anton Midyukov
2025-04-22 10:04 ` [d-kernel] [PATCH 23/30] arm64: dts: rockchip: Enable HDMI display for rk3588 Cool Pi 4B Anton Midyukov
2025-04-22 10:04 ` [d-kernel] [PATCH 24/30] arm64: dts: rockchip: Enable HDMI display for rk3588 Cool Pi GenBook Anton Midyukov
2025-04-22 10:04 ` [d-kernel] [PATCH 25/30] arm64: dts: rockchip: orangepi-5-plus: Enable GPU Anton Midyukov
2025-04-22 10:04 ` [d-kernel] [PATCH 26/30] arm64: dts: rockchip: enable the mmu600_pcie IOMMU on the rk3588 SoC Anton Midyukov
2025-04-22 10:04 ` [d-kernel] [PATCH 27/30] arm64: dts: rockchip: rename rfkill label for Radxa ROCK 5B Anton Midyukov
2025-04-22 10:04 ` [d-kernel] [PATCH 28/30] arm64: dts: rockchip: disable IOMMU when running rk3588 in PCIe endpoint mode Anton Midyukov
2025-04-22 10:04 ` [d-kernel] [PATCH 29/30] arm64: dts: rockchip: slow down emmc freq for rock 5 itx Anton Midyukov
2025-04-22 10:04 ` [d-kernel] [PATCH 30/30] config-aarch64: CONFIG_ROCKCHIP_DW_HDMI_QP=y Anton Midyukov

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=afc9219c4038978966b11af221413732fe8d49d3.1745307792.git.antohami@altlinux.org \
    --to=antohami@altlinux.org \
    --cc=devel-kernel@lists.altlinux.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

ALT Linux kernel packages development

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://lore.altlinux.org/devel-kernel/0 devel-kernel/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 devel-kernel devel-kernel/ http://lore.altlinux.org/devel-kernel \
		devel-kernel@altlinux.org devel-kernel@altlinux.ru devel-kernel@altlinux.com
	public-inbox-index devel-kernel

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://lore.altlinux.org/org.altlinux.lists.devel-kernel


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git