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

title: Freescale i.MX8qxp Display Controller Scaling Engine

description: |
  The unit can change the dimension of the input frame by nearest or linear
  re-sampling with 1/32 sub pixel precision.

  Internally it consist of two independent blocks for horizontal and vertical
  scaling. The sequence of both operations is arbitrary.

  Any frame dimensions between 1 and 16384 pixels in width and height are
  supported, except that the vertical scaler has a frame width maximum
  depending of the system's functional limitations.

  In general all scale factors are supported inside the supported frame
  dimensions. In range of scale factors 1/16..16 the filtered output colors
  are LSBit precise (e.g. DC ripple free).

                       +-----------+
                       |   Line    |
                       |  Buffer   |
                       +-----------+
                             ^
                             |
                             V
                 |\    +-----------+
           ------+ |   |           |
          |      | +-->| Vertical  |----
          |  ----+ |   |  Scaler   |    |
          | |    |/    +-----------+    |
          | |                           |
          | |                           |
          | |                           |     |\
          |  ------------- -------------+-----+ |
  Input --+               X                   | +--> Output
          |  ------------- -------------+-----+ |
          | |                           |     |/
          | |                           |
          | |    |\    +-----------+    |
          |  ----+ |   |           |    |
          |      | +-->| Horizontal|----
           ------+ |   |  Scaler   |
                 |/    +-----------+

  The unit supports downscaling, upscaling, sub pixel translation and bob
  de-interlacing.

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

properties:
  compatible:
    enum:
      - fsl,imx8qxp-dc-hscaler
      - fsl,imx8qxp-dc-vscaler

  reg:
    maxItems: 2

  reg-names:
    items:
      - const: pec
      - const: cfg

required:
  - compatible
  - reg
  - reg-names

additionalProperties: false

examples:
  - |
    hscaler@561808c0 {
        compatible = "fsl,imx8qxp-dc-hscaler";
        reg = <0x561808c0 0x10>, <0x56183000 0x18>;
        reg-names = "pec", "cfg";
    };
