ASoC: dt-bindings: q6asm: Add Q6ASM_DAI_{TX_RX, TX, RX} defines
[linux-2.6-microblaze.git] / Documentation / devicetree / bindings / sound / qcom,q6asm.txt
1 Qualcomm Audio Stream Manager (Q6ASM) binding
2
3 Q6ASM is one of the APR audio service on Q6DSP.
4 Please refer to qcom,apr.txt for details of the common apr service bindings
5 used by the apr service device.
6
7 - but must contain the following property:
8
9 - compatible:
10         Usage: required
11         Value type: <stringlist>
12         Definition: must be "qcom,q6asm-v<MAJOR-NUMBER>.<MINOR-NUMBER>".
13                     Or "qcom,q6asm" where the version number can be queried
14                     from DSP.
15                     example "qcom,q6asm-v2.0"
16
17 = ASM DAIs (Digial Audio Interface)
18 "dais" subnode of the ASM node represents dai specific configuration
19
20 - compatible:
21         Usage: required
22         Value type: <stringlist>
23         Definition: must be "qcom,q6asm-dais".
24
25 - #sound-dai-cells
26         Usage: required
27         Value type: <u32>
28         Definition: Must be 1
29
30 == ASM DAI is subnode of "dais" and represent a dai, it includes board specific
31 configuration of each dai. Must contain the following properties.
32
33 - reg
34         Usage: required
35         Value type: <u32>
36         Definition: Must be dai id
37
38 - direction:
39         Usage: Required for Compress offload dais
40         Value type: <u32>
41         Definition: Specifies the direction of the dai stream
42                         Q6ASM_DAI_TX_RX (0) for both tx and rx
43                         Q6ASM_DAI_TX (1) for only tx (Capture/Encode)
44                         Q6ASM_DAI_RX (2) for only rx (Playback/Decode)
45
46 - is-compress-dai:
47         Usage: Required for Compress offload dais
48         Value type: <boolean>
49         Definition: present for Compress offload dais
50
51
52 = EXAMPLE
53 #include <dt-bindings/sound/qcom,q6asm.h>
54
55 apr-service@7 {
56         compatible = "qcom,q6asm";
57         reg = <APR_SVC_ASM>;
58         q6asmdai: dais {
59                 compatible = "qcom,q6asm-dais";
60                 #address-cells = <1>;
61                 #size-cells = <0>;
62                 #sound-dai-cells = <1>;
63
64                 dai@0 {
65                         reg = <0>;
66                         direction = <Q6ASM_DAI_RX>;
67                         is-compress-dai;
68                 };
69         };
70 };