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