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

title: NXP i.MX8MP DW100 Dewarper core

maintainers:
  - Xavier Roumegue <xavier.roumegue@oss.nxp.com>

description: |-
  The Dewarp Engine provides high-performance dewarp processing for the
  correction of the distortion that is introduced in images produced by fisheye
  and wide angle lenses. It is implemented with a line/tile-cache based
  architecture. With configurable address mapping look up tables and per tile
  processing, it successfully generates a corrected output image.
  The engine can be used to perform scaling, cropping and pixel format
  conversion.

properties:
  compatible:
    enum:
      - nxp,imx8mp-dw100

  reg:
    maxItems: 1

  interrupts:
    maxItems: 1

  clocks:
    items:
      - description: The AXI clock
      - description: The AHB clock

  clock-names:
    items:
      - const: axi
      - const: ahb

  power-domains:
    maxItems: 1

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

additionalProperties: false

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

    dewarp: dwe@32e30000 {
            compatible = "nxp,imx8mp-dw100";
            reg = <0x32e30000 0x10000>;
            interrupts = <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>;
            clocks = <&clk IMX8MP_CLK_MEDIA_AXI_ROOT>,
                     <&clk IMX8MP_CLK_MEDIA_APB_ROOT>;
            clock-names = "axi", "ahb";
            power-domains = <&media_blk_ctrl IMX8MP_MEDIABLK_PD_DWE>;
    };