1985f62a9SSrinivas Kandagatla# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 2985f62a9SSrinivas Kandagatla%YAML 1.2 3985f62a9SSrinivas Kandagatla--- 4985f62a9SSrinivas Kandagatla$id: "http://devicetree.org/schemas/soc/qcom/qcom,apr.yaml#" 5985f62a9SSrinivas Kandagatla$schema: "http://devicetree.org/meta-schemas/core.yaml#" 6985f62a9SSrinivas Kandagatla 7974c6fafSSrinivas Kandagatlatitle: Qualcomm APR/GPR (Asynchronous/Generic Packet Router) binding 8985f62a9SSrinivas Kandagatla 9985f62a9SSrinivas Kandagatlamaintainers: 10985f62a9SSrinivas Kandagatla - Srinivas Kandagatla <srinivas.kandagatla@linaro.org> 11985f62a9SSrinivas Kandagatla 12985f62a9SSrinivas Kandagatladescription: | 13974c6fafSSrinivas Kandagatla This binding describes the Qualcomm APR/GPR, APR/GPR is a IPC protocol for 14974c6fafSSrinivas Kandagatla communication between Application processor and QDSP. APR/GPR is mainly 15985f62a9SSrinivas Kandagatla used for audio/voice services on the QDSP. 16985f62a9SSrinivas Kandagatla 17985f62a9SSrinivas Kandagatlaproperties: 18985f62a9SSrinivas Kandagatla compatible: 19985f62a9SSrinivas Kandagatla enum: 20985f62a9SSrinivas Kandagatla - qcom,apr-v2 21974c6fafSSrinivas Kandagatla - qcom,gpr 22985f62a9SSrinivas Kandagatla 23b2d7616eSKrzysztof Kozlowski power-domains: 24b2d7616eSKrzysztof Kozlowski maxItems: 1 25b2d7616eSKrzysztof Kozlowski 26985f62a9SSrinivas Kandagatla qcom,apr-domain: 27985f62a9SSrinivas Kandagatla $ref: /schemas/types.yaml#/definitions/uint32 28985f62a9SSrinivas Kandagatla enum: [1, 2, 3, 4, 5, 6, 7] 29985f62a9SSrinivas Kandagatla description: 30985f62a9SSrinivas Kandagatla Selects the processor domain for apr 31985f62a9SSrinivas Kandagatla 1 = APR simulator 32985f62a9SSrinivas Kandagatla 2 = PC Domain 33985f62a9SSrinivas Kandagatla 3 = Modem Domain 34985f62a9SSrinivas Kandagatla 4 = ADSP Domain 35985f62a9SSrinivas Kandagatla 5 = Application processor Domain 36985f62a9SSrinivas Kandagatla 6 = Modem2 Domain 37985f62a9SSrinivas Kandagatla 7 = Application Processor2 Domain 381ff63d54SSrinivas Kandagatla deprecated: true 391ff63d54SSrinivas Kandagatla 401ff63d54SSrinivas Kandagatla qcom,domain: 411ff63d54SSrinivas Kandagatla $ref: /schemas/types.yaml#/definitions/uint32 421ff63d54SSrinivas Kandagatla minimum: 1 431ff63d54SSrinivas Kandagatla maximum: 7 441ff63d54SSrinivas Kandagatla description: 451ff63d54SSrinivas Kandagatla Selects the processor domain for apr 461ff63d54SSrinivas Kandagatla 1 = APR simulator 471ff63d54SSrinivas Kandagatla 2 = PC Domain 481ff63d54SSrinivas Kandagatla 3 = Modem Domain 491ff63d54SSrinivas Kandagatla 4 = ADSP Domain 501ff63d54SSrinivas Kandagatla 5 = Application processor Domain 511ff63d54SSrinivas Kandagatla 6 = Modem2 Domain 521ff63d54SSrinivas Kandagatla 7 = Application Processor2 Domain 53974c6fafSSrinivas Kandagatla Selects the processor domain for gpr 54974c6fafSSrinivas Kandagatla 1 = Modem Domain 55974c6fafSSrinivas Kandagatla 2 = Audio DSP Domain 56974c6fafSSrinivas Kandagatla 3 = Application Processor Domain 57985f62a9SSrinivas Kandagatla 58b2d7616eSKrzysztof Kozlowski qcom,glink-channels: 59b2d7616eSKrzysztof Kozlowski $ref: /schemas/types.yaml#/definitions/string-array 60b2d7616eSKrzysztof Kozlowski description: Channel name used for the communication 61*0dd3618eSKrzysztof Kozlowski maxItems: 1 62b2d7616eSKrzysztof Kozlowski 63b2d7616eSKrzysztof Kozlowski qcom,intents: 64b2d7616eSKrzysztof Kozlowski $ref: /schemas/types.yaml#/definitions/uint32-array 65b2d7616eSKrzysztof Kozlowski description: 66b2d7616eSKrzysztof Kozlowski List of (size, amount) pairs describing what intents should be 67b2d7616eSKrzysztof Kozlowski preallocated for this virtual channel. This can be used to tweak the 68b2d7616eSKrzysztof Kozlowski default intents available for the channel to meet expectations of the 69b2d7616eSKrzysztof Kozlowski remote. 70b2d7616eSKrzysztof Kozlowski 71b2d7616eSKrzysztof Kozlowski qcom,smd-channels: 72b2d7616eSKrzysztof Kozlowski $ref: /schemas/types.yaml#/definitions/string-array 73b2d7616eSKrzysztof Kozlowski description: Channel name used for the communication 74b2d7616eSKrzysztof Kozlowski items: 75b2d7616eSKrzysztof Kozlowski - const: apr_audio_svc 76b2d7616eSKrzysztof Kozlowski 77985f62a9SSrinivas Kandagatla '#address-cells': 78985f62a9SSrinivas Kandagatla const: 1 79985f62a9SSrinivas Kandagatla 80985f62a9SSrinivas Kandagatla '#size-cells': 81985f62a9SSrinivas Kandagatla const: 0 82985f62a9SSrinivas Kandagatla 83974c6fafSSrinivas Kandagatla#APR/GPR Services 84985f62a9SSrinivas KandagatlapatternProperties: 85974c6fafSSrinivas Kandagatla "^service@[1-9a-d]$": 86985f62a9SSrinivas Kandagatla type: object 87985f62a9SSrinivas Kandagatla description: 88974c6fafSSrinivas Kandagatla APR/GPR node's client devices use subnodes for desired static port services. 89985f62a9SSrinivas Kandagatla 90985f62a9SSrinivas Kandagatla properties: 91985f62a9SSrinivas Kandagatla compatible: 92985f62a9SSrinivas Kandagatla enum: 93985f62a9SSrinivas Kandagatla - qcom,q6core 94985f62a9SSrinivas Kandagatla - qcom,q6asm 95985f62a9SSrinivas Kandagatla - qcom,q6afe 96985f62a9SSrinivas Kandagatla - qcom,q6adm 97974c6fafSSrinivas Kandagatla - qcom,q6apm 98974c6fafSSrinivas Kandagatla - qcom,q6prm 99985f62a9SSrinivas Kandagatla 100985f62a9SSrinivas Kandagatla reg: 101974c6fafSSrinivas Kandagatla minimum: 1 102985f62a9SSrinivas Kandagatla maximum: 13 103985f62a9SSrinivas Kandagatla description: 104985f62a9SSrinivas Kandagatla APR Service ID 105985f62a9SSrinivas Kandagatla 3 = DSP Core Service 106985f62a9SSrinivas Kandagatla 4 = Audio Front End Service. 107985f62a9SSrinivas Kandagatla 5 = Voice Stream Manager Service. 108985f62a9SSrinivas Kandagatla 6 = Voice processing manager. 109985f62a9SSrinivas Kandagatla 7 = Audio Stream Manager Service. 110985f62a9SSrinivas Kandagatla 8 = Audio Device Manager Service. 111985f62a9SSrinivas Kandagatla 9 = Multimode voice manager. 112985f62a9SSrinivas Kandagatla 10 = Core voice stream. 113985f62a9SSrinivas Kandagatla 11 = Core voice processor. 114985f62a9SSrinivas Kandagatla 12 = Ultrasound stream manager. 115985f62a9SSrinivas Kandagatla 13 = Listen stream manager. 116974c6fafSSrinivas Kandagatla GPR Service ID 117974c6fafSSrinivas Kandagatla 1 = Audio Process Manager Service 118974c6fafSSrinivas Kandagatla 2 = Proxy Resource Manager Service. 119974c6fafSSrinivas Kandagatla 3 = AMDB Service. 120974c6fafSSrinivas Kandagatla 4 = Voice processing manager. 121985f62a9SSrinivas Kandagatla 122b2496de1SKrzysztof Kozlowski clock-controller: 123b2496de1SKrzysztof Kozlowski $ref: /schemas/sound/qcom,q6dsp-lpass-clocks.yaml# 124b2496de1SKrzysztof Kozlowski description: Qualcomm DSP LPASS clock controller 125b2496de1SKrzysztof Kozlowski unevaluatedProperties: false 126b2496de1SKrzysztof Kozlowski 127b2496de1SKrzysztof Kozlowski dais: 128b2496de1SKrzysztof Kozlowski type: object 1297b0ad462SKrzysztof Kozlowski oneOf: 1307b0ad462SKrzysztof Kozlowski - $ref: /schemas/sound/qcom,q6apm-dai.yaml# 1317b0ad462SKrzysztof Kozlowski - $ref: /schemas/sound/qcom,q6dsp-lpass-ports.yaml# 1327b0ad462SKrzysztof Kozlowski - $ref: /schemas/sound/qcom,q6asm-dais.yaml# 1337b0ad462SKrzysztof Kozlowski unevaluatedProperties: false 134b2496de1SKrzysztof Kozlowski description: Qualcomm DSP audio ports 135b2496de1SKrzysztof Kozlowski 136b2496de1SKrzysztof Kozlowski routing: 137b2496de1SKrzysztof Kozlowski type: object 138301628d8SKrzysztof Kozlowski $ref: /schemas/sound/qcom,q6adm-routing.yaml# 139301628d8SKrzysztof Kozlowski unevaluatedProperties: false 140b2496de1SKrzysztof Kozlowski description: Qualcomm DSP LPASS audio routing 141b2496de1SKrzysztof Kozlowski 142985f62a9SSrinivas Kandagatla qcom,protection-domain: 143985f62a9SSrinivas Kandagatla $ref: /schemas/types.yaml#/definitions/string-array 144985f62a9SSrinivas Kandagatla description: protection domain service name and path for apr service 145985f62a9SSrinivas Kandagatla possible values are 146985f62a9SSrinivas Kandagatla "avs/audio", "msm/adsp/audio_pd". 147985f62a9SSrinivas Kandagatla "kernel/elf_loader", "msm/modem/wlan_pd". 148985f62a9SSrinivas Kandagatla "tms/servreg", "msm/adsp/audio_pd". 149985f62a9SSrinivas Kandagatla "tms/servreg", "msm/modem/wlan_pd". 150985f62a9SSrinivas Kandagatla "tms/servreg", "msm/slpi/sensor_pd". 151985f62a9SSrinivas Kandagatla 152b2496de1SKrzysztof Kozlowski allOf: 153b2496de1SKrzysztof Kozlowski - if: 154b2496de1SKrzysztof Kozlowski properties: 155b2496de1SKrzysztof Kozlowski compatible: 156b2496de1SKrzysztof Kozlowski enum: 157b2496de1SKrzysztof Kozlowski - qcom,q6afe 158b2496de1SKrzysztof Kozlowski then: 159b2496de1SKrzysztof Kozlowski properties: 160b2496de1SKrzysztof Kozlowski dais: 161b2496de1SKrzysztof Kozlowski properties: 162b2496de1SKrzysztof Kozlowski compatible: 163b2496de1SKrzysztof Kozlowski const: qcom,q6afe-dais 164985f62a9SSrinivas Kandagatla 165b2496de1SKrzysztof Kozlowski - if: 166b2496de1SKrzysztof Kozlowski properties: 167b2496de1SKrzysztof Kozlowski compatible: 168b2496de1SKrzysztof Kozlowski enum: 169b2496de1SKrzysztof Kozlowski - qcom,q6apm 170b2496de1SKrzysztof Kozlowski then: 171b2496de1SKrzysztof Kozlowski properties: 172b2496de1SKrzysztof Kozlowski dais: 173b2496de1SKrzysztof Kozlowski properties: 174b2496de1SKrzysztof Kozlowski compatible: 175b2496de1SKrzysztof Kozlowski enum: 176b2496de1SKrzysztof Kozlowski - qcom,q6apm-dais 177b2496de1SKrzysztof Kozlowski - qcom,q6apm-lpass-dais 178985f62a9SSrinivas Kandagatla 179b2496de1SKrzysztof Kozlowski - if: 180b2496de1SKrzysztof Kozlowski properties: 181b2496de1SKrzysztof Kozlowski compatible: 182b2496de1SKrzysztof Kozlowski enum: 183b2496de1SKrzysztof Kozlowski - qcom,q6asm 184b2496de1SKrzysztof Kozlowski then: 185b2496de1SKrzysztof Kozlowski properties: 186b2496de1SKrzysztof Kozlowski dais: 187b2496de1SKrzysztof Kozlowski properties: 188b2496de1SKrzysztof Kozlowski compatible: 189b2496de1SKrzysztof Kozlowski const: qcom,q6asm-dais 190985f62a9SSrinivas Kandagatla 191985f62a9SSrinivas Kandagatla additionalProperties: false 192985f62a9SSrinivas Kandagatla 193985f62a9SSrinivas Kandagatlarequired: 194985f62a9SSrinivas Kandagatla - compatible 1951ff63d54SSrinivas Kandagatla - qcom,domain 196985f62a9SSrinivas Kandagatla 197b2d7616eSKrzysztof KozlowskiallOf: 198b2d7616eSKrzysztof Kozlowski - if: 199b2d7616eSKrzysztof Kozlowski properties: 200b2d7616eSKrzysztof Kozlowski compatible: 201b2d7616eSKrzysztof Kozlowski enum: 202b2d7616eSKrzysztof Kozlowski - qcom,gpr 203b2d7616eSKrzysztof Kozlowski then: 204b2d7616eSKrzysztof Kozlowski properties: 205*0dd3618eSKrzysztof Kozlowski qcom,glink-channels: 206*0dd3618eSKrzysztof Kozlowski items: 207*0dd3618eSKrzysztof Kozlowski - const: adsp_apps 208b2d7616eSKrzysztof Kozlowski power-domains: false 209*0dd3618eSKrzysztof Kozlowski else: 210*0dd3618eSKrzysztof Kozlowski properties: 211*0dd3618eSKrzysztof Kozlowski qcom,glink-channels: 212*0dd3618eSKrzysztof Kozlowski items: 213*0dd3618eSKrzysztof Kozlowski - const: apr_audio_svc 214b2d7616eSKrzysztof Kozlowski 215b2d7616eSKrzysztof Kozlowski - if: 216b2d7616eSKrzysztof Kozlowski required: 217b2d7616eSKrzysztof Kozlowski - qcom,glink-channels 218b2d7616eSKrzysztof Kozlowski then: 219b2d7616eSKrzysztof Kozlowski properties: 220b2d7616eSKrzysztof Kozlowski qcom,smd-channels: false 221b2d7616eSKrzysztof Kozlowski 222b2d7616eSKrzysztof Kozlowski - if: 223b2d7616eSKrzysztof Kozlowski required: 224b2d7616eSKrzysztof Kozlowski - qcom,smd-channels 225b2d7616eSKrzysztof Kozlowski then: 226b2d7616eSKrzysztof Kozlowski properties: 227b2d7616eSKrzysztof Kozlowski qcom,glink-channels: false 228b2d7616eSKrzysztof Kozlowski 229985f62a9SSrinivas KandagatlaadditionalProperties: false 230985f62a9SSrinivas Kandagatla 231985f62a9SSrinivas Kandagatlaexamples: 232985f62a9SSrinivas Kandagatla - | 233985f62a9SSrinivas Kandagatla #include <dt-bindings/soc/qcom,apr.h> 234985f62a9SSrinivas Kandagatla apr { 235985f62a9SSrinivas Kandagatla compatible = "qcom,apr-v2"; 2361ff63d54SSrinivas Kandagatla qcom,domain = <APR_DOMAIN_ADSP>; 237985f62a9SSrinivas Kandagatla #address-cells = <1>; 238985f62a9SSrinivas Kandagatla #size-cells = <0>; 239985f62a9SSrinivas Kandagatla 240985f62a9SSrinivas Kandagatla q6core: service@3 { 241985f62a9SSrinivas Kandagatla compatible = "qcom,q6core"; 242985f62a9SSrinivas Kandagatla reg = <APR_SVC_ADSP_CORE>; 243985f62a9SSrinivas Kandagatla qcom,protection-domain = "avs/audio", "msm/adsp/audio_pd"; 244985f62a9SSrinivas Kandagatla }; 245985f62a9SSrinivas Kandagatla 246985f62a9SSrinivas Kandagatla q6afe: service@4 { 247985f62a9SSrinivas Kandagatla compatible = "qcom,q6afe"; 248985f62a9SSrinivas Kandagatla reg = <APR_SVC_AFE>; 249985f62a9SSrinivas Kandagatla qcom,protection-domain = "avs/audio", "msm/adsp/audio_pd"; 250985f62a9SSrinivas Kandagatla }; 251985f62a9SSrinivas Kandagatla 252985f62a9SSrinivas Kandagatla q6asm: service@7 { 253985f62a9SSrinivas Kandagatla compatible = "qcom,q6asm"; 254985f62a9SSrinivas Kandagatla reg = <APR_SVC_ASM>; 255985f62a9SSrinivas Kandagatla qcom,protection-domain = "avs/audio", "msm/adsp/audio_pd"; 256985f62a9SSrinivas Kandagatla }; 257985f62a9SSrinivas Kandagatla 258985f62a9SSrinivas Kandagatla q6adm: service@8 { 259985f62a9SSrinivas Kandagatla compatible = "qcom,q6adm"; 260985f62a9SSrinivas Kandagatla reg = <APR_SVC_ADM>; 261985f62a9SSrinivas Kandagatla qcom,protection-domain = "avs/audio", "msm/adsp/audio_pd"; 262985f62a9SSrinivas Kandagatla }; 263985f62a9SSrinivas Kandagatla }; 264974c6fafSSrinivas Kandagatla 265974c6fafSSrinivas Kandagatla - | 266974c6fafSSrinivas Kandagatla #include <dt-bindings/soc/qcom,gpr.h> 267974c6fafSSrinivas Kandagatla gpr { 268974c6fafSSrinivas Kandagatla compatible = "qcom,gpr"; 269974c6fafSSrinivas Kandagatla qcom,domain = <GPR_DOMAIN_ID_ADSP>; 270974c6fafSSrinivas Kandagatla #address-cells = <1>; 271974c6fafSSrinivas Kandagatla #size-cells = <0>; 272974c6fafSSrinivas Kandagatla 273974c6fafSSrinivas Kandagatla service@1 { 274974c6fafSSrinivas Kandagatla compatible = "qcom,q6apm"; 275974c6fafSSrinivas Kandagatla reg = <GPR_APM_MODULE_IID>; 276974c6fafSSrinivas Kandagatla qcom,protection-domain = "avs/audio", "msm/adsp/audio_pd"; 277974c6fafSSrinivas Kandagatla }; 278974c6fafSSrinivas Kandagatla }; 279