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-blit-engine.yaml# 5*833e5d42SEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml# 6*833e5d42SEmmanuel Vadot 7*833e5d42SEmmanuel Vadottitle: Freescale i.MX8qxp Display Controller Blit Engine 8*833e5d42SEmmanuel Vadot 9*833e5d42SEmmanuel Vadotdescription: | 10*833e5d42SEmmanuel Vadot A blit operation (block based image transfer) reads up to 3 source images 11*833e5d42SEmmanuel Vadot from memory and computes one destination image from it, which is written 12*833e5d42SEmmanuel Vadot back to memory. The following basic operations are supported: 13*833e5d42SEmmanuel Vadot 14*833e5d42SEmmanuel Vadot * Buffer Fill 15*833e5d42SEmmanuel Vadot Fills a buffer with constant color 16*833e5d42SEmmanuel Vadot 17*833e5d42SEmmanuel Vadot * Buffer Copy 18*833e5d42SEmmanuel Vadot Copies one source to a destination buffer. 19*833e5d42SEmmanuel Vadot 20*833e5d42SEmmanuel Vadot * Image Blend 21*833e5d42SEmmanuel Vadot Combines two source images by a blending equation and writes result to 22*833e5d42SEmmanuel Vadot destination (which can be one of the sources). 23*833e5d42SEmmanuel Vadot 24*833e5d42SEmmanuel Vadot * Image Rop2/3 25*833e5d42SEmmanuel Vadot Combines up to three source images by a logical equation (raster operation) 26*833e5d42SEmmanuel Vadot and writes result to destination (which can be one of the sources). 27*833e5d42SEmmanuel Vadot 28*833e5d42SEmmanuel Vadot * Image Flip 29*833e5d42SEmmanuel Vadot Mirrors the source image in horizontal and/or vertical direction. 30*833e5d42SEmmanuel Vadot 31*833e5d42SEmmanuel Vadot * Format Convert 32*833e5d42SEmmanuel Vadot Convert between the supported color and buffer formats. 33*833e5d42SEmmanuel Vadot 34*833e5d42SEmmanuel Vadot * Color Transform 35*833e5d42SEmmanuel Vadot Modify colors by linear or non-linear transformations. 36*833e5d42SEmmanuel Vadot 37*833e5d42SEmmanuel Vadot * Image Scale 38*833e5d42SEmmanuel Vadot Changes size of the source image. 39*833e5d42SEmmanuel Vadot 40*833e5d42SEmmanuel Vadot * Image Rotate 41*833e5d42SEmmanuel Vadot Rotates the source image by any angle. 42*833e5d42SEmmanuel Vadot 43*833e5d42SEmmanuel Vadot * Image Filter 44*833e5d42SEmmanuel Vadot Performs an FIR filter operation on the source image. 45*833e5d42SEmmanuel Vadot 46*833e5d42SEmmanuel Vadot * Image Warp 47*833e5d42SEmmanuel Vadot Performs a re-sampling of the source image with any pattern. The sample 48*833e5d42SEmmanuel Vadot point positions are read from a compressed coordinate buffer. 49*833e5d42SEmmanuel Vadot 50*833e5d42SEmmanuel Vadot * Buffer Pack 51*833e5d42SEmmanuel Vadot Writes an image with color components stored in up to three different 52*833e5d42SEmmanuel Vadot buffers (planar formats) into a single buffer (packed format). 53*833e5d42SEmmanuel Vadot 54*833e5d42SEmmanuel Vadot * Chroma Resample 55*833e5d42SEmmanuel Vadot Converts between different YUV formats that differ in chroma sampling rate 56*833e5d42SEmmanuel Vadot (4:4:4, 4:2:2, 4:2:0). 57*833e5d42SEmmanuel Vadot 58*833e5d42SEmmanuel Vadotmaintainers: 59*833e5d42SEmmanuel Vadot - Liu Ying <victor.liu@nxp.com> 60*833e5d42SEmmanuel Vadot 61*833e5d42SEmmanuel Vadotproperties: 62*833e5d42SEmmanuel Vadot compatible: 63*833e5d42SEmmanuel Vadot const: fsl,imx8qxp-dc-blit-engine 64*833e5d42SEmmanuel Vadot 65*833e5d42SEmmanuel Vadot reg: 66*833e5d42SEmmanuel Vadot maxItems: 2 67*833e5d42SEmmanuel Vadot 68*833e5d42SEmmanuel Vadot reg-names: 69*833e5d42SEmmanuel Vadot items: 70*833e5d42SEmmanuel Vadot - const: pec 71*833e5d42SEmmanuel Vadot - const: cfg 72*833e5d42SEmmanuel Vadot 73*833e5d42SEmmanuel Vadot "#address-cells": 74*833e5d42SEmmanuel Vadot const: 1 75*833e5d42SEmmanuel Vadot 76*833e5d42SEmmanuel Vadot "#size-cells": 77*833e5d42SEmmanuel Vadot const: 1 78*833e5d42SEmmanuel Vadot 79*833e5d42SEmmanuel Vadot ranges: true 80*833e5d42SEmmanuel Vadot 81*833e5d42SEmmanuel VadotpatternProperties: 82*833e5d42SEmmanuel Vadot "^blitblend@[0-9a-f]+$": 83*833e5d42SEmmanuel Vadot type: object 84*833e5d42SEmmanuel Vadot additionalProperties: true 85*833e5d42SEmmanuel Vadot 86*833e5d42SEmmanuel Vadot properties: 87*833e5d42SEmmanuel Vadot compatible: 88*833e5d42SEmmanuel Vadot const: fsl,imx8qxp-dc-blitblend 89*833e5d42SEmmanuel Vadot 90*833e5d42SEmmanuel Vadot "^clut@[0-9a-f]+$": 91*833e5d42SEmmanuel Vadot type: object 92*833e5d42SEmmanuel Vadot additionalProperties: true 93*833e5d42SEmmanuel Vadot 94*833e5d42SEmmanuel Vadot properties: 95*833e5d42SEmmanuel Vadot compatible: 96*833e5d42SEmmanuel Vadot const: fsl,imx8qxp-dc-clut 97*833e5d42SEmmanuel Vadot 98*833e5d42SEmmanuel Vadot "^fetchdecode@[0-9a-f]+$": 99*833e5d42SEmmanuel Vadot type: object 100*833e5d42SEmmanuel Vadot additionalProperties: true 101*833e5d42SEmmanuel Vadot 102*833e5d42SEmmanuel Vadot properties: 103*833e5d42SEmmanuel Vadot compatible: 104*833e5d42SEmmanuel Vadot const: fsl,imx8qxp-dc-fetchdecode 105*833e5d42SEmmanuel Vadot 106*833e5d42SEmmanuel Vadot "^fetcheco@[0-9a-f]+$": 107*833e5d42SEmmanuel Vadot type: object 108*833e5d42SEmmanuel Vadot additionalProperties: true 109*833e5d42SEmmanuel Vadot 110*833e5d42SEmmanuel Vadot properties: 111*833e5d42SEmmanuel Vadot compatible: 112*833e5d42SEmmanuel Vadot const: fsl,imx8qxp-dc-fetcheco 113*833e5d42SEmmanuel Vadot 114*833e5d42SEmmanuel Vadot "^fetchwarp@[0-9a-f]+$": 115*833e5d42SEmmanuel Vadot type: object 116*833e5d42SEmmanuel Vadot additionalProperties: true 117*833e5d42SEmmanuel Vadot 118*833e5d42SEmmanuel Vadot properties: 119*833e5d42SEmmanuel Vadot compatible: 120*833e5d42SEmmanuel Vadot const: fsl,imx8qxp-dc-fetchwarp 121*833e5d42SEmmanuel Vadot 122*833e5d42SEmmanuel Vadot "^filter@[0-9a-f]+$": 123*833e5d42SEmmanuel Vadot type: object 124*833e5d42SEmmanuel Vadot additionalProperties: true 125*833e5d42SEmmanuel Vadot 126*833e5d42SEmmanuel Vadot properties: 127*833e5d42SEmmanuel Vadot compatible: 128*833e5d42SEmmanuel Vadot const: fsl,imx8qxp-dc-filter 129*833e5d42SEmmanuel Vadot 130*833e5d42SEmmanuel Vadot "^hscaler@[0-9a-f]+$": 131*833e5d42SEmmanuel Vadot type: object 132*833e5d42SEmmanuel Vadot additionalProperties: true 133*833e5d42SEmmanuel Vadot 134*833e5d42SEmmanuel Vadot properties: 135*833e5d42SEmmanuel Vadot compatible: 136*833e5d42SEmmanuel Vadot const: fsl,imx8qxp-dc-hscaler 137*833e5d42SEmmanuel Vadot 138*833e5d42SEmmanuel Vadot "^matrix@[0-9a-f]+$": 139*833e5d42SEmmanuel Vadot type: object 140*833e5d42SEmmanuel Vadot additionalProperties: true 141*833e5d42SEmmanuel Vadot 142*833e5d42SEmmanuel Vadot properties: 143*833e5d42SEmmanuel Vadot compatible: 144*833e5d42SEmmanuel Vadot const: fsl,imx8qxp-dc-matrix 145*833e5d42SEmmanuel Vadot 146*833e5d42SEmmanuel Vadot "^rop@[0-9a-f]+$": 147*833e5d42SEmmanuel Vadot type: object 148*833e5d42SEmmanuel Vadot additionalProperties: true 149*833e5d42SEmmanuel Vadot 150*833e5d42SEmmanuel Vadot properties: 151*833e5d42SEmmanuel Vadot compatible: 152*833e5d42SEmmanuel Vadot const: fsl,imx8qxp-dc-rop 153*833e5d42SEmmanuel Vadot 154*833e5d42SEmmanuel Vadot "^store@[0-9a-f]+$": 155*833e5d42SEmmanuel Vadot type: object 156*833e5d42SEmmanuel Vadot additionalProperties: true 157*833e5d42SEmmanuel Vadot 158*833e5d42SEmmanuel Vadot properties: 159*833e5d42SEmmanuel Vadot compatible: 160*833e5d42SEmmanuel Vadot const: fsl,imx8qxp-dc-store 161*833e5d42SEmmanuel Vadot 162*833e5d42SEmmanuel Vadot "^vscaler@[0-9a-f]+$": 163*833e5d42SEmmanuel Vadot type: object 164*833e5d42SEmmanuel Vadot additionalProperties: true 165*833e5d42SEmmanuel Vadot 166*833e5d42SEmmanuel Vadot properties: 167*833e5d42SEmmanuel Vadot compatible: 168*833e5d42SEmmanuel Vadot const: fsl,imx8qxp-dc-vscaler 169*833e5d42SEmmanuel Vadot 170*833e5d42SEmmanuel Vadotrequired: 171*833e5d42SEmmanuel Vadot - compatible 172*833e5d42SEmmanuel Vadot - reg 173*833e5d42SEmmanuel Vadot - reg-names 174*833e5d42SEmmanuel Vadot - "#address-cells" 175*833e5d42SEmmanuel Vadot - "#size-cells" 176*833e5d42SEmmanuel Vadot - ranges 177*833e5d42SEmmanuel Vadot 178*833e5d42SEmmanuel VadotadditionalProperties: false 179*833e5d42SEmmanuel Vadot 180*833e5d42SEmmanuel Vadotexamples: 181*833e5d42SEmmanuel Vadot - | 182*833e5d42SEmmanuel Vadot blit-engine@56180820 { 183*833e5d42SEmmanuel Vadot compatible = "fsl,imx8qxp-dc-blit-engine"; 184*833e5d42SEmmanuel Vadot reg = <0x56180820 0x13c>, <0x56181000 0x3400>; 185*833e5d42SEmmanuel Vadot reg-names = "pec", "cfg"; 186*833e5d42SEmmanuel Vadot #address-cells = <1>; 187*833e5d42SEmmanuel Vadot #size-cells = <1>; 188*833e5d42SEmmanuel Vadot ranges; 189*833e5d42SEmmanuel Vadot 190*833e5d42SEmmanuel Vadot fetchdecode@56180820 { 191*833e5d42SEmmanuel Vadot compatible = "fsl,imx8qxp-dc-fetchdecode"; 192*833e5d42SEmmanuel Vadot reg = <0x56180820 0x10>, <0x56181000 0x404>; 193*833e5d42SEmmanuel Vadot reg-names = "pec", "cfg"; 194*833e5d42SEmmanuel Vadot }; 195*833e5d42SEmmanuel Vadot 196*833e5d42SEmmanuel Vadot store@56180940 { 197*833e5d42SEmmanuel Vadot compatible = "fsl,imx8qxp-dc-store"; 198*833e5d42SEmmanuel Vadot reg = <0x56180940 0x1c>, <0x56184000 0x5c>; 199*833e5d42SEmmanuel Vadot reg-names = "pec", "cfg"; 200*833e5d42SEmmanuel Vadot interrupt-parent = <&dc0_intc>; 201*833e5d42SEmmanuel Vadot interrupts = <0>, <1>, <2>; 202*833e5d42SEmmanuel Vadot interrupt-names = "shdload", "framecomplete", "seqcomplete"; 203*833e5d42SEmmanuel Vadot }; 204*833e5d42SEmmanuel Vadot }; 205