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