1# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/display/apple,h7-display-pipe.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Apple pre-DCP display controller
8
9maintainers:
10  - Sasha Finkelstein <fnkl.kernel@gmail.com>
11
12description:
13  A secondary display controller used to drive the "touchbar" on
14  certain Apple laptops.
15
16properties:
17  compatible:
18    items:
19      - enum:
20          - apple,t8112-display-pipe
21          - apple,t8103-display-pipe
22      - const: apple,h7-display-pipe
23
24  reg:
25    items:
26      - description: Primary register block, controls planes and blending
27      - description:
28          Contains other configuration registers like interrupt
29          and FIFO control
30
31  reg-names:
32    items:
33      - const: be
34      - const: fe
35
36  power-domains:
37    description:
38      Phandles to pmgr entries that are needed for this controller to turn on.
39      Aside from that, their specific functions are unknown
40    maxItems: 2
41
42  interrupts:
43    items:
44      - description: Unknown function
45      - description: Primary interrupt. Vsync events are reported via it
46
47  interrupt-names:
48    items:
49      - const: be
50      - const: fe
51
52  iommus:
53    maxItems: 1
54
55  port:
56    $ref: /schemas/graph.yaml#/properties/port
57    description: Output port. Always connected to apple,h7-display-pipe-mipi
58
59required:
60  - compatible
61  - reg
62  - interrupts
63  - port
64
65additionalProperties: false
66
67examples:
68  - |
69    #include <dt-bindings/interrupt-controller/apple-aic.h>
70    display-pipe@28200000 {
71        compatible = "apple,t8103-display-pipe", "apple,h7-display-pipe";
72        reg = <0x28200000 0xc000>,
73              <0x28400000 0x4000>;
74        reg-names = "be", "fe";
75        power-domains = <&ps_dispdfr_fe>, <&ps_dispdfr_be>;
76        interrupt-parent = <&aic>;
77        interrupts = <AIC_IRQ 502 IRQ_TYPE_LEVEL_HIGH>,
78                     <AIC_IRQ 506 IRQ_TYPE_LEVEL_HIGH>;
79        interrupt-names = "be", "fe";
80        iommus = <&displaydfr_dart 0>;
81
82        port {
83            dfr_adp_out_mipi: endpoint {
84                remote-endpoint = <&dfr_mipi_in_adp>;
85            };
86        };
87    };
88...
89