xref: /freebsd/sys/contrib/device-tree/Bindings/display/arm,komeda.yaml (revision 7ef62cebc2f965b0f640263e179276928885e33d)
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,komeda.yaml#
5d5b0e70fSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
6d5b0e70fSEmmanuel Vadot
7d5b0e70fSEmmanuel Vadottitle: Arm Komeda display processor
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 Arm Mali D71 display processor supports up to two displays with up
15d5b0e70fSEmmanuel Vadot  to a 4K resolution each. Each pipeline can be composed of up to four
16d5b0e70fSEmmanuel Vadot  layers. It is typically connected to a digital display connector like HDMI.
17d5b0e70fSEmmanuel Vadot
18d5b0e70fSEmmanuel Vadotproperties:
19d5b0e70fSEmmanuel Vadot  compatible:
20d5b0e70fSEmmanuel Vadot    oneOf:
21d5b0e70fSEmmanuel Vadot      - items:
22d5b0e70fSEmmanuel Vadot          - const: arm,mali-d32
23d5b0e70fSEmmanuel Vadot          - const: arm,mali-d71
24d5b0e70fSEmmanuel Vadot      - const: arm,mali-d71
25d5b0e70fSEmmanuel Vadot
26d5b0e70fSEmmanuel Vadot  reg:
27d5b0e70fSEmmanuel Vadot    maxItems: 1
28d5b0e70fSEmmanuel Vadot
29d5b0e70fSEmmanuel Vadot  interrupts:
30d5b0e70fSEmmanuel Vadot    maxItems: 1
31d5b0e70fSEmmanuel Vadot
32d5b0e70fSEmmanuel Vadot  clock-names:
33d5b0e70fSEmmanuel Vadot    const: aclk
34d5b0e70fSEmmanuel Vadot
35d5b0e70fSEmmanuel Vadot  clocks:
36d5b0e70fSEmmanuel Vadot    maxItems: 1
37d5b0e70fSEmmanuel Vadot    description: The main DPU processor clock
38d5b0e70fSEmmanuel Vadot
39d5b0e70fSEmmanuel Vadot  "#address-cells":
40d5b0e70fSEmmanuel Vadot    const: 1
41d5b0e70fSEmmanuel Vadot
42d5b0e70fSEmmanuel Vadot  "#size-cells":
43d5b0e70fSEmmanuel Vadot    const: 0
44d5b0e70fSEmmanuel Vadot
45d5b0e70fSEmmanuel Vadot  memory-region:
46d5b0e70fSEmmanuel Vadot    maxItems: 1
47d5b0e70fSEmmanuel Vadot    description:
48d5b0e70fSEmmanuel Vadot      Phandle to a node describing memory to be used for the framebuffer.
49d5b0e70fSEmmanuel Vadot      If not present, the framebuffer may be located anywhere in memory.
50d5b0e70fSEmmanuel Vadot
51d5b0e70fSEmmanuel Vadot  iommus:
52d5b0e70fSEmmanuel Vadot    description:
53d5b0e70fSEmmanuel Vadot      The stream IDs for each of the used pipelines, each four IDs for the
54d5b0e70fSEmmanuel Vadot      four layers, plus one for the write-back stream.
55d5b0e70fSEmmanuel Vadot    minItems: 5
56d5b0e70fSEmmanuel Vadot    maxItems: 10
57d5b0e70fSEmmanuel Vadot
58d5b0e70fSEmmanuel VadotpatternProperties:
59d5b0e70fSEmmanuel Vadot  '^pipeline@[01]$':
60d5b0e70fSEmmanuel Vadot    type: object
61*7ef62cebSEmmanuel Vadot    additionalProperties: false
62d5b0e70fSEmmanuel Vadot    description:
63d5b0e70fSEmmanuel Vadot      clocks
64d5b0e70fSEmmanuel Vadot
65d5b0e70fSEmmanuel Vadot    properties:
66d5b0e70fSEmmanuel Vadot      reg:
67d5b0e70fSEmmanuel Vadot        enum: [ 0, 1 ]
68d5b0e70fSEmmanuel Vadot
69d5b0e70fSEmmanuel Vadot      clock-names:
70d5b0e70fSEmmanuel Vadot        const: pxclk
71d5b0e70fSEmmanuel Vadot
72d5b0e70fSEmmanuel Vadot      clocks:
73d5b0e70fSEmmanuel Vadot        maxItems: 1
74d5b0e70fSEmmanuel Vadot        description: The input reference for the pixel clock.
75d5b0e70fSEmmanuel Vadot
76d5b0e70fSEmmanuel Vadot      port:
77d5b0e70fSEmmanuel Vadot        $ref: /schemas/graph.yaml#/$defs/port-base
78d5b0e70fSEmmanuel Vadot        unevaluatedProperties: false
79d5b0e70fSEmmanuel Vadot
80d5b0e70fSEmmanuel VadotadditionalProperties: false
81d5b0e70fSEmmanuel Vadot
82d5b0e70fSEmmanuel Vadotrequired:
83d5b0e70fSEmmanuel Vadot  - "#address-cells"
84d5b0e70fSEmmanuel Vadot  - "#size-cells"
85d5b0e70fSEmmanuel Vadot  - compatible
86d5b0e70fSEmmanuel Vadot  - reg
87d5b0e70fSEmmanuel Vadot  - interrupts
88d5b0e70fSEmmanuel Vadot  - clock-names
89d5b0e70fSEmmanuel Vadot  - clocks
90d5b0e70fSEmmanuel Vadot  - pipeline@0
91d5b0e70fSEmmanuel Vadot
92d5b0e70fSEmmanuel Vadotexamples:
93d5b0e70fSEmmanuel Vadot  - |
94d5b0e70fSEmmanuel Vadot    display@c00000 {
95d5b0e70fSEmmanuel Vadot        #address-cells = <1>;
96d5b0e70fSEmmanuel Vadot        #size-cells = <0>;
97d5b0e70fSEmmanuel Vadot        compatible = "arm,mali-d71";
98d5b0e70fSEmmanuel Vadot        reg = <0xc00000 0x20000>;
99d5b0e70fSEmmanuel Vadot        interrupts = <168>;
100d5b0e70fSEmmanuel Vadot        clocks = <&dpu_aclk>;
101d5b0e70fSEmmanuel Vadot        clock-names = "aclk";
102d5b0e70fSEmmanuel Vadot        iommus = <&smmu 0>, <&smmu 1>, <&smmu 2>, <&smmu 3>,
103d5b0e70fSEmmanuel Vadot                 <&smmu 8>,
104d5b0e70fSEmmanuel Vadot                 <&smmu 4>, <&smmu 5>, <&smmu 6>, <&smmu 7>,
105d5b0e70fSEmmanuel Vadot                 <&smmu 9>;
106d5b0e70fSEmmanuel Vadot
107d5b0e70fSEmmanuel Vadot        dp0_pipe0: pipeline@0 {
108d5b0e70fSEmmanuel Vadot            clocks = <&fpgaosc2>;
109d5b0e70fSEmmanuel Vadot            clock-names = "pxclk";
110d5b0e70fSEmmanuel Vadot            reg = <0>;
111d5b0e70fSEmmanuel Vadot
112d5b0e70fSEmmanuel Vadot            port {
113d5b0e70fSEmmanuel Vadot                dp0_pipe0_out: endpoint {
114d5b0e70fSEmmanuel Vadot                    remote-endpoint = <&db_dvi0_in>;
115d5b0e70fSEmmanuel Vadot                };
116d5b0e70fSEmmanuel Vadot            };
117d5b0e70fSEmmanuel Vadot        };
118d5b0e70fSEmmanuel Vadot
119d5b0e70fSEmmanuel Vadot        dp0_pipe1: pipeline@1 {
120d5b0e70fSEmmanuel Vadot            clocks = <&fpgaosc2>;
121d5b0e70fSEmmanuel Vadot            clock-names = "pxclk";
122d5b0e70fSEmmanuel Vadot            reg = <1>;
123d5b0e70fSEmmanuel Vadot
124d5b0e70fSEmmanuel Vadot            port {
125d5b0e70fSEmmanuel Vadot                dp0_pipe1_out: endpoint {
126d5b0e70fSEmmanuel Vadot                    remote-endpoint = <&db_dvi1_in>;
127d5b0e70fSEmmanuel Vadot                };
128d5b0e70fSEmmanuel Vadot            };
129d5b0e70fSEmmanuel Vadot        };
130d5b0e70fSEmmanuel Vadot    };
131d5b0e70fSEmmanuel Vadot...
132