~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/Documentation/devicetree/bindings/soc/qcom/qcom,apr.yaml

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  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)
  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
 21       - qcom,apr-v2
 22       - qcom,gpr
 23 
 24   power-domains:
 25     maxItems: 1
 26 
 27   qcom,apr-domain:
 28     $ref: /schemas/types.yaml#/definitions/uint32
 29     enum: [1, 2, 3, 4, 5, 6, 7]
 30     description:
 31       Selects the processor domain for apr
 32         1 = APR simulator
 33         2 = PC Domain
 34         3 = Modem Domain
 35         4 = ADSP Domain
 36         5 = Application processor Domain
 37         6 = Modem2 Domain
 38         7 = Application Processor2 Domain
 39     deprecated: true
 40 
 41   qcom,domain:
 42     $ref: /schemas/types.yaml#/definitions/uint32
 43     minimum: 1
 44     maximum: 7
 45     description:
 46       Selects the processor domain for apr
 47         1 = APR simulator
 48         2 = PC Domain
 49         3 = Modem Domain
 50         4 = ADSP Domain
 51         5 = Application processor Domain
 52         6 = Modem2 Domain
 53         7 = Application Processor2 Domain
 54       Selects the processor domain for gpr
 55         1 = Modem Domain
 56         2 = Audio DSP Domain
 57         3 = Application Processor Domain
 58 
 59   qcom,glink-channels:
 60     $ref: /schemas/types.yaml#/definitions/string-array
 61     description: Channel name used for the communication
 62     maxItems: 1
 63 
 64   qcom,intents:
 65     $ref: /schemas/types.yaml#/definitions/uint32-matrix
 66     minItems: 1
 67     maxItems: 32
 68     items:
 69       items:
 70         - description: size of each intent to preallocate
 71         - description: amount of intents to preallocate
 72           minimum: 1
 73     description:
 74       List of (size, amount) pairs describing what intents should be
 75       preallocated for this virtual channel. This can be used to tweak the
 76       default intents available for the channel to meet expectations of the
 77       remote.
 78 
 79   qcom,smd-channels:
 80     $ref: /schemas/types.yaml#/definitions/string-array
 81     description: Channel name used for the communication
 82     items:
 83       - const: apr_audio_svc
 84 
 85   '#address-cells':
 86     const: 1
 87 
 88   '#size-cells':
 89     const: 0
 90 
 91 patternProperties:
 92   "^service@[1-9a-d]$":
 93     type: object
 94     $ref: /schemas/soc/qcom/qcom,apr-services.yaml
 95     additionalProperties: true
 96     description:
 97       APR/GPR static port services.
 98 
 99     properties:
100       compatible:
101         enum:
102           - qcom,q6core
103           - qcom,q6asm
104           - qcom,q6afe
105           - qcom,q6adm
106           - qcom,q6apm
107           - qcom,q6prm
108 
109 required:
110   - compatible
111   - qcom,domain
112 
113 allOf:
114   - if:
115       properties:
116         compatible:
117           enum:
118             - qcom,gpr
119     then:
120       properties:
121         qcom,glink-channels:
122           items:
123             - const: adsp_apps
124         power-domains: false
125     else:
126       properties:
127         qcom,glink-channels:
128           items:
129             - const: apr_audio_svc
130 
131   - if:
132       required:
133         - qcom,glink-channels
134     then:
135       properties:
136         qcom,smd-channels: false
137 
138   - if:
139       required:
140         - qcom,smd-channels
141     then:
142       properties:
143         qcom,glink-channels: false
144 
145 additionalProperties: false
146 
147 examples:
148   - |
149     #include <dt-bindings/soc/qcom,apr.h>
150     apr {
151         compatible = "qcom,apr-v2";
152         qcom,domain = <APR_DOMAIN_ADSP>;
153         qcom,glink-channels = "apr_audio_svc";
154         qcom,intents = <512 20>;
155         #address-cells = <1>;
156         #size-cells = <0>;
157 
158         q6core: service@3 {
159             compatible = "qcom,q6core";
160             reg = <APR_SVC_ADSP_CORE>;
161             qcom,protection-domain = "avs/audio", "msm/adsp/audio_pd";
162         };
163 
164         service@4 {
165             compatible = "qcom,q6afe";
166             reg = <APR_SVC_AFE>;
167             qcom,protection-domain = "avs/audio", "msm/adsp/audio_pd";
168 
169             clock-controller {
170                 compatible = "qcom,q6afe-clocks";
171                 #clock-cells = <2>;
172             };
173 
174             dais {
175                 compatible = "qcom,q6afe-dais";
176                 #address-cells = <1>;
177                 #size-cells = <0>;
178                 #sound-dai-cells = <1>;
179                 /* ... */
180             };
181             /* ... */
182         };
183     };
184 
185   - |
186     #include <dt-bindings/soc/qcom,gpr.h>
187     gpr {
188         compatible = "qcom,gpr";
189         qcom,domain = <GPR_DOMAIN_ID_ADSP>;
190         qcom,glink-channels = "adsp_apps";
191         qcom,intents = <512 20>;
192         #address-cells = <1>;
193         #size-cells = <0>;
194 
195         service@1 {
196             compatible = "qcom,q6apm";
197             reg = <GPR_APM_MODULE_IID>;
198             #sound-dai-cells = <0>;
199             qcom,protection-domain = "avs/audio", "msm/adsp/audio_pd";
200 
201             dais {
202                 compatible = "qcom,q6apm-dais";
203                 iommus = <&apps_smmu 0x1801 0x0>;
204             };
205 
206             bedais {
207                 compatible = "qcom,q6apm-lpass-dais";
208                 #sound-dai-cells = <1>;
209             };
210         };
211     };

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php