0001 * Atmel SSC driver.
0002
0003 Required properties:
0004 - compatible: "atmel,at91rm9200-ssc" or "atmel,at91sam9g45-ssc"
0005 - atmel,at91rm9200-ssc: support pdc transfer
0006 - atmel,at91sam9g45-ssc: support dma transfer
0007 - reg: Should contain SSC registers location and length
0008 - interrupts: Should contain SSC interrupt
0009 - clock-names: tuple listing input clock names.
0010 Required elements: "pclk"
0011 - clocks: phandles to input clocks.
0012
0013
0014 Required properties for devices compatible with "atmel,at91sam9g45-ssc":
0015 - dmas: DMA specifier, consisting of a phandle to DMA controller node,
0016 the memory interface and SSC DMA channel ID (for tx and rx).
0017 See Documentation/devicetree/bindings/dma/atmel-dma.txt for details.
0018 - dma-names: Must be "tx", "rx".
0019
0020 Optional properties:
0021 - atmel,clk-from-rk-pin: bool property.
0022 - When SSC works in slave mode, according to the hardware design, the
0023 clock can get from TK pin, and also can get from RK pin. So, add
0024 this parameter to choose where the clock from.
0025 - By default the clock is from TK pin, if the clock from RK pin, this
0026 property is needed.
0027 - #sound-dai-cells: Should contain <0>.
0028 - This property makes the SSC into an automatically registered DAI.
0029
0030 Examples:
0031 - PDC transfer:
0032 ssc0: ssc@fffbc000 {
0033 compatible = "atmel,at91rm9200-ssc";
0034 reg = <0xfffbc000 0x4000>;
0035 interrupts = <14 4 5>;
0036 clocks = <&ssc0_clk>;
0037 clock-names = "pclk";
0038 };
0039
0040 - DMA transfer:
0041 ssc0: ssc@f0010000 {
0042 compatible = "atmel,at91sam9g45-ssc";
0043 reg = <0xf0010000 0x4000>;
0044 interrupts = <28 4 5>;
0045 dmas = <&dma0 1 13>,
0046 <&dma0 1 14>;
0047 dma-names = "tx", "rx";
0048 pinctrl-names = "default";
0049 pinctrl-0 = <&pinctrl_ssc0_tx &pinctrl_ssc0_rx>;
0050 };