File Index
Files and directories
Sign in
FILE

atmel,at91-ssc.yaml

File preview with syntax highlighting.

linux-6.19.14/Documentation/devicetree/bindings/sound/atmel,at91-ssc.yaml YAML
  1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
  2%YAML 1.2
  3---
  4$id: http://devicetree.org/schemas/sound/atmel,at91-ssc.yaml#
  5$schema: http://devicetree.org/meta-schemas/core.yaml#
  6
  7title: Atmel Serial Synchronous Serial (SSC)
  8
  9maintainers:
 10  - Andrei Simion <andrei.simion@microchip.com>
 11
 12description:
 13  The Atmel Synchronous Serial Controller (SSC) provides a versatile
 14  synchronous communication link for audio and telecom applications,
 15  supporting protocols like I2S, Short Frame Sync, and Long Frame Sync.
 16
 17properties:
 18  compatible:
 19    oneOf:
 20      - enum:
 21          - atmel,at91rm9200-ssc
 22          - atmel,at91sam9g45-ssc
 23      - items:
 24          - enum:
 25              - microchip,sam9x7-ssc
 26          - const: atmel,at91sam9g45-ssc
 27
 28  reg:
 29    maxItems: 1
 30
 31  interrupts:
 32    maxItems: 1
 33
 34  clocks:
 35    maxItems: 1
 36
 37  clock-names:
 38    items:
 39      - const: pclk
 40
 41  dmas:
 42    items:
 43      - description: TX DMA Channel
 44      - description: RX DMA Channel
 45
 46  dma-names:
 47    items:
 48      - const: tx
 49      - const: rx
 50
 51  atmel,clk-from-rk-pin:
 52    description:
 53      Specify the clock source for the SSC (Synchronous Serial Controller)
 54      when operating in slave mode. By default, the clock is sourced from
 55      the TK pin.
 56    type: boolean
 57
 58  "#sound-dai-cells":
 59    const: 0
 60
 61required:
 62  - compatible
 63  - reg
 64  - interrupts
 65  - clocks
 66  - clock-names
 67
 68allOf:
 69  - $ref: dai-common.yaml#
 70  - if:
 71      properties:
 72        compatible:
 73          contains:
 74            enum:
 75              - atmel,at91sam9g45-ssc
 76    then:
 77      required:
 78        - dmas
 79        - dma-names
 80
 81unevaluatedProperties: false
 82
 83examples:
 84  - |
 85    #include <dt-bindings/clock/at91.h>
 86    #include <dt-bindings/dma/at91.h>
 87    #include <dt-bindings/interrupt-controller/irq.h>
 88
 89    ssc@100000 {
 90       compatible = "atmel,at91sam9g45-ssc";
 91       reg = <0x100000 0x4000>;
 92       interrupts = <28 IRQ_TYPE_LEVEL_HIGH 5>;
 93       dmas = <&dma0 (AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) |
 94                     AT91_XDMAC_DT_PERID(38))>,
 95              <&dma0 (AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) |
 96                     AT91_XDMAC_DT_PERID(39))>;
 97       dma-names = "tx", "rx";
 98       clocks = <&pmc PMC_TYPE_PERIPHERAL 28>;
 99       clock-names = "pclk";
100       #sound-dai-cells = <0>;
101    };
102
103    ssc@c00000 {
104      compatible = "atmel,at91rm9200-ssc";
105      reg = <0xc00000 0x4000>;
106      interrupts = <14 IRQ_TYPE_LEVEL_HIGH 5>;
107      clocks = <&pmc PMC_TYPE_PERIPHERAL 14>;
108      clock-names = "pclk";
109    };
~/ Read-only file preview.