# Copyright (c) 2020, Linaro Limited
# SPDX-License-Identifier: Apache-2.0

description: Atmel SAM SSC (Synchronous Serial Controller) controller

compatible: "atmel,sam-ssc"

include:
    - name: base.yaml
    - name: pinctrl-device.yaml

properties:
    reg:
      required: true

    interrupts:
      required: true

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

    dmas:
      required: true
      description: |
        TX & RX dma specifiers.  Each specifier will have a phandle
        reference to the dma controller, the channel number, and peripheral
        trigger source.

        For example dmas for TX, RX would look like
           dmas = <&xdmac 22 DMA_PERID_SSC_TX>, <&xdmac 23 DMA_PERID_SSC_RX>;

    dma-names:
      required: true
      description: |
        This should be "tx" and "rx" to match the dmas property.

        For example
           dma-names = "tx", "rx";
