dt-bindings: display: convert Arm Mali-DP to DT schema
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@arm.com> Signed-off-by: Rob Herring <robh@kernel.org> Link: https://lore.kernel.org/r/20220506140533.3566431-11-andre.przywara@arm.com
This commit is contained in:
parent
36fd2a65bc
commit
2c8b082a3a
|
@ -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@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>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
...
|
||||
};
|
|
@ -0,0 +1,124 @@
|
|||
# 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@arm.com>
|
||||
- Andre Przywara <andre.przywara@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
|
||||
|
||||
arm,malidp-arqos-value:
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
description:
|
||||
Quality-of-Service value for the display engine FIFOs, to write
|
||||
into the RQOS register of the DP500.
|
||||
See the ARM Mali-DP500 TRM for details on the encoding.
|
||||
If omitted, the RQOS register will not be changed.
|
||||
|
||||
port:
|
||||
$ref: /schemas/graph.yaml#/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@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>;
|
||||
};
|
||||
};
|
||||
};
|
||||
...
|
Loading…
Reference in New Issue