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

title: Freescale i.MX8qxp Display Controller Display Engine

description:
  All Processing Units that operate in a display clock domain. Pixel pipeline
  is driven by a video timing and cannot be stalled. Implements all display
  specific processing.

maintainers:
  - Liu Ying <victor.liu@nxp.com>

properties:
  compatible:
    const: fsl,imx8qxp-dc-display-engine

  reg:
    maxItems: 2

  reg-names:
    items:
      - const: top
      - const: cfg

  resets:
    maxItems: 1

  interrupts:
    maxItems: 3

  interrupt-names:
    items:
      - const: shdload
      - const: framecomplete
      - const: seqcomplete

  power-domains:
    maxItems: 1

  "#address-cells":
    const: 1

  "#size-cells":
    const: 1

  ranges: true

patternProperties:
  "^dither@[0-9a-f]+$":
    type: object
    additionalProperties: true

    properties:
      compatible:
        const: fsl,imx8qxp-dc-dither

  "^framegen@[0-9a-f]+$":
    type: object
    additionalProperties: true

    properties:
      compatible:
        const: fsl,imx8qxp-dc-framegen

  "^gammacor@[0-9a-f]+$":
    type: object
    additionalProperties: true

    properties:
      compatible:
        const: fsl,imx8qxp-dc-gammacor

  "^matrix@[0-9a-f]+$":
    type: object
    additionalProperties: true

    properties:
      compatible:
        const: fsl,imx8qxp-dc-matrix

  "^signature@[0-9a-f]+$":
    type: object
    additionalProperties: true

    properties:
      compatible:
        const: fsl,imx8qxp-dc-signature

  "^tcon@[0-9a-f]+$":
    type: object
    additionalProperties: true

    properties:
      compatible:
        const: fsl,imx8qxp-dc-tcon

required:
  - compatible
  - reg
  - reg-names
  - interrupts
  - interrupt-names
  - power-domains
  - "#address-cells"
  - "#size-cells"
  - ranges

additionalProperties: false

examples:
  - |
    #include <dt-bindings/clock/imx8-lpcg.h>
    #include <dt-bindings/firmware/imx/rsrc.h>

    display-engine@5618b400 {
        compatible = "fsl,imx8qxp-dc-display-engine";
        reg = <0x5618b400 0x14>, <0x5618b800 0x1c00>;
        reg-names = "top", "cfg";
        interrupt-parent = <&dc0_intc>;
        interrupts = <15>, <16>, <17>;
        interrupt-names = "shdload", "framecomplete", "seqcomplete";
        power-domains = <&pd IMX_SC_R_DC_0_PLL_0>;
        #address-cells = <1>;
        #size-cells = <1>;
        ranges;

        framegen@5618b800 {
            compatible = "fsl,imx8qxp-dc-framegen";
            reg = <0x5618b800 0x98>;
            clocks = <&dc0_disp_lpcg IMX_LPCG_CLK_0>;
            interrupt-parent = <&dc0_intc>;
            interrupts = <18>, <19>, <20>, <21>, <41>, <42>, <43>, <44>;
            interrupt-names = "int0", "int1", "int2", "int3",
                              "primsync_on", "primsync_off",
                              "secsync_on", "secsync_off";
        };

        tcon@5618c800 {
            compatible = "fsl,imx8qxp-dc-tcon";
            reg = <0x5618c800 0x588>;

            port {
                dc0_disp0_dc0_pixel_combiner_ch0: endpoint {
                    remote-endpoint = <&dc0_pixel_combiner_ch0_dc0_disp0>;
                };
            };
        };
    };
