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