Tom Rini | 53633a8 | 2024-02-29 12:33:36 -0500 | [diff] [blame] | 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 | }; |