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