xref: /freebsd/sys/contrib/device-tree/Bindings/sound/qcom,q6asm.txt (revision 0d66206fff44f864ea8a4b220c3a53b4caa959a0)
1Qualcomm Audio Stream Manager (Q6ASM) binding
2
3Q6ASM is one of the APR audio service on Q6DSP.
4Please refer to qcom,apr.txt for details of the common apr service bindings
5used 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 (Digital 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
31configuration 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
55apr-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};
71