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: 20*9ed85031SKrzysztof Kozlowski - qcom,apr 21985f62a9SSrinivas Kandagatla - qcom,apr-v2 22974c6fafSSrinivas Kandagatla - qcom,gpr 23985f62a9SSrinivas Kandagatla 24b2d7616eSKrzysztof Kozlowski power-domains: 25b2d7616eSKrzysztof Kozlowski maxItems: 1 26b2d7616eSKrzysztof Kozlowski 27985f62a9SSrinivas Kandagatla qcom,apr-domain: 28985f62a9SSrinivas Kandagatla $ref: /schemas/types.yaml#/definitions/uint32 29985f62a9SSrinivas Kandagatla enum: [1, 2, 3, 4, 5, 6, 7] 30985f62a9SSrinivas Kandagatla description: 31985f62a9SSrinivas Kandagatla Selects the processor domain for apr 32985f62a9SSrinivas Kandagatla 1 = APR simulator 33985f62a9SSrinivas Kandagatla 2 = PC Domain 34985f62a9SSrinivas Kandagatla 3 = Modem Domain 35985f62a9SSrinivas Kandagatla 4 = ADSP Domain 36985f62a9SSrinivas Kandagatla 5 = Application processor Domain 37985f62a9SSrinivas Kandagatla 6 = Modem2 Domain 38985f62a9SSrinivas Kandagatla 7 = Application Processor2 Domain 391ff63d54SSrinivas Kandagatla deprecated: true 401ff63d54SSrinivas Kandagatla 411ff63d54SSrinivas Kandagatla qcom,domain: 421ff63d54SSrinivas Kandagatla $ref: /schemas/types.yaml#/definitions/uint32 431ff63d54SSrinivas Kandagatla minimum: 1 441ff63d54SSrinivas Kandagatla maximum: 7 451ff63d54SSrinivas Kandagatla description: 461ff63d54SSrinivas Kandagatla Selects the processor domain for apr 471ff63d54SSrinivas Kandagatla 1 = APR simulator 481ff63d54SSrinivas Kandagatla 2 = PC Domain 491ff63d54SSrinivas Kandagatla 3 = Modem Domain 501ff63d54SSrinivas Kandagatla 4 = ADSP Domain 511ff63d54SSrinivas Kandagatla 5 = Application processor Domain 521ff63d54SSrinivas Kandagatla 6 = Modem2 Domain 531ff63d54SSrinivas Kandagatla 7 = Application Processor2 Domain 54974c6fafSSrinivas Kandagatla Selects the processor domain for gpr 55974c6fafSSrinivas Kandagatla 1 = Modem Domain 56974c6fafSSrinivas Kandagatla 2 = Audio DSP Domain 57974c6fafSSrinivas Kandagatla 3 = Application Processor Domain 58985f62a9SSrinivas Kandagatla 59b2d7616eSKrzysztof Kozlowski qcom,glink-channels: 60b2d7616eSKrzysztof Kozlowski $ref: /schemas/types.yaml#/definitions/string-array 61b2d7616eSKrzysztof Kozlowski description: Channel name used for the communication 62b2d7616eSKrzysztof Kozlowski items: 63b2d7616eSKrzysztof Kozlowski - const: apr_audio_svc 64b2d7616eSKrzysztof Kozlowski 65b2d7616eSKrzysztof Kozlowski qcom,intents: 66b2d7616eSKrzysztof Kozlowski $ref: /schemas/types.yaml#/definitions/uint32-array 67b2d7616eSKrzysztof Kozlowski description: 68b2d7616eSKrzysztof Kozlowski List of (size, amount) pairs describing what intents should be 69b2d7616eSKrzysztof Kozlowski preallocated for this virtual channel. This can be used to tweak the 70b2d7616eSKrzysztof Kozlowski default intents available for the channel to meet expectations of the 71b2d7616eSKrzysztof Kozlowski remote. 72b2d7616eSKrzysztof Kozlowski 73b2d7616eSKrzysztof Kozlowski qcom,smd-channels: 74b2d7616eSKrzysztof Kozlowski $ref: /schemas/types.yaml#/definitions/string-array 75b2d7616eSKrzysztof Kozlowski description: Channel name used for the communication 76b2d7616eSKrzysztof Kozlowski items: 77b2d7616eSKrzysztof Kozlowski - const: apr_audio_svc 78b2d7616eSKrzysztof Kozlowski 79985f62a9SSrinivas Kandagatla '#address-cells': 80985f62a9SSrinivas Kandagatla const: 1 81985f62a9SSrinivas Kandagatla 82985f62a9SSrinivas Kandagatla '#size-cells': 83985f62a9SSrinivas Kandagatla const: 0 84985f62a9SSrinivas Kandagatla 85974c6fafSSrinivas Kandagatla#APR/GPR Services 86985f62a9SSrinivas KandagatlapatternProperties: 87974c6fafSSrinivas Kandagatla "^service@[1-9a-d]$": 88985f62a9SSrinivas Kandagatla type: object 89985f62a9SSrinivas Kandagatla description: 90974c6fafSSrinivas Kandagatla APR/GPR node's client devices use subnodes for desired static port services. 91985f62a9SSrinivas Kandagatla 92985f62a9SSrinivas Kandagatla properties: 93985f62a9SSrinivas Kandagatla compatible: 94985f62a9SSrinivas Kandagatla enum: 95985f62a9SSrinivas Kandagatla - qcom,q6core 96985f62a9SSrinivas Kandagatla - qcom,q6asm 97985f62a9SSrinivas Kandagatla - qcom,q6afe 98985f62a9SSrinivas Kandagatla - qcom,q6adm 99974c6fafSSrinivas Kandagatla - qcom,q6apm 100974c6fafSSrinivas Kandagatla - qcom,q6prm 101985f62a9SSrinivas Kandagatla 102985f62a9SSrinivas Kandagatla reg: 103974c6fafSSrinivas Kandagatla minimum: 1 104985f62a9SSrinivas Kandagatla maximum: 13 105985f62a9SSrinivas Kandagatla description: 106985f62a9SSrinivas Kandagatla APR Service ID 107985f62a9SSrinivas Kandagatla 3 = DSP Core Service 108985f62a9SSrinivas Kandagatla 4 = Audio Front End Service. 109985f62a9SSrinivas Kandagatla 5 = Voice Stream Manager Service. 110985f62a9SSrinivas Kandagatla 6 = Voice processing manager. 111985f62a9SSrinivas Kandagatla 7 = Audio Stream Manager Service. 112985f62a9SSrinivas Kandagatla 8 = Audio Device Manager Service. 113985f62a9SSrinivas Kandagatla 9 = Multimode voice manager. 114985f62a9SSrinivas Kandagatla 10 = Core voice stream. 115985f62a9SSrinivas Kandagatla 11 = Core voice processor. 116985f62a9SSrinivas Kandagatla 12 = Ultrasound stream manager. 117985f62a9SSrinivas Kandagatla 13 = Listen stream manager. 118974c6fafSSrinivas Kandagatla GPR Service ID 119974c6fafSSrinivas Kandagatla 1 = Audio Process Manager Service 120974c6fafSSrinivas Kandagatla 2 = Proxy Resource Manager Service. 121974c6fafSSrinivas Kandagatla 3 = AMDB Service. 122974c6fafSSrinivas Kandagatla 4 = Voice processing manager. 123985f62a9SSrinivas Kandagatla 124b2496de1SKrzysztof Kozlowski clock-controller: 125b2496de1SKrzysztof Kozlowski $ref: /schemas/sound/qcom,q6dsp-lpass-clocks.yaml# 126b2496de1SKrzysztof Kozlowski description: Qualcomm DSP LPASS clock controller 127b2496de1SKrzysztof Kozlowski unevaluatedProperties: false 128b2496de1SKrzysztof Kozlowski 129b2496de1SKrzysztof Kozlowski dais: 130b2496de1SKrzysztof Kozlowski type: object 1317b0ad462SKrzysztof Kozlowski oneOf: 1327b0ad462SKrzysztof Kozlowski - $ref: /schemas/sound/qcom,q6apm-dai.yaml# 1337b0ad462SKrzysztof Kozlowski - $ref: /schemas/sound/qcom,q6dsp-lpass-ports.yaml# 1347b0ad462SKrzysztof Kozlowski - $ref: /schemas/sound/qcom,q6asm-dais.yaml# 1357b0ad462SKrzysztof Kozlowski unevaluatedProperties: false 136b2496de1SKrzysztof Kozlowski description: Qualcomm DSP audio ports 137b2496de1SKrzysztof Kozlowski 138b2496de1SKrzysztof Kozlowski routing: 139b2496de1SKrzysztof Kozlowski type: object 140301628d8SKrzysztof Kozlowski $ref: /schemas/sound/qcom,q6adm-routing.yaml# 141301628d8SKrzysztof Kozlowski unevaluatedProperties: false 142b2496de1SKrzysztof Kozlowski description: Qualcomm DSP LPASS audio routing 143b2496de1SKrzysztof Kozlowski 144985f62a9SSrinivas Kandagatla qcom,protection-domain: 145985f62a9SSrinivas Kandagatla $ref: /schemas/types.yaml#/definitions/string-array 146985f62a9SSrinivas Kandagatla description: protection domain service name and path for apr service 147985f62a9SSrinivas Kandagatla possible values are 148985f62a9SSrinivas Kandagatla "avs/audio", "msm/adsp/audio_pd". 149985f62a9SSrinivas Kandagatla "kernel/elf_loader", "msm/modem/wlan_pd". 150985f62a9SSrinivas Kandagatla "tms/servreg", "msm/adsp/audio_pd". 151985f62a9SSrinivas Kandagatla "tms/servreg", "msm/modem/wlan_pd". 152985f62a9SSrinivas Kandagatla "tms/servreg", "msm/slpi/sensor_pd". 153985f62a9SSrinivas Kandagatla 154b2496de1SKrzysztof Kozlowski allOf: 155b2496de1SKrzysztof Kozlowski - if: 156b2496de1SKrzysztof Kozlowski properties: 157b2496de1SKrzysztof Kozlowski compatible: 158b2496de1SKrzysztof Kozlowski enum: 159b2496de1SKrzysztof Kozlowski - qcom,q6afe 160b2496de1SKrzysztof Kozlowski then: 161b2496de1SKrzysztof Kozlowski properties: 162b2496de1SKrzysztof Kozlowski dais: 163b2496de1SKrzysztof Kozlowski properties: 164b2496de1SKrzysztof Kozlowski compatible: 165b2496de1SKrzysztof Kozlowski const: qcom,q6afe-dais 166985f62a9SSrinivas Kandagatla 167b2496de1SKrzysztof Kozlowski - if: 168b2496de1SKrzysztof Kozlowski properties: 169b2496de1SKrzysztof Kozlowski compatible: 170b2496de1SKrzysztof Kozlowski enum: 171b2496de1SKrzysztof Kozlowski - qcom,q6apm 172b2496de1SKrzysztof Kozlowski then: 173b2496de1SKrzysztof Kozlowski properties: 174b2496de1SKrzysztof Kozlowski dais: 175b2496de1SKrzysztof Kozlowski properties: 176b2496de1SKrzysztof Kozlowski compatible: 177b2496de1SKrzysztof Kozlowski enum: 178b2496de1SKrzysztof Kozlowski - qcom,q6apm-dais 179b2496de1SKrzysztof Kozlowski - qcom,q6apm-lpass-dais 180985f62a9SSrinivas Kandagatla 181b2496de1SKrzysztof Kozlowski - if: 182b2496de1SKrzysztof Kozlowski properties: 183b2496de1SKrzysztof Kozlowski compatible: 184b2496de1SKrzysztof Kozlowski enum: 185b2496de1SKrzysztof Kozlowski - qcom,q6asm 186b2496de1SKrzysztof Kozlowski then: 187b2496de1SKrzysztof Kozlowski properties: 188b2496de1SKrzysztof Kozlowski dais: 189b2496de1SKrzysztof Kozlowski properties: 190b2496de1SKrzysztof Kozlowski compatible: 191b2496de1SKrzysztof Kozlowski const: qcom,q6asm-dais 192985f62a9SSrinivas Kandagatla 193985f62a9SSrinivas Kandagatla additionalProperties: false 194985f62a9SSrinivas Kandagatla 195985f62a9SSrinivas Kandagatlarequired: 196985f62a9SSrinivas Kandagatla - compatible 1971ff63d54SSrinivas Kandagatla - qcom,domain 198985f62a9SSrinivas Kandagatla 199b2d7616eSKrzysztof KozlowskiallOf: 200b2d7616eSKrzysztof Kozlowski - if: 201b2d7616eSKrzysztof Kozlowski properties: 202b2d7616eSKrzysztof Kozlowski compatible: 203b2d7616eSKrzysztof Kozlowski enum: 204b2d7616eSKrzysztof Kozlowski - qcom,gpr 205b2d7616eSKrzysztof Kozlowski then: 206b2d7616eSKrzysztof Kozlowski properties: 207b2d7616eSKrzysztof Kozlowski power-domains: false 208b2d7616eSKrzysztof Kozlowski 209b2d7616eSKrzysztof Kozlowski - if: 210b2d7616eSKrzysztof Kozlowski required: 211b2d7616eSKrzysztof Kozlowski - qcom,glink-channels 212b2d7616eSKrzysztof Kozlowski then: 213b2d7616eSKrzysztof Kozlowski properties: 214b2d7616eSKrzysztof Kozlowski qcom,smd-channels: false 215b2d7616eSKrzysztof Kozlowski 216b2d7616eSKrzysztof Kozlowski - if: 217b2d7616eSKrzysztof Kozlowski required: 218b2d7616eSKrzysztof Kozlowski - qcom,smd-channels 219b2d7616eSKrzysztof Kozlowski then: 220b2d7616eSKrzysztof Kozlowski properties: 221b2d7616eSKrzysztof Kozlowski qcom,glink-channels: false 222b2d7616eSKrzysztof Kozlowski 223985f62a9SSrinivas KandagatlaadditionalProperties: false 224985f62a9SSrinivas Kandagatla 225985f62a9SSrinivas Kandagatlaexamples: 226985f62a9SSrinivas Kandagatla - | 227985f62a9SSrinivas Kandagatla #include <dt-bindings/soc/qcom,apr.h> 228985f62a9SSrinivas Kandagatla apr { 229985f62a9SSrinivas Kandagatla compatible = "qcom,apr-v2"; 2301ff63d54SSrinivas Kandagatla qcom,domain = <APR_DOMAIN_ADSP>; 231985f62a9SSrinivas Kandagatla #address-cells = <1>; 232985f62a9SSrinivas Kandagatla #size-cells = <0>; 233985f62a9SSrinivas Kandagatla 234985f62a9SSrinivas Kandagatla q6core: service@3 { 235985f62a9SSrinivas Kandagatla compatible = "qcom,q6core"; 236985f62a9SSrinivas Kandagatla reg = <APR_SVC_ADSP_CORE>; 237985f62a9SSrinivas Kandagatla qcom,protection-domain = "avs/audio", "msm/adsp/audio_pd"; 238985f62a9SSrinivas Kandagatla }; 239985f62a9SSrinivas Kandagatla 240985f62a9SSrinivas Kandagatla q6afe: service@4 { 241985f62a9SSrinivas Kandagatla compatible = "qcom,q6afe"; 242985f62a9SSrinivas Kandagatla reg = <APR_SVC_AFE>; 243985f62a9SSrinivas Kandagatla qcom,protection-domain = "avs/audio", "msm/adsp/audio_pd"; 244985f62a9SSrinivas Kandagatla }; 245985f62a9SSrinivas Kandagatla 246985f62a9SSrinivas Kandagatla q6asm: service@7 { 247985f62a9SSrinivas Kandagatla compatible = "qcom,q6asm"; 248985f62a9SSrinivas Kandagatla reg = <APR_SVC_ASM>; 249985f62a9SSrinivas Kandagatla qcom,protection-domain = "avs/audio", "msm/adsp/audio_pd"; 250985f62a9SSrinivas Kandagatla }; 251985f62a9SSrinivas Kandagatla 252985f62a9SSrinivas Kandagatla q6adm: service@8 { 253985f62a9SSrinivas Kandagatla compatible = "qcom,q6adm"; 254985f62a9SSrinivas Kandagatla reg = <APR_SVC_ADM>; 255985f62a9SSrinivas Kandagatla qcom,protection-domain = "avs/audio", "msm/adsp/audio_pd"; 256985f62a9SSrinivas Kandagatla }; 257985f62a9SSrinivas Kandagatla }; 258974c6fafSSrinivas Kandagatla 259974c6fafSSrinivas Kandagatla - | 260974c6fafSSrinivas Kandagatla #include <dt-bindings/soc/qcom,gpr.h> 261974c6fafSSrinivas Kandagatla gpr { 262974c6fafSSrinivas Kandagatla compatible = "qcom,gpr"; 263974c6fafSSrinivas Kandagatla qcom,domain = <GPR_DOMAIN_ID_ADSP>; 264974c6fafSSrinivas Kandagatla #address-cells = <1>; 265974c6fafSSrinivas Kandagatla #size-cells = <0>; 266974c6fafSSrinivas Kandagatla 267974c6fafSSrinivas Kandagatla service@1 { 268974c6fafSSrinivas Kandagatla compatible = "qcom,q6apm"; 269974c6fafSSrinivas Kandagatla reg = <GPR_APM_MODULE_IID>; 270974c6fafSSrinivas Kandagatla qcom,protection-domain = "avs/audio", "msm/adsp/audio_pd"; 271974c6fafSSrinivas Kandagatla }; 272974c6fafSSrinivas Kandagatla }; 273