xref: /freebsd/sys/contrib/device-tree/Bindings/display/imx/fsl,imx8qxp-dc-pixel-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-pixel-engine.yaml#
5*833e5d42SEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
6*833e5d42SEmmanuel Vadot
7*833e5d42SEmmanuel Vadottitle: Freescale i.MX8qxp Display Controller Pixel Engine
8*833e5d42SEmmanuel Vadot
9*833e5d42SEmmanuel Vadotdescription:
10*833e5d42SEmmanuel Vadot  All Processing Units that operate in the AXI bus clock domain. Pixel
11*833e5d42SEmmanuel Vadot  pipelines have the ability to stall when a destination is busy. Implements
12*833e5d42SEmmanuel Vadot  all communication to memory resources and most of the image processing
13*833e5d42SEmmanuel Vadot  functions. Interconnection of Processing Units is re-configurable.
14*833e5d42SEmmanuel Vadot
15*833e5d42SEmmanuel Vadotmaintainers:
16*833e5d42SEmmanuel Vadot  - Liu Ying <victor.liu@nxp.com>
17*833e5d42SEmmanuel Vadot
18*833e5d42SEmmanuel Vadotproperties:
19*833e5d42SEmmanuel Vadot  compatible:
20*833e5d42SEmmanuel Vadot    const: fsl,imx8qxp-dc-pixel-engine
21*833e5d42SEmmanuel Vadot
22*833e5d42SEmmanuel Vadot  reg:
23*833e5d42SEmmanuel Vadot    maxItems: 1
24*833e5d42SEmmanuel Vadot
25*833e5d42SEmmanuel Vadot  clocks:
26*833e5d42SEmmanuel Vadot    maxItems: 1
27*833e5d42SEmmanuel Vadot
28*833e5d42SEmmanuel Vadot  "#address-cells":
29*833e5d42SEmmanuel Vadot    const: 1
30*833e5d42SEmmanuel Vadot
31*833e5d42SEmmanuel Vadot  "#size-cells":
32*833e5d42SEmmanuel Vadot    const: 1
33*833e5d42SEmmanuel Vadot
34*833e5d42SEmmanuel Vadot  ranges: true
35*833e5d42SEmmanuel Vadot
36*833e5d42SEmmanuel VadotpatternProperties:
37*833e5d42SEmmanuel Vadot  "^blit-engine@[0-9a-f]+$":
38*833e5d42SEmmanuel Vadot    type: object
39*833e5d42SEmmanuel Vadot    additionalProperties: true
40*833e5d42SEmmanuel Vadot
41*833e5d42SEmmanuel Vadot    properties:
42*833e5d42SEmmanuel Vadot      compatible:
43*833e5d42SEmmanuel Vadot        const: fsl,imx8qxp-dc-blit-engine
44*833e5d42SEmmanuel Vadot
45*833e5d42SEmmanuel Vadot  "^constframe@[0-9a-f]+$":
46*833e5d42SEmmanuel Vadot    type: object
47*833e5d42SEmmanuel Vadot    additionalProperties: true
48*833e5d42SEmmanuel Vadot
49*833e5d42SEmmanuel Vadot    properties:
50*833e5d42SEmmanuel Vadot      compatible:
51*833e5d42SEmmanuel Vadot        const: fsl,imx8qxp-dc-constframe
52*833e5d42SEmmanuel Vadot
53*833e5d42SEmmanuel Vadot  "^extdst@[0-9a-f]+$":
54*833e5d42SEmmanuel Vadot    type: object
55*833e5d42SEmmanuel Vadot    additionalProperties: true
56*833e5d42SEmmanuel Vadot
57*833e5d42SEmmanuel Vadot    properties:
58*833e5d42SEmmanuel Vadot      compatible:
59*833e5d42SEmmanuel Vadot        const: fsl,imx8qxp-dc-extdst
60*833e5d42SEmmanuel Vadot
61*833e5d42SEmmanuel Vadot  "^fetchdecode@[0-9a-f]+$":
62*833e5d42SEmmanuel Vadot    type: object
63*833e5d42SEmmanuel Vadot    additionalProperties: true
64*833e5d42SEmmanuel Vadot
65*833e5d42SEmmanuel Vadot    properties:
66*833e5d42SEmmanuel Vadot      compatible:
67*833e5d42SEmmanuel Vadot        const: fsl,imx8qxp-dc-fetchdecode
68*833e5d42SEmmanuel Vadot
69*833e5d42SEmmanuel Vadot  "^fetcheco@[0-9a-f]+$":
70*833e5d42SEmmanuel Vadot    type: object
71*833e5d42SEmmanuel Vadot    additionalProperties: true
72*833e5d42SEmmanuel Vadot
73*833e5d42SEmmanuel Vadot    properties:
74*833e5d42SEmmanuel Vadot      compatible:
75*833e5d42SEmmanuel Vadot        const: fsl,imx8qxp-dc-fetcheco
76*833e5d42SEmmanuel Vadot
77*833e5d42SEmmanuel Vadot  "^fetchlayer@[0-9a-f]+$":
78*833e5d42SEmmanuel Vadot    type: object
79*833e5d42SEmmanuel Vadot    additionalProperties: true
80*833e5d42SEmmanuel Vadot
81*833e5d42SEmmanuel Vadot    properties:
82*833e5d42SEmmanuel Vadot      compatible:
83*833e5d42SEmmanuel Vadot        const: fsl,imx8qxp-dc-fetchlayer
84*833e5d42SEmmanuel Vadot
85*833e5d42SEmmanuel Vadot  "^fetchwarp@[0-9a-f]+$":
86*833e5d42SEmmanuel Vadot    type: object
87*833e5d42SEmmanuel Vadot    additionalProperties: true
88*833e5d42SEmmanuel Vadot
89*833e5d42SEmmanuel Vadot    properties:
90*833e5d42SEmmanuel Vadot      compatible:
91*833e5d42SEmmanuel Vadot        const: fsl,imx8qxp-dc-fetchwarp
92*833e5d42SEmmanuel Vadot
93*833e5d42SEmmanuel Vadot  "^hscaler@[0-9a-f]+$":
94*833e5d42SEmmanuel Vadot    type: object
95*833e5d42SEmmanuel Vadot    additionalProperties: true
96*833e5d42SEmmanuel Vadot
97*833e5d42SEmmanuel Vadot    properties:
98*833e5d42SEmmanuel Vadot      compatible:
99*833e5d42SEmmanuel Vadot        const: fsl,imx8qxp-dc-hscaler
100*833e5d42SEmmanuel Vadot
101*833e5d42SEmmanuel Vadot  "^layerblend@[0-9a-f]+$":
102*833e5d42SEmmanuel Vadot    type: object
103*833e5d42SEmmanuel Vadot    additionalProperties: true
104*833e5d42SEmmanuel Vadot
105*833e5d42SEmmanuel Vadot    properties:
106*833e5d42SEmmanuel Vadot      compatible:
107*833e5d42SEmmanuel Vadot        const: fsl,imx8qxp-dc-layerblend
108*833e5d42SEmmanuel Vadot
109*833e5d42SEmmanuel Vadot  "^matrix@[0-9a-f]+$":
110*833e5d42SEmmanuel Vadot    type: object
111*833e5d42SEmmanuel Vadot    additionalProperties: true
112*833e5d42SEmmanuel Vadot
113*833e5d42SEmmanuel Vadot    properties:
114*833e5d42SEmmanuel Vadot      compatible:
115*833e5d42SEmmanuel Vadot        const: fsl,imx8qxp-dc-matrix
116*833e5d42SEmmanuel Vadot
117*833e5d42SEmmanuel Vadot  "^safety@[0-9a-f]+$":
118*833e5d42SEmmanuel Vadot    type: object
119*833e5d42SEmmanuel Vadot    additionalProperties: true
120*833e5d42SEmmanuel Vadot
121*833e5d42SEmmanuel Vadot    properties:
122*833e5d42SEmmanuel Vadot      compatible:
123*833e5d42SEmmanuel Vadot        const: fsl,imx8qxp-dc-safety
124*833e5d42SEmmanuel Vadot
125*833e5d42SEmmanuel Vadot  "^vscaler@[0-9a-f]+$":
126*833e5d42SEmmanuel Vadot    type: object
127*833e5d42SEmmanuel Vadot    additionalProperties: true
128*833e5d42SEmmanuel Vadot
129*833e5d42SEmmanuel Vadot    properties:
130*833e5d42SEmmanuel Vadot      compatible:
131*833e5d42SEmmanuel Vadot        const: fsl,imx8qxp-dc-vscaler
132*833e5d42SEmmanuel Vadot
133*833e5d42SEmmanuel Vadotrequired:
134*833e5d42SEmmanuel Vadot  - compatible
135*833e5d42SEmmanuel Vadot  - reg
136*833e5d42SEmmanuel Vadot  - clocks
137*833e5d42SEmmanuel Vadot  - "#address-cells"
138*833e5d42SEmmanuel Vadot  - "#size-cells"
139*833e5d42SEmmanuel Vadot  - ranges
140*833e5d42SEmmanuel Vadot
141*833e5d42SEmmanuel VadotadditionalProperties: false
142*833e5d42SEmmanuel Vadot
143*833e5d42SEmmanuel Vadotexamples:
144*833e5d42SEmmanuel Vadot  - |
145*833e5d42SEmmanuel Vadot    #include <dt-bindings/clock/imx8-lpcg.h>
146*833e5d42SEmmanuel Vadot
147*833e5d42SEmmanuel Vadot    pixel-engine@56180800 {
148*833e5d42SEmmanuel Vadot        compatible = "fsl,imx8qxp-dc-pixel-engine";
149*833e5d42SEmmanuel Vadot        reg = <0x56180800 0xac00>;
150*833e5d42SEmmanuel Vadot        clocks = <&dc0_lpcg IMX_LPCG_CLK_5>;
151*833e5d42SEmmanuel Vadot        #address-cells = <1>;
152*833e5d42SEmmanuel Vadot        #size-cells = <1>;
153*833e5d42SEmmanuel Vadot        ranges;
154*833e5d42SEmmanuel Vadot
155*833e5d42SEmmanuel Vadot        constframe@56180960 {
156*833e5d42SEmmanuel Vadot            compatible = "fsl,imx8qxp-dc-constframe";
157*833e5d42SEmmanuel Vadot            reg = <0x56180960 0xc>, <0x56184400 0x20>;
158*833e5d42SEmmanuel Vadot            reg-names = "pec", "cfg";
159*833e5d42SEmmanuel Vadot        };
160*833e5d42SEmmanuel Vadot
161*833e5d42SEmmanuel Vadot        extdst@56180980 {
162*833e5d42SEmmanuel Vadot            compatible = "fsl,imx8qxp-dc-extdst";
163*833e5d42SEmmanuel Vadot            reg = <0x56180980 0x1c>, <0x56184800 0x28>;
164*833e5d42SEmmanuel Vadot            reg-names = "pec", "cfg";
165*833e5d42SEmmanuel Vadot            interrupt-parent = <&dc0_intc>;
166*833e5d42SEmmanuel Vadot            interrupts = <3>, <4>, <5>;
167*833e5d42SEmmanuel Vadot            interrupt-names = "shdload", "framecomplete", "seqcomplete";
168*833e5d42SEmmanuel Vadot        };
169*833e5d42SEmmanuel Vadot
170*833e5d42SEmmanuel Vadot        constframe@561809a0 {
171*833e5d42SEmmanuel Vadot            compatible = "fsl,imx8qxp-dc-constframe";
172*833e5d42SEmmanuel Vadot            reg = <0x561809a0 0xc>, <0x56184c00 0x20>;
173*833e5d42SEmmanuel Vadot            reg-names = "pec", "cfg";
174*833e5d42SEmmanuel Vadot        };
175*833e5d42SEmmanuel Vadot
176*833e5d42SEmmanuel Vadot        extdst@561809c0 {
177*833e5d42SEmmanuel Vadot            compatible = "fsl,imx8qxp-dc-extdst";
178*833e5d42SEmmanuel Vadot            reg = <0x561809c0 0x1c>, <0x56185000 0x28>;
179*833e5d42SEmmanuel Vadot            reg-names = "pec", "cfg";
180*833e5d42SEmmanuel Vadot            interrupt-parent = <&dc0_intc>;
181*833e5d42SEmmanuel Vadot            interrupts = <6>, <7>, <8>;
182*833e5d42SEmmanuel Vadot            interrupt-names = "shdload", "framecomplete", "seqcomplete";
183*833e5d42SEmmanuel Vadot        };
184*833e5d42SEmmanuel Vadot
185*833e5d42SEmmanuel Vadot        constframe@561809e0 {
186*833e5d42SEmmanuel Vadot            compatible = "fsl,imx8qxp-dc-constframe";
187*833e5d42SEmmanuel Vadot            reg = <0x561809e0 0xc>, <0x56185400 0x20>;
188*833e5d42SEmmanuel Vadot            reg-names = "pec", "cfg";
189*833e5d42SEmmanuel Vadot        };
190*833e5d42SEmmanuel Vadot
191*833e5d42SEmmanuel Vadot        extdst@56180a00 {
192*833e5d42SEmmanuel Vadot            compatible = "fsl,imx8qxp-dc-extdst";
193*833e5d42SEmmanuel Vadot            reg = <0x56180a00 0x1c>, <0x56185800 0x28>;
194*833e5d42SEmmanuel Vadot            reg-names = "pec", "cfg";
195*833e5d42SEmmanuel Vadot            interrupt-parent = <&dc0_intc>;
196*833e5d42SEmmanuel Vadot            interrupts = <9>, <10>, <11>;
197*833e5d42SEmmanuel Vadot            interrupt-names = "shdload", "framecomplete", "seqcomplete";
198*833e5d42SEmmanuel Vadot        };
199*833e5d42SEmmanuel Vadot
200*833e5d42SEmmanuel Vadot        constframe@56180a20 {
201*833e5d42SEmmanuel Vadot            compatible = "fsl,imx8qxp-dc-constframe";
202*833e5d42SEmmanuel Vadot            reg = <0x56180a20 0xc>, <0x56185c00 0x20>;
203*833e5d42SEmmanuel Vadot            reg-names = "pec", "cfg";
204*833e5d42SEmmanuel Vadot        };
205*833e5d42SEmmanuel Vadot
206*833e5d42SEmmanuel Vadot        extdst@56180a40 {
207*833e5d42SEmmanuel Vadot            compatible = "fsl,imx8qxp-dc-extdst";
208*833e5d42SEmmanuel Vadot            reg = <0x56180a40 0x1c>, <0x56186000 0x28>;
209*833e5d42SEmmanuel Vadot            reg-names = "pec", "cfg";
210*833e5d42SEmmanuel Vadot            interrupt-parent = <&dc0_intc>;
211*833e5d42SEmmanuel Vadot            interrupts = <12>, <13>, <14>;
212*833e5d42SEmmanuel Vadot            interrupt-names = "shdload", "framecomplete", "seqcomplete";
213*833e5d42SEmmanuel Vadot        };
214*833e5d42SEmmanuel Vadot
215*833e5d42SEmmanuel Vadot        fetchwarp@56180a60 {
216*833e5d42SEmmanuel Vadot            compatible = "fsl,imx8qxp-dc-fetchwarp";
217*833e5d42SEmmanuel Vadot            reg = <0x56180a60 0x10>, <0x56186400 0x190>;
218*833e5d42SEmmanuel Vadot            reg-names = "pec", "cfg";
219*833e5d42SEmmanuel Vadot        };
220*833e5d42SEmmanuel Vadot
221*833e5d42SEmmanuel Vadot        fetchlayer@56180ac0 {
222*833e5d42SEmmanuel Vadot            compatible = "fsl,imx8qxp-dc-fetchlayer";
223*833e5d42SEmmanuel Vadot            reg = <0x56180ac0 0xc>, <0x56188400 0x404>;
224*833e5d42SEmmanuel Vadot            reg-names = "pec", "cfg";
225*833e5d42SEmmanuel Vadot        };
226*833e5d42SEmmanuel Vadot
227*833e5d42SEmmanuel Vadot        layerblend@56180ba0 {
228*833e5d42SEmmanuel Vadot            compatible = "fsl,imx8qxp-dc-layerblend";
229*833e5d42SEmmanuel Vadot            reg = <0x56180ba0 0x10>, <0x5618a400 0x20>;
230*833e5d42SEmmanuel Vadot            reg-names = "pec", "cfg";
231*833e5d42SEmmanuel Vadot        };
232*833e5d42SEmmanuel Vadot
233*833e5d42SEmmanuel Vadot        layerblend@56180bc0 {
234*833e5d42SEmmanuel Vadot            compatible = "fsl,imx8qxp-dc-layerblend";
235*833e5d42SEmmanuel Vadot            reg = <0x56180bc0 0x10>, <0x5618a800 0x20>;
236*833e5d42SEmmanuel Vadot            reg-names = "pec", "cfg";
237*833e5d42SEmmanuel Vadot        };
238*833e5d42SEmmanuel Vadot
239*833e5d42SEmmanuel Vadot        layerblend@56180be0 {
240*833e5d42SEmmanuel Vadot            compatible = "fsl,imx8qxp-dc-layerblend";
241*833e5d42SEmmanuel Vadot            reg = <0x56180be0 0x10>, <0x5618ac00 0x20>;
242*833e5d42SEmmanuel Vadot            reg-names = "pec", "cfg";
243*833e5d42SEmmanuel Vadot        };
244*833e5d42SEmmanuel Vadot
245*833e5d42SEmmanuel Vadot        layerblend@56180c00 {
246*833e5d42SEmmanuel Vadot            compatible = "fsl,imx8qxp-dc-layerblend";
247*833e5d42SEmmanuel Vadot            reg = <0x56180c00 0x10>, <0x5618b000 0x20>;
248*833e5d42SEmmanuel Vadot            reg-names = "pec", "cfg";
249*833e5d42SEmmanuel Vadot        };
250*833e5d42SEmmanuel Vadot    };
251