xref: /freebsd/sys/contrib/device-tree/Bindings/display/mediatek/mediatek,mt8195-hdmi.yaml (revision ae5de77ed78ae54d86cead5604869212e8008e6b)
1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/display/mediatek/mediatek,mt8195-hdmi.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: MediaTek MT8195 series HDMI-TX Encoder
8
9maintainers:
10  - AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
11  - CK Hu <ck.hu@mediatek.com>
12
13description:
14  The MediaTek HDMI-TX v2 encoder can generate HDMI format data based on
15  the HDMI Specification 2.0b.
16
17properties:
18  compatible:
19    enum:
20      - mediatek,mt8188-hdmi-tx
21      - mediatek,mt8195-hdmi-tx
22
23  reg:
24    maxItems: 1
25
26  interrupts:
27    maxItems: 1
28
29  clocks:
30    items:
31      - description: HDMI Peripheral Bus (APB) clock
32      - description: HDCP and HDMI_TOP clock
33      - description: HDCP, HDMI_TOP and HDMI Audio reference clock
34      - description: VPP HDMI Split clock
35
36  clock-names:
37    items:
38      - const: bus
39      - const: hdcp
40      - const: hdcp24m
41      - const: hdmi-split
42
43  i2c:
44    type: object
45    $ref: /schemas/display/mediatek/mediatek,mt8195-hdmi-ddc.yaml
46    unevaluatedProperties: false
47    description: HDMI DDC I2C controller
48
49  phys:
50    maxItems: 1
51    description: PHY providing clocking TMDS and pixel to controller
52
53  phy-names:
54    items:
55      - const: hdmi
56
57  power-domains:
58    maxItems: 1
59
60  '#sound-dai-cells':
61    const: 1
62
63  ports:
64    $ref: /schemas/graph.yaml#/properties/ports
65
66    properties:
67      port@0:
68        $ref: /schemas/graph.yaml#/properties/port
69        description:
70          Input port, usually connected to the output port of a DPI
71
72      port@1:
73        $ref: /schemas/graph.yaml#/properties/port
74        description:
75          Output port that must be connected either to the input port of
76          a HDMI connector node containing a ddc-i2c-bus, or to the input
77          port of an attached bridge chip, such as a SlimPort transmitter.
78
79    required:
80      - port@0
81      - port@1
82
83required:
84  - compatible
85  - reg
86  - interrupts
87  - clocks
88  - clock-names
89  - power-domains
90  - phys
91  - phy-names
92  - ports
93
94allOf:
95  - $ref: /schemas/sound/dai-common.yaml#
96
97additionalProperties: false
98
99examples:
100  - |
101    #include <dt-bindings/clock/mt8195-clk.h>
102    #include <dt-bindings/interrupt-controller/arm-gic.h>
103    #include <dt-bindings/power/mt8195-power.h>
104
105    soc {
106        #address-cells = <2>;
107        #size-cells = <2>;
108
109        hdmi@1c300000 {
110            compatible = "mediatek,mt8195-hdmi-tx";
111            reg = <0 0x1c300000 0 0x1000>;
112            clocks = <&topckgen CLK_TOP_HDMI_APB>,
113                     <&topckgen CLK_TOP_HDCP>,
114                     <&topckgen CLK_TOP_HDCP_24M>,
115                     <&vppsys1 CLK_VPP1_VPP_SPLIT_HDMI>;
116            clock-names = "bus", "hdcp", "hdcp24m", "hdmi-split";
117            interrupts = <GIC_SPI 677 IRQ_TYPE_LEVEL_HIGH 0>;
118            phys = <&hdmi_phy>;
119            phy-names = "hdmi";
120            power-domains = <&spm MT8195_POWER_DOMAIN_HDMI_TX>;
121            pinctrl-names = "default";
122            pinctrl-0 = <&hdmi_pins>;
123            #sound-dai-cells = <1>;
124
125            hdmitx_ddc: i2c {
126                compatible = "mediatek,mt8195-hdmi-ddc";
127                clocks = <&clk26m>;
128            };
129
130            ports {
131                #address-cells = <1>;
132                #size-cells = <0>;
133
134                port@0 {
135                    reg = <0>;
136
137                    hdmi_in: endpoint {
138                        remote-endpoint = <&dpi1_out>;
139                    };
140                };
141
142                port@1 {
143                    reg = <1>;
144
145                    hdmi_out: endpoint {
146                        remote-endpoint = <&hdmi_connector_in>;
147                    };
148                };
149            };
150        };
151    };
152