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