# Copyright (c) 2018, qianfan Zhao
# SPDX-License-Identifier: Apache-2.0

description: Atmel SAM SPI controller

compatible: "atmel,sam-spi"

include:
  - name: spi-controller.yaml
  - name: pinctrl-device.yaml

properties:
  reg:
    required: true

  interrupts:
    required: true

  peripheral-id:
    type: int
    description: peripheral ID
    required: true

  loopback:
    type: boolean
    description: |
      Connects TX to RX internally creating a loop back connection. Useful
      for testing.

  dmas:
    description: |
      TX & RX dma specifiers.  Each specifier will have a phandle
      reference to the dma controller, the channel number, and peripheral
      trigger source. The channel number is arbitrary but must not be
      reused. The number of channels available is device dependent.

      For example dmas for TX and RX may look like
         dmas = <&xdmac 1 DMA_PERID_SPI0_TX>, <&xdmac 2 DMA_PERID_SPI0_RX>;

  dma-names:
    description: |
      This should be "tx" and "rx" and should match the order given for
      dmas.

      For example using the example dmas, an example dma-names would be
         dma-names = "tx", "rx";
