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