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 }; 110