xref: /freebsd/sys/contrib/device-tree/Bindings/display/imx/fsl,imx8qxp-dc-scaling-engine.yaml (revision 833e5d42ab135b0238e61c5b3c19b8619677cbfa)
1*833e5d42SEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2*833e5d42SEmmanuel Vadot%YAML 1.2
3*833e5d42SEmmanuel Vadot---
4*833e5d42SEmmanuel Vadot$id: http://devicetree.org/schemas/display/imx/fsl,imx8qxp-dc-scaling-engine.yaml#
5*833e5d42SEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
6*833e5d42SEmmanuel Vadot
7*833e5d42SEmmanuel Vadottitle: Freescale i.MX8qxp Display Controller Scaling Engine
8*833e5d42SEmmanuel Vadot
9*833e5d42SEmmanuel Vadotdescription: |
10*833e5d42SEmmanuel Vadot  The unit can change the dimension of the input frame by nearest or linear
11*833e5d42SEmmanuel Vadot  re-sampling with 1/32 sub pixel precision.
12*833e5d42SEmmanuel Vadot
13*833e5d42SEmmanuel Vadot  Internally it consist of two independent blocks for horizontal and vertical
14*833e5d42SEmmanuel Vadot  scaling. The sequence of both operations is arbitrary.
15*833e5d42SEmmanuel Vadot
16*833e5d42SEmmanuel Vadot  Any frame dimensions between 1 and 16384 pixels in width and height are
17*833e5d42SEmmanuel Vadot  supported, except that the vertical scaler has a frame width maximum
18*833e5d42SEmmanuel Vadot  depending of the system's functional limitations.
19*833e5d42SEmmanuel Vadot
20*833e5d42SEmmanuel Vadot  In general all scale factors are supported inside the supported frame
21*833e5d42SEmmanuel Vadot  dimensions. In range of scale factors 1/16..16 the filtered output colors
22*833e5d42SEmmanuel Vadot  are LSBit precise (e.g. DC ripple free).
23*833e5d42SEmmanuel Vadot
24*833e5d42SEmmanuel Vadot                       +-----------+
25*833e5d42SEmmanuel Vadot                       |   Line    |
26*833e5d42SEmmanuel Vadot                       |  Buffer   |
27*833e5d42SEmmanuel Vadot                       +-----------+
28*833e5d42SEmmanuel Vadot                             ^
29*833e5d42SEmmanuel Vadot                             |
30*833e5d42SEmmanuel Vadot                             V
31*833e5d42SEmmanuel Vadot                 |\    +-----------+
32*833e5d42SEmmanuel Vadot           ------+ |   |           |
33*833e5d42SEmmanuel Vadot          |      | +-->| Vertical  |----
34*833e5d42SEmmanuel Vadot          |  ----+ |   |  Scaler   |    |
35*833e5d42SEmmanuel Vadot          | |    |/    +-----------+    |
36*833e5d42SEmmanuel Vadot          | |                           |
37*833e5d42SEmmanuel Vadot          | |                           |
38*833e5d42SEmmanuel Vadot          | |                           |     |\
39*833e5d42SEmmanuel Vadot          |  ------------- -------------+-----+ |
40*833e5d42SEmmanuel Vadot  Input --+               X                   | +--> Output
41*833e5d42SEmmanuel Vadot          |  ------------- -------------+-----+ |
42*833e5d42SEmmanuel Vadot          | |                           |     |/
43*833e5d42SEmmanuel Vadot          | |                           |
44*833e5d42SEmmanuel Vadot          | |    |\    +-----------+    |
45*833e5d42SEmmanuel Vadot          |  ----+ |   |           |    |
46*833e5d42SEmmanuel Vadot          |      | +-->| Horizontal|----
47*833e5d42SEmmanuel Vadot           ------+ |   |  Scaler   |
48*833e5d42SEmmanuel Vadot                 |/    +-----------+
49*833e5d42SEmmanuel Vadot
50*833e5d42SEmmanuel Vadot  The unit supports downscaling, upscaling, sub pixel translation and bob
51*833e5d42SEmmanuel Vadot  de-interlacing.
52*833e5d42SEmmanuel Vadot
53*833e5d42SEmmanuel Vadotmaintainers:
54*833e5d42SEmmanuel Vadot  - Liu Ying <victor.liu@nxp.com>
55*833e5d42SEmmanuel Vadot
56*833e5d42SEmmanuel Vadotproperties:
57*833e5d42SEmmanuel Vadot  compatible:
58*833e5d42SEmmanuel Vadot    enum:
59*833e5d42SEmmanuel Vadot      - fsl,imx8qxp-dc-hscaler
60*833e5d42SEmmanuel Vadot      - fsl,imx8qxp-dc-vscaler
61*833e5d42SEmmanuel Vadot
62*833e5d42SEmmanuel Vadot  reg:
63*833e5d42SEmmanuel Vadot    maxItems: 2
64*833e5d42SEmmanuel Vadot
65*833e5d42SEmmanuel Vadot  reg-names:
66*833e5d42SEmmanuel Vadot    items:
67*833e5d42SEmmanuel Vadot      - const: pec
68*833e5d42SEmmanuel Vadot      - const: cfg
69*833e5d42SEmmanuel Vadot
70*833e5d42SEmmanuel Vadotrequired:
71*833e5d42SEmmanuel Vadot  - compatible
72*833e5d42SEmmanuel Vadot  - reg
73*833e5d42SEmmanuel Vadot  - reg-names
74*833e5d42SEmmanuel Vadot
75*833e5d42SEmmanuel VadotadditionalProperties: false
76*833e5d42SEmmanuel Vadot
77*833e5d42SEmmanuel Vadotexamples:
78*833e5d42SEmmanuel Vadot  - |
79*833e5d42SEmmanuel Vadot    hscaler@561808c0 {
80*833e5d42SEmmanuel Vadot        compatible = "fsl,imx8qxp-dc-hscaler";
81*833e5d42SEmmanuel Vadot        reg = <0x561808c0 0x10>, <0x56183000 0x18>;
82*833e5d42SEmmanuel Vadot        reg-names = "pec", "cfg";
83*833e5d42SEmmanuel Vadot    };
84