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-fetchunit.yaml# 5*833e5d42SEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml# 6*833e5d42SEmmanuel Vadot 7*833e5d42SEmmanuel Vadottitle: Freescale i.MX8qxp Display Controller Fetch Unit 8*833e5d42SEmmanuel Vadot 9*833e5d42SEmmanuel Vadotdescription: | 10*833e5d42SEmmanuel Vadot The Fetch Unit is the interface between the AXI bus for source buffer access 11*833e5d42SEmmanuel Vadot and the internal pixel processing pipeline, which is 30-bit RGB plus 8-bit 12*833e5d42SEmmanuel Vadot Alpha. 13*833e5d42SEmmanuel Vadot 14*833e5d42SEmmanuel Vadot It is used to generate foreground planes in Display Controllers and source 15*833e5d42SEmmanuel Vadot planes in Blit Engines, and comprises the following built-in functions to 16*833e5d42SEmmanuel Vadot convert a wide range of frame buffer types. 17*833e5d42SEmmanuel Vadot 18*833e5d42SEmmanuel Vadot +---------X-----------------------------------------+ 19*833e5d42SEmmanuel Vadot | | Fetch Unit | 20*833e5d42SEmmanuel Vadot | V | 21*833e5d42SEmmanuel Vadot | +---------+ | 22*833e5d42SEmmanuel Vadot | | | | 23*833e5d42SEmmanuel Vadot | | Decode | Decompression [Decode] | 24*833e5d42SEmmanuel Vadot | | | | 25*833e5d42SEmmanuel Vadot | +---------+ | 26*833e5d42SEmmanuel Vadot | | | 27*833e5d42SEmmanuel Vadot | V | 28*833e5d42SEmmanuel Vadot | +---------+ | 29*833e5d42SEmmanuel Vadot | | Clip & | Clip Window [All] | 30*833e5d42SEmmanuel Vadot | | Overlay | Plane composition [Layer, Warp] | 31*833e5d42SEmmanuel Vadot | | | | 32*833e5d42SEmmanuel Vadot | +---------+ | 33*833e5d42SEmmanuel Vadot | | | 34*833e5d42SEmmanuel Vadot | V | 35*833e5d42SEmmanuel Vadot | +---------+ | 36*833e5d42SEmmanuel Vadot | | Re- | Flip/Rotate/Repl./Drop [All] | 37*833e5d42SEmmanuel Vadot X--> | sample | Perspective/Affine warping [Persp] | 38*833e5d42SEmmanuel Vadot | | | | Arbitrary warping [Warp, Persp] | 39*833e5d42SEmmanuel Vadot | | +---------+ | 40*833e5d42SEmmanuel Vadot | | | | 41*833e5d42SEmmanuel Vadot | | V | 42*833e5d42SEmmanuel Vadot | | +---------+ | 43*833e5d42SEmmanuel Vadot | | | | | 44*833e5d42SEmmanuel Vadot | | | Palette | Color Palette [Layer, Decode] | 45*833e5d42SEmmanuel Vadot | | | | | 46*833e5d42SEmmanuel Vadot | | +---------+ | 47*833e5d42SEmmanuel Vadot | | | | 48*833e5d42SEmmanuel Vadot | | V | 49*833e5d42SEmmanuel Vadot | | +---------+ | 50*833e5d42SEmmanuel Vadot | | | Extract | Raw to RGBA/YUV [All] | 51*833e5d42SEmmanuel Vadot | | | & | Bit width expansion [All] | 52*833e5d42SEmmanuel Vadot | | | Expand | | 53*833e5d42SEmmanuel Vadot | | +---------+ | 54*833e5d42SEmmanuel Vadot | | | | 55*833e5d42SEmmanuel Vadot | | V | 56*833e5d42SEmmanuel Vadot | | +---------+ | 57*833e5d42SEmmanuel Vadot | | | | Planar to packed | 58*833e5d42SEmmanuel Vadot | |->| Combine | [Decode, Warp, Persp] | 59*833e5d42SEmmanuel Vadot | | | | | 60*833e5d42SEmmanuel Vadot | | +---------+ | 61*833e5d42SEmmanuel Vadot | | | | 62*833e5d42SEmmanuel Vadot | | V | 63*833e5d42SEmmanuel Vadot | | +---------+ | 64*833e5d42SEmmanuel Vadot | | | | YUV422 to YUV444 | 65*833e5d42SEmmanuel Vadot | | | Chroma | [Decode, Persp] | 66*833e5d42SEmmanuel Vadot | | | | | 67*833e5d42SEmmanuel Vadot | | +---------+ | 68*833e5d42SEmmanuel Vadot | | | | 69*833e5d42SEmmanuel Vadot | | V | 70*833e5d42SEmmanuel Vadot | | +---------+ | 71*833e5d42SEmmanuel Vadot | | | | YUV to RGB | 72*833e5d42SEmmanuel Vadot | | | Color | [Warp, Persp, Decode, Layer] | 73*833e5d42SEmmanuel Vadot | | | | | 74*833e5d42SEmmanuel Vadot | | +---------+ | 75*833e5d42SEmmanuel Vadot | | | | 76*833e5d42SEmmanuel Vadot | | V | 77*833e5d42SEmmanuel Vadot | | +---------+ | 78*833e5d42SEmmanuel Vadot | | | | Gamma removal | 79*833e5d42SEmmanuel Vadot | | | Gamma | [Warp, Persp, Decode, Layer] | 80*833e5d42SEmmanuel Vadot | | | | | 81*833e5d42SEmmanuel Vadot | | +---------+ | 82*833e5d42SEmmanuel Vadot | | | | 83*833e5d42SEmmanuel Vadot | | V | 84*833e5d42SEmmanuel Vadot | | +---------+ | 85*833e5d42SEmmanuel Vadot | | | | Alpla multiply, RGB pre-multiply | 86*833e5d42SEmmanuel Vadot | ->| Multiply| [Warp, Persp, Decode, Layer] | 87*833e5d42SEmmanuel Vadot | | | | 88*833e5d42SEmmanuel Vadot | --------- | 89*833e5d42SEmmanuel Vadot | | | 90*833e5d42SEmmanuel Vadot | V | 91*833e5d42SEmmanuel Vadot | +---------+ | 92*833e5d42SEmmanuel Vadot | | | Bilinear filter | 93*833e5d42SEmmanuel Vadot | | Filter | [Warp, Persp] | 94*833e5d42SEmmanuel Vadot | | | | 95*833e5d42SEmmanuel Vadot | +---------+ | 96*833e5d42SEmmanuel Vadot | | | 97*833e5d42SEmmanuel Vadot | V | 98*833e5d42SEmmanuel Vadot +---------X-----------------------------------------+ 99*833e5d42SEmmanuel Vadot 100*833e5d42SEmmanuel Vadot Note that different derivatives of the Fetch Unit exist. Each implements a 101*833e5d42SEmmanuel Vadot specific subset only of the pipeline stages shown above. Restrictions for the 102*833e5d42SEmmanuel Vadot units are specified in [square brackets]. 103*833e5d42SEmmanuel Vadot 104*833e5d42SEmmanuel Vadotmaintainers: 105*833e5d42SEmmanuel Vadot - Liu Ying <victor.liu@nxp.com> 106*833e5d42SEmmanuel Vadot 107*833e5d42SEmmanuel Vadotproperties: 108*833e5d42SEmmanuel Vadot compatible: 109*833e5d42SEmmanuel Vadot enum: 110*833e5d42SEmmanuel Vadot - fsl,imx8qxp-dc-fetchdecode 111*833e5d42SEmmanuel Vadot - fsl,imx8qxp-dc-fetcheco 112*833e5d42SEmmanuel Vadot - fsl,imx8qxp-dc-fetchlayer 113*833e5d42SEmmanuel Vadot - fsl,imx8qxp-dc-fetchwarp 114*833e5d42SEmmanuel Vadot 115*833e5d42SEmmanuel Vadot reg: 116*833e5d42SEmmanuel Vadot maxItems: 2 117*833e5d42SEmmanuel Vadot 118*833e5d42SEmmanuel Vadot reg-names: 119*833e5d42SEmmanuel Vadot items: 120*833e5d42SEmmanuel Vadot - const: pec 121*833e5d42SEmmanuel Vadot - const: cfg 122*833e5d42SEmmanuel Vadot 123*833e5d42SEmmanuel Vadot fsl,prg: 124*833e5d42SEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/phandle 125*833e5d42SEmmanuel Vadot description: 126*833e5d42SEmmanuel Vadot Optional Prefetch Resolve Gasket associated with the Fetch Unit. 127*833e5d42SEmmanuel Vadot 128*833e5d42SEmmanuel Vadotrequired: 129*833e5d42SEmmanuel Vadot - compatible 130*833e5d42SEmmanuel Vadot - reg 131*833e5d42SEmmanuel Vadot - reg-names 132*833e5d42SEmmanuel Vadot 133*833e5d42SEmmanuel VadotadditionalProperties: false 134*833e5d42SEmmanuel Vadot 135*833e5d42SEmmanuel Vadotexamples: 136*833e5d42SEmmanuel Vadot - | 137*833e5d42SEmmanuel Vadot fetchlayer@56180ac0 { 138*833e5d42SEmmanuel Vadot compatible = "fsl,imx8qxp-dc-fetchlayer"; 139*833e5d42SEmmanuel Vadot reg = <0x56180ac0 0xc>, <0x56188400 0x404>; 140*833e5d42SEmmanuel Vadot reg-names = "pec", "cfg"; 141*833e5d42SEmmanuel Vadot }; 142