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

title: Apple touchscreens attached using the Z2 protocol

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

description: A series of touschscreen controllers used in Apple products

allOf:
  - $ref: touchscreen.yaml#
  - $ref: /schemas/spi/spi-peripheral-props.yaml#

properties:
  compatible:
    enum:
      - apple,j293-touchbar
      - apple,j493-touchbar

  interrupts:
    maxItems: 1

  reset-gpios:
    maxItems: 1

  firmware-name:
    maxItems: 1

  apple,z2-cal-blob:
    $ref: /schemas/types.yaml#/definitions/uint8-array
    maxItems: 4096
    description:
      Calibration blob supplied by the bootloader

required:
  - compatible
  - interrupts
  - reset-gpios
  - firmware-name
  - touchscreen-size-x
  - touchscreen-size-y

unevaluatedProperties: false

examples:
  - |
    #include <dt-bindings/gpio/gpio.h>
    #include <dt-bindings/interrupt-controller/irq.h>

    spi {
        #address-cells = <1>;
        #size-cells = <0>;

        touchscreen@0 {
            compatible = "apple,j293-touchbar";
            reg = <0>;
            spi-max-frequency = <11500000>;
            reset-gpios = <&pinctrl_ap 139 GPIO_ACTIVE_LOW>;
            interrupts-extended = <&pinctrl_ap 194 IRQ_TYPE_EDGE_FALLING>;
            firmware-name = "apple/dfrmtfw-j293.bin";
            touchscreen-size-x = <23045>;
            touchscreen-size-y = <640>;
        };
    };

...
