xref: /linux/Documentation/devicetree/bindings/display/imx/fsl,imx8qxp-dc-blit-engine.yaml (revision 8d2b0853add1d7534dc0794e3c8e0b9e8c4ec640)
1*b71d3aceSLiu Ying# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2*b71d3aceSLiu Ying%YAML 1.2
3*b71d3aceSLiu Ying---
4*b71d3aceSLiu Ying$id: http://devicetree.org/schemas/display/imx/fsl,imx8qxp-dc-blit-engine.yaml#
5*b71d3aceSLiu Ying$schema: http://devicetree.org/meta-schemas/core.yaml#
6*b71d3aceSLiu Ying
7*b71d3aceSLiu Yingtitle: Freescale i.MX8qxp Display Controller Blit Engine
8*b71d3aceSLiu Ying
9*b71d3aceSLiu Yingdescription: |
10*b71d3aceSLiu Ying  A blit operation (block based image transfer) reads up to 3 source images
11*b71d3aceSLiu Ying  from memory and computes one destination image from it, which is written
12*b71d3aceSLiu Ying  back to memory. The following basic operations are supported:
13*b71d3aceSLiu Ying
14*b71d3aceSLiu Ying  * Buffer Fill
15*b71d3aceSLiu Ying    Fills a buffer with constant color
16*b71d3aceSLiu Ying
17*b71d3aceSLiu Ying  * Buffer Copy
18*b71d3aceSLiu Ying    Copies one source to a destination buffer.
19*b71d3aceSLiu Ying
20*b71d3aceSLiu Ying  * Image Blend
21*b71d3aceSLiu Ying    Combines two source images by a blending equation and writes result to
22*b71d3aceSLiu Ying    destination (which can be one of the sources).
23*b71d3aceSLiu Ying
24*b71d3aceSLiu Ying  * Image Rop2/3
25*b71d3aceSLiu Ying    Combines up to three source images by a logical equation (raster operation)
26*b71d3aceSLiu Ying    and writes result to destination (which can be one of the sources).
27*b71d3aceSLiu Ying
28*b71d3aceSLiu Ying  * Image Flip
29*b71d3aceSLiu Ying    Mirrors the source image in horizontal and/or vertical direction.
30*b71d3aceSLiu Ying
31*b71d3aceSLiu Ying  * Format Convert
32*b71d3aceSLiu Ying    Convert between the supported color and buffer formats.
33*b71d3aceSLiu Ying
34*b71d3aceSLiu Ying  * Color Transform
35*b71d3aceSLiu Ying    Modify colors by linear or non-linear transformations.
36*b71d3aceSLiu Ying
37*b71d3aceSLiu Ying  * Image Scale
38*b71d3aceSLiu Ying    Changes size of the source image.
39*b71d3aceSLiu Ying
40*b71d3aceSLiu Ying  * Image Rotate
41*b71d3aceSLiu Ying    Rotates the source image by any angle.
42*b71d3aceSLiu Ying
43*b71d3aceSLiu Ying  * Image Filter
44*b71d3aceSLiu Ying    Performs an FIR filter operation on the source image.
45*b71d3aceSLiu Ying
46*b71d3aceSLiu Ying  * Image Warp
47*b71d3aceSLiu Ying    Performs a re-sampling of the source image with any pattern. The sample
48*b71d3aceSLiu Ying    point positions are read from a compressed coordinate buffer.
49*b71d3aceSLiu Ying
50*b71d3aceSLiu Ying  * Buffer Pack
51*b71d3aceSLiu Ying    Writes an image with color components stored in up to three different
52*b71d3aceSLiu Ying    buffers (planar formats) into a single buffer (packed format).
53*b71d3aceSLiu Ying
54*b71d3aceSLiu Ying  * Chroma Resample
55*b71d3aceSLiu Ying    Converts between different YUV formats that differ in chroma sampling rate
56*b71d3aceSLiu Ying    (4:4:4, 4:2:2, 4:2:0).
57*b71d3aceSLiu Ying
58*b71d3aceSLiu Yingmaintainers:
59*b71d3aceSLiu Ying  - Liu Ying <victor.liu@nxp.com>
60*b71d3aceSLiu Ying
61*b71d3aceSLiu Yingproperties:
62*b71d3aceSLiu Ying  compatible:
63*b71d3aceSLiu Ying    const: fsl,imx8qxp-dc-blit-engine
64*b71d3aceSLiu Ying
65*b71d3aceSLiu Ying  reg:
66*b71d3aceSLiu Ying    maxItems: 2
67*b71d3aceSLiu Ying
68*b71d3aceSLiu Ying  reg-names:
69*b71d3aceSLiu Ying    items:
70*b71d3aceSLiu Ying      - const: pec
71*b71d3aceSLiu Ying      - const: cfg
72*b71d3aceSLiu Ying
73*b71d3aceSLiu Ying  "#address-cells":
74*b71d3aceSLiu Ying    const: 1
75*b71d3aceSLiu Ying
76*b71d3aceSLiu Ying  "#size-cells":
77*b71d3aceSLiu Ying    const: 1
78*b71d3aceSLiu Ying
79*b71d3aceSLiu Ying  ranges: true
80*b71d3aceSLiu Ying
81*b71d3aceSLiu YingpatternProperties:
82*b71d3aceSLiu Ying  "^blitblend@[0-9a-f]+$":
83*b71d3aceSLiu Ying    type: object
84*b71d3aceSLiu Ying    additionalProperties: true
85*b71d3aceSLiu Ying
86*b71d3aceSLiu Ying    properties:
87*b71d3aceSLiu Ying      compatible:
88*b71d3aceSLiu Ying        const: fsl,imx8qxp-dc-blitblend
89*b71d3aceSLiu Ying
90*b71d3aceSLiu Ying  "^clut@[0-9a-f]+$":
91*b71d3aceSLiu Ying    type: object
92*b71d3aceSLiu Ying    additionalProperties: true
93*b71d3aceSLiu Ying
94*b71d3aceSLiu Ying    properties:
95*b71d3aceSLiu Ying      compatible:
96*b71d3aceSLiu Ying        const: fsl,imx8qxp-dc-clut
97*b71d3aceSLiu Ying
98*b71d3aceSLiu Ying  "^fetchdecode@[0-9a-f]+$":
99*b71d3aceSLiu Ying    type: object
100*b71d3aceSLiu Ying    additionalProperties: true
101*b71d3aceSLiu Ying
102*b71d3aceSLiu Ying    properties:
103*b71d3aceSLiu Ying      compatible:
104*b71d3aceSLiu Ying        const: fsl,imx8qxp-dc-fetchdecode
105*b71d3aceSLiu Ying
106*b71d3aceSLiu Ying  "^fetcheco@[0-9a-f]+$":
107*b71d3aceSLiu Ying    type: object
108*b71d3aceSLiu Ying    additionalProperties: true
109*b71d3aceSLiu Ying
110*b71d3aceSLiu Ying    properties:
111*b71d3aceSLiu Ying      compatible:
112*b71d3aceSLiu Ying        const: fsl,imx8qxp-dc-fetcheco
113*b71d3aceSLiu Ying
114*b71d3aceSLiu Ying  "^fetchwarp@[0-9a-f]+$":
115*b71d3aceSLiu Ying    type: object
116*b71d3aceSLiu Ying    additionalProperties: true
117*b71d3aceSLiu Ying
118*b71d3aceSLiu Ying    properties:
119*b71d3aceSLiu Ying      compatible:
120*b71d3aceSLiu Ying        const: fsl,imx8qxp-dc-fetchwarp
121*b71d3aceSLiu Ying
122*b71d3aceSLiu Ying  "^filter@[0-9a-f]+$":
123*b71d3aceSLiu Ying    type: object
124*b71d3aceSLiu Ying    additionalProperties: true
125*b71d3aceSLiu Ying
126*b71d3aceSLiu Ying    properties:
127*b71d3aceSLiu Ying      compatible:
128*b71d3aceSLiu Ying        const: fsl,imx8qxp-dc-filter
129*b71d3aceSLiu Ying
130*b71d3aceSLiu Ying  "^hscaler@[0-9a-f]+$":
131*b71d3aceSLiu Ying    type: object
132*b71d3aceSLiu Ying    additionalProperties: true
133*b71d3aceSLiu Ying
134*b71d3aceSLiu Ying    properties:
135*b71d3aceSLiu Ying      compatible:
136*b71d3aceSLiu Ying        const: fsl,imx8qxp-dc-hscaler
137*b71d3aceSLiu Ying
138*b71d3aceSLiu Ying  "^matrix@[0-9a-f]+$":
139*b71d3aceSLiu Ying    type: object
140*b71d3aceSLiu Ying    additionalProperties: true
141*b71d3aceSLiu Ying
142*b71d3aceSLiu Ying    properties:
143*b71d3aceSLiu Ying      compatible:
144*b71d3aceSLiu Ying        const: fsl,imx8qxp-dc-matrix
145*b71d3aceSLiu Ying
146*b71d3aceSLiu Ying  "^rop@[0-9a-f]+$":
147*b71d3aceSLiu Ying    type: object
148*b71d3aceSLiu Ying    additionalProperties: true
149*b71d3aceSLiu Ying
150*b71d3aceSLiu Ying    properties:
151*b71d3aceSLiu Ying      compatible:
152*b71d3aceSLiu Ying        const: fsl,imx8qxp-dc-rop
153*b71d3aceSLiu Ying
154*b71d3aceSLiu Ying  "^store@[0-9a-f]+$":
155*b71d3aceSLiu Ying    type: object
156*b71d3aceSLiu Ying    additionalProperties: true
157*b71d3aceSLiu Ying
158*b71d3aceSLiu Ying    properties:
159*b71d3aceSLiu Ying      compatible:
160*b71d3aceSLiu Ying        const: fsl,imx8qxp-dc-store
161*b71d3aceSLiu Ying
162*b71d3aceSLiu Ying  "^vscaler@[0-9a-f]+$":
163*b71d3aceSLiu Ying    type: object
164*b71d3aceSLiu Ying    additionalProperties: true
165*b71d3aceSLiu Ying
166*b71d3aceSLiu Ying    properties:
167*b71d3aceSLiu Ying      compatible:
168*b71d3aceSLiu Ying        const: fsl,imx8qxp-dc-vscaler
169*b71d3aceSLiu Ying
170*b71d3aceSLiu Yingrequired:
171*b71d3aceSLiu Ying  - compatible
172*b71d3aceSLiu Ying  - reg
173*b71d3aceSLiu Ying  - reg-names
174*b71d3aceSLiu Ying  - "#address-cells"
175*b71d3aceSLiu Ying  - "#size-cells"
176*b71d3aceSLiu Ying  - ranges
177*b71d3aceSLiu Ying
178*b71d3aceSLiu YingadditionalProperties: false
179*b71d3aceSLiu Ying
180*b71d3aceSLiu Yingexamples:
181*b71d3aceSLiu Ying  - |
182*b71d3aceSLiu Ying    blit-engine@56180820 {
183*b71d3aceSLiu Ying        compatible = "fsl,imx8qxp-dc-blit-engine";
184*b71d3aceSLiu Ying        reg = <0x56180820 0x13c>, <0x56181000 0x3400>;
185*b71d3aceSLiu Ying        reg-names = "pec", "cfg";
186*b71d3aceSLiu Ying        #address-cells = <1>;
187*b71d3aceSLiu Ying        #size-cells = <1>;
188*b71d3aceSLiu Ying        ranges;
189*b71d3aceSLiu Ying
190*b71d3aceSLiu Ying        fetchdecode@56180820 {
191*b71d3aceSLiu Ying            compatible = "fsl,imx8qxp-dc-fetchdecode";
192*b71d3aceSLiu Ying            reg = <0x56180820 0x10>, <0x56181000 0x404>;
193*b71d3aceSLiu Ying            reg-names = "pec", "cfg";
194*b71d3aceSLiu Ying        };
195*b71d3aceSLiu Ying
196*b71d3aceSLiu Ying        store@56180940 {
197*b71d3aceSLiu Ying            compatible = "fsl,imx8qxp-dc-store";
198*b71d3aceSLiu Ying            reg = <0x56180940 0x1c>, <0x56184000 0x5c>;
199*b71d3aceSLiu Ying            reg-names = "pec", "cfg";
200*b71d3aceSLiu Ying            interrupt-parent = <&dc0_intc>;
201*b71d3aceSLiu Ying            interrupts = <0>, <1>, <2>;
202*b71d3aceSLiu Ying            interrupt-names = "shdload", "framecomplete", "seqcomplete";
203*b71d3aceSLiu Ying        };
204*b71d3aceSLiu Ying    };
205