xref: /linux/Documentation/devicetree/bindings/display/mediatek/mediatek,ovl.yaml (revision 1260ed77798502de9c98020040d2995008de10cc)
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