mediatek,merge.yaml 3.02 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/display/mediatek/mediatek,merge.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Mediatek display merge

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

description: |
  Mediatek display merge, namely MERGE, is used to merge two slice-per-line
  inputs into one side-by-side output.
  MERGE 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:
24 25 26
      - enum:
          - mediatek,mt8173-disp-merge
          - mediatek,mt8195-disp-merge
27 28 29
      - items:
          - const: mediatek,mt6795-disp-merge
          - const: mediatek,mt8173-disp-merge
30 31 32 33 34 35 36 37 38 39 40 41 42

  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:
43
    minItems: 1
44 45 46
    maxItems: 2

  clock-names:
47 48 49 50 51 52
    oneOf:
      - items:
          - const: merge
      - items:
          - const: merge
          - const: merge_async
53 54 55 56 57 58 59 60 61 62

  mediatek,merge-fifo-en:
    description:
      The setting of merge fifo is mainly provided for the display latency
      buffer to ensure that the back-end panel display data will not be
      underrun, a little more data is needed in the fifo.
      According to the merge fifo settings, when the water level is detected
      to be insufficient, it will trigger RDMA sending ultra and preulra
      command to SMI to speed up the data rate.
    type: boolean
63

64 65 66 67
  mediatek,merge-mute:
    description: Support mute function. Mute the content of merge output.
    type: boolean

68 69 70 71 72 73 74 75
  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

76 77 78 79 80
  resets:
    description: reset controller
      See Documentation/devicetree/bindings/reset/reset.txt for details.
    maxItems: 1

81 82 83 84 85 86 87 88 89 90
required:
  - compatible
  - reg
  - power-domains
  - clocks

additionalProperties: false

examples:
  - |
91 92 93 94 95 96 97 98 99 100 101 102 103 104 105
    #include <dt-bindings/interrupt-controller/arm-gic.h>
    #include <dt-bindings/clock/mt8173-clk.h>
    #include <dt-bindings/power/mt8173-power.h>

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

        merge@14017000 {
            compatible = "mediatek,mt8173-disp-merge";
            reg = <0 0x14017000 0 0x1000>;
            power-domains = <&spm MT8173_POWER_DOMAIN_MM>;
            clocks = <&mmsys CLK_MM_DISP_MERGE>;
            clock-names = "merge";
        };
106
    };