xref: /freebsd/sys/contrib/device-tree/Bindings/display/mediatek/mediatek,hdmi.yaml (revision 5956d97f4b3204318ceb6aa9c77bd0bc6ea87a41)
1*5956d97fSEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2*5956d97fSEmmanuel Vadot%YAML 1.2
3*5956d97fSEmmanuel Vadot---
4*5956d97fSEmmanuel Vadot$id: http://devicetree.org/schemas/display/mediatek/mediatek,hdmi.yaml#
5*5956d97fSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
6*5956d97fSEmmanuel Vadot
7*5956d97fSEmmanuel Vadottitle: Mediatek HDMI Encoder Device Tree Bindings
8*5956d97fSEmmanuel Vadot
9*5956d97fSEmmanuel Vadotmaintainers:
10*5956d97fSEmmanuel Vadot  - CK Hu <ck.hu@mediatek.com>
11*5956d97fSEmmanuel Vadot  - Jitao shi <jitao.shi@mediatek.com>
12*5956d97fSEmmanuel Vadot
13*5956d97fSEmmanuel Vadotdescription: |
14*5956d97fSEmmanuel Vadot  The Mediatek HDMI encoder can generate HDMI 1.4a or MHL 2.0 signals from
15*5956d97fSEmmanuel Vadot  its parallel input.
16*5956d97fSEmmanuel Vadot
17*5956d97fSEmmanuel Vadotproperties:
18*5956d97fSEmmanuel Vadot  compatible:
19*5956d97fSEmmanuel Vadot    enum:
20*5956d97fSEmmanuel Vadot      - mediatek,mt2701-hdmi
21*5956d97fSEmmanuel Vadot      - mediatek,mt7623-hdmi
22*5956d97fSEmmanuel Vadot      - mediatek,mt8167-hdmi
23*5956d97fSEmmanuel Vadot      - mediatek,mt8173-hdmi
24*5956d97fSEmmanuel Vadot
25*5956d97fSEmmanuel Vadot  reg:
26*5956d97fSEmmanuel Vadot    maxItems: 1
27*5956d97fSEmmanuel Vadot
28*5956d97fSEmmanuel Vadot  interrupts:
29*5956d97fSEmmanuel Vadot    maxItems: 1
30*5956d97fSEmmanuel Vadot
31*5956d97fSEmmanuel Vadot  clocks:
32*5956d97fSEmmanuel Vadot    items:
33*5956d97fSEmmanuel Vadot      - description: Pixel Clock
34*5956d97fSEmmanuel Vadot      - description: HDMI PLL
35*5956d97fSEmmanuel Vadot      - description: Bit Clock
36*5956d97fSEmmanuel Vadot      - description: S/PDIF Clock
37*5956d97fSEmmanuel Vadot
38*5956d97fSEmmanuel Vadot  clock-names:
39*5956d97fSEmmanuel Vadot    items:
40*5956d97fSEmmanuel Vadot      - const: pixel
41*5956d97fSEmmanuel Vadot      - const: pll
42*5956d97fSEmmanuel Vadot      - const: bclk
43*5956d97fSEmmanuel Vadot      - const: spdif
44*5956d97fSEmmanuel Vadot
45*5956d97fSEmmanuel Vadot  phys:
46*5956d97fSEmmanuel Vadot    maxItems: 1
47*5956d97fSEmmanuel Vadot
48*5956d97fSEmmanuel Vadot  phy-names:
49*5956d97fSEmmanuel Vadot    items:
50*5956d97fSEmmanuel Vadot      - const: hdmi
51*5956d97fSEmmanuel Vadot
52*5956d97fSEmmanuel Vadot  mediatek,syscon-hdmi:
53*5956d97fSEmmanuel Vadot    $ref: '/schemas/types.yaml#/definitions/phandle-array'
54*5956d97fSEmmanuel Vadot    maxItems: 1
55*5956d97fSEmmanuel Vadot    description: |
56*5956d97fSEmmanuel Vadot      phandle link and register offset to the system configuration registers.
57*5956d97fSEmmanuel Vadot
58*5956d97fSEmmanuel Vadot  ports:
59*5956d97fSEmmanuel Vadot    $ref: /schemas/graph.yaml#/properties/ports
60*5956d97fSEmmanuel Vadot
61*5956d97fSEmmanuel Vadot    properties:
62*5956d97fSEmmanuel Vadot      port@0:
63*5956d97fSEmmanuel Vadot        $ref: /schemas/graph.yaml#/properties/port
64*5956d97fSEmmanuel Vadot        description: |
65*5956d97fSEmmanuel Vadot          Input port node. This port should be connected to a DPI output port.
66*5956d97fSEmmanuel Vadot
67*5956d97fSEmmanuel Vadot      port@1:
68*5956d97fSEmmanuel Vadot        $ref: /schemas/graph.yaml#/properties/port
69*5956d97fSEmmanuel Vadot        description: |
70*5956d97fSEmmanuel Vadot          Output port node. This port should be connected to the input port of a connector
71*5956d97fSEmmanuel Vadot          node that contains a ddc-i2c-bus property, or to the  input port of an attached
72*5956d97fSEmmanuel Vadot          bridge chip, such as a SlimPort transmitter.
73*5956d97fSEmmanuel Vadot
74*5956d97fSEmmanuel Vadot    required:
75*5956d97fSEmmanuel Vadot      - port@0
76*5956d97fSEmmanuel Vadot      - port@1
77*5956d97fSEmmanuel Vadot
78*5956d97fSEmmanuel Vadotrequired:
79*5956d97fSEmmanuel Vadot  - compatible
80*5956d97fSEmmanuel Vadot  - reg
81*5956d97fSEmmanuel Vadot  - interrupts
82*5956d97fSEmmanuel Vadot  - clocks
83*5956d97fSEmmanuel Vadot  - clock-names
84*5956d97fSEmmanuel Vadot  - phys
85*5956d97fSEmmanuel Vadot  - phy-names
86*5956d97fSEmmanuel Vadot  - mediatek,syscon-hdmi
87*5956d97fSEmmanuel Vadot  - ports
88*5956d97fSEmmanuel Vadot
89*5956d97fSEmmanuel VadotadditionalProperties: false
90*5956d97fSEmmanuel Vadot
91*5956d97fSEmmanuel Vadotexamples:
92*5956d97fSEmmanuel Vadot  - |
93*5956d97fSEmmanuel Vadot    #include <dt-bindings/clock/mt8173-clk.h>
94*5956d97fSEmmanuel Vadot    #include <dt-bindings/interrupt-controller/arm-gic.h>
95*5956d97fSEmmanuel Vadot    #include <dt-bindings/interrupt-controller/irq.h>
96*5956d97fSEmmanuel Vadot    hdmi0: hdmi@14025000 {
97*5956d97fSEmmanuel Vadot        compatible = "mediatek,mt8173-hdmi";
98*5956d97fSEmmanuel Vadot        reg = <0x14025000 0x400>;
99*5956d97fSEmmanuel Vadot        interrupts = <GIC_SPI 206 IRQ_TYPE_LEVEL_LOW>;
100*5956d97fSEmmanuel Vadot        clocks = <&mmsys CLK_MM_HDMI_PIXEL>,
101*5956d97fSEmmanuel Vadot             <&mmsys CLK_MM_HDMI_PLLCK>,
102*5956d97fSEmmanuel Vadot             <&mmsys CLK_MM_HDMI_AUDIO>,
103*5956d97fSEmmanuel Vadot             <&mmsys CLK_MM_HDMI_SPDIF>;
104*5956d97fSEmmanuel Vadot        clock-names = "pixel", "pll", "bclk", "spdif";
105*5956d97fSEmmanuel Vadot        pinctrl-names = "default";
106*5956d97fSEmmanuel Vadot        pinctrl-0 = <&hdmi_pin>;
107*5956d97fSEmmanuel Vadot        phys = <&hdmi_phy>;
108*5956d97fSEmmanuel Vadot        phy-names = "hdmi";
109*5956d97fSEmmanuel Vadot        mediatek,syscon-hdmi = <&mmsys 0x900>;
110*5956d97fSEmmanuel Vadot
111*5956d97fSEmmanuel Vadot        ports {
112*5956d97fSEmmanuel Vadot          #address-cells = <1>;
113*5956d97fSEmmanuel Vadot          #size-cells = <0>;
114*5956d97fSEmmanuel Vadot
115*5956d97fSEmmanuel Vadot          port@0 {
116*5956d97fSEmmanuel Vadot            reg = <0>;
117*5956d97fSEmmanuel Vadot
118*5956d97fSEmmanuel Vadot            hdmi0_in: endpoint {
119*5956d97fSEmmanuel Vadot              remote-endpoint = <&dpi0_out>;
120*5956d97fSEmmanuel Vadot            };
121*5956d97fSEmmanuel Vadot          };
122*5956d97fSEmmanuel Vadot
123*5956d97fSEmmanuel Vadot          port@1 {
124*5956d97fSEmmanuel Vadot            reg = <1>;
125*5956d97fSEmmanuel Vadot
126*5956d97fSEmmanuel Vadot            hdmi0_out: endpoint {
127*5956d97fSEmmanuel Vadot              remote-endpoint = <&hdmi_con_in>;
128*5956d97fSEmmanuel Vadot            };
129*5956d97fSEmmanuel Vadot          };
130*5956d97fSEmmanuel Vadot        };
131*5956d97fSEmmanuel Vadot    };
132*5956d97fSEmmanuel Vadot
133*5956d97fSEmmanuel Vadot...
134