18ccc0d23SEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 28ccc0d23SEmmanuel Vadot%YAML 1.2 38ccc0d23SEmmanuel Vadot--- 48ccc0d23SEmmanuel Vadot$id: http://devicetree.org/schemas/sound/atmel,at91-ssc.yaml# 58ccc0d23SEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml# 68ccc0d23SEmmanuel Vadot 78ccc0d23SEmmanuel Vadottitle: Atmel Serial Synchronous Serial (SSC) 88ccc0d23SEmmanuel Vadot 98ccc0d23SEmmanuel Vadotmaintainers: 108ccc0d23SEmmanuel Vadot - Andrei Simion <andrei.simion@microchip.com> 118ccc0d23SEmmanuel Vadot 128ccc0d23SEmmanuel Vadotdescription: 138ccc0d23SEmmanuel Vadot The Atmel Synchronous Serial Controller (SSC) provides a versatile 148ccc0d23SEmmanuel Vadot synchronous communication link for audio and telecom applications, 158ccc0d23SEmmanuel Vadot supporting protocols like I2S, Short Frame Sync, and Long Frame Sync. 168ccc0d23SEmmanuel Vadot 178ccc0d23SEmmanuel Vadotproperties: 188ccc0d23SEmmanuel Vadot compatible: 19*833e5d42SEmmanuel Vadot oneOf: 20*833e5d42SEmmanuel Vadot - enum: 218ccc0d23SEmmanuel Vadot - atmel,at91rm9200-ssc 228ccc0d23SEmmanuel Vadot - atmel,at91sam9g45-ssc 23*833e5d42SEmmanuel Vadot - items: 24*833e5d42SEmmanuel Vadot - enum: 25*833e5d42SEmmanuel Vadot - microchip,sam9x7-ssc 26*833e5d42SEmmanuel Vadot - const: atmel,at91sam9g45-ssc 278ccc0d23SEmmanuel Vadot 288ccc0d23SEmmanuel Vadot reg: 298ccc0d23SEmmanuel Vadot maxItems: 1 308ccc0d23SEmmanuel Vadot 318ccc0d23SEmmanuel Vadot interrupts: 328ccc0d23SEmmanuel Vadot maxItems: 1 338ccc0d23SEmmanuel Vadot 348ccc0d23SEmmanuel Vadot clocks: 358ccc0d23SEmmanuel Vadot maxItems: 1 368ccc0d23SEmmanuel Vadot 378ccc0d23SEmmanuel Vadot clock-names: 388ccc0d23SEmmanuel Vadot items: 398ccc0d23SEmmanuel Vadot - const: pclk 408ccc0d23SEmmanuel Vadot 418ccc0d23SEmmanuel Vadot dmas: 428ccc0d23SEmmanuel Vadot items: 438ccc0d23SEmmanuel Vadot - description: TX DMA Channel 448ccc0d23SEmmanuel Vadot - description: RX DMA Channel 458ccc0d23SEmmanuel Vadot 468ccc0d23SEmmanuel Vadot dma-names: 478ccc0d23SEmmanuel Vadot items: 488ccc0d23SEmmanuel Vadot - const: tx 498ccc0d23SEmmanuel Vadot - const: rx 508ccc0d23SEmmanuel Vadot 518ccc0d23SEmmanuel Vadot atmel,clk-from-rk-pin: 528ccc0d23SEmmanuel Vadot description: 538ccc0d23SEmmanuel Vadot Specify the clock source for the SSC (Synchronous Serial Controller) 548ccc0d23SEmmanuel Vadot when operating in slave mode. By default, the clock is sourced from 558ccc0d23SEmmanuel Vadot the TK pin. 568ccc0d23SEmmanuel Vadot type: boolean 578ccc0d23SEmmanuel Vadot 588ccc0d23SEmmanuel Vadot "#sound-dai-cells": 598ccc0d23SEmmanuel Vadot const: 0 608ccc0d23SEmmanuel Vadot 618ccc0d23SEmmanuel Vadotrequired: 628ccc0d23SEmmanuel Vadot - compatible 638ccc0d23SEmmanuel Vadot - reg 648ccc0d23SEmmanuel Vadot - interrupts 658ccc0d23SEmmanuel Vadot - clocks 668ccc0d23SEmmanuel Vadot - clock-names 678ccc0d23SEmmanuel Vadot 688ccc0d23SEmmanuel VadotallOf: 698ccc0d23SEmmanuel Vadot - $ref: dai-common.yaml# 708ccc0d23SEmmanuel Vadot - if: 718ccc0d23SEmmanuel Vadot properties: 728ccc0d23SEmmanuel Vadot compatible: 738ccc0d23SEmmanuel Vadot contains: 748ccc0d23SEmmanuel Vadot enum: 758ccc0d23SEmmanuel Vadot - atmel,at91sam9g45-ssc 768ccc0d23SEmmanuel Vadot then: 778ccc0d23SEmmanuel Vadot required: 788ccc0d23SEmmanuel Vadot - dmas 798ccc0d23SEmmanuel Vadot - dma-names 808ccc0d23SEmmanuel Vadot 818ccc0d23SEmmanuel VadotunevaluatedProperties: false 828ccc0d23SEmmanuel Vadot 838ccc0d23SEmmanuel Vadotexamples: 848ccc0d23SEmmanuel Vadot - | 858ccc0d23SEmmanuel Vadot #include <dt-bindings/clock/at91.h> 868ccc0d23SEmmanuel Vadot #include <dt-bindings/dma/at91.h> 878ccc0d23SEmmanuel Vadot #include <dt-bindings/interrupt-controller/irq.h> 888ccc0d23SEmmanuel Vadot 898ccc0d23SEmmanuel Vadot ssc@100000 { 908ccc0d23SEmmanuel Vadot compatible = "atmel,at91sam9g45-ssc"; 918ccc0d23SEmmanuel Vadot reg = <0x100000 0x4000>; 928ccc0d23SEmmanuel Vadot interrupts = <28 IRQ_TYPE_LEVEL_HIGH 5>; 938ccc0d23SEmmanuel Vadot dmas = <&dma0 (AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) | 948ccc0d23SEmmanuel Vadot AT91_XDMAC_DT_PERID(38))>, 958ccc0d23SEmmanuel Vadot <&dma0 (AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) | 968ccc0d23SEmmanuel Vadot AT91_XDMAC_DT_PERID(39))>; 978ccc0d23SEmmanuel Vadot dma-names = "tx", "rx"; 988ccc0d23SEmmanuel Vadot clocks = <&pmc PMC_TYPE_PERIPHERAL 28>; 998ccc0d23SEmmanuel Vadot clock-names = "pclk"; 1008ccc0d23SEmmanuel Vadot #sound-dai-cells = <0>; 1018ccc0d23SEmmanuel Vadot }; 1028ccc0d23SEmmanuel Vadot 1038ccc0d23SEmmanuel Vadot ssc@c00000 { 1048ccc0d23SEmmanuel Vadot compatible = "atmel,at91rm9200-ssc"; 1058ccc0d23SEmmanuel Vadot reg = <0xc00000 0x4000>; 1068ccc0d23SEmmanuel Vadot interrupts = <14 IRQ_TYPE_LEVEL_HIGH 5>; 1078ccc0d23SEmmanuel Vadot clocks = <&pmc PMC_TYPE_PERIPHERAL 14>; 1088ccc0d23SEmmanuel Vadot clock-names = "pclk"; 1098ccc0d23SEmmanuel Vadot }; 110