1*ae5de77eSEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2*ae5de77eSEmmanuel Vadot%YAML 1.2 3*ae5de77eSEmmanuel Vadot--- 4*ae5de77eSEmmanuel Vadot$id: http://devicetree.org/schemas/display/mediatek/mediatek,mt8195-hdmi.yaml# 5*ae5de77eSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml# 6*ae5de77eSEmmanuel Vadot 7*ae5de77eSEmmanuel Vadottitle: MediaTek MT8195 series HDMI-TX Encoder 8*ae5de77eSEmmanuel Vadot 9*ae5de77eSEmmanuel Vadotmaintainers: 10*ae5de77eSEmmanuel Vadot - AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com> 11*ae5de77eSEmmanuel Vadot - CK Hu <ck.hu@mediatek.com> 12*ae5de77eSEmmanuel Vadot 13*ae5de77eSEmmanuel Vadotdescription: 14*ae5de77eSEmmanuel Vadot The MediaTek HDMI-TX v2 encoder can generate HDMI format data based on 15*ae5de77eSEmmanuel Vadot the HDMI Specification 2.0b. 16*ae5de77eSEmmanuel Vadot 17*ae5de77eSEmmanuel Vadotproperties: 18*ae5de77eSEmmanuel Vadot compatible: 19*ae5de77eSEmmanuel Vadot enum: 20*ae5de77eSEmmanuel Vadot - mediatek,mt8188-hdmi-tx 21*ae5de77eSEmmanuel Vadot - mediatek,mt8195-hdmi-tx 22*ae5de77eSEmmanuel Vadot 23*ae5de77eSEmmanuel Vadot reg: 24*ae5de77eSEmmanuel Vadot maxItems: 1 25*ae5de77eSEmmanuel Vadot 26*ae5de77eSEmmanuel Vadot interrupts: 27*ae5de77eSEmmanuel Vadot maxItems: 1 28*ae5de77eSEmmanuel Vadot 29*ae5de77eSEmmanuel Vadot clocks: 30*ae5de77eSEmmanuel Vadot items: 31*ae5de77eSEmmanuel Vadot - description: HDMI Peripheral Bus (APB) clock 32*ae5de77eSEmmanuel Vadot - description: HDCP and HDMI_TOP clock 33*ae5de77eSEmmanuel Vadot - description: HDCP, HDMI_TOP and HDMI Audio reference clock 34*ae5de77eSEmmanuel Vadot - description: VPP HDMI Split clock 35*ae5de77eSEmmanuel Vadot 36*ae5de77eSEmmanuel Vadot clock-names: 37*ae5de77eSEmmanuel Vadot items: 38*ae5de77eSEmmanuel Vadot - const: bus 39*ae5de77eSEmmanuel Vadot - const: hdcp 40*ae5de77eSEmmanuel Vadot - const: hdcp24m 41*ae5de77eSEmmanuel Vadot - const: hdmi-split 42*ae5de77eSEmmanuel Vadot 43*ae5de77eSEmmanuel Vadot i2c: 44*ae5de77eSEmmanuel Vadot type: object 45*ae5de77eSEmmanuel Vadot $ref: /schemas/display/mediatek/mediatek,mt8195-hdmi-ddc.yaml 46*ae5de77eSEmmanuel Vadot unevaluatedProperties: false 47*ae5de77eSEmmanuel Vadot description: HDMI DDC I2C controller 48*ae5de77eSEmmanuel Vadot 49*ae5de77eSEmmanuel Vadot phys: 50*ae5de77eSEmmanuel Vadot maxItems: 1 51*ae5de77eSEmmanuel Vadot description: PHY providing clocking TMDS and pixel to controller 52*ae5de77eSEmmanuel Vadot 53*ae5de77eSEmmanuel Vadot phy-names: 54*ae5de77eSEmmanuel Vadot items: 55*ae5de77eSEmmanuel Vadot - const: hdmi 56*ae5de77eSEmmanuel Vadot 57*ae5de77eSEmmanuel Vadot power-domains: 58*ae5de77eSEmmanuel Vadot maxItems: 1 59*ae5de77eSEmmanuel Vadot 60*ae5de77eSEmmanuel Vadot '#sound-dai-cells': 61*ae5de77eSEmmanuel Vadot const: 1 62*ae5de77eSEmmanuel Vadot 63*ae5de77eSEmmanuel Vadot ports: 64*ae5de77eSEmmanuel Vadot $ref: /schemas/graph.yaml#/properties/ports 65*ae5de77eSEmmanuel Vadot 66*ae5de77eSEmmanuel Vadot properties: 67*ae5de77eSEmmanuel Vadot port@0: 68*ae5de77eSEmmanuel Vadot $ref: /schemas/graph.yaml#/properties/port 69*ae5de77eSEmmanuel Vadot description: 70*ae5de77eSEmmanuel Vadot Input port, usually connected to the output port of a DPI 71*ae5de77eSEmmanuel Vadot 72*ae5de77eSEmmanuel Vadot port@1: 73*ae5de77eSEmmanuel Vadot $ref: /schemas/graph.yaml#/properties/port 74*ae5de77eSEmmanuel Vadot description: 75*ae5de77eSEmmanuel Vadot Output port that must be connected either to the input port of 76*ae5de77eSEmmanuel Vadot a HDMI connector node containing a ddc-i2c-bus, or to the input 77*ae5de77eSEmmanuel Vadot port of an attached bridge chip, such as a SlimPort transmitter. 78*ae5de77eSEmmanuel Vadot 79*ae5de77eSEmmanuel Vadot required: 80*ae5de77eSEmmanuel Vadot - port@0 81*ae5de77eSEmmanuel Vadot - port@1 82*ae5de77eSEmmanuel Vadot 83*ae5de77eSEmmanuel Vadotrequired: 84*ae5de77eSEmmanuel Vadot - compatible 85*ae5de77eSEmmanuel Vadot - reg 86*ae5de77eSEmmanuel Vadot - interrupts 87*ae5de77eSEmmanuel Vadot - clocks 88*ae5de77eSEmmanuel Vadot - clock-names 89*ae5de77eSEmmanuel Vadot - power-domains 90*ae5de77eSEmmanuel Vadot - phys 91*ae5de77eSEmmanuel Vadot - phy-names 92*ae5de77eSEmmanuel Vadot - ports 93*ae5de77eSEmmanuel Vadot 94*ae5de77eSEmmanuel VadotallOf: 95*ae5de77eSEmmanuel Vadot - $ref: /schemas/sound/dai-common.yaml# 96*ae5de77eSEmmanuel Vadot 97*ae5de77eSEmmanuel VadotadditionalProperties: false 98*ae5de77eSEmmanuel Vadot 99*ae5de77eSEmmanuel Vadotexamples: 100*ae5de77eSEmmanuel Vadot - | 101*ae5de77eSEmmanuel Vadot #include <dt-bindings/clock/mt8195-clk.h> 102*ae5de77eSEmmanuel Vadot #include <dt-bindings/interrupt-controller/arm-gic.h> 103*ae5de77eSEmmanuel Vadot #include <dt-bindings/power/mt8195-power.h> 104*ae5de77eSEmmanuel Vadot 105*ae5de77eSEmmanuel Vadot soc { 106*ae5de77eSEmmanuel Vadot #address-cells = <2>; 107*ae5de77eSEmmanuel Vadot #size-cells = <2>; 108*ae5de77eSEmmanuel Vadot 109*ae5de77eSEmmanuel Vadot hdmi@1c300000 { 110*ae5de77eSEmmanuel Vadot compatible = "mediatek,mt8195-hdmi-tx"; 111*ae5de77eSEmmanuel Vadot reg = <0 0x1c300000 0 0x1000>; 112*ae5de77eSEmmanuel Vadot clocks = <&topckgen CLK_TOP_HDMI_APB>, 113*ae5de77eSEmmanuel Vadot <&topckgen CLK_TOP_HDCP>, 114*ae5de77eSEmmanuel Vadot <&topckgen CLK_TOP_HDCP_24M>, 115*ae5de77eSEmmanuel Vadot <&vppsys1 CLK_VPP1_VPP_SPLIT_HDMI>; 116*ae5de77eSEmmanuel Vadot clock-names = "bus", "hdcp", "hdcp24m", "hdmi-split"; 117*ae5de77eSEmmanuel Vadot interrupts = <GIC_SPI 677 IRQ_TYPE_LEVEL_HIGH 0>; 118*ae5de77eSEmmanuel Vadot phys = <&hdmi_phy>; 119*ae5de77eSEmmanuel Vadot phy-names = "hdmi"; 120*ae5de77eSEmmanuel Vadot power-domains = <&spm MT8195_POWER_DOMAIN_HDMI_TX>; 121*ae5de77eSEmmanuel Vadot pinctrl-names = "default"; 122*ae5de77eSEmmanuel Vadot pinctrl-0 = <&hdmi_pins>; 123*ae5de77eSEmmanuel Vadot #sound-dai-cells = <1>; 124*ae5de77eSEmmanuel Vadot 125*ae5de77eSEmmanuel Vadot hdmitx_ddc: i2c { 126*ae5de77eSEmmanuel Vadot compatible = "mediatek,mt8195-hdmi-ddc"; 127*ae5de77eSEmmanuel Vadot clocks = <&clk26m>; 128*ae5de77eSEmmanuel Vadot }; 129*ae5de77eSEmmanuel Vadot 130*ae5de77eSEmmanuel Vadot ports { 131*ae5de77eSEmmanuel Vadot #address-cells = <1>; 132*ae5de77eSEmmanuel Vadot #size-cells = <0>; 133*ae5de77eSEmmanuel Vadot 134*ae5de77eSEmmanuel Vadot port@0 { 135*ae5de77eSEmmanuel Vadot reg = <0>; 136*ae5de77eSEmmanuel Vadot 137*ae5de77eSEmmanuel Vadot hdmi_in: endpoint { 138*ae5de77eSEmmanuel Vadot remote-endpoint = <&dpi1_out>; 139*ae5de77eSEmmanuel Vadot }; 140*ae5de77eSEmmanuel Vadot }; 141*ae5de77eSEmmanuel Vadot 142*ae5de77eSEmmanuel Vadot port@1 { 143*ae5de77eSEmmanuel Vadot reg = <1>; 144*ae5de77eSEmmanuel Vadot 145*ae5de77eSEmmanuel Vadot hdmi_out: endpoint { 146*ae5de77eSEmmanuel Vadot remote-endpoint = <&hdmi_connector_in>; 147*ae5de77eSEmmanuel Vadot }; 148*ae5de77eSEmmanuel Vadot }; 149*ae5de77eSEmmanuel Vadot }; 150*ae5de77eSEmmanuel Vadot }; 151*ae5de77eSEmmanuel Vadot }; 152