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,merge.yaml# 54ed545e7Sjason-jh.lin$schema: http://devicetree.org/meta-schemas/core.yaml# 64ed545e7Sjason-jh.lin 74ed545e7Sjason-jh.lintitle: Mediatek display merge 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 merge, namely MERGE, is used to merge two slice-per-line 154ed545e7Sjason-jh.lin inputs into one side-by-side output. 164ed545e7Sjason-jh.lin MERGE 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,mt8173-disp-merge 26112d5560SKrzysztof Kozlowski - mediatek,mt8195-disp-merge 274ae88e9cSMoudy Ho - mediatek,mt8195-mdp3-merge 28400ab909SAngeloGioacchino Del Regno - items: 29*2971de06SAngeloGioacchino Del Regno - enum: 30*2971de06SAngeloGioacchino Del Regno - mediatek,mt8188-mdp3-merge 31*2971de06SAngeloGioacchino Del Regno - const: mediatek,mt8195-mdp3-merge 32*2971de06SAngeloGioacchino Del Regno - items: 33400ab909SAngeloGioacchino Del Regno - const: mediatek,mt6795-disp-merge 34400ab909SAngeloGioacchino Del Regno - const: mediatek,mt8173-disp-merge 35c2501ad2SHsiao Chien Sung - items: 36c2501ad2SHsiao Chien Sung - const: mediatek,mt8188-disp-merge 37c2501ad2SHsiao Chien Sung - const: mediatek,mt8195-disp-merge 384ed545e7Sjason-jh.lin 394ed545e7Sjason-jh.lin reg: 404ed545e7Sjason-jh.lin maxItems: 1 414ed545e7Sjason-jh.lin 424ed545e7Sjason-jh.lin interrupts: 434ed545e7Sjason-jh.lin maxItems: 1 444ed545e7Sjason-jh.lin 454ed545e7Sjason-jh.lin power-domains: 464ed545e7Sjason-jh.lin description: A phandle and PM domain specifier as defined by bindings of 474ed545e7Sjason-jh.lin the power controller specified by phandle. See 484ed545e7Sjason-jh.lin Documentation/devicetree/bindings/power/power-domain.yaml for details. 494ed545e7Sjason-jh.lin 504ed545e7Sjason-jh.lin clocks: 51bff4e302SAngeloGioacchino Del Regno minItems: 1 521cffdf60Sjason-jh.lin maxItems: 2 531cffdf60Sjason-jh.lin 541cffdf60Sjason-jh.lin clock-names: 55bff4e302SAngeloGioacchino Del Regno oneOf: 56bff4e302SAngeloGioacchino Del Regno - items: 57bff4e302SAngeloGioacchino Del Regno - const: merge 58bff4e302SAngeloGioacchino Del Regno - items: 591cffdf60Sjason-jh.lin - const: merge 601cffdf60Sjason-jh.lin - const: merge_async 611cffdf60Sjason-jh.lin 621cffdf60Sjason-jh.lin mediatek,merge-fifo-en: 631cffdf60Sjason-jh.lin description: 641cffdf60Sjason-jh.lin The setting of merge fifo is mainly provided for the display latency 651cffdf60Sjason-jh.lin buffer to ensure that the back-end panel display data will not be 661cffdf60Sjason-jh.lin underrun, a little more data is needed in the fifo. 671cffdf60Sjason-jh.lin According to the merge fifo settings, when the water level is detected 681cffdf60Sjason-jh.lin to be insufficient, it will trigger RDMA sending ultra and preulra 691cffdf60Sjason-jh.lin command to SMI to speed up the data rate. 701cffdf60Sjason-jh.lin type: boolean 714ed545e7Sjason-jh.lin 7287e70353SNancy.Lin mediatek,merge-mute: 7387e70353SNancy.Lin description: Support mute function. Mute the content of merge output. 7487e70353SNancy.Lin type: boolean 7587e70353SNancy.Lin 764ed545e7Sjason-jh.lin mediatek,gce-client-reg: 774ed545e7Sjason-jh.lin description: The register of client driver can be configured by gce with 784ed545e7Sjason-jh.lin 4 arguments defined in this property, such as phandle of gce, subsys id, 794ed545e7Sjason-jh.lin register offset and size. Each GCE subsys id is mapping to a client 804ed545e7Sjason-jh.lin defined in the header include/dt-bindings/gce/<chip>-gce.h. 814ed545e7Sjason-jh.lin $ref: /schemas/types.yaml#/definitions/phandle-array 824ed545e7Sjason-jh.lin maxItems: 1 834ed545e7Sjason-jh.lin 842b6433f3SAngeloGioacchino Del Regno ports: 852b6433f3SAngeloGioacchino Del Regno $ref: /schemas/graph.yaml#/properties/ports 862b6433f3SAngeloGioacchino Del Regno description: 872b6433f3SAngeloGioacchino Del Regno Input and output ports can have multiple endpoints, each of those 882b6433f3SAngeloGioacchino Del Regno connects to either the primary, secondary, etc, display pipeline. 892b6433f3SAngeloGioacchino Del Regno 902b6433f3SAngeloGioacchino Del Regno properties: 912b6433f3SAngeloGioacchino Del Regno port@0: 922b6433f3SAngeloGioacchino Del Regno $ref: /schemas/graph.yaml#/properties/port 932b6433f3SAngeloGioacchino Del Regno description: 942b6433f3SAngeloGioacchino Del Regno MERGE input port, usually from DITHER, DPI, DSC, DSI, MDP_RDMA, 952b6433f3SAngeloGioacchino Del Regno ETHDR or even from a different MERGE block 962b6433f3SAngeloGioacchino Del Regno 972b6433f3SAngeloGioacchino Del Regno port@1: 982b6433f3SAngeloGioacchino Del Regno $ref: /schemas/graph.yaml#/properties/port 992b6433f3SAngeloGioacchino Del Regno description: 1002b6433f3SAngeloGioacchino Del Regno MERGE output to a DSC, DPI, DP_INTF, DSI, ETHDR, Write DMA, or 1012b6433f3SAngeloGioacchino Del Regno a different MERGE block, or others. 1022b6433f3SAngeloGioacchino Del Regno 1032b6433f3SAngeloGioacchino Del Regno required: 1042b6433f3SAngeloGioacchino Del Regno - port@0 1052b6433f3SAngeloGioacchino Del Regno - port@1 1062b6433f3SAngeloGioacchino Del Regno 1071cffdf60Sjason-jh.lin resets: 1081cffdf60Sjason-jh.lin description: reset controller 1091cffdf60Sjason-jh.lin See Documentation/devicetree/bindings/reset/reset.txt for details. 1101cffdf60Sjason-jh.lin maxItems: 1 1111cffdf60Sjason-jh.lin 1124ed545e7Sjason-jh.linrequired: 1134ed545e7Sjason-jh.lin - compatible 1144ed545e7Sjason-jh.lin - reg 1154ed545e7Sjason-jh.lin - power-domains 1164ed545e7Sjason-jh.lin - clocks 1174ed545e7Sjason-jh.lin 1184ed545e7Sjason-jh.linadditionalProperties: false 1194ed545e7Sjason-jh.lin 1204ed545e7Sjason-jh.linexamples: 1214ed545e7Sjason-jh.lin - | 122bff4e302SAngeloGioacchino Del Regno #include <dt-bindings/interrupt-controller/arm-gic.h> 123bff4e302SAngeloGioacchino Del Regno #include <dt-bindings/clock/mt8173-clk.h> 124bff4e302SAngeloGioacchino Del Regno #include <dt-bindings/power/mt8173-power.h> 125bff4e302SAngeloGioacchino Del Regno 126bff4e302SAngeloGioacchino Del Regno soc { 127bff4e302SAngeloGioacchino Del Regno #address-cells = <2>; 128bff4e302SAngeloGioacchino Del Regno #size-cells = <2>; 1294ed545e7Sjason-jh.lin 1304ed545e7Sjason-jh.lin merge@14017000 { 1314ed545e7Sjason-jh.lin compatible = "mediatek,mt8173-disp-merge"; 1324ed545e7Sjason-jh.lin reg = <0 0x14017000 0 0x1000>; 1334ed545e7Sjason-jh.lin power-domains = <&spm MT8173_POWER_DOMAIN_MM>; 1344ed545e7Sjason-jh.lin clocks = <&mmsys CLK_MM_DISP_MERGE>; 135bff4e302SAngeloGioacchino Del Regno clock-names = "merge"; 136bff4e302SAngeloGioacchino Del Regno }; 1374ed545e7Sjason-jh.lin }; 138