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