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 610dd3618eSKrzysztof 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 83985f62a9SSrinivas KandagatlapatternProperties: 84974c6fafSSrinivas Kandagatla "^service@[1-9a-d]$": 85985f62a9SSrinivas Kandagatla type: object 8641288c30SKrzysztof Kozlowski $ref: /schemas/soc/qcom/qcom,apr-services.yaml 8741288c30SKrzysztof Kozlowski additionalProperties: true 88985f62a9SSrinivas Kandagatla description: 8941288c30SKrzysztof Kozlowski APR/GPR static port services. 90985f62a9SSrinivas Kandagatla 91985f62a9SSrinivas Kandagatla properties: 92985f62a9SSrinivas Kandagatla compatible: 93985f62a9SSrinivas Kandagatla enum: 94985f62a9SSrinivas Kandagatla - qcom,q6core 95985f62a9SSrinivas Kandagatla - qcom,q6asm 96985f62a9SSrinivas Kandagatla - qcom,q6afe 97985f62a9SSrinivas Kandagatla - qcom,q6adm 98974c6fafSSrinivas Kandagatla - qcom,q6apm 99974c6fafSSrinivas Kandagatla - qcom,q6prm 100985f62a9SSrinivas Kandagatla 101985f62a9SSrinivas Kandagatlarequired: 102985f62a9SSrinivas Kandagatla - compatible 1031ff63d54SSrinivas Kandagatla - qcom,domain 104985f62a9SSrinivas Kandagatla 105b2d7616eSKrzysztof KozlowskiallOf: 106b2d7616eSKrzysztof Kozlowski - if: 107b2d7616eSKrzysztof Kozlowski properties: 108b2d7616eSKrzysztof Kozlowski compatible: 109b2d7616eSKrzysztof Kozlowski enum: 110b2d7616eSKrzysztof Kozlowski - qcom,gpr 111b2d7616eSKrzysztof Kozlowski then: 112b2d7616eSKrzysztof Kozlowski properties: 1130dd3618eSKrzysztof Kozlowski qcom,glink-channels: 1140dd3618eSKrzysztof Kozlowski items: 1150dd3618eSKrzysztof Kozlowski - const: adsp_apps 116b2d7616eSKrzysztof Kozlowski power-domains: false 1170dd3618eSKrzysztof Kozlowski else: 1180dd3618eSKrzysztof Kozlowski properties: 1190dd3618eSKrzysztof Kozlowski qcom,glink-channels: 1200dd3618eSKrzysztof Kozlowski items: 1210dd3618eSKrzysztof Kozlowski - const: apr_audio_svc 122b2d7616eSKrzysztof Kozlowski 123b2d7616eSKrzysztof Kozlowski - if: 124b2d7616eSKrzysztof Kozlowski required: 125b2d7616eSKrzysztof Kozlowski - qcom,glink-channels 126b2d7616eSKrzysztof Kozlowski then: 127b2d7616eSKrzysztof Kozlowski properties: 128b2d7616eSKrzysztof Kozlowski qcom,smd-channels: false 129b2d7616eSKrzysztof Kozlowski 130b2d7616eSKrzysztof Kozlowski - if: 131b2d7616eSKrzysztof Kozlowski required: 132b2d7616eSKrzysztof Kozlowski - qcom,smd-channels 133b2d7616eSKrzysztof Kozlowski then: 134b2d7616eSKrzysztof Kozlowski properties: 135b2d7616eSKrzysztof Kozlowski qcom,glink-channels: false 136b2d7616eSKrzysztof Kozlowski 137985f62a9SSrinivas KandagatlaadditionalProperties: false 138985f62a9SSrinivas Kandagatla 139985f62a9SSrinivas Kandagatlaexamples: 140985f62a9SSrinivas Kandagatla - | 141985f62a9SSrinivas Kandagatla #include <dt-bindings/soc/qcom,apr.h> 142985f62a9SSrinivas Kandagatla apr { 143985f62a9SSrinivas Kandagatla compatible = "qcom,apr-v2"; 1441ff63d54SSrinivas Kandagatla qcom,domain = <APR_DOMAIN_ADSP>; 145*cd9ba3d0SKrzysztof Kozlowski qcom,glink-channels = "apr_audio_svc"; 146*cd9ba3d0SKrzysztof Kozlowski qcom,intents = <512 20>; 147985f62a9SSrinivas Kandagatla #address-cells = <1>; 148985f62a9SSrinivas Kandagatla #size-cells = <0>; 149985f62a9SSrinivas Kandagatla 150985f62a9SSrinivas Kandagatla q6core: service@3 { 151985f62a9SSrinivas Kandagatla compatible = "qcom,q6core"; 152985f62a9SSrinivas Kandagatla reg = <APR_SVC_ADSP_CORE>; 153985f62a9SSrinivas Kandagatla qcom,protection-domain = "avs/audio", "msm/adsp/audio_pd"; 154985f62a9SSrinivas Kandagatla }; 155985f62a9SSrinivas Kandagatla 156*cd9ba3d0SKrzysztof Kozlowski service@4 { 157985f62a9SSrinivas Kandagatla compatible = "qcom,q6afe"; 158985f62a9SSrinivas Kandagatla reg = <APR_SVC_AFE>; 159985f62a9SSrinivas Kandagatla qcom,protection-domain = "avs/audio", "msm/adsp/audio_pd"; 160*cd9ba3d0SKrzysztof Kozlowski 161*cd9ba3d0SKrzysztof Kozlowski clock-controller { 162*cd9ba3d0SKrzysztof Kozlowski compatible = "qcom,q6afe-clocks"; 163*cd9ba3d0SKrzysztof Kozlowski #clock-cells = <2>; 164985f62a9SSrinivas Kandagatla }; 165985f62a9SSrinivas Kandagatla 166*cd9ba3d0SKrzysztof Kozlowski dais { 167*cd9ba3d0SKrzysztof Kozlowski compatible = "qcom,q6afe-dais"; 168*cd9ba3d0SKrzysztof Kozlowski #address-cells = <1>; 169*cd9ba3d0SKrzysztof Kozlowski #size-cells = <0>; 170*cd9ba3d0SKrzysztof Kozlowski #sound-dai-cells = <1>; 171*cd9ba3d0SKrzysztof Kozlowski /* ... */ 172985f62a9SSrinivas Kandagatla }; 173*cd9ba3d0SKrzysztof Kozlowski /* ... */ 174985f62a9SSrinivas Kandagatla }; 175985f62a9SSrinivas Kandagatla }; 176974c6fafSSrinivas Kandagatla 177974c6fafSSrinivas Kandagatla - | 178974c6fafSSrinivas Kandagatla #include <dt-bindings/soc/qcom,gpr.h> 179974c6fafSSrinivas Kandagatla gpr { 180974c6fafSSrinivas Kandagatla compatible = "qcom,gpr"; 181974c6fafSSrinivas Kandagatla qcom,domain = <GPR_DOMAIN_ID_ADSP>; 182*cd9ba3d0SKrzysztof Kozlowski qcom,glink-channels = "adsp_apps"; 183*cd9ba3d0SKrzysztof Kozlowski qcom,intents = <512 20>; 184974c6fafSSrinivas Kandagatla #address-cells = <1>; 185974c6fafSSrinivas Kandagatla #size-cells = <0>; 186974c6fafSSrinivas Kandagatla 187974c6fafSSrinivas Kandagatla service@1 { 188974c6fafSSrinivas Kandagatla compatible = "qcom,q6apm"; 189974c6fafSSrinivas Kandagatla reg = <GPR_APM_MODULE_IID>; 190*cd9ba3d0SKrzysztof Kozlowski #sound-dai-cells = <0>; 191974c6fafSSrinivas Kandagatla qcom,protection-domain = "avs/audio", "msm/adsp/audio_pd"; 192*cd9ba3d0SKrzysztof Kozlowski 193*cd9ba3d0SKrzysztof Kozlowski dais { 194*cd9ba3d0SKrzysztof Kozlowski compatible = "qcom,q6apm-dais"; 195*cd9ba3d0SKrzysztof Kozlowski iommus = <&apps_smmu 0x1801 0x0>; 196*cd9ba3d0SKrzysztof Kozlowski }; 197*cd9ba3d0SKrzysztof Kozlowski 198*cd9ba3d0SKrzysztof Kozlowski bedais { 199*cd9ba3d0SKrzysztof Kozlowski compatible = "qcom,q6apm-lpass-dais"; 200*cd9ba3d0SKrzysztof Kozlowski #sound-dai-cells = <1>; 201*cd9ba3d0SKrzysztof Kozlowski }; 202974c6fafSSrinivas Kandagatla }; 203974c6fafSSrinivas Kandagatla }; 204