# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/spi/mediatek,spi-slave-mt27xx.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: SPI Slave controller for MediaTek ARM SoCs

maintainers:
  - Leilk Liu <leilk.liu@mediatek.com>

allOf:
  - $ref: /schemas/spi/spi-controller.yaml#

properties:
  compatible:
    enum:
      - mediatek,mt2712-spi-slave
      - mediatek,mt8195-spi-slave

  reg:
    maxItems: 1

  interrupts:
    maxItems: 1

  clocks:
    maxItems: 1

  clock-names:
    items:
      - const: spi

required:
  - compatible
  - reg
  - interrupts
  - clocks
  - clock-names

unevaluatedProperties: false

examples:
  - |
    #include <dt-bindings/clock/mt2712-clk.h>
    #include <dt-bindings/gpio/gpio.h>
    #include <dt-bindings/interrupt-controller/arm-gic.h>
    #include <dt-bindings/interrupt-controller/irq.h>

    spi@10013000 {
      compatible = "mediatek,mt2712-spi-slave";
      reg = <0x10013000 0x100>;
      interrupts = <GIC_SPI 283 IRQ_TYPE_LEVEL_LOW>;
      clocks = <&infracfg CLK_INFRA_AO_SPI1>;
      clock-names = "spi";
      assigned-clocks = <&topckgen CLK_TOP_SPISLV_SEL>;
      assigned-clock-parents = <&topckgen CLK_TOP_UNIVPLL1_D2>;
    };