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

Liu Ying victor.liu at nxp.com
Tue Jul 23 02:49:07 PDT 2024


On 07/23/2024, Rob Herring wrote:
> 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.

Ok, will combine all into fsl,imx8qxp-dc-fetchunit.yaml in v3
if no objections.

> 
> Rob
> 

-- 
Regards,
Liu Ying




More information about the linux-arm-kernel mailing list