1985f62a9SSrinivas Kandagatla# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 2985f62a9SSrinivas Kandagatla%YAML 1.2 3985f62a9SSrinivas Kandagatla--- 4*2961ab05SRob Herring$id: http://devicetree.org/schemas/soc/qcom/qcom,apr.yaml# 5*2961ab05SRob Herring$schema: http://devicetree.org/meta-schemas/core.yaml# 6985f62a9SSrinivas Kandagatla 784e85359SKrzysztof Kozlowskititle: Qualcomm APR/GPR (Asynchronous/Generic Packet Router) 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: 209ed85031SKrzysztof 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 620dd3618eSKrzysztof Kozlowski maxItems: 1 63b2d7616eSKrzysztof Kozlowski 64b2d7616eSKrzysztof Kozlowski qcom,intents: 65b5bec0f0SKrzysztof Kozlowski $ref: /schemas/types.yaml#/definitions/uint32-matrix 66b5bec0f0SKrzysztof Kozlowski minItems: 1 67b5bec0f0SKrzysztof Kozlowski maxItems: 32 68b5bec0f0SKrzysztof Kozlowski items: 69b5bec0f0SKrzysztof Kozlowski items: 70b5bec0f0SKrzysztof Kozlowski - description: size of each intent to preallocate 71b5bec0f0SKrzysztof Kozlowski - description: amount of intents to preallocate 72b5bec0f0SKrzysztof Kozlowski minimum: 1 73b2d7616eSKrzysztof Kozlowski description: 74b2d7616eSKrzysztof Kozlowski List of (size, amount) pairs describing what intents should be 75b2d7616eSKrzysztof Kozlowski preallocated for this virtual channel. This can be used to tweak the 76b2d7616eSKrzysztof Kozlowski default intents available for the channel to meet expectations of the 77b2d7616eSKrzysztof Kozlowski remote. 78b2d7616eSKrzysztof Kozlowski 79b2d7616eSKrzysztof Kozlowski qcom,smd-channels: 80b2d7616eSKrzysztof Kozlowski $ref: /schemas/types.yaml#/definitions/string-array 81b2d7616eSKrzysztof Kozlowski description: Channel name used for the communication 82b2d7616eSKrzysztof Kozlowski items: 83b2d7616eSKrzysztof Kozlowski - const: apr_audio_svc 84b2d7616eSKrzysztof Kozlowski 85985f62a9SSrinivas Kandagatla '#address-cells': 86985f62a9SSrinivas Kandagatla const: 1 87985f62a9SSrinivas Kandagatla 88985f62a9SSrinivas Kandagatla '#size-cells': 89985f62a9SSrinivas Kandagatla const: 0 90985f62a9SSrinivas Kandagatla 91985f62a9SSrinivas KandagatlapatternProperties: 92974c6fafSSrinivas Kandagatla "^service@[1-9a-d]$": 93985f62a9SSrinivas Kandagatla type: object 9441288c30SKrzysztof Kozlowski $ref: /schemas/soc/qcom/qcom,apr-services.yaml 9541288c30SKrzysztof Kozlowski additionalProperties: true 96985f62a9SSrinivas Kandagatla description: 9741288c30SKrzysztof Kozlowski APR/GPR static port services. 98985f62a9SSrinivas Kandagatla 99985f62a9SSrinivas Kandagatla properties: 100985f62a9SSrinivas Kandagatla compatible: 101985f62a9SSrinivas Kandagatla enum: 102985f62a9SSrinivas Kandagatla - qcom,q6core 103985f62a9SSrinivas Kandagatla - qcom,q6asm 104985f62a9SSrinivas Kandagatla - qcom,q6afe 105985f62a9SSrinivas Kandagatla - qcom,q6adm 106974c6fafSSrinivas Kandagatla - qcom,q6apm 107974c6fafSSrinivas Kandagatla - qcom,q6prm 108985f62a9SSrinivas Kandagatla 109985f62a9SSrinivas Kandagatlarequired: 110985f62a9SSrinivas Kandagatla - compatible 1111ff63d54SSrinivas Kandagatla - qcom,domain 112985f62a9SSrinivas Kandagatla 113b2d7616eSKrzysztof KozlowskiallOf: 114b2d7616eSKrzysztof Kozlowski - if: 115b2d7616eSKrzysztof Kozlowski properties: 116b2d7616eSKrzysztof Kozlowski compatible: 117b2d7616eSKrzysztof Kozlowski enum: 118b2d7616eSKrzysztof Kozlowski - qcom,gpr 119b2d7616eSKrzysztof Kozlowski then: 120b2d7616eSKrzysztof Kozlowski properties: 1210dd3618eSKrzysztof Kozlowski qcom,glink-channels: 1220dd3618eSKrzysztof Kozlowski items: 1230dd3618eSKrzysztof Kozlowski - const: adsp_apps 124b2d7616eSKrzysztof Kozlowski power-domains: false 1250dd3618eSKrzysztof Kozlowski else: 1260dd3618eSKrzysztof Kozlowski properties: 1270dd3618eSKrzysztof Kozlowski qcom,glink-channels: 1280dd3618eSKrzysztof Kozlowski items: 1290dd3618eSKrzysztof Kozlowski - const: apr_audio_svc 130b2d7616eSKrzysztof Kozlowski 131b2d7616eSKrzysztof Kozlowski - if: 132b2d7616eSKrzysztof Kozlowski required: 133b2d7616eSKrzysztof Kozlowski - qcom,glink-channels 134b2d7616eSKrzysztof Kozlowski then: 135b2d7616eSKrzysztof Kozlowski properties: 136b2d7616eSKrzysztof Kozlowski qcom,smd-channels: false 137b2d7616eSKrzysztof Kozlowski 138b2d7616eSKrzysztof Kozlowski - if: 139b2d7616eSKrzysztof Kozlowski required: 140b2d7616eSKrzysztof Kozlowski - qcom,smd-channels 141b2d7616eSKrzysztof Kozlowski then: 142b2d7616eSKrzysztof Kozlowski properties: 143b2d7616eSKrzysztof Kozlowski qcom,glink-channels: false 144b2d7616eSKrzysztof Kozlowski 145985f62a9SSrinivas KandagatlaadditionalProperties: false 146985f62a9SSrinivas Kandagatla 147985f62a9SSrinivas Kandagatlaexamples: 148985f62a9SSrinivas Kandagatla - | 149985f62a9SSrinivas Kandagatla #include <dt-bindings/soc/qcom,apr.h> 150985f62a9SSrinivas Kandagatla apr { 151985f62a9SSrinivas Kandagatla compatible = "qcom,apr-v2"; 1521ff63d54SSrinivas Kandagatla qcom,domain = <APR_DOMAIN_ADSP>; 153cd9ba3d0SKrzysztof Kozlowski qcom,glink-channels = "apr_audio_svc"; 154cd9ba3d0SKrzysztof Kozlowski qcom,intents = <512 20>; 155985f62a9SSrinivas Kandagatla #address-cells = <1>; 156985f62a9SSrinivas Kandagatla #size-cells = <0>; 157985f62a9SSrinivas Kandagatla 158985f62a9SSrinivas Kandagatla q6core: service@3 { 159985f62a9SSrinivas Kandagatla compatible = "qcom,q6core"; 160985f62a9SSrinivas Kandagatla reg = <APR_SVC_ADSP_CORE>; 161985f62a9SSrinivas Kandagatla qcom,protection-domain = "avs/audio", "msm/adsp/audio_pd"; 162985f62a9SSrinivas Kandagatla }; 163985f62a9SSrinivas Kandagatla 164cd9ba3d0SKrzysztof Kozlowski service@4 { 165985f62a9SSrinivas Kandagatla compatible = "qcom,q6afe"; 166985f62a9SSrinivas Kandagatla reg = <APR_SVC_AFE>; 167985f62a9SSrinivas Kandagatla qcom,protection-domain = "avs/audio", "msm/adsp/audio_pd"; 168cd9ba3d0SKrzysztof Kozlowski 169cd9ba3d0SKrzysztof Kozlowski clock-controller { 170cd9ba3d0SKrzysztof Kozlowski compatible = "qcom,q6afe-clocks"; 171cd9ba3d0SKrzysztof Kozlowski #clock-cells = <2>; 172985f62a9SSrinivas Kandagatla }; 173985f62a9SSrinivas Kandagatla 174cd9ba3d0SKrzysztof Kozlowski dais { 175cd9ba3d0SKrzysztof Kozlowski compatible = "qcom,q6afe-dais"; 176cd9ba3d0SKrzysztof Kozlowski #address-cells = <1>; 177cd9ba3d0SKrzysztof Kozlowski #size-cells = <0>; 178cd9ba3d0SKrzysztof Kozlowski #sound-dai-cells = <1>; 179cd9ba3d0SKrzysztof Kozlowski /* ... */ 180985f62a9SSrinivas Kandagatla }; 181cd9ba3d0SKrzysztof Kozlowski /* ... */ 182985f62a9SSrinivas Kandagatla }; 183985f62a9SSrinivas Kandagatla }; 184974c6fafSSrinivas Kandagatla 185974c6fafSSrinivas Kandagatla - | 186974c6fafSSrinivas Kandagatla #include <dt-bindings/soc/qcom,gpr.h> 187974c6fafSSrinivas Kandagatla gpr { 188974c6fafSSrinivas Kandagatla compatible = "qcom,gpr"; 189974c6fafSSrinivas Kandagatla qcom,domain = <GPR_DOMAIN_ID_ADSP>; 190cd9ba3d0SKrzysztof Kozlowski qcom,glink-channels = "adsp_apps"; 191cd9ba3d0SKrzysztof Kozlowski qcom,intents = <512 20>; 192974c6fafSSrinivas Kandagatla #address-cells = <1>; 193974c6fafSSrinivas Kandagatla #size-cells = <0>; 194974c6fafSSrinivas Kandagatla 195974c6fafSSrinivas Kandagatla service@1 { 196974c6fafSSrinivas Kandagatla compatible = "qcom,q6apm"; 197974c6fafSSrinivas Kandagatla reg = <GPR_APM_MODULE_IID>; 198cd9ba3d0SKrzysztof Kozlowski #sound-dai-cells = <0>; 199974c6fafSSrinivas Kandagatla qcom,protection-domain = "avs/audio", "msm/adsp/audio_pd"; 200cd9ba3d0SKrzysztof Kozlowski 201cd9ba3d0SKrzysztof Kozlowski dais { 202cd9ba3d0SKrzysztof Kozlowski compatible = "qcom,q6apm-dais"; 203cd9ba3d0SKrzysztof Kozlowski iommus = <&apps_smmu 0x1801 0x0>; 204cd9ba3d0SKrzysztof Kozlowski }; 205cd9ba3d0SKrzysztof Kozlowski 206cd9ba3d0SKrzysztof Kozlowski bedais { 207cd9ba3d0SKrzysztof Kozlowski compatible = "qcom,q6apm-lpass-dais"; 208cd9ba3d0SKrzysztof Kozlowski #sound-dai-cells = <1>; 209cd9ba3d0SKrzysztof Kozlowski }; 210974c6fafSSrinivas Kandagatla }; 211974c6fafSSrinivas Kandagatla }; 212