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

From: Liu Ying
Date: Tue Jul 23 2024 - 05:49:02 EST


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@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.

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

>
> Rob
>

--
Regards,
Liu Ying