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