# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/display/apple,h7-display-pipe.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Apple pre-DCP display controller

maintainers:
  - Sasha Finkelstein <fnkl.kernel@gmail.com>

description:
  A secondary display controller used to drive the "touchbar" on
  certain Apple laptops.

properties:
  compatible:
    items:
      - enum:
          - apple,t8112-display-pipe
          - apple,t8103-display-pipe
      - const: apple,h7-display-pipe

  reg:
    items:
      - description: Primary register block, controls planes and blending
      - description:
          Contains other configuration registers like interrupt
          and FIFO control

  reg-names:
    items:
      - const: be
      - const: fe

  power-domains:
    description:
      Phandles to pmgr entries that are needed for this controller to turn on.
      Aside from that, their specific functions are unknown
    maxItems: 2

  interrupts:
    items:
      - description: Unknown function
      - description: Primary interrupt. Vsync events are reported via it

  interrupt-names:
    items:
      - const: be
      - const: fe

  iommus:
    maxItems: 1

  port:
    $ref: /schemas/graph.yaml#/properties/port
    description: Output port. Always connected to apple,h7-display-pipe-mipi

required:
  - compatible
  - reg
  - interrupts
  - port

additionalProperties: false

examples:
  - |
    #include <dt-bindings/interrupt-controller/apple-aic.h>
    display-pipe@28200000 {
        compatible = "apple,t8103-display-pipe", "apple,h7-display-pipe";
        reg = <0x28200000 0xc000>,
              <0x28400000 0x4000>;
        reg-names = "be", "fe";
        power-domains = <&ps_dispdfr_fe>, <&ps_dispdfr_be>;
        interrupt-parent = <&aic>;
        interrupts = <AIC_IRQ 502 IRQ_TYPE_LEVEL_HIGH>,
                     <AIC_IRQ 506 IRQ_TYPE_LEVEL_HIGH>;
        interrupt-names = "be", "fe";
        iommus = <&displaydfr_dart 0>;

        port {
            dfr_adp_out_mipi: endpoint {
                remote-endpoint = <&dfr_mipi_in_adp>;
            };
        };
    };
...
