1 # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
4 $id: "http://devicetree.org/schemas/soc/qcom/qcom,apr.yaml#"
5 $schema: "http://devicetree.org/meta-schemas/core.yaml#"
7 title: Qualcomm APR/GPR (Asynchronous/Generic Packet Router) binding
10 - Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
13 This binding describes the Qualcomm APR/GPR, APR/GPR is a IPC protocol for
14 communication between Application processor and QDSP. APR/GPR is mainly
15 used for audio/voice services on the QDSP.
27 $ref: /schemas/types.yaml#/definitions/uint32
28 enum: [1, 2, 3, 4, 5, 6, 7]
30 Selects the processor domain for apr
35 5 = Application processor Domain
37 7 = Application Processor2 Domain
41 $ref: /schemas/types.yaml#/definitions/uint32
45 Selects the processor domain for apr
50 5 = Application processor Domain
52 7 = Application Processor2 Domain
53 Selects the processor domain for gpr
56 3 = Application Processor Domain
59 $ref: /schemas/types.yaml#/definitions/string-array
60 description: Channel name used for the communication
62 - const: apr_audio_svc
65 $ref: /schemas/types.yaml#/definitions/uint32-array
67 List of (size, amount) pairs describing what intents should be
68 preallocated for this virtual channel. This can be used to tweak the
69 default intents available for the channel to meet expectations of the
73 $ref: /schemas/types.yaml#/definitions/string-array
74 description: Channel name used for the communication
76 - const: apr_audio_svc
89 APR/GPR node's client devices use subnodes for desired static port services.
107 4 = Audio Front End Service.
108 5 = Voice Stream Manager Service.
109 6 = Voice processing manager.
110 7 = Audio Stream Manager Service.
111 8 = Audio Device Manager Service.
112 9 = Multimode voice manager.
113 10 = Core voice stream.
114 11 = Core voice processor.
115 12 = Ultrasound stream manager.
116 13 = Listen stream manager.
118 1 = Audio Process Manager Service
119 2 = Proxy Resource Manager Service.
121 4 = Voice processing manager.
124 $ref: /schemas/sound/qcom,q6dsp-lpass-clocks.yaml#
125 description: Qualcomm DSP LPASS clock controller
126 unevaluatedProperties: false
131 - $ref: /schemas/sound/qcom,q6apm-dai.yaml#
132 - $ref: /schemas/sound/qcom,q6dsp-lpass-ports.yaml#
133 - $ref: /schemas/sound/qcom,q6asm-dais.yaml#
134 unevaluatedProperties: false
135 description: Qualcomm DSP audio ports
139 $ref: /schemas/sound/qcom,q6adm-routing.yaml#
140 unevaluatedProperties: false
141 description: Qualcomm DSP LPASS audio routing
143 qcom,protection-domain:
144 $ref: /schemas/types.yaml#/definitions/string-array
145 description: protection domain service name and path for apr service
147 "avs/audio", "msm/adsp/audio_pd".
148 "kernel/elf_loader", "msm/modem/wlan_pd".
149 "tms/servreg", "msm/adsp/audio_pd".
150 "tms/servreg", "msm/modem/wlan_pd".
151 "tms/servreg", "msm/slpi/sensor_pd".
164 const: qcom,q6afe-dais
178 - qcom,q6apm-lpass-dais
190 const: qcom,q6asm-dais
192 additionalProperties: false
210 - qcom,glink-channels
213 qcom,smd-channels: false
220 qcom,glink-channels: false
222 additionalProperties: false
226 #include <dt-bindings/soc/qcom,apr.h>
228 compatible = "qcom,apr-v2";
229 qcom,domain = <APR_DOMAIN_ADSP>;
230 #address-cells = <1>;
234 compatible = "qcom,q6core";
235 reg = <APR_SVC_ADSP_CORE>;
236 qcom,protection-domain = "avs/audio", "msm/adsp/audio_pd";
240 compatible = "qcom,q6afe";
242 qcom,protection-domain = "avs/audio", "msm/adsp/audio_pd";
246 compatible = "qcom,q6asm";
248 qcom,protection-domain = "avs/audio", "msm/adsp/audio_pd";
252 compatible = "qcom,q6adm";
254 qcom,protection-domain = "avs/audio", "msm/adsp/audio_pd";
259 #include <dt-bindings/soc/qcom,gpr.h>
261 compatible = "qcom,gpr";
262 qcom,domain = <GPR_DOMAIN_ID_ADSP>;
263 #address-cells = <1>;
267 compatible = "qcom,q6apm";
268 reg = <GPR_APM_MODULE_IID>;
269 qcom,protection-domain = "avs/audio", "msm/adsp/audio_pd";