xref: /freebsd/sys/contrib/device-tree/Bindings/display/arm,malidp.yaml (revision 8bab661a3316d8bd9b9fbd11a3b4371b91507bd2)
1d5b0e70fSEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2d5b0e70fSEmmanuel Vadot%YAML 1.2
3d5b0e70fSEmmanuel Vadot---
4d5b0e70fSEmmanuel Vadot$id: http://devicetree.org/schemas/display/arm,malidp.yaml#
5d5b0e70fSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
6d5b0e70fSEmmanuel Vadot
7*8bab661aSEmmanuel Vadottitle: Arm Mali Display Processor (Mali-DP)
8d5b0e70fSEmmanuel Vadot
9d5b0e70fSEmmanuel Vadotmaintainers:
10d5b0e70fSEmmanuel Vadot  - Liviu Dudau <Liviu.Dudau@arm.com>
11d5b0e70fSEmmanuel Vadot  - Andre Przywara <andre.przywara@arm.com>
12d5b0e70fSEmmanuel Vadot
13d5b0e70fSEmmanuel Vadotdescription:
14d5b0e70fSEmmanuel Vadot  The following bindings apply to a family of Display Processors sold as
15d5b0e70fSEmmanuel Vadot  licensable IP by ARM Ltd. The bindings describe the Mali DP500, DP550 and
16d5b0e70fSEmmanuel Vadot  DP650 processors that offer multiple composition layers, support for
17d5b0e70fSEmmanuel Vadot  rotation and scaling output.
18d5b0e70fSEmmanuel Vadot
19d5b0e70fSEmmanuel Vadotproperties:
20d5b0e70fSEmmanuel Vadot  compatible:
21d5b0e70fSEmmanuel Vadot    enum:
22d5b0e70fSEmmanuel Vadot      - arm,mali-dp500
23d5b0e70fSEmmanuel Vadot      - arm,mali-dp550
24d5b0e70fSEmmanuel Vadot      - arm,mali-dp650
25d5b0e70fSEmmanuel Vadot
26d5b0e70fSEmmanuel Vadot  reg:
27d5b0e70fSEmmanuel Vadot    maxItems: 1
28d5b0e70fSEmmanuel Vadot
29d5b0e70fSEmmanuel Vadot  interrupts:
30d5b0e70fSEmmanuel Vadot    items:
31d5b0e70fSEmmanuel Vadot      - description:
32d5b0e70fSEmmanuel Vadot          The interrupt used by the Display Engine (DE). Can be shared with
33d5b0e70fSEmmanuel Vadot          the interrupt for the Scaling Engine (SE), but it will have to be
34d5b0e70fSEmmanuel Vadot          listed individually.
35d5b0e70fSEmmanuel Vadot      - description:
36d5b0e70fSEmmanuel Vadot          The interrupt used by the Scaling Engine (SE). Can be shared with
37d5b0e70fSEmmanuel Vadot          the interrupt for the Display Engine (DE), but it will have to be
38d5b0e70fSEmmanuel Vadot          listed individually.
39d5b0e70fSEmmanuel Vadot
40d5b0e70fSEmmanuel Vadot  interrupt-names:
41d5b0e70fSEmmanuel Vadot    items:
42d5b0e70fSEmmanuel Vadot      - const: DE
43d5b0e70fSEmmanuel Vadot      - const: SE
44d5b0e70fSEmmanuel Vadot
45d5b0e70fSEmmanuel Vadot  clock-names:
46d5b0e70fSEmmanuel Vadot    items:
47d5b0e70fSEmmanuel Vadot      - const: pxlclk
48d5b0e70fSEmmanuel Vadot      - const: mclk
49d5b0e70fSEmmanuel Vadot      - const: aclk
50d5b0e70fSEmmanuel Vadot      - const: pclk
51d5b0e70fSEmmanuel Vadot
52d5b0e70fSEmmanuel Vadot  clocks:
53d5b0e70fSEmmanuel Vadot    items:
54d5b0e70fSEmmanuel Vadot      - description: the pixel clock feeding the output PLL of the processor
55d5b0e70fSEmmanuel Vadot      - description: the main processor clock
56d5b0e70fSEmmanuel Vadot      - description: the AXI interface clock
57d5b0e70fSEmmanuel Vadot      - description: the APB interface clock
58d5b0e70fSEmmanuel Vadot
59d5b0e70fSEmmanuel Vadot  memory-region:
60d5b0e70fSEmmanuel Vadot    maxItems: 1
61d5b0e70fSEmmanuel Vadot    description:
62d5b0e70fSEmmanuel Vadot      Phandle to a node describing memory to be used for the framebuffer.
63d5b0e70fSEmmanuel Vadot      If not present, the framebuffer may be located anywhere in memory.
64d5b0e70fSEmmanuel Vadot
65d5b0e70fSEmmanuel Vadot  arm,malidp-output-port-lines:
66d5b0e70fSEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/uint8-array
67d5b0e70fSEmmanuel Vadot    description:
68d5b0e70fSEmmanuel Vadot      Number of output lines/bits for each colour channel.
69d5b0e70fSEmmanuel Vadot    items:
70d5b0e70fSEmmanuel Vadot      - description: number of output lines for the red channel (R)
71d5b0e70fSEmmanuel Vadot      - description: number of output lines for the green channel (G)
72d5b0e70fSEmmanuel Vadot      - description: number of output lines for the blue channel (B)
73d5b0e70fSEmmanuel Vadot
74d5b0e70fSEmmanuel Vadot  arm,malidp-arqos-value:
75d5b0e70fSEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/uint32
76d5b0e70fSEmmanuel Vadot    description:
77d5b0e70fSEmmanuel Vadot      Quality-of-Service value for the display engine FIFOs, to write
78d5b0e70fSEmmanuel Vadot      into the RQOS register of the DP500.
79d5b0e70fSEmmanuel Vadot      See the ARM Mali-DP500 TRM for details on the encoding.
80d5b0e70fSEmmanuel Vadot      If omitted, the RQOS register will not be changed.
81d5b0e70fSEmmanuel Vadot
82d5b0e70fSEmmanuel Vadot  port:
83d5b0e70fSEmmanuel Vadot    $ref: /schemas/graph.yaml#/properties/port
84d5b0e70fSEmmanuel Vadot    unevaluatedProperties: false
85d5b0e70fSEmmanuel Vadot    description:
86d5b0e70fSEmmanuel Vadot      Output endpoint of the controller, connecting the LCD panel signals.
87d5b0e70fSEmmanuel Vadot
88d5b0e70fSEmmanuel VadotadditionalProperties: false
89d5b0e70fSEmmanuel Vadot
90d5b0e70fSEmmanuel Vadotrequired:
91d5b0e70fSEmmanuel Vadot  - compatible
92d5b0e70fSEmmanuel Vadot  - reg
93d5b0e70fSEmmanuel Vadot  - interrupts
94d5b0e70fSEmmanuel Vadot  - interrupt-names
95d5b0e70fSEmmanuel Vadot  - clocks
96d5b0e70fSEmmanuel Vadot  - clock-names
97d5b0e70fSEmmanuel Vadot  - port
98d5b0e70fSEmmanuel Vadot  - arm,malidp-output-port-lines
99d5b0e70fSEmmanuel Vadot
100d5b0e70fSEmmanuel Vadotexamples:
101d5b0e70fSEmmanuel Vadot  - |
102d5b0e70fSEmmanuel Vadot    dp0: malidp@6f200000 {
103d5b0e70fSEmmanuel Vadot        compatible = "arm,mali-dp650";
104d5b0e70fSEmmanuel Vadot        reg = <0x6f200000 0x20000>;
105d5b0e70fSEmmanuel Vadot        memory-region = <&display_reserved>;
106d5b0e70fSEmmanuel Vadot        interrupts = <168>, <168>;
107d5b0e70fSEmmanuel Vadot        interrupt-names = "DE", "SE";
108d5b0e70fSEmmanuel Vadot        clocks = <&oscclk2>, <&fpgaosc0>, <&fpgaosc1>, <&fpgaosc1>;
109d5b0e70fSEmmanuel Vadot        clock-names = "pxlclk", "mclk", "aclk", "pclk";
110d5b0e70fSEmmanuel Vadot        arm,malidp-output-port-lines = /bits/ 8 <8 8 8>;
111d5b0e70fSEmmanuel Vadot        arm,malidp-arqos-value = <0xd000d000>;
112d5b0e70fSEmmanuel Vadot
113d5b0e70fSEmmanuel Vadot        port {
114d5b0e70fSEmmanuel Vadot            dp0_output: endpoint {
115d5b0e70fSEmmanuel Vadot                remote-endpoint = <&tda998x_2_input>;
116d5b0e70fSEmmanuel Vadot            };
117d5b0e70fSEmmanuel Vadot        };
118d5b0e70fSEmmanuel Vadot    };
119d5b0e70fSEmmanuel Vadot...
120