On Fri, Jul 12, 2024 at 05:32:28PM +0800, Liu Ying wrote: > Freescale i.MX8qxp Display Controller is implemented as construction set of > building blocks with unified concept and standardized interfaces. > > Document some processing units to support two display outputs. > > ConstFrame, ExtDst, FetchLayer, FetchWarp and LayerBlend processing units > are in pixel engine. FrameGen and TCon processing units are in display > engine. > > Signed-off-by: Liu Ying <victor.liu@xxxxxxx> > --- > v2: > * Drop fsl,dc-*-id DT properties. (Krzysztof) > * Add port property to fsl,imx8qxp-dc-tcon.yaml. (Krzysztof) > * Fix register range sizes in examples. > > .../imx/fsl,imx8qxp-dc-constframe.yaml | 44 ++++++ > .../display/imx/fsl,imx8qxp-dc-extdst.yaml | 72 ++++++++++ > .../imx/fsl,imx8qxp-dc-fetchlayer.yaml | 30 +++++ > .../imx/fsl,imx8qxp-dc-fetchunit-common.yaml | 125 ++++++++++++++++++ > .../display/imx/fsl,imx8qxp-dc-fetchwarp.yaml | 30 +++++ > .../display/imx/fsl,imx8qxp-dc-framegen.yaml | 64 +++++++++ > .../imx/fsl,imx8qxp-dc-layerblend.yaml | 39 ++++++ > .../display/imx/fsl,imx8qxp-dc-tcon.yaml | 45 +++++++ > 8 files changed, 449 insertions(+) > create mode 100644 Documentation/devicetree/bindings/display/imx/fsl,imx8qxp-dc-constframe.yaml > create mode 100644 Documentation/devicetree/bindings/display/imx/fsl,imx8qxp-dc-extdst.yaml > create mode 100644 Documentation/devicetree/bindings/display/imx/fsl,imx8qxp-dc-fetchlayer.yaml > create mode 100644 Documentation/devicetree/bindings/display/imx/fsl,imx8qxp-dc-fetchunit-common.yaml > create mode 100644 Documentation/devicetree/bindings/display/imx/fsl,imx8qxp-dc-fetchwarp.yaml > create mode 100644 Documentation/devicetree/bindings/display/imx/fsl,imx8qxp-dc-framegen.yaml > create mode 100644 Documentation/devicetree/bindings/display/imx/fsl,imx8qxp-dc-layerblend.yaml > create mode 100644 Documentation/devicetree/bindings/display/imx/fsl,imx8qxp-dc-tcon.yaml > > diff --git a/Documentation/devicetree/bindings/display/imx/fsl,imx8qxp-dc-constframe.yaml b/Documentation/devicetree/bindings/display/imx/fsl,imx8qxp-dc-constframe.yaml > new file mode 100644 > index 000000000000..94f678563608 > --- /dev/null > +++ b/Documentation/devicetree/bindings/display/imx/fsl,imx8qxp-dc-constframe.yaml > @@ -0,0 +1,44 @@ > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/display/imx/fsl,imx8qxp-dc-constframe.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: Freescale i.MX8qxp Display Controller Constant Frame > + > +description: | > + The Constant Frame unit is used instead of a Fetch unit where generation of > + constant color frames only is sufficient. This is the case for the background > + planes of content and safety streams in a Display Controller. > + > + The color can be setup to any RGBA value. > + > +maintainers: > + - Liu Ying <victor.liu@xxxxxxx> > + > +properties: > + compatible: > + const: fsl,imx8qxp-dc-constframe > + > + reg: > + maxItems: 2 > + > + reg-names: > + items: > + - const: pec > + - const: cfg > + > +required: > + - compatible > + - reg > + - reg-names > + > +additionalProperties: false > + > +examples: > + - | > + constframe@56180960 { > + compatible = "fsl,imx8qxp-dc-constframe"; > + reg = <0x56180960 0xc>, <0x56184400 0x20>; > + reg-names = "pec", "cfg"; > + }; > diff --git a/Documentation/devicetree/bindings/display/imx/fsl,imx8qxp-dc-extdst.yaml b/Documentation/devicetree/bindings/display/imx/fsl,imx8qxp-dc-extdst.yaml > new file mode 100644 > index 000000000000..dfc2d4f94f8e > --- /dev/null > +++ b/Documentation/devicetree/bindings/display/imx/fsl,imx8qxp-dc-extdst.yaml > @@ -0,0 +1,72 @@ > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/display/imx/fsl,imx8qxp-dc-extdst.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: Freescale i.MX8qxp Display Controller External Destination Interface > + > +description: | > + The External Destination unit is the interface between the internal pixel > + processing pipeline of the Pixel Engine, which is 30-bit RGB plus 8-bit Alpha, > + and a Display Engine. > + > + It comprises the following built-in Gamma apply function. > + > + +------X-----------------------+ > + | | ExtDst Unit | > + | V | > + | +-------+ | > + | | Gamma | | > + | +-------+ | > + | | | > + | V + > + +------X-----------------------+ > + > + The output format is 24-bit RGB plus 1-bit Alpha. Conversion from 10 to 8 > + bits is done by LSBit truncation. Alpha output bit is 1 for input 255, 0 > + otherwise. > + > +maintainers: > + - Liu Ying <victor.liu@xxxxxxx> > + > +properties: > + compatible: > + const: fsl,imx8qxp-dc-extdst > + > + reg: > + maxItems: 2 > + > + reg-names: > + items: > + - const: pec > + - const: cfg > + > + interrupts: > + maxItems: 3 > + > + interrupt-names: > + items: > + - const: shdload > + - const: framecomplete > + - const: seqcomplete > + > +required: > + - compatible > + - reg > + - reg-names > + - interrupts > + - interrupt-names > + > +additionalProperties: false > + > +examples: > + - | > + extdst@56180980 { > + compatible = "fsl,imx8qxp-dc-extdst"; > + reg = <0x56180980 0x1c>, <0x56184800 0x28>; > + reg-names = "pec", "cfg"; > + interrupt-parent = <&dc0_intc>; > + interrupts = <3>, <4>, <5>; > + interrupt-names = "shdload", "framecomplete", "seqcomplete"; > + }; > diff --git a/Documentation/devicetree/bindings/display/imx/fsl,imx8qxp-dc-fetchlayer.yaml b/Documentation/devicetree/bindings/display/imx/fsl,imx8qxp-dc-fetchlayer.yaml > new file mode 100644 > index 000000000000..804a3ea7419f > --- /dev/null > +++ b/Documentation/devicetree/bindings/display/imx/fsl,imx8qxp-dc-fetchlayer.yaml > @@ -0,0 +1,30 @@ > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/display/imx/fsl,imx8qxp-dc-fetchlayer.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: Freescale i.MX8qxp Display Controller Fetchlayer > + > +maintainers: > + - Liu Ying <victor.liu@xxxxxxx> > + > +allOf: > + - $ref: fsl,imx8qxp-dc-fetchunit-common.yaml# > + > +properties: > + compatible: > + const: fsl,imx8qxp-dc-fetchlayer As the fetch units only differ by compatible, combine them and the common schema into 1 schema doc. Rob