Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

ASoC: dt-bindings: atmel,at91-ssc: Convert to YAML format

Convert devicetree binding atmel-ssc.txt to YAML format.
Update the documentation supported file for MICROCHIP SSC DRIVER.

Signed-off-by: Andrei Simion <andrei.simion@microchip.com>
Reviewed-by: Rob Herring (Arm) <robh@kernel.org>
Link: https://patch.msgid.link/20250203091111.21667-1-andrei.simion@microchip.com
Signed-off-by: Mark Brown <broonie@kernel.org>

authored by

Andrei Simion and committed by
Mark Brown
6603c513 185ac20a

+105 -51
-50
Documentation/devicetree/bindings/misc/atmel-ssc.txt
··· 1 - * Atmel SSC driver. 2 - 3 - Required properties: 4 - - compatible: "atmel,at91rm9200-ssc" or "atmel,at91sam9g45-ssc" 5 - - atmel,at91rm9200-ssc: support pdc transfer 6 - - atmel,at91sam9g45-ssc: support dma transfer 7 - - reg: Should contain SSC registers location and length 8 - - interrupts: Should contain SSC interrupt 9 - - clock-names: tuple listing input clock names. 10 - Required elements: "pclk" 11 - - clocks: phandles to input clocks. 12 - 13 - 14 - Required properties for devices compatible with "atmel,at91sam9g45-ssc": 15 - - dmas: DMA specifier, consisting of a phandle to DMA controller node, 16 - the memory interface and SSC DMA channel ID (for tx and rx). 17 - See Documentation/devicetree/bindings/dma/atmel-dma.txt for details. 18 - - dma-names: Must be "tx", "rx". 19 - 20 - Optional properties: 21 - - atmel,clk-from-rk-pin: bool property. 22 - - When SSC works in slave mode, according to the hardware design, the 23 - clock can get from TK pin, and also can get from RK pin. So, add 24 - this parameter to choose where the clock from. 25 - - By default the clock is from TK pin, if the clock from RK pin, this 26 - property is needed. 27 - - #sound-dai-cells: Should contain <0>. 28 - - This property makes the SSC into an automatically registered DAI. 29 - 30 - Examples: 31 - - PDC transfer: 32 - ssc0: ssc@fffbc000 { 33 - compatible = "atmel,at91rm9200-ssc"; 34 - reg = <0xfffbc000 0x4000>; 35 - interrupts = <14 4 5>; 36 - clocks = <&ssc0_clk>; 37 - clock-names = "pclk"; 38 - }; 39 - 40 - - DMA transfer: 41 - ssc0: ssc@f0010000 { 42 - compatible = "atmel,at91sam9g45-ssc"; 43 - reg = <0xf0010000 0x4000>; 44 - interrupts = <28 4 5>; 45 - dmas = <&dma0 1 13>, 46 - <&dma0 1 14>; 47 - dma-names = "tx", "rx"; 48 - pinctrl-names = "default"; 49 - pinctrl-0 = <&pinctrl_ssc0_tx &pinctrl_ssc0_rx>; 50 - };
+104
Documentation/devicetree/bindings/sound/atmel,at91-ssc.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 + 7 + title: Atmel Serial Synchronous Serial (SSC) 8 + 9 + maintainers: 10 + - Andrei Simion <andrei.simion@microchip.com> 11 + 12 + description: 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 + 17 + properties: 18 + compatible: 19 + enum: 20 + - atmel,at91rm9200-ssc 21 + - atmel,at91sam9g45-ssc 22 + 23 + reg: 24 + maxItems: 1 25 + 26 + interrupts: 27 + maxItems: 1 28 + 29 + clocks: 30 + maxItems: 1 31 + 32 + clock-names: 33 + items: 34 + - const: pclk 35 + 36 + dmas: 37 + items: 38 + - description: TX DMA Channel 39 + - description: RX DMA Channel 40 + 41 + dma-names: 42 + items: 43 + - const: tx 44 + - const: rx 45 + 46 + atmel,clk-from-rk-pin: 47 + description: 48 + Specify the clock source for the SSC (Synchronous Serial Controller) 49 + when operating in slave mode. By default, the clock is sourced from 50 + the TK pin. 51 + type: boolean 52 + 53 + "#sound-dai-cells": 54 + const: 0 55 + 56 + required: 57 + - compatible 58 + - reg 59 + - interrupts 60 + - clocks 61 + - clock-names 62 + 63 + allOf: 64 + - $ref: dai-common.yaml# 65 + - if: 66 + properties: 67 + compatible: 68 + contains: 69 + enum: 70 + - atmel,at91sam9g45-ssc 71 + then: 72 + required: 73 + - dmas 74 + - dma-names 75 + 76 + unevaluatedProperties: false 77 + 78 + examples: 79 + - | 80 + #include <dt-bindings/clock/at91.h> 81 + #include <dt-bindings/dma/at91.h> 82 + #include <dt-bindings/interrupt-controller/irq.h> 83 + 84 + ssc@100000 { 85 + compatible = "atmel,at91sam9g45-ssc"; 86 + reg = <0x100000 0x4000>; 87 + interrupts = <28 IRQ_TYPE_LEVEL_HIGH 5>; 88 + dmas = <&dma0 (AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) | 89 + AT91_XDMAC_DT_PERID(38))>, 90 + <&dma0 (AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) | 91 + AT91_XDMAC_DT_PERID(39))>; 92 + dma-names = "tx", "rx"; 93 + clocks = <&pmc PMC_TYPE_PERIPHERAL 28>; 94 + clock-names = "pclk"; 95 + #sound-dai-cells = <0>; 96 + }; 97 + 98 + ssc@c00000 { 99 + compatible = "atmel,at91rm9200-ssc"; 100 + reg = <0xc00000 0x4000>; 101 + interrupts = <14 IRQ_TYPE_LEVEL_HIGH 5>; 102 + clocks = <&pmc PMC_TYPE_PERIPHERAL 14>; 103 + clock-names = "pclk"; 104 + };
+1 -1
MAINTAINERS
··· 15632 15632 M: Andrei Simion <andrei.simion@microchip.com> 15633 15633 L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers) 15634 15634 S: Supported 15635 - F: Documentation/devicetree/bindings/misc/atmel-ssc.txt 15635 + F: Documentation/devicetree/bindings/sound/atmel,at91-ssc.yaml 15636 15636 F: drivers/misc/atmel-ssc.c 15637 15637 F: include/linux/atmel-ssc.h 15638 15638