Skip to content

Commit 0a1ed8f

Browse files
Cyrille PitchenCodrin Ciubotariu
authored andcommitted
ASoC: atmel-i2s: dt-bindings: add DT bindings for I2S controller
This patch adds DT bindings for the new Atmel I2S controller embedded inside sama5d2x SoCs. Signed-off-by: Cyrille Pitchen <cyrille.pitchen@atmel.com> Signed-off-by: Codrin Ciubotariu <codrin.ciubotariu@microchip.com> Signed-off-by: Mark Brown <broonie@kernel.org>
1 parent 590a88e commit 0a1ed8f

1 file changed

Lines changed: 47 additions & 0 deletions

File tree

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
* Atmel I2S controller
2+
3+
Required properties:
4+
- compatible: Should be "atmel,sama5d2-i2s".
5+
- reg: Should be the physical base address of the controller and the
6+
length of memory mapped region.
7+
- interrupts: Should contain the interrupt for the controller.
8+
- dmas: Should be one per channel name listed in the dma-names property,
9+
as described in atmel-dma.txt and dma.txt files.
10+
- dma-names: Two dmas have to be defined, "tx" and "rx".
11+
This IP also supports one shared channel for both rx and tx;
12+
if this mode is used, one "rx-tx" name must be used.
13+
- clocks: Must contain an entry for each entry in clock-names.
14+
Please refer to clock-bindings.txt.
15+
- clock-names: Should be one of each entry matching the clocks phandles list:
16+
- "pclk" (peripheral clock) Required.
17+
- "gclk" (generated clock) Optional (1).
18+
- "aclk" (Audio PLL clock) Optional (1).
19+
- "muxclk" (I2S mux clock) Optional (1).
20+
21+
Optional properties:
22+
- pinctrl-0: Should specify pin control groups used for this controller.
23+
- princtrl-names: Should contain only one value - "default".
24+
25+
26+
(1) : Only the peripheral clock is required. The generated clock, the Audio
27+
PLL clock adn the I2S mux clock are optional and should only be set
28+
together, when Master Mode is required.
29+
30+
Example:
31+
32+
i2s@f8050000 {
33+
compatible = "atmel,sama5d2-i2s";
34+
reg = <0xf8050000 0x300>;
35+
interrupts = <54 IRQ_TYPE_LEVEL_HIGH 7>;
36+
dmas = <&dma0
37+
(AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) |
38+
AT91_XDMAC_DT_PERID(31))>,
39+
<&dma0
40+
(AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) |
41+
AT91_XDMAC_DT_PERID(32))>;
42+
dma-names = "tx", "rx";
43+
clocks = <&i2s0_clk>, <&i2s0_gclk>, <&audio_pll_pmc>, <&i2s0muxck>;
44+
clock-names = "pclk", "gclk", "aclk", "muxclk";
45+
pinctrl-names = "default";
46+
pinctrl-0 = <&pinctrl_i2s0_default>;
47+
};

0 commit comments

Comments
 (0)