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

Rob Herring robh at kernel.org
Mon Jul 22 22:38:14 UTC 2024


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 at nxp.com>
> ---
> 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 at nxp.com>
> +
> +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 at 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 at nxp.com>
> +
> +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 at 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 at nxp.com>
> +
> +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


More information about the dri-devel mailing list