16603c513SAndrei Simion# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 26603c513SAndrei Simion%YAML 1.2 36603c513SAndrei Simion--- 46603c513SAndrei Simion$id: http://devicetree.org/schemas/sound/atmel,at91-ssc.yaml# 56603c513SAndrei Simion$schema: http://devicetree.org/meta-schemas/core.yaml# 66603c513SAndrei Simion 76603c513SAndrei Simiontitle: Atmel Serial Synchronous Serial (SSC) 86603c513SAndrei Simion 96603c513SAndrei Simionmaintainers: 106603c513SAndrei Simion - Andrei Simion <andrei.simion@microchip.com> 116603c513SAndrei Simion 126603c513SAndrei Simiondescription: 136603c513SAndrei Simion The Atmel Synchronous Serial Controller (SSC) provides a versatile 146603c513SAndrei Simion synchronous communication link for audio and telecom applications, 156603c513SAndrei Simion supporting protocols like I2S, Short Frame Sync, and Long Frame Sync. 166603c513SAndrei Simion 176603c513SAndrei Simionproperties: 186603c513SAndrei Simion compatible: 19*da98e8b9SVarshini Rajendran oneOf: 20*da98e8b9SVarshini Rajendran - enum: 216603c513SAndrei Simion - atmel,at91rm9200-ssc 226603c513SAndrei Simion - atmel,at91sam9g45-ssc 23*da98e8b9SVarshini Rajendran - items: 24*da98e8b9SVarshini Rajendran - enum: 25*da98e8b9SVarshini Rajendran - microchip,sam9x7-ssc 26*da98e8b9SVarshini Rajendran - const: atmel,at91sam9g45-ssc 276603c513SAndrei Simion 286603c513SAndrei Simion reg: 296603c513SAndrei Simion maxItems: 1 306603c513SAndrei Simion 316603c513SAndrei Simion interrupts: 326603c513SAndrei Simion maxItems: 1 336603c513SAndrei Simion 346603c513SAndrei Simion clocks: 356603c513SAndrei Simion maxItems: 1 366603c513SAndrei Simion 376603c513SAndrei Simion clock-names: 386603c513SAndrei Simion items: 396603c513SAndrei Simion - const: pclk 406603c513SAndrei Simion 416603c513SAndrei Simion dmas: 426603c513SAndrei Simion items: 436603c513SAndrei Simion - description: TX DMA Channel 446603c513SAndrei Simion - description: RX DMA Channel 456603c513SAndrei Simion 466603c513SAndrei Simion dma-names: 476603c513SAndrei Simion items: 486603c513SAndrei Simion - const: tx 496603c513SAndrei Simion - const: rx 506603c513SAndrei Simion 516603c513SAndrei Simion atmel,clk-from-rk-pin: 526603c513SAndrei Simion description: 536603c513SAndrei Simion Specify the clock source for the SSC (Synchronous Serial Controller) 546603c513SAndrei Simion when operating in slave mode. By default, the clock is sourced from 556603c513SAndrei Simion the TK pin. 566603c513SAndrei Simion type: boolean 576603c513SAndrei Simion 586603c513SAndrei Simion "#sound-dai-cells": 596603c513SAndrei Simion const: 0 606603c513SAndrei Simion 616603c513SAndrei Simionrequired: 626603c513SAndrei Simion - compatible 636603c513SAndrei Simion - reg 646603c513SAndrei Simion - interrupts 656603c513SAndrei Simion - clocks 666603c513SAndrei Simion - clock-names 676603c513SAndrei Simion 686603c513SAndrei SimionallOf: 696603c513SAndrei Simion - $ref: dai-common.yaml# 706603c513SAndrei Simion - if: 716603c513SAndrei Simion properties: 726603c513SAndrei Simion compatible: 736603c513SAndrei Simion contains: 746603c513SAndrei Simion enum: 756603c513SAndrei Simion - atmel,at91sam9g45-ssc 766603c513SAndrei Simion then: 776603c513SAndrei Simion required: 786603c513SAndrei Simion - dmas 796603c513SAndrei Simion - dma-names 806603c513SAndrei Simion 816603c513SAndrei SimionunevaluatedProperties: false 826603c513SAndrei Simion 836603c513SAndrei Simionexamples: 846603c513SAndrei Simion - | 856603c513SAndrei Simion #include <dt-bindings/clock/at91.h> 866603c513SAndrei Simion #include <dt-bindings/dma/at91.h> 876603c513SAndrei Simion #include <dt-bindings/interrupt-controller/irq.h> 886603c513SAndrei Simion 896603c513SAndrei Simion ssc@100000 { 906603c513SAndrei Simion compatible = "atmel,at91sam9g45-ssc"; 916603c513SAndrei Simion reg = <0x100000 0x4000>; 926603c513SAndrei Simion interrupts = <28 IRQ_TYPE_LEVEL_HIGH 5>; 936603c513SAndrei Simion dmas = <&dma0 (AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) | 946603c513SAndrei Simion AT91_XDMAC_DT_PERID(38))>, 956603c513SAndrei Simion <&dma0 (AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) | 966603c513SAndrei Simion AT91_XDMAC_DT_PERID(39))>; 976603c513SAndrei Simion dma-names = "tx", "rx"; 986603c513SAndrei Simion clocks = <&pmc PMC_TYPE_PERIPHERAL 28>; 996603c513SAndrei Simion clock-names = "pclk"; 1006603c513SAndrei Simion #sound-dai-cells = <0>; 1016603c513SAndrei Simion }; 1026603c513SAndrei Simion 1036603c513SAndrei Simion ssc@c00000 { 1046603c513SAndrei Simion compatible = "atmel,at91rm9200-ssc"; 1056603c513SAndrei Simion reg = <0xc00000 0x4000>; 1066603c513SAndrei Simion interrupts = <14 IRQ_TYPE_LEVEL_HIGH 5>; 1076603c513SAndrei Simion clocks = <&pmc PMC_TYPE_PERIPHERAL 14>; 1086603c513SAndrei Simion clock-names = "pclk"; 1096603c513SAndrei Simion }; 110