xref: /freebsd/sys/contrib/device-tree/Bindings/misc/atmel-ssc.txt (revision c66ec88fed842fbaad62c30d510644ceb7bd2d71)
1*c66ec88fSEmmanuel Vadot* Atmel SSC driver.
2*c66ec88fSEmmanuel Vadot
3*c66ec88fSEmmanuel VadotRequired properties:
4*c66ec88fSEmmanuel Vadot- compatible: "atmel,at91rm9200-ssc" or "atmel,at91sam9g45-ssc"
5*c66ec88fSEmmanuel Vadot	- atmel,at91rm9200-ssc: support pdc transfer
6*c66ec88fSEmmanuel Vadot	- atmel,at91sam9g45-ssc: support dma transfer
7*c66ec88fSEmmanuel Vadot- reg: Should contain SSC registers location and length
8*c66ec88fSEmmanuel Vadot- interrupts: Should contain SSC interrupt
9*c66ec88fSEmmanuel Vadot- clock-names: tuple listing input clock names.
10*c66ec88fSEmmanuel Vadot	Required elements: "pclk"
11*c66ec88fSEmmanuel Vadot- clocks: phandles to input clocks.
12*c66ec88fSEmmanuel Vadot
13*c66ec88fSEmmanuel Vadot
14*c66ec88fSEmmanuel VadotRequired properties for devices compatible with "atmel,at91sam9g45-ssc":
15*c66ec88fSEmmanuel Vadot- dmas: DMA specifier, consisting of a phandle to DMA controller node,
16*c66ec88fSEmmanuel Vadot  the memory interface and SSC DMA channel ID (for tx and rx).
17*c66ec88fSEmmanuel Vadot  See Documentation/devicetree/bindings/dma/atmel-dma.txt for details.
18*c66ec88fSEmmanuel Vadot- dma-names: Must be "tx", "rx".
19*c66ec88fSEmmanuel Vadot
20*c66ec88fSEmmanuel VadotOptional properties:
21*c66ec88fSEmmanuel Vadot  - atmel,clk-from-rk-pin: bool property.
22*c66ec88fSEmmanuel Vadot     - When SSC works in slave mode, according to the hardware design, the
23*c66ec88fSEmmanuel Vadot       clock can get from TK pin, and also can get from RK pin. So, add
24*c66ec88fSEmmanuel Vadot       this parameter to choose where the clock from.
25*c66ec88fSEmmanuel Vadot     - By default the clock is from TK pin, if the clock from RK pin, this
26*c66ec88fSEmmanuel Vadot       property is needed.
27*c66ec88fSEmmanuel Vadot  - #sound-dai-cells: Should contain <0>.
28*c66ec88fSEmmanuel Vadot     - This property makes the SSC into an automatically registered DAI.
29*c66ec88fSEmmanuel Vadot
30*c66ec88fSEmmanuel VadotExamples:
31*c66ec88fSEmmanuel Vadot- PDC transfer:
32*c66ec88fSEmmanuel Vadotssc0: ssc@fffbc000 {
33*c66ec88fSEmmanuel Vadot	compatible = "atmel,at91rm9200-ssc";
34*c66ec88fSEmmanuel Vadot	reg = <0xfffbc000 0x4000>;
35*c66ec88fSEmmanuel Vadot	interrupts = <14 4 5>;
36*c66ec88fSEmmanuel Vadot	clocks = <&ssc0_clk>;
37*c66ec88fSEmmanuel Vadot	clock-names = "pclk";
38*c66ec88fSEmmanuel Vadot};
39*c66ec88fSEmmanuel Vadot
40*c66ec88fSEmmanuel Vadot- DMA transfer:
41*c66ec88fSEmmanuel Vadotssc0: ssc@f0010000 {
42*c66ec88fSEmmanuel Vadot      compatible = "atmel,at91sam9g45-ssc";
43*c66ec88fSEmmanuel Vadot      reg = <0xf0010000 0x4000>;
44*c66ec88fSEmmanuel Vadot      interrupts = <28 4 5>;
45*c66ec88fSEmmanuel Vadot      dmas = <&dma0 1 13>,
46*c66ec88fSEmmanuel Vadot	     <&dma0 1 14>;
47*c66ec88fSEmmanuel Vadot      dma-names = "tx", "rx";
48*c66ec88fSEmmanuel Vadot      pinctrl-names = "default";
49*c66ec88fSEmmanuel Vadot      pinctrl-0 = <&pinctrl_ssc0_tx &pinctrl_ssc0_rx>;
50*c66ec88fSEmmanuel Vadot};
51