xref: /linux/Documentation/devicetree/bindings/display/mediatek/mediatek,hdmi.yaml (revision 1ac731c529cd4d6adbce134754b51ff7d822b145)
18562e78cSNeil Armstrong# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
28562e78cSNeil Armstrong%YAML 1.2
38562e78cSNeil Armstrong---
48562e78cSNeil Armstrong$id: http://devicetree.org/schemas/display/mediatek/mediatek,hdmi.yaml#
58562e78cSNeil Armstrong$schema: http://devicetree.org/meta-schemas/core.yaml#
68562e78cSNeil Armstrong
7a612130cSKrzysztof Kozlowskititle: Mediatek HDMI Encoder
88562e78cSNeil Armstrong
98562e78cSNeil Armstrongmaintainers:
108562e78cSNeil Armstrong  - CK Hu <ck.hu@mediatek.com>
118562e78cSNeil Armstrong  - Jitao shi <jitao.shi@mediatek.com>
128562e78cSNeil Armstrong
138562e78cSNeil Armstrongdescription: |
148562e78cSNeil Armstrong  The Mediatek HDMI encoder can generate HDMI 1.4a or MHL 2.0 signals from
158562e78cSNeil Armstrong  its parallel input.
168562e78cSNeil Armstrong
178562e78cSNeil Armstrongproperties:
188562e78cSNeil Armstrong  compatible:
198562e78cSNeil Armstrong    enum:
208562e78cSNeil Armstrong      - mediatek,mt2701-hdmi
218562e78cSNeil Armstrong      - mediatek,mt7623-hdmi
2215870b97SNeil Armstrong      - mediatek,mt8167-hdmi
238562e78cSNeil Armstrong      - mediatek,mt8173-hdmi
248562e78cSNeil Armstrong
258562e78cSNeil Armstrong  reg:
268562e78cSNeil Armstrong    maxItems: 1
278562e78cSNeil Armstrong
288562e78cSNeil Armstrong  interrupts:
298562e78cSNeil Armstrong    maxItems: 1
308562e78cSNeil Armstrong
318562e78cSNeil Armstrong  clocks:
328562e78cSNeil Armstrong    items:
338562e78cSNeil Armstrong      - description: Pixel Clock
348562e78cSNeil Armstrong      - description: HDMI PLL
358562e78cSNeil Armstrong      - description: Bit Clock
368562e78cSNeil Armstrong      - description: S/PDIF Clock
378562e78cSNeil Armstrong
388562e78cSNeil Armstrong  clock-names:
398562e78cSNeil Armstrong    items:
408562e78cSNeil Armstrong      - const: pixel
418562e78cSNeil Armstrong      - const: pll
428562e78cSNeil Armstrong      - const: bclk
438562e78cSNeil Armstrong      - const: spdif
448562e78cSNeil Armstrong
458562e78cSNeil Armstrong  phys:
468562e78cSNeil Armstrong    maxItems: 1
478562e78cSNeil Armstrong
488562e78cSNeil Armstrong  phy-names:
498562e78cSNeil Armstrong    items:
508562e78cSNeil Armstrong      - const: hdmi
518562e78cSNeil Armstrong
528562e78cSNeil Armstrong  mediatek,syscon-hdmi:
534334aec0SRob Herring    $ref: /schemas/types.yaml#/definitions/phandle-array
5439bd2b6aSRob Herring    items:
5539bd2b6aSRob Herring      - items:
5639bd2b6aSRob Herring          - description: phandle to system configuration registers
5739bd2b6aSRob Herring          - description: register offset in the system configuration registers
588562e78cSNeil Armstrong    description: |
598562e78cSNeil Armstrong      phandle link and register offset to the system configuration registers.
608562e78cSNeil Armstrong
618562e78cSNeil Armstrong  ports:
628562e78cSNeil Armstrong    $ref: /schemas/graph.yaml#/properties/ports
638562e78cSNeil Armstrong
648562e78cSNeil Armstrong    properties:
658562e78cSNeil Armstrong      port@0:
668562e78cSNeil Armstrong        $ref: /schemas/graph.yaml#/properties/port
678562e78cSNeil Armstrong        description: |
688562e78cSNeil Armstrong          Input port node. This port should be connected to a DPI output port.
698562e78cSNeil Armstrong
708562e78cSNeil Armstrong      port@1:
718562e78cSNeil Armstrong        $ref: /schemas/graph.yaml#/properties/port
728562e78cSNeil Armstrong        description: |
738562e78cSNeil Armstrong          Output port node. This port should be connected to the input port of a connector
748562e78cSNeil Armstrong          node that contains a ddc-i2c-bus property, or to the  input port of an attached
758562e78cSNeil Armstrong          bridge chip, such as a SlimPort transmitter.
768562e78cSNeil Armstrong
778562e78cSNeil Armstrong    required:
788562e78cSNeil Armstrong      - port@0
798562e78cSNeil Armstrong      - port@1
808562e78cSNeil Armstrong
818562e78cSNeil Armstrongrequired:
828562e78cSNeil Armstrong  - compatible
838562e78cSNeil Armstrong  - reg
848562e78cSNeil Armstrong  - interrupts
858562e78cSNeil Armstrong  - clocks
868562e78cSNeil Armstrong  - clock-names
878562e78cSNeil Armstrong  - phys
888562e78cSNeil Armstrong  - phy-names
898562e78cSNeil Armstrong  - mediatek,syscon-hdmi
908562e78cSNeil Armstrong  - ports
918562e78cSNeil Armstrong
928562e78cSNeil ArmstrongadditionalProperties: false
938562e78cSNeil Armstrong
948562e78cSNeil Armstrongexamples:
958562e78cSNeil Armstrong  - |
968562e78cSNeil Armstrong    #include <dt-bindings/clock/mt8173-clk.h>
978562e78cSNeil Armstrong    #include <dt-bindings/interrupt-controller/arm-gic.h>
988562e78cSNeil Armstrong    #include <dt-bindings/interrupt-controller/irq.h>
998562e78cSNeil Armstrong    hdmi0: hdmi@14025000 {
1008562e78cSNeil Armstrong        compatible = "mediatek,mt8173-hdmi";
1018562e78cSNeil Armstrong        reg = <0x14025000 0x400>;
1028562e78cSNeil Armstrong        interrupts = <GIC_SPI 206 IRQ_TYPE_LEVEL_LOW>;
1038562e78cSNeil Armstrong        clocks = <&mmsys CLK_MM_HDMI_PIXEL>,
1048562e78cSNeil Armstrong             <&mmsys CLK_MM_HDMI_PLLCK>,
1058562e78cSNeil Armstrong             <&mmsys CLK_MM_HDMI_AUDIO>,
1068562e78cSNeil Armstrong             <&mmsys CLK_MM_HDMI_SPDIF>;
1078562e78cSNeil Armstrong        clock-names = "pixel", "pll", "bclk", "spdif";
1088562e78cSNeil Armstrong        pinctrl-names = "default";
1098562e78cSNeil Armstrong        pinctrl-0 = <&hdmi_pin>;
1108562e78cSNeil Armstrong        phys = <&hdmi_phy>;
1118562e78cSNeil Armstrong        phy-names = "hdmi";
1128562e78cSNeil Armstrong        mediatek,syscon-hdmi = <&mmsys 0x900>;
1138562e78cSNeil Armstrong
1148562e78cSNeil Armstrong        ports {
1158562e78cSNeil Armstrong          #address-cells = <1>;
1168562e78cSNeil Armstrong          #size-cells = <0>;
1178562e78cSNeil Armstrong
1188562e78cSNeil Armstrong          port@0 {
1198562e78cSNeil Armstrong            reg = <0>;
1208562e78cSNeil Armstrong
1218562e78cSNeil Armstrong            hdmi0_in: endpoint {
1228562e78cSNeil Armstrong              remote-endpoint = <&dpi0_out>;
1238562e78cSNeil Armstrong            };
1248562e78cSNeil Armstrong          };
1258562e78cSNeil Armstrong
1268562e78cSNeil Armstrong          port@1 {
1278562e78cSNeil Armstrong            reg = <1>;
1288562e78cSNeil Armstrong
1298562e78cSNeil Armstrong            hdmi0_out: endpoint {
1308562e78cSNeil Armstrong              remote-endpoint = <&hdmi_con_in>;
1318562e78cSNeil Armstrong            };
1328562e78cSNeil Armstrong          };
1338562e78cSNeil Armstrong        };
1348562e78cSNeil Armstrong    };
1358562e78cSNeil Armstrong
1368562e78cSNeil Armstrong...
137