|
| 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