Re: [PATCH v2 01/16] dt-bindings: display: imx: Add some i.MX8qxp Display Controller processing units

From: Rob Herring
Date: Mon Jul 22 2024 - 18:38:29 EST


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