# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/display/mediatek/mediatek,postmask.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Mediatek display postmask

maintainers:
  - Chun-Kuang Hu <chunkuang.hu@kernel.org>
  - Philipp Zabel <p.zabel@pengutronix.de>

description: |
  Mediatek display postmask, namely POSTMASK, provides round corner pattern
  generation.
  POSTMASK device node must be siblings to the central MMSYS_CONFIG node.
  For a description of the MMSYS_CONFIG binding, see
  Documentation/devicetree/bindings/arm/mediatek/mediatek,mmsys.yaml
  for details.

properties:
  compatible:
    oneOf:
      - enum:
          - mediatek,mt8192-disp-postmask
      - items:
          - enum:
              - mediatek,mt8186-disp-postmask
              - mediatek,mt8188-disp-postmask
          - const: mediatek,mt8192-disp-postmask

  reg:
    maxItems: 1

  interrupts:
    maxItems: 1

  power-domains:
    description: A phandle and PM domain specifier as defined by bindings of
      the power controller specified by phandle. See
      Documentation/devicetree/bindings/power/power-domain.yaml for details.

  clocks:
    items:
      - description: POSTMASK Clock

  mediatek,gce-client-reg:
    description: The register of client driver can be configured by gce with
      4 arguments defined in this property, such as phandle of gce, subsys id,
      register offset and size. Each GCE subsys id is mapping to a client
      defined in the header include/dt-bindings/gce/<chip>-gce.h.
    $ref: /schemas/types.yaml#/definitions/phandle-array
    maxItems: 1

required:
  - compatible
  - reg
  - interrupts
  - power-domains
  - clocks

additionalProperties: false

examples:
  - |
    #include <dt-bindings/interrupt-controller/arm-gic.h>
    #include <dt-bindings/clock/mt8192-clk.h>
    #include <dt-bindings/power/mt8192-power.h>
    #include <dt-bindings/gce/mt8192-gce.h>

    soc {
        #address-cells = <2>;
        #size-cells = <2>;

        postmask0: postmask@1400d000 {
            compatible = "mediatek,mt8192-disp-postmask";
            reg = <0 0x1400d000 0 0x1000>;
            interrupts = <GIC_SPI 262 IRQ_TYPE_LEVEL_HIGH 0>;
            power-domains = <&scpsys MT8192_POWER_DOMAIN_DISP>;
            clocks = <&mmsys CLK_MM_DISP_POSTMASK0>;
            mediatek,gce-client-reg = <&gce SUBSYS_1400XXXX 0xd000 0x1000>;
        };
    };
