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,dpi.yaml# 5$schema: http://devicetree.org/meta-schemas/core.yaml# 6 7title: MediaTek DPI and DP_INTF Controller 8 9maintainers: 10 - CK Hu <ck.hu@mediatek.com> 11 - Jitao shi <jitao.shi@mediatek.com> 12 13description: | 14 The MediaTek DPI and DP_INTF function blocks are a sink of the display 15 subsystem and provides 8-bit RGB/YUV444 or 8/10/10-bit YUV422 pixel data on a 16 parallel output bus. 17 18properties: 19 compatible: 20 oneOf: 21 - enum: 22 - mediatek,mt2701-dpi 23 - mediatek,mt7623-dpi 24 - mediatek,mt8173-dpi 25 - mediatek,mt8183-dpi 26 - mediatek,mt8186-dpi 27 - mediatek,mt8188-dp-intf 28 - mediatek,mt8192-dpi 29 - mediatek,mt8195-dp-intf 30 - mediatek,mt8195-dpi 31 - items: 32 - enum: 33 - mediatek,mt6795-dpi 34 - const: mediatek,mt8183-dpi 35 - items: 36 - enum: 37 - mediatek,mt8365-dpi 38 - const: mediatek,mt8192-dpi 39 - items: 40 - enum: 41 - mediatek,mt8188-dpi 42 - const: mediatek,mt8195-dpi 43 44 reg: 45 maxItems: 1 46 47 interrupts: 48 maxItems: 1 49 50 clocks: 51 items: 52 - description: Pixel Clock 53 - description: Engine Clock 54 - description: DPI PLL 55 56 clock-names: 57 items: 58 - const: pixel 59 - const: engine 60 - const: pll 61 62 pinctrl-0: true 63 pinctrl-1: true 64 65 pinctrl-names: 66 items: 67 - const: default 68 - const: sleep 69 70 power-domains: 71 description: | 72 The MediaTek DPI module is typically associated with one of the 73 following multimedia power domains: 74 POWER_DOMAIN_DISPLAY 75 POWER_DOMAIN_VDOSYS 76 POWER_DOMAIN_MM 77 The specific power domain used varies depending on the SoC design. 78 79 It is recommended to explicitly add the appropriate power domain 80 property to the DPI node in the device tree. 81 maxItems: 1 82 83 port: 84 $ref: /schemas/graph.yaml#/properties/port 85 description: 86 Output port node. This port should be connected to the input port of an 87 attached HDMI, LVDS or DisplayPort encoder chip. 88 89 ports: 90 $ref: /schemas/graph.yaml#/properties/ports 91 92 properties: 93 port@0: 94 $ref: /schemas/graph.yaml#/properties/port 95 description: DPI input port 96 97 port@1: 98 $ref: /schemas/graph.yaml#/properties/port 99 description: DPI output to an HDMI, LVDS or DisplayPort encoder input 100 101 required: 102 - port@0 103 - port@1 104 105required: 106 - compatible 107 - reg 108 - interrupts 109 - clocks 110 - clock-names 111 112oneOf: 113 - required: 114 - port 115 - required: 116 - ports 117 118additionalProperties: false 119 120examples: 121 - | 122 #include <dt-bindings/interrupt-controller/arm-gic.h> 123 #include <dt-bindings/clock/mt8173-clk.h> 124 #include <dt-bindings/power/mt8173-power.h> 125 126 dpi: dpi@1401d000 { 127 compatible = "mediatek,mt8173-dpi"; 128 reg = <0x1401d000 0x1000>; 129 interrupts = <GIC_SPI 194 IRQ_TYPE_LEVEL_LOW>; 130 power-domains = <&spm MT8173_POWER_DOMAIN_MM>; 131 clocks = <&mmsys CLK_MM_DPI_PIXEL>, 132 <&mmsys CLK_MM_DPI_ENGINE>, 133 <&apmixedsys CLK_APMIXED_TVDPLL>; 134 clock-names = "pixel", "engine", "pll"; 135 pinctrl-names = "default", "sleep"; 136 pinctrl-0 = <&dpi_pin_func>; 137 pinctrl-1 = <&dpi_pin_idle>; 138 139 port { 140 dpi0_out: endpoint { 141 remote-endpoint = <&hdmi0_in>; 142 }; 143 }; 144 }; 145 146... 147