1*b935c3a2SLaurent Pinchart# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2*b935c3a2SLaurent Pinchart%YAML 1.2
3*b935c3a2SLaurent Pinchart---
4*b935c3a2SLaurent Pinchart$id: http://devicetree.org/schemas/display/imx/fsl,imx6-hdmi.yaml#
5*b935c3a2SLaurent Pinchart$schema: http://devicetree.org/meta-schemas/core.yaml#
6*b935c3a2SLaurent Pinchart
7*b935c3a2SLaurent Pincharttitle: Freescale i.MX6 DWC HDMI TX Encoder
8*b935c3a2SLaurent Pinchart
9*b935c3a2SLaurent Pinchartmaintainers:
10*b935c3a2SLaurent Pinchart  - Philipp Zabel <p.zabel@pengutronix.de>
11*b935c3a2SLaurent Pinchart
12*b935c3a2SLaurent Pinchartdescription: |
13*b935c3a2SLaurent Pinchart  The HDMI transmitter is a Synopsys DesignWare HDMI 1.4 TX controller IP
14*b935c3a2SLaurent Pinchart  with a companion PHY IP.
15*b935c3a2SLaurent Pinchart
16*b935c3a2SLaurent PinchartallOf:
17*b935c3a2SLaurent Pinchart  - $ref: ../bridge/synopsys,dw-hdmi.yaml#
18*b935c3a2SLaurent Pinchart
19*b935c3a2SLaurent Pinchartproperties:
20*b935c3a2SLaurent Pinchart  compatible:
21*b935c3a2SLaurent Pinchart    enum:
22*b935c3a2SLaurent Pinchart      - fsl,imx6dl-hdmi
23*b935c3a2SLaurent Pinchart      - fsl,imx6q-hdmi
24*b935c3a2SLaurent Pinchart
25*b935c3a2SLaurent Pinchart  reg-io-width:
26*b935c3a2SLaurent Pinchart    const: 1
27*b935c3a2SLaurent Pinchart
28*b935c3a2SLaurent Pinchart  clocks:
29*b935c3a2SLaurent Pinchart    maxItems: 2
30*b935c3a2SLaurent Pinchart
31*b935c3a2SLaurent Pinchart  clock-names:
32*b935c3a2SLaurent Pinchart    maxItems: 2
33*b935c3a2SLaurent Pinchart
34*b935c3a2SLaurent Pinchart  ddc-i2c-bus:
35*b935c3a2SLaurent Pinchart    $ref: /schemas/types.yaml#/definitions/phandle
36*b935c3a2SLaurent Pinchart    description:
37*b935c3a2SLaurent Pinchart      The HDMI DDC bus can be connected to either a system I2C master or the
38*b935c3a2SLaurent Pinchart      functionally-reduced I2C master contained in the DWC HDMI. When connected
39*b935c3a2SLaurent Pinchart      to a system I2C master this property contains a phandle to that I2C
40*b935c3a2SLaurent Pinchart      master controller.
41*b935c3a2SLaurent Pinchart
42*b935c3a2SLaurent Pinchart  gpr:
43*b935c3a2SLaurent Pinchart    $ref: /schemas/types.yaml#/definitions/phandle
44*b935c3a2SLaurent Pinchart    description:
45*b935c3a2SLaurent Pinchart      phandle to the iomuxc-gpr region containing the HDMI multiplexer control
46*b935c3a2SLaurent Pinchart      register.
47*b935c3a2SLaurent Pinchart
48*b935c3a2SLaurent Pinchart  ports:
49*b935c3a2SLaurent Pinchart    $ref: /schemas/graph.yaml#/properties/ports
50*b935c3a2SLaurent Pinchart    description: |
51*b935c3a2SLaurent Pinchart      This device has four video ports, corresponding to the four inputs of the
52*b935c3a2SLaurent Pinchart      HDMI multiplexer. Each port shall have a single endpoint.
53*b935c3a2SLaurent Pinchart
54*b935c3a2SLaurent Pinchart    properties:
55*b935c3a2SLaurent Pinchart      port@0:
56*b935c3a2SLaurent Pinchart        $ref: /schemas/graph.yaml#/properties/port
57*b935c3a2SLaurent Pinchart        description: First input of the HDMI multiplexer
58*b935c3a2SLaurent Pinchart
59*b935c3a2SLaurent Pinchart      port@1:
60*b935c3a2SLaurent Pinchart        $ref: /schemas/graph.yaml#/properties/port
61*b935c3a2SLaurent Pinchart        description: Second input of the HDMI multiplexer
62*b935c3a2SLaurent Pinchart
63*b935c3a2SLaurent Pinchart      port@2:
64*b935c3a2SLaurent Pinchart        $ref: /schemas/graph.yaml#/properties/port
65*b935c3a2SLaurent Pinchart        description: Third input of the HDMI multiplexer
66*b935c3a2SLaurent Pinchart
67*b935c3a2SLaurent Pinchart      port@3:
68*b935c3a2SLaurent Pinchart        $ref: /schemas/graph.yaml#/properties/port
69*b935c3a2SLaurent Pinchart        description: Fourth input of the HDMI multiplexer
70*b935c3a2SLaurent Pinchart
71*b935c3a2SLaurent Pinchart    anyOf:
72*b935c3a2SLaurent Pinchart      - required:
73*b935c3a2SLaurent Pinchart          - port@0
74*b935c3a2SLaurent Pinchart      - required:
75*b935c3a2SLaurent Pinchart          - port@1
76*b935c3a2SLaurent Pinchart      - required:
77*b935c3a2SLaurent Pinchart          - port@2
78*b935c3a2SLaurent Pinchart      - required:
79*b935c3a2SLaurent Pinchart          - port@3
80*b935c3a2SLaurent Pinchart
81*b935c3a2SLaurent Pinchartrequired:
82*b935c3a2SLaurent Pinchart  - compatible
83*b935c3a2SLaurent Pinchart  - reg
84*b935c3a2SLaurent Pinchart  - clocks
85*b935c3a2SLaurent Pinchart  - clock-names
86*b935c3a2SLaurent Pinchart  - gpr
87*b935c3a2SLaurent Pinchart  - interrupts
88*b935c3a2SLaurent Pinchart  - ports
89*b935c3a2SLaurent Pinchart
90*b935c3a2SLaurent PinchartadditionalProperties: false
91*b935c3a2SLaurent Pinchart
92*b935c3a2SLaurent Pinchartexamples:
93*b935c3a2SLaurent Pinchart  - |
94*b935c3a2SLaurent Pinchart    #include <dt-bindings/clock/imx6qdl-clock.h>
95*b935c3a2SLaurent Pinchart
96*b935c3a2SLaurent Pinchart    hdmi: hdmi@120000 {
97*b935c3a2SLaurent Pinchart        reg = <0x00120000 0x9000>;
98*b935c3a2SLaurent Pinchart        interrupts = <0 115 0x04>;
99*b935c3a2SLaurent Pinchart        gpr = <&gpr>;
100*b935c3a2SLaurent Pinchart        clocks = <&clks IMX6QDL_CLK_HDMI_IAHB>,
101*b935c3a2SLaurent Pinchart                 <&clks IMX6QDL_CLK_HDMI_ISFR>;
102*b935c3a2SLaurent Pinchart        clock-names = "iahb", "isfr";
103*b935c3a2SLaurent Pinchart
104*b935c3a2SLaurent Pinchart        ports {
105*b935c3a2SLaurent Pinchart            #address-cells = <1>;
106*b935c3a2SLaurent Pinchart            #size-cells = <0>;
107*b935c3a2SLaurent Pinchart
108*b935c3a2SLaurent Pinchart            port@0 {
109*b935c3a2SLaurent Pinchart                reg = <0>;
110*b935c3a2SLaurent Pinchart
111*b935c3a2SLaurent Pinchart                hdmi_mux_0: endpoint {
112*b935c3a2SLaurent Pinchart                    remote-endpoint = <&ipu1_di0_hdmi>;
113*b935c3a2SLaurent Pinchart                };
114*b935c3a2SLaurent Pinchart            };
115*b935c3a2SLaurent Pinchart
116*b935c3a2SLaurent Pinchart            port@1 {
117*b935c3a2SLaurent Pinchart                reg = <1>;
118*b935c3a2SLaurent Pinchart
119*b935c3a2SLaurent Pinchart                hdmi_mux_1: endpoint {
120*b935c3a2SLaurent Pinchart                    remote-endpoint = <&ipu1_di1_hdmi>;
121*b935c3a2SLaurent Pinchart                };
122*b935c3a2SLaurent Pinchart            };
123*b935c3a2SLaurent Pinchart        };
124*b935c3a2SLaurent Pinchart    };
125*b935c3a2SLaurent Pinchart
126*b935c3a2SLaurent Pinchart...
127