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