1 Qualcomm APR (Asynchronous Packet Router) binding
3 This binding describes the Qualcomm APR. APR is a IPC protocol for
4 communication between Application processor and QDSP. APR is mainly
5 used for audio/voice services on the QDSP.
9 Value type: <stringlist>
10 Definition: must be "qcom,apr-v<VERSION-NUMBER>", example "qcom,apr-v2"
15 Definition: Destination processor ID.
26 Each subnode of the APR node represents service tied to this apr. The name
27 of the nodes are not important. The properties of these nodes are defined
28 by the individual bindings for the specific service
29 - All APR services MUST contain the following property:
34 Definition: APR Service ID
37 4 - Audio Front End Service.
38 5 - Voice Stream Manager Service.
39 6 - Voice processing manager.
40 7 - Audio Stream Manager Service.
41 8 - Audio Device Manager Service.
42 9 - Multimode voice manager.
43 10 - Core voice stream.
44 11 - Core voice processor.
45 12 - Ultrasound stream manager.
46 13 - Listen stream manager.
48 - qcom,protection-domain
50 Value type: <stringlist>
51 Definition: Must list the protection domain service name and path
52 that the particular apr service has a dependency on.
54 "avs/audio", "msm/adsp/audio_pd".
55 "kernel/elf_loader", "msm/modem/wlan_pd".
56 "tms/servreg", "msm/adsp/audio_pd".
57 "tms/servreg", "msm/modem/wlan_pd".
58 "tms/servreg", "msm/slpi/sensor_pd".
61 The following example represents a QDSP based sound card on a MSM8996 device
62 which uses apr as communication between Apps and QDSP.
65 compatible = "qcom,apr-v2";
66 qcom,apr-domain = <APR_DOMAIN_ADSP>;
69 compatible = "qcom,q6core";
70 reg = <APR_SVC_ADSP_CORE>;
74 compatible = "qcom,q6afe";
78 #sound-dai-cells = <1>;
86 compatible = "qcom,q6asm";
92 compatible = "qcom,q6adm";
99 The following example represents a QDSP based sound card with protection domain
100 dependencies specified. Here some of the apr services are dependent on services
101 running on protection domain hosted on ADSP/SLPI remote processors while others
102 have no such dependency.
105 compatible = "qcom,apr-v2";
106 qcom,glink-channels = "apr_audio_svc";
107 qcom,apr-domain = <APR_DOMAIN_ADSP>;
110 compatible = "qcom,q6core";
111 reg = <APR_SVC_ADSP_CORE>;
114 q6afe: apr-service@4 {
115 compatible = "qcom,q6afe";
117 qcom,protection-domain = "avs/audio", "msm/adsp/audio_pd";
121 q6asm: apr-service@7 {
122 compatible = "qcom,q6asm";
124 qcom,protection-domain = "tms/servreg", "msm/slpi/sensor_pd";
128 q6adm: apr-service@8 {
129 compatible = "qcom,q6adm";
131 qcom,protection-domain = "avs/audio", "msm/adsp/audio_pd";