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