devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
To: chunkuang.hu@kernel.org
Cc: p.zabel@pengutronix.de, airlied@gmail.com, simona@ffwll.ch,
	maarten.lankhorst@linux.intel.com, mripard@kernel.org,
	tzimmermann@suse.de, robh@kernel.org, krzk+dt@kernel.org,
	conor+dt@kernel.org, matthias.bgg@gmail.com,
	angelogioacchino.delregno@collabora.com, ck.hu@mediatek.com,
	jitao.shi@mediatek.com, jie.qiu@mediatek.com,
	junzhi.zhao@mediatek.com, dri-devel@lists.freedesktop.org,
	linux-mediatek@lists.infradead.org, devicetree@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org, kernel@collabora.com,
	dmitry.baryshkov@linaro.org
Subject: [PATCH v3 07/33] dt-bindings: display: mediatek: Add binding for MT8195 HDMI-TX v2
Date: Tue, 17 Dec 2024 16:43:19 +0100	[thread overview]
Message-ID: <20241217154345.276919-8-angelogioacchino.delregno@collabora.com> (raw)
In-Reply-To: <20241217154345.276919-1-angelogioacchino.delregno@collabora.com>

Add a binding for the HDMI TX v2 Encoder found in MediaTek MT8195
and MT8188 SoCs.

This fully supports the HDMI Specification 2.0b, hence it provides
support for 3D-HDMI, Polarity inversion, up to 16 bits Deep Color,
color spaces including RGB444, YCBCR420/422/444 (ITU601/ITU709) and
xvYCC, with output resolutions up to 3840x2160p@60Hz.

Moreover, it also supports HDCP 1.4 and 2.3, Variable Refresh Rate
(VRR) and Consumer Electronics Control (CEC).

This IP also includes support for HDMI Audio, including IEC60958
and IEC61937 SPDIF, 8-channel PCM, DSD, and other lossless audio
according to HDMI 2.0.

Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
---
 .../mediatek/mediatek,mt8195-hdmi.yaml        | 154 ++++++++++++++++++
 1 file changed, 154 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/display/mediatek/mediatek,mt8195-hdmi.yaml

diff --git a/Documentation/devicetree/bindings/display/mediatek/mediatek,mt8195-hdmi.yaml b/Documentation/devicetree/bindings/display/mediatek/mediatek,mt8195-hdmi.yaml
new file mode 100644
index 000000000000..73b1dfaa1adb
--- /dev/null
+++ b/Documentation/devicetree/bindings/display/mediatek/mediatek,mt8195-hdmi.yaml
@@ -0,0 +1,154 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/display/mediatek/mediatek,mt8195-hdmi.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: MediaTek HDMI-TX v2 Encoder
+
+maintainers:
+  - AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
+  - CK Hu <ck.hu@mediatek.com>
+
+description:
+  The MediaTek HDMI-TX v2 encoder can generate HDMI format data based on
+  the HDMI Specification 2.0b.
+
+properties:
+  compatible:
+    enum:
+      - mediatek,mt8188-hdmi-tx
+      - mediatek,mt8195-hdmi-tx
+
+  reg:
+    maxItems: 1
+
+  interrupts:
+    maxItems: 1
+
+  clocks:
+    items:
+      - description: HDMI Peripheral Bus (APB) clock
+      - description: HDCP and HDMI_TOP clock
+      - description: HDCP and HDMI_TOP reference clock
+      - description: VPP HDMI Split clock
+
+  clock-names:
+    items:
+      - const: bus
+      - const: hdcp
+      - const: hdcp24m
+      - const: hdmi-split
+
+  i2c:
+    type: object
+    $ref: /schemas/display/mediatek/mediatek,mt8195-hdmi-ddc.yaml
+    unevaluatedProperties: false
+    description: HDMI DDC I2C controller
+
+  phys:
+    maxItems: 1
+    description: PHY providing clocking TMDS and pixel to controller
+
+  phy-names:
+    items:
+      - const: hdmi
+
+  pinctrl-0: true
+
+  pinctrl-names:
+    items:
+      - const: default
+
+  power-domains:
+    maxItems: 1
+
+  '#sound-dai-cells':
+    const: 1
+
+  ports:
+    $ref: /schemas/graph.yaml#/properties/ports
+
+    properties:
+      port@0:
+        $ref: /schemas/graph.yaml#/properties/port
+        description:
+          Input port, usually connected to the output port of a DPI
+
+      port@1:
+        $ref: /schemas/graph.yaml#/properties/port
+        description:
+          Output port that must be connected either to the input port of
+          a HDMI connector node containing a ddc-i2c-bus, or to the input
+          port of an attached bridge chip, such as a SlimPort transmitter.
+
+    required:
+      - port@0
+      - port@1
+
+required:
+  - compatible
+  - reg
+  - clocks
+  - clock-names
+  - interrupts
+  - power-domains
+  - phys
+  - phy-names
+  - ports
+
+additionalProperties: false
+
+examples:
+  - |
+    #include <dt-bindings/clock/mt8195-clk.h>
+    #include <dt-bindings/interrupt-controller/arm-gic.h>
+    #include <dt-bindings/power/mt8195-power.h>
+
+    soc {
+        #address-cells = <2>;
+        #size-cells = <2>;
+
+        hdmi-tx@1c300000 {
+            compatible = "mediatek,mt8195-hdmi-tx";
+            reg = <0 0x1c300000 0 0x1000>;
+            clocks = <&topckgen CLK_TOP_HDMI_APB>,
+                     <&topckgen CLK_TOP_HDCP>,
+                     <&topckgen CLK_TOP_HDCP_24M>,
+                     <&vppsys1 CLK_VPP1_VPP_SPLIT_HDMI>;
+            clock-names = "bus", "hdcp", "hdcp24m", "hdmi-split";
+            interrupts = <GIC_SPI 677 IRQ_TYPE_LEVEL_HIGH 0>;
+            phys = <&hdmi_phy>;
+            phy-names = "hdmi";
+            power-domains = <&spm MT8195_POWER_DOMAIN_HDMI_TX>;
+            pinctrl-names = "default";
+            pinctrl-0 = <&hdmi_pins>;
+            #sound-dai-cells = <1>;
+
+            hdmitx_ddc: i2c {
+                compatible = "mediatek,mt8195-hdmi-ddc";
+                clocks = <&clk26m>;
+            };
+
+            ports {
+                #address-cells = <1>;
+                #size-cells = <0>;
+
+                port@0 {
+                    reg = <0>;
+
+                    hdmi_in: endpoint {
+                        remote-endpoint = <&dpi1_out>;
+                    };
+                };
+
+                port@1 {
+                    reg = <1>;
+
+                    hdmi_out: endpoint {
+                        remote-endpoint = <&hdmi_connector_in>;
+                    };
+                };
+            };
+        };
+    };
-- 
2.47.0


  parent reply	other threads:[~2024-12-17 15:44 UTC|newest]

Thread overview: 57+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-12-17 15:43 [PATCH v3 00/33] Add support for MT8195/88 DPI, HDMIv2 and DDCv2 AngeloGioacchino Del Regno
2024-12-17 15:43 ` [PATCH v3 01/33] dt-bindings: display: mediatek: dpi: Add MT8195 and MT8188 compat AngeloGioacchino Del Regno
2024-12-17 15:43 ` [PATCH v3 02/33] drm/mediatek: mtk_dpi: Add support for Pattern Generator in debugfs AngeloGioacchino Del Regno
2024-12-17 15:43 ` [PATCH v3 03/33] drm/mediatek: mtk_dpi: Use an array for pixclk factor calculation AngeloGioacchino Del Regno
2024-12-17 15:43 ` [PATCH v3 04/33] drm/mediatek: mtk_dpi: Move pixel clock setting flow to function AngeloGioacchino Del Regno
2024-12-17 15:43 ` [PATCH v3 05/33] drm/mediatek: mtk_dpi: Add checks for reg_h_fre_con existence AngeloGioacchino Del Regno
2024-12-17 15:43 ` [PATCH v3 06/33] drm/mediatek: Add support for MT8195 Digital Parallel Interface AngeloGioacchino Del Regno
2024-12-19  6:52   ` CK Hu (胡俊光)
2024-12-17 15:43 ` AngeloGioacchino Del Regno [this message]
2024-12-17 20:35   ` [PATCH v3 07/33] dt-bindings: display: mediatek: Add binding for MT8195 HDMI-TX v2 Rob Herring (Arm)
2024-12-18  8:20   ` Krzysztof Kozlowski
2024-12-19 10:54     ` AngeloGioacchino Del Regno
2024-12-21 20:22       ` Krzysztof Kozlowski
2024-12-23  3:06         ` CK Hu (胡俊光)
2024-12-23 11:22         ` AngeloGioacchino Del Regno
2024-12-19  7:22   ` CK Hu (胡俊光)
2024-12-17 15:43 ` [PATCH v3 08/33] drm/mediatek: mtk_cec: Switch to register as module_platform_driver AngeloGioacchino Del Regno
2024-12-17 15:43 ` [PATCH v3 09/33] drm/mediatek: mtk_hdmi_ddc: " AngeloGioacchino Del Regno
2024-12-17 15:43 ` [PATCH v3 10/33] drm/mediatek: mtk_hdmi: Convert to module_platform_driver macro AngeloGioacchino Del Regno
2024-12-17 15:43 ` [PATCH v3 11/33] drm/mediatek: mtk_hdmi: Unregister audio platform device on failure AngeloGioacchino Del Regno
2024-12-23  5:22   ` CK Hu (胡俊光)
2024-12-23 11:24     ` AngeloGioacchino Del Regno
2024-12-17 15:43 ` [PATCH v3 12/33] drm/mediatek: hdmi: Use regmap instead of iomem for main registers AngeloGioacchino Del Regno
2024-12-20  2:49   ` CK Hu (胡俊光)
2024-12-17 15:43 ` [PATCH v3 13/33] drm/mediatek: mtk_hdmi: Fix typo for aud_sampe_size member AngeloGioacchino Del Regno
2024-12-20  2:51   ` CK Hu (胡俊光)
2024-12-17 15:43 ` [PATCH v3 14/33] drm/mediatek: mtk_hdmi: Move audio params selection to new function AngeloGioacchino Del Regno
2024-12-20  3:47   ` CK Hu (胡俊光)
2025-01-08  9:23     ` AngeloGioacchino Del Regno
2024-12-17 15:43 ` [PATCH v3 15/33] drm/mediatek: mtk_hdmi: Disgregate function mtk_hdmi_audio_set_param() AngeloGioacchino Del Regno
2024-12-17 15:43 ` [PATCH v3 16/33] drm/mediatek: mtk_hdmi: Move plugged_cb/codec_dev setting to new function AngeloGioacchino Del Regno
2024-12-20  5:36   ` CK Hu (胡俊光)
2024-12-17 15:43 ` [PATCH v3 17/33] drm/mediatek: mtk_hdmi: Move N/CTS " AngeloGioacchino Del Regno
2024-12-20  5:44   ` CK Hu (胡俊光)
2024-12-17 15:43 ` [PATCH v3 18/33] drm/mediatek: mtk_hdmi: Move vendor/product strings to drm_bridge AngeloGioacchino Del Regno
2024-12-20  6:09   ` CK Hu (胡俊光)
2024-12-17 15:43 ` [PATCH v3 19/33] drm/mediatek: mtk_hdmi: Use dev_err_probe() in mtk_hdmi_dt_parse_pdata() AngeloGioacchino Del Regno
2024-12-17 15:43 ` [PATCH v3 20/33] drm/mediatek: mtk_hdmi: Move CEC device parsing in new function AngeloGioacchino Del Regno
2024-12-17 15:43 ` [PATCH v3 21/33] drm/mediatek: mtk_hdmi: Remove unused members of struct mtk_hdmi AngeloGioacchino Del Regno
2024-12-20  7:25   ` CK Hu (胡俊光)
2024-12-17 15:43 ` [PATCH v3 22/33] drm/mediatek: mtk_hdmi: Move output init to mtk_hdmi_register_audio_driver() AngeloGioacchino Del Regno
2024-12-20  8:24   ` CK Hu (胡俊光)
2024-12-17 15:43 ` [PATCH v3 23/33] drm/mediatek: mtk_hdmi: Use devm managed version of drm_bridge_add AngeloGioacchino Del Regno
2024-12-20  8:31   ` CK Hu (胡俊光)
2024-12-17 15:43 ` [PATCH v3 24/33] drm/mediatek: mtk_hdmi: Remove ifdef for CONFIG_PM_SLEEP AngeloGioacchino Del Regno
2024-12-23  6:35   ` CK Hu (胡俊光)
2024-12-23 11:27     ` AngeloGioacchino Del Regno
2024-12-17 15:43 ` [PATCH v3 25/33] drm/mediatek: mtk_hdmi: Remove goto in mtk_hdmi_clk_enable_audio() AngeloGioacchino Del Regno
2024-12-20  9:11   ` CK Hu (胡俊光)
2024-12-17 15:43 ` [PATCH v3 26/33] drm/mediatek: mtk_hdmi: Cleanup function mtk_hdmi_resume() AngeloGioacchino Del Regno
2024-12-17 15:43 ` [PATCH v3 27/33] drm/mediatek: mtk_hdmi: Improve mtk_hdmi_get_all_clk() flexibility AngeloGioacchino Del Regno
2024-12-17 15:43 ` [PATCH v3 28/33] drm/mediatek: mtk_hdmi: Split driver and add common probe function AngeloGioacchino Del Regno
2024-12-17 15:43 ` [PATCH v3 29/33] drm/mediatek: mtk_hdmi_common: Assign DDC adapter pointer to bridge AngeloGioacchino Del Regno
2024-12-17 15:43 ` [PATCH v3 30/33] drm/mediatek: mtk_hdmi_common: Add OP_HDMI if helper funcs assigned AngeloGioacchino Del Regno
2024-12-17 15:43 ` [PATCH v3 31/33] drm/mediatek: Introduce HDMI/DDC v2 for MT8195/MT8188 AngeloGioacchino Del Regno
2024-12-17 15:43 ` [PATCH v3 32/33] drm/mediatek: mtk_hdmi_common: Add var to enable interlaced modes AngeloGioacchino Del Regno
2024-12-17 15:43 ` [PATCH v3 33/33] drm/mediatek: mtk_hdmi_v2: Add debugfs ops and implement ABIST AngeloGioacchino Del Regno

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=20241217154345.276919-8-angelogioacchino.delregno@collabora.com \
    --to=angelogioacchino.delregno@collabora.com \
    --cc=airlied@gmail.com \
    --cc=chunkuang.hu@kernel.org \
    --cc=ck.hu@mediatek.com \
    --cc=conor+dt@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=dmitry.baryshkov@linaro.org \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=jie.qiu@mediatek.com \
    --cc=jitao.shi@mediatek.com \
    --cc=junzhi.zhao@mediatek.com \
    --cc=kernel@collabora.com \
    --cc=krzk+dt@kernel.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mediatek@lists.infradead.org \
    --cc=maarten.lankhorst@linux.intel.com \
    --cc=matthias.bgg@gmail.com \
    --cc=mripard@kernel.org \
    --cc=p.zabel@pengutronix.de \
    --cc=robh@kernel.org \
    --cc=simona@ffwll.ch \
    --cc=tzimmermann@suse.de \
    /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;
as well as URLs for NNTP newsgroup(s).