1 # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2 %YAML 1.2
3 ---
4 $id: "http://devicetree.org/schemas/soc/qcom/qcom,apr.yaml#"
5 $schema: "http://devicetree.org/meta-schemas/core.yaml#"
6
7 title: Qualcomm APR/GPR (Asynchronous/Generic Packet Router) binding
8
9 maintainers:
10 - Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
11
12 description: |
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.
16
17 properties:
18 compatible:
19 enum:
20 - qcom,apr-v2
21 - qcom,gpr
22
23 qcom,apr-domain:
24 $ref: /schemas/types.yaml#/definitions/uint32
25 enum: [1, 2, 3, 4, 5, 6, 7]
26 description:
27 Selects the processor domain for apr
28 1 = APR simulator
29 2 = PC Domain
30 3 = Modem Domain
31 4 = ADSP Domain
32 5 = Application processor Domain
33 6 = Modem2 Domain
34 7 = Application Processor2 Domain
35 deprecated: true
36
37 qcom,domain:
38 $ref: /schemas/types.yaml#/definitions/uint32
39 minimum: 1
40 maximum: 7
41 description:
42 Selects the processor domain for apr
43 1 = APR simulator
44 2 = PC Domain
45 3 = Modem Domain
46 4 = ADSP Domain
47 5 = Application processor Domain
48 6 = Modem2 Domain
49 7 = Application Processor2 Domain
50 Selects the processor domain for gpr
51 1 = Modem Domain
52 2 = Audio DSP Domain
53 3 = Application Processor Domain
54
55 '#address-cells':
56 const: 1
57
58 '#size-cells':
59 const: 0
60
61 #APR/GPR Services
62 patternProperties:
63 "^service@[1-9a-d]$":
64 type: object
65 description:
66 APR/GPR node's client devices use subnodes for desired static port services.
67
68 properties:
69 compatible:
70 enum:
71 - qcom,q6core
72 - qcom,q6asm
73 - qcom,q6afe
74 - qcom,q6adm
75 - qcom,q6apm
76 - qcom,q6prm
77
78 reg:
79 minimum: 1
80 maximum: 13
81 description:
82 APR Service ID
83 3 = DSP Core Service
84 4 = Audio Front End Service.
85 5 = Voice Stream Manager Service.
86 6 = Voice processing manager.
87 7 = Audio Stream Manager Service.
88 8 = Audio Device Manager Service.
89 9 = Multimode voice manager.
90 10 = Core voice stream.
91 11 = Core voice processor.
92 12 = Ultrasound stream manager.
93 13 = Listen stream manager.
94 GPR Service ID
95 1 = Audio Process Manager Service
96 2 = Proxy Resource Manager Service.
97 3 = AMDB Service.
98 4 = Voice processing manager.
99
100 qcom,protection-domain:
101 $ref: /schemas/types.yaml#/definitions/string-array
102 description: protection domain service name and path for apr service
103 possible values are
104 "avs/audio", "msm/adsp/audio_pd".
105 "kernel/elf_loader", "msm/modem/wlan_pd".
106 "tms/servreg", "msm/adsp/audio_pd".
107 "tms/servreg", "msm/modem/wlan_pd".
108 "tms/servreg", "msm/slpi/sensor_pd".
109
110 '#address-cells':
111 const: 1
112
113 '#size-cells':
114 const: 0
115
116 patternProperties:
117 "^.*@[0-9a-f]+$":
118 type: object
119 description:
120 Service based devices like clock controllers or digital audio interfaces.
121
122 additionalProperties: false
123
124 required:
125 - compatible
126 - qcom,domain
127
128 additionalProperties: false
129
130 examples:
131 - |
132 #include <dt-bindings/soc/qcom,apr.h>
133 apr {
134 compatible = "qcom,apr-v2";
135 qcom,domain = <APR_DOMAIN_ADSP>;
136 #address-cells = <1>;
137 #size-cells = <0>;
138
139 q6core: service@3 {
140 compatible = "qcom,q6core";
141 reg = <APR_SVC_ADSP_CORE>;
142 qcom,protection-domain = "avs/audio", "msm/adsp/audio_pd";
143 };
144
145 q6afe: service@4 {
146 compatible = "qcom,q6afe";
147 reg = <APR_SVC_AFE>;
148 qcom,protection-domain = "avs/audio", "msm/adsp/audio_pd";
149 };
150
151 q6asm: service@7 {
152 compatible = "qcom,q6asm";
153 reg = <APR_SVC_ASM>;
154 qcom,protection-domain = "avs/audio", "msm/adsp/audio_pd";
155 };
156
157 q6adm: service@8 {
158 compatible = "qcom,q6adm";
159 reg = <APR_SVC_ADM>;
160 qcom,protection-domain = "avs/audio", "msm/adsp/audio_pd";
161 };
162 };
163
164 - |
165 #include <dt-bindings/soc/qcom,gpr.h>
166 gpr {
167 compatible = "qcom,gpr";
168 qcom,domain = <GPR_DOMAIN_ID_ADSP>;
169 #address-cells = <1>;
170 #size-cells = <0>;
171
172 service@1 {
173 compatible = "qcom,q6apm";
174 reg = <GPR_APM_MODULE_IID>;
175 qcom,protection-domain = "avs/audio", "msm/adsp/audio_pd";
176 };
177 };
Cache object: 7a1ecc7529756f3bc1d28e9734c11a31
|