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