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