xref: /linux/Documentation/devicetree/bindings/display/imx/fsl,imx8qxp-dc-display-engine.yaml (revision 8d2b0853add1d7534dc0794e3c8e0b9e8c4ec640)
1*33ce3179SLiu Ying# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2*33ce3179SLiu Ying%YAML 1.2
3*33ce3179SLiu Ying---
4*33ce3179SLiu Ying$id: http://devicetree.org/schemas/display/imx/fsl,imx8qxp-dc-display-engine.yaml#
5*33ce3179SLiu Ying$schema: http://devicetree.org/meta-schemas/core.yaml#
6*33ce3179SLiu Ying
7*33ce3179SLiu Yingtitle: Freescale i.MX8qxp Display Controller Display Engine
8*33ce3179SLiu Ying
9*33ce3179SLiu Yingdescription:
10*33ce3179SLiu Ying  All Processing Units that operate in a display clock domain. Pixel pipeline
11*33ce3179SLiu Ying  is driven by a video timing and cannot be stalled. Implements all display
12*33ce3179SLiu Ying  specific processing.
13*33ce3179SLiu Ying
14*33ce3179SLiu Yingmaintainers:
15*33ce3179SLiu Ying  - Liu Ying <victor.liu@nxp.com>
16*33ce3179SLiu Ying
17*33ce3179SLiu Yingproperties:
18*33ce3179SLiu Ying  compatible:
19*33ce3179SLiu Ying    const: fsl,imx8qxp-dc-display-engine
20*33ce3179SLiu Ying
21*33ce3179SLiu Ying  reg:
22*33ce3179SLiu Ying    maxItems: 2
23*33ce3179SLiu Ying
24*33ce3179SLiu Ying  reg-names:
25*33ce3179SLiu Ying    items:
26*33ce3179SLiu Ying      - const: top
27*33ce3179SLiu Ying      - const: cfg
28*33ce3179SLiu Ying
29*33ce3179SLiu Ying  resets:
30*33ce3179SLiu Ying    maxItems: 1
31*33ce3179SLiu Ying
32*33ce3179SLiu Ying  interrupts:
33*33ce3179SLiu Ying    maxItems: 3
34*33ce3179SLiu Ying
35*33ce3179SLiu Ying  interrupt-names:
36*33ce3179SLiu Ying    items:
37*33ce3179SLiu Ying      - const: shdload
38*33ce3179SLiu Ying      - const: framecomplete
39*33ce3179SLiu Ying      - const: seqcomplete
40*33ce3179SLiu Ying
41*33ce3179SLiu Ying  power-domains:
42*33ce3179SLiu Ying    maxItems: 1
43*33ce3179SLiu Ying
44*33ce3179SLiu Ying  "#address-cells":
45*33ce3179SLiu Ying    const: 1
46*33ce3179SLiu Ying
47*33ce3179SLiu Ying  "#size-cells":
48*33ce3179SLiu Ying    const: 1
49*33ce3179SLiu Ying
50*33ce3179SLiu Ying  ranges: true
51*33ce3179SLiu Ying
52*33ce3179SLiu YingpatternProperties:
53*33ce3179SLiu Ying  "^dither@[0-9a-f]+$":
54*33ce3179SLiu Ying    type: object
55*33ce3179SLiu Ying    additionalProperties: true
56*33ce3179SLiu Ying
57*33ce3179SLiu Ying    properties:
58*33ce3179SLiu Ying      compatible:
59*33ce3179SLiu Ying        const: fsl,imx8qxp-dc-dither
60*33ce3179SLiu Ying
61*33ce3179SLiu Ying  "^framegen@[0-9a-f]+$":
62*33ce3179SLiu Ying    type: object
63*33ce3179SLiu Ying    additionalProperties: true
64*33ce3179SLiu Ying
65*33ce3179SLiu Ying    properties:
66*33ce3179SLiu Ying      compatible:
67*33ce3179SLiu Ying        const: fsl,imx8qxp-dc-framegen
68*33ce3179SLiu Ying
69*33ce3179SLiu Ying  "^gammacor@[0-9a-f]+$":
70*33ce3179SLiu Ying    type: object
71*33ce3179SLiu Ying    additionalProperties: true
72*33ce3179SLiu Ying
73*33ce3179SLiu Ying    properties:
74*33ce3179SLiu Ying      compatible:
75*33ce3179SLiu Ying        const: fsl,imx8qxp-dc-gammacor
76*33ce3179SLiu Ying
77*33ce3179SLiu Ying  "^matrix@[0-9a-f]+$":
78*33ce3179SLiu Ying    type: object
79*33ce3179SLiu Ying    additionalProperties: true
80*33ce3179SLiu Ying
81*33ce3179SLiu Ying    properties:
82*33ce3179SLiu Ying      compatible:
83*33ce3179SLiu Ying        const: fsl,imx8qxp-dc-matrix
84*33ce3179SLiu Ying
85*33ce3179SLiu Ying  "^signature@[0-9a-f]+$":
86*33ce3179SLiu Ying    type: object
87*33ce3179SLiu Ying    additionalProperties: true
88*33ce3179SLiu Ying
89*33ce3179SLiu Ying    properties:
90*33ce3179SLiu Ying      compatible:
91*33ce3179SLiu Ying        const: fsl,imx8qxp-dc-signature
92*33ce3179SLiu Ying
93*33ce3179SLiu Ying  "^tcon@[0-9a-f]+$":
94*33ce3179SLiu Ying    type: object
95*33ce3179SLiu Ying    additionalProperties: true
96*33ce3179SLiu Ying
97*33ce3179SLiu Ying    properties:
98*33ce3179SLiu Ying      compatible:
99*33ce3179SLiu Ying        const: fsl,imx8qxp-dc-tcon
100*33ce3179SLiu Ying
101*33ce3179SLiu Yingrequired:
102*33ce3179SLiu Ying  - compatible
103*33ce3179SLiu Ying  - reg
104*33ce3179SLiu Ying  - reg-names
105*33ce3179SLiu Ying  - interrupts
106*33ce3179SLiu Ying  - interrupt-names
107*33ce3179SLiu Ying  - power-domains
108*33ce3179SLiu Ying  - "#address-cells"
109*33ce3179SLiu Ying  - "#size-cells"
110*33ce3179SLiu Ying  - ranges
111*33ce3179SLiu Ying
112*33ce3179SLiu YingadditionalProperties: false
113*33ce3179SLiu Ying
114*33ce3179SLiu Yingexamples:
115*33ce3179SLiu Ying  - |
116*33ce3179SLiu Ying    #include <dt-bindings/clock/imx8-lpcg.h>
117*33ce3179SLiu Ying    #include <dt-bindings/firmware/imx/rsrc.h>
118*33ce3179SLiu Ying
119*33ce3179SLiu Ying    display-engine@5618b400 {
120*33ce3179SLiu Ying        compatible = "fsl,imx8qxp-dc-display-engine";
121*33ce3179SLiu Ying        reg = <0x5618b400 0x14>, <0x5618b800 0x1c00>;
122*33ce3179SLiu Ying        reg-names = "top", "cfg";
123*33ce3179SLiu Ying        interrupt-parent = <&dc0_intc>;
124*33ce3179SLiu Ying        interrupts = <15>, <16>, <17>;
125*33ce3179SLiu Ying        interrupt-names = "shdload", "framecomplete", "seqcomplete";
126*33ce3179SLiu Ying        power-domains = <&pd IMX_SC_R_DC_0_PLL_0>;
127*33ce3179SLiu Ying        #address-cells = <1>;
128*33ce3179SLiu Ying        #size-cells = <1>;
129*33ce3179SLiu Ying        ranges;
130*33ce3179SLiu Ying
131*33ce3179SLiu Ying        framegen@5618b800 {
132*33ce3179SLiu Ying            compatible = "fsl,imx8qxp-dc-framegen";
133*33ce3179SLiu Ying            reg = <0x5618b800 0x98>;
134*33ce3179SLiu Ying            clocks = <&dc0_disp_lpcg IMX_LPCG_CLK_0>;
135*33ce3179SLiu Ying            interrupt-parent = <&dc0_intc>;
136*33ce3179SLiu Ying            interrupts = <18>, <19>, <20>, <21>, <41>, <42>, <43>, <44>;
137*33ce3179SLiu Ying            interrupt-names = "int0", "int1", "int2", "int3",
138*33ce3179SLiu Ying                              "primsync_on", "primsync_off",
139*33ce3179SLiu Ying                              "secsync_on", "secsync_off";
140*33ce3179SLiu Ying        };
141*33ce3179SLiu Ying
142*33ce3179SLiu Ying        tcon@5618c800 {
143*33ce3179SLiu Ying            compatible = "fsl,imx8qxp-dc-tcon";
144*33ce3179SLiu Ying            reg = <0x5618c800 0x588>;
145*33ce3179SLiu Ying
146*33ce3179SLiu Ying            port {
147*33ce3179SLiu Ying                dc0_disp0_dc0_pixel_combiner_ch0: endpoint {
148*33ce3179SLiu Ying                    remote-endpoint = <&dc0_pixel_combiner_ch0_dc0_disp0>;
149*33ce3179SLiu Ying                };
150*33ce3179SLiu Ying            };
151*33ce3179SLiu Ying        };
152*33ce3179SLiu Ying    };
153