[PATCH 10/11] dt-bindings: display: convert Arm Mali-DP to DT schema
Rob Herring
robh at kernel.org
Wed Apr 27 19:39:59 UTC 2022
On Wed, Apr 27, 2022 at 12:25:27PM +0100, Andre Przywara wrote:
> The Arm Mali Display Processor (DP) 5xx/6xx is a series of IP that scans
> out a framebuffer and hands the pixels over to a digital signal encoder.
> It supports multiple layers, scaling and rotation.
>
> Convert the existing DT binding to DT schema.
>
> Signed-off-by: Andre Przywara <andre.przywara at arm.com>
> ---
> .../bindings/display/arm,malidp.txt | 68 ----------
> .../bindings/display/arm,malidp.yaml | 117 ++++++++++++++++++
> 2 files changed, 117 insertions(+), 68 deletions(-)
> delete mode 100644 Documentation/devicetree/bindings/display/arm,malidp.txt
> create mode 100644 Documentation/devicetree/bindings/display/arm,malidp.yaml
>
> diff --git a/Documentation/devicetree/bindings/display/arm,malidp.txt b/Documentation/devicetree/bindings/display/arm,malidp.txt
> deleted file mode 100644
> index 7a97a2b48c2a2..0000000000000
> --- a/Documentation/devicetree/bindings/display/arm,malidp.txt
> +++ /dev/null
> @@ -1,68 +0,0 @@
> -ARM Mali-DP
> -
> -The following bindings apply to a family of Display Processors sold as
> -licensable IP by ARM Ltd. The bindings describe the Mali DP500, DP550 and
> -DP650 processors that offer multiple composition layers, support for
> -rotation and scaling output.
> -
> -Required properties:
> - - compatible: should be one of
> - "arm,mali-dp500"
> - "arm,mali-dp550"
> - "arm,mali-dp650"
> - depending on the particular implementation present in the hardware
> - - reg: Physical base address and size of the block of registers used by
> - the processor.
> - - interrupts: Interrupt list, as defined in ../interrupt-controller/interrupts.txt,
> - interrupt client nodes.
> - - interrupt-names: name of the engine inside the processor that will
> - use the corresponding interrupt. Should be one of "DE" or "SE".
> - - clocks: A list of phandle + clock-specifier pairs, one for each entry
> - in 'clock-names'
> - - clock-names: A list of clock names. It should contain:
> - - "pclk": for the APB interface clock
> - - "aclk": for the AXI interface clock
> - - "mclk": for the main processor clock
> - - "pxlclk": for the pixel clock feeding the output PLL of the processor.
> - - arm,malidp-output-port-lines: Array of u8 values describing the number
> - of output lines per channel (R, G and B).
> -
> -Required sub-nodes:
> - - port: The Mali DP connection to an encoder input port. The connection
> - is modelled using the OF graph bindings specified in
> - Documentation/devicetree/bindings/graph.txt
> -
> -Optional properties:
> - - memory-region: phandle to a node describing memory (see
> - Documentation/devicetree/bindings/reserved-memory/reserved-memory.txt)
> - to be used for the framebuffer; if not present, the framebuffer may
> - be located anywhere in memory.
> - - arm,malidp-arqos-high-level: integer of u32 value describing the ARQoS
> - levels of DP500's QoS signaling.
> -
> -
> -Example:
> -
> -/ {
> - ...
> -
> - dp0: malidp at 6f200000 {
> - compatible = "arm,mali-dp650";
> - reg = <0 0x6f200000 0 0x20000>;
> - memory-region = <&display_reserved>;
> - interrupts = <0 168 IRQ_TYPE_LEVEL_HIGH>,
> - <0 168 IRQ_TYPE_LEVEL_HIGH>;
> - interrupt-names = "DE", "SE";
> - clocks = <&oscclk2>, <&fpgaosc0>, <&fpgaosc1>, <&fpgaosc1>;
> - clock-names = "pxlclk", "mclk", "aclk", "pclk";
> - arm,malidp-output-port-lines = /bits/ 8 <8 8 8>;
> - arm,malidp-arqos-high-level = <0xd000d000>;
> - port {
> - dp0_output: endpoint {
> - remote-endpoint = <&tda998x_2_input>;
> - };
> - };
> - };
> -
> - ...
> -};
> diff --git a/Documentation/devicetree/bindings/display/arm,malidp.yaml b/Documentation/devicetree/bindings/display/arm,malidp.yaml
> new file mode 100644
> index 0000000000000..86b636662f803
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/display/arm,malidp.yaml
> @@ -0,0 +1,117 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/display/arm,malidp.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Arm Mali Display Processor (Mali-DP) binding
> +
> +maintainers:
> + - Liviu Dudau <Liviu.Dudau at arm.com>
> + - Andre Przywara <andre.przywara at arm.com>
> +
> +description: |+
> + The following bindings apply to a family of Display Processors sold as
> + licensable IP by ARM Ltd. The bindings describe the Mali DP500, DP550 and
> + DP650 processors that offer multiple composition layers, support for
> + rotation and scaling output.
> +
> +properties:
> + compatible:
> + enum:
> + - arm,mali-dp500
> + - arm,mali-dp550
> + - arm,mali-dp650
> +
> + reg:
> + maxItems: 1
> +
> + interrupts:
> + items:
> + - description:
> + The interrupt used by the Display Engine (DE). Can be shared with
> + the interrupt for the Scaling Engine (SE), but it will have to be
> + listed individually.
> + - description:
> + The interrupt used by the Scaling Engine (SE). Can be shared with
> + the interrupt for the Display Engine (DE), but it will have to be
> + listed individually.
> +
> + interrupt-names:
> + items:
> + - const: DE
> + - const: SE
> +
> + clock-names:
> + items:
> + - const: pxlclk
> + - const: mclk
> + - const: aclk
> + - const: pclk
> +
> + clocks:
> + items:
> + - description: the pixel clock feeding the output PLL of the processor
> + - description: the main processor clock
> + - description: the AXI interface clock
> + - description: the APB interface clock
> +
> + memory-region:
> + maxItems: 1
> + description:
> + Phandle to a node describing memory to be used for the framebuffer.
> + If not present, the framebuffer may be located anywhere in memory.
> +
> + arm,malidp-output-port-lines:
> + $ref: /schemas/types.yaml#/definitions/uint8-array
> + description:
> + Number of output lines/bits for each colour channel.
> + items:
> + - description: number of output lines for the red channel (R)
> + - description: number of output lines for the green channel (G)
> + - description: number of output lines for the blue channel (B)
> +
> + arm,malidp-arqos-high-level:
> + $ref: /schemas/types.yaml#/definitions/uint32
> + description:
> + integer describing the ARQoS levels of DP500's QoS signaling
> +
> + port:
> + $ref: /schemas/graph.yaml#/$defs/port-base
/properties/port
> + unevaluatedProperties: false
> + description:
> + Output endpoint of the controller, connecting the LCD panel signals.
> +
> +additionalProperties: false
> +
> +required:
> + - compatible
> + - reg
> + - interrupts
> + - interrupt-names
> + - clocks
> + - clock-names
> + - port
> + - arm,malidp-output-port-lines
> +
> +examples:
> + - |
> + dp0: malidp at 6f200000 {
> + compatible = "arm,mali-dp650";
> + reg = <0x6f200000 0x20000>;
> + memory-region = <&display_reserved>;
> + interrupts = <168>, <168>;
> + interrupt-names = "DE", "SE";
> + clocks = <&oscclk2>, <&fpgaosc0>, <&fpgaosc1>, <&fpgaosc1>;
> + clock-names = "pxlclk", "mclk", "aclk", "pclk";
> + arm,malidp-output-port-lines = /bits/ 8 <8 8 8>;
> + arm,malidp-arqos-high-level = <0xd000d000>;
> +
> + port {
> + dp0_output: endpoint {
> + remote-endpoint = <&tda998x_2_input>;
> + };
> + };
> + };
> +
> +...
> --
> 2.25.1
>
>
More information about the dri-devel
mailing list