xref: /freebsd/sys/contrib/device-tree/Bindings/display/imx/fsl,imx8qxp-dc-fetchunit.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-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