1ARM Mali-DP
2
3The following bindings apply to a family of Display Processors sold as
4licensable IP by ARM Ltd. The bindings describe the Mali DP500, DP550 and
5DP650 processors that offer multiple composition layers, support for
6rotation and scaling output.
7
8Required properties:
9  - compatible: should be one of
10	"arm,mali-dp500"
11	"arm,mali-dp550"
12	"arm,mali-dp650"
13    depending on the particular implementation present in the hardware
14  - reg: Physical base address and size of the block of registers used by
15    the processor.
16  - interrupts: Interrupt list, as defined in ../interrupt-controller/interrupts.txt,
17    interrupt client nodes.
18  - interrupt-names: name of the engine inside the processor that will
19    use the corresponding interrupt. Should be one of "DE" or "SE".
20  - clocks: A list of phandle + clock-specifier pairs, one for each entry
21    in 'clock-names'
22  - clock-names: A list of clock names. It should contain:
23      - "pclk": for the APB interface clock
24      - "aclk": for the AXI interface clock
25      - "mclk": for the main processor clock
26      - "pxlclk": for the pixel clock feeding the output PLL of the processor.
27  - arm,malidp-output-port-lines: Array of u8 values describing the number
28    of output lines per channel (R, G and B).
29
30Required sub-nodes:
31  - port: The Mali DP connection to an encoder input port. The connection
32    is modelled using the OF graph bindings specified in
33    Documentation/devicetree/bindings/graph.txt
34
35Optional properties:
36  - memory-region: phandle to a node describing memory (see
37    Documentation/devicetree/bindings/reserved-memory/reserved-memory.txt)
38    to be used for the framebuffer; if not present, the framebuffer may
39    be located anywhere in memory.
40  - arm,malidp-arqos-high-level: integer of u32 value describing the ARQoS
41    levels of DP500's QoS signaling.
42
43
44Example:
45
46/ {
47	...
48
49	dp0: malidp@6f200000 {
50		compatible = "arm,mali-dp650";
51		reg = <0 0x6f200000 0 0x20000>;
52		memory-region = <&display_reserved>;
53		interrupts = <0 168 IRQ_TYPE_LEVEL_HIGH>,
54			     <0 168 IRQ_TYPE_LEVEL_HIGH>;
55		interrupt-names = "DE", "SE";
56		clocks = <&oscclk2>, <&fpgaosc0>, <&fpgaosc1>, <&fpgaosc1>;
57		clock-names = "pxlclk", "mclk", "aclk", "pclk";
58		arm,malidp-output-port-lines = /bits/ 8 <8 8 8>;
59		arm,malidp-arqos-high-level = <0xd000d000>;
60		port {
61			dp0_output: endpoint {
62				remote-endpoint = <&tda998x_2_input>;
63			};
64		};
65	};
66
67	...
68};
69