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

title: Freescale i.MX8qxp Display Controller Frame Generator

description:
  The Frame Generator (FrameGen) module generates a programmable video timing
  and optionally allows to synchronize the generated video timing to external
  synchronization signals.

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

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

  reg:
    maxItems: 1

  clocks:
    maxItems: 1

  interrupts:
    maxItems: 8

  interrupt-names:
    items:
      - const: int0
      - const: int1
      - const: int2
      - const: int3
      - const: primsync_on
      - const: primsync_off
      - const: secsync_on
      - const: secsync_off

required:
  - compatible
  - reg
  - clocks
  - interrupts
  - interrupt-names

additionalProperties: false

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

    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";
    };
