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