14ed545e7Sjason-jh.lin# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 24ed545e7Sjason-jh.lin%YAML 1.2 34ed545e7Sjason-jh.lin--- 44ed545e7Sjason-jh.lin$id: http://devicetree.org/schemas/display/mediatek/mediatek,ovl.yaml# 54ed545e7Sjason-jh.lin$schema: http://devicetree.org/meta-schemas/core.yaml# 64ed545e7Sjason-jh.lin 74ed545e7Sjason-jh.lintitle: Mediatek display overlay 84ed545e7Sjason-jh.lin 94ed545e7Sjason-jh.linmaintainers: 104ed545e7Sjason-jh.lin - Chun-Kuang Hu <chunkuang.hu@kernel.org> 114ed545e7Sjason-jh.lin - Philipp Zabel <p.zabel@pengutronix.de> 124ed545e7Sjason-jh.lin 134ed545e7Sjason-jh.lindescription: | 144ed545e7Sjason-jh.lin Mediatek display overlay, namely OVL, can do alpha blending from 154ed545e7Sjason-jh.lin the memory. 164ed545e7Sjason-jh.lin OVL device node must be siblings to the central MMSYS_CONFIG node. 174ed545e7Sjason-jh.lin For a description of the MMSYS_CONFIG binding, see 184ed545e7Sjason-jh.lin Documentation/devicetree/bindings/arm/mediatek/mediatek,mmsys.yaml 194ed545e7Sjason-jh.lin for details. 204ed545e7Sjason-jh.lin 214ed545e7Sjason-jh.linproperties: 224ed545e7Sjason-jh.lin compatible: 234ed545e7Sjason-jh.lin oneOf: 24112d5560SKrzysztof Kozlowski - enum: 25112d5560SKrzysztof Kozlowski - mediatek,mt2701-disp-ovl 26112d5560SKrzysztof Kozlowski - mediatek,mt8173-disp-ovl 27112d5560SKrzysztof Kozlowski - mediatek,mt8183-disp-ovl 28112d5560SKrzysztof Kozlowski - mediatek,mt8192-disp-ovl 29*5086c55aSHsiao Chien Sung - mediatek,mt8195-disp-ovl 30fe49f432SMoudy Ho - mediatek,mt8195-mdp3-ovl 314ed545e7Sjason-jh.lin - items: 324ed545e7Sjason-jh.lin - enum: 334ed545e7Sjason-jh.lin - mediatek,mt7623-disp-ovl 344ed545e7Sjason-jh.lin - mediatek,mt2712-disp-ovl 3546bc0d98SRex-BC Chen - const: mediatek,mt2701-disp-ovl 36a79257baSjason-jh.lin - items: 37a79257baSjason-jh.lin - enum: 3835b7a18cSAngeloGioacchino Del Regno - mediatek,mt6795-disp-ovl 3935b7a18cSAngeloGioacchino Del Regno - const: mediatek,mt8173-disp-ovl 4035b7a18cSAngeloGioacchino Del Regno - items: 4135b7a18cSAngeloGioacchino Del Regno - enum: 428a26ea19SRex-BC Chen - mediatek,mt8186-disp-ovl 438d31a0e0SAlexandre Mergnat - mediatek,mt8365-disp-ovl 448a26ea19SRex-BC Chen - const: mediatek,mt8192-disp-ovl 454726336cSJason-JH.Lin - items: 46*5086c55aSHsiao Chien Sung - const: mediatek,mt8188-disp-ovl 47*5086c55aSHsiao Chien Sung - const: mediatek,mt8195-disp-ovl 48*5086c55aSHsiao Chien Sung - items: 494726336cSJason-JH.Lin - const: mediatek,mt8188-mdp3-ovl 504726336cSJason-JH.Lin - const: mediatek,mt8195-mdp3-ovl 514ed545e7Sjason-jh.lin 524ed545e7Sjason-jh.lin reg: 534ed545e7Sjason-jh.lin maxItems: 1 544ed545e7Sjason-jh.lin 554ed545e7Sjason-jh.lin interrupts: 564ed545e7Sjason-jh.lin maxItems: 1 574ed545e7Sjason-jh.lin 584ed545e7Sjason-jh.lin power-domains: 594ed545e7Sjason-jh.lin description: A phandle and PM domain specifier as defined by bindings of 604ed545e7Sjason-jh.lin the power controller specified by phandle. See 614ed545e7Sjason-jh.lin Documentation/devicetree/bindings/power/power-domain.yaml for details. 624ed545e7Sjason-jh.lin 634ed545e7Sjason-jh.lin clocks: 644ed545e7Sjason-jh.lin items: 654ed545e7Sjason-jh.lin - description: OVL Clock 664ed545e7Sjason-jh.lin 674ed545e7Sjason-jh.lin iommus: 684ed545e7Sjason-jh.lin description: 694ed545e7Sjason-jh.lin This property should point to the respective IOMMU block with master port as argument, 704ed545e7Sjason-jh.lin see Documentation/devicetree/bindings/iommu/mediatek,iommu.yaml for details. 714ed545e7Sjason-jh.lin 724ed545e7Sjason-jh.lin mediatek,gce-client-reg: 734ed545e7Sjason-jh.lin description: The register of client driver can be configured by gce with 744ed545e7Sjason-jh.lin 4 arguments defined in this property, such as phandle of gce, subsys id, 754ed545e7Sjason-jh.lin register offset and size. Each GCE subsys id is mapping to a client 764ed545e7Sjason-jh.lin defined in the header include/dt-bindings/gce/<chip>-gce.h. 774ed545e7Sjason-jh.lin $ref: /schemas/types.yaml#/definitions/phandle-array 784ed545e7Sjason-jh.lin maxItems: 1 794ed545e7Sjason-jh.lin 802b6433f3SAngeloGioacchino Del Regno ports: 812b6433f3SAngeloGioacchino Del Regno $ref: /schemas/graph.yaml#/properties/ports 822b6433f3SAngeloGioacchino Del Regno description: 832b6433f3SAngeloGioacchino Del Regno Input and output ports can have multiple endpoints, each of those 842b6433f3SAngeloGioacchino Del Regno connects to either the primary, secondary, etc, display pipeline. 852b6433f3SAngeloGioacchino Del Regno 862b6433f3SAngeloGioacchino Del Regno properties: 872b6433f3SAngeloGioacchino Del Regno port@0: 882b6433f3SAngeloGioacchino Del Regno $ref: /schemas/graph.yaml#/properties/port 892b6433f3SAngeloGioacchino Del Regno description: OVL input port from MMSYS or one of multiple VDOSYS 902b6433f3SAngeloGioacchino Del Regno 912b6433f3SAngeloGioacchino Del Regno port@1: 922b6433f3SAngeloGioacchino Del Regno $ref: /schemas/graph.yaml#/properties/port 932b6433f3SAngeloGioacchino Del Regno description: 942b6433f3SAngeloGioacchino Del Regno OVL output to the input of the next desired component in the 952b6433f3SAngeloGioacchino Del Regno display pipeline, for example one of the available COLOR, RDMA 962b6433f3SAngeloGioacchino Del Regno or WDMA blocks. 972b6433f3SAngeloGioacchino Del Regno 982b6433f3SAngeloGioacchino Del Regno required: 992b6433f3SAngeloGioacchino Del Regno - port@0 1002b6433f3SAngeloGioacchino Del Regno - port@1 1012b6433f3SAngeloGioacchino Del Regno 1024ed545e7Sjason-jh.linrequired: 1034ed545e7Sjason-jh.lin - compatible 1044ed545e7Sjason-jh.lin - reg 1054ed545e7Sjason-jh.lin - interrupts 1064ed545e7Sjason-jh.lin - power-domains 1074ed545e7Sjason-jh.lin - clocks 10810f17b20SAngeloGioacchino Del Regno - iommus 1094ed545e7Sjason-jh.lin 1104ed545e7Sjason-jh.linadditionalProperties: false 1114ed545e7Sjason-jh.lin 1124ed545e7Sjason-jh.linexamples: 1134ed545e7Sjason-jh.lin - | 114bff4e302SAngeloGioacchino Del Regno #include <dt-bindings/interrupt-controller/arm-gic.h> 115bff4e302SAngeloGioacchino Del Regno #include <dt-bindings/clock/mt8173-clk.h> 116bff4e302SAngeloGioacchino Del Regno #include <dt-bindings/power/mt8173-power.h> 117bff4e302SAngeloGioacchino Del Regno #include <dt-bindings/gce/mt8173-gce.h> 118bff4e302SAngeloGioacchino Del Regno #include <dt-bindings/memory/mt8173-larb-port.h> 119bff4e302SAngeloGioacchino Del Regno 120bff4e302SAngeloGioacchino Del Regno soc { 121bff4e302SAngeloGioacchino Del Regno #address-cells = <2>; 122bff4e302SAngeloGioacchino Del Regno #size-cells = <2>; 1234ed545e7Sjason-jh.lin 1244ed545e7Sjason-jh.lin ovl0: ovl@1400c000 { 1254ed545e7Sjason-jh.lin compatible = "mediatek,mt8173-disp-ovl"; 1264ed545e7Sjason-jh.lin reg = <0 0x1400c000 0 0x1000>; 1274ed545e7Sjason-jh.lin interrupts = <GIC_SPI 180 IRQ_TYPE_LEVEL_LOW>; 1284ed545e7Sjason-jh.lin power-domains = <&scpsys MT8173_POWER_DOMAIN_MM>; 1294ed545e7Sjason-jh.lin clocks = <&mmsys CLK_MM_DISP_OVL0>; 1304ed545e7Sjason-jh.lin iommus = <&iommu M4U_PORT_DISP_OVL0>; 1314ed545e7Sjason-jh.lin mediatek,gce-client-reg = <&gce SUBSYS_1400XXXX 0xc000 0x1000>; 1324ed545e7Sjason-jh.lin }; 133bff4e302SAngeloGioacchino Del Regno }; 134