Loading...
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 | # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) %YAML 1.2 --- $id: "http://devicetree.org/schemas/soc/qcom/qcom,apr.yaml#" $schema: "http://devicetree.org/meta-schemas/core.yaml#" title: Qualcomm APR/GPR (Asynchronous/Generic Packet Router) binding maintainers: - Srinivas Kandagatla <srinivas.kandagatla@linaro.org> description: | This binding describes the Qualcomm APR/GPR, APR/GPR is a IPC protocol for communication between Application processor and QDSP. APR/GPR is mainly used for audio/voice services on the QDSP. properties: compatible: enum: - qcom,apr-v2 - qcom,gpr qcom,apr-domain: $ref: /schemas/types.yaml#/definitions/uint32 enum: [1, 2, 3, 4, 5, 6, 7] description: Selects the processor domain for apr 1 = APR simulator 2 = PC Domain 3 = Modem Domain 4 = ADSP Domain 5 = Application processor Domain 6 = Modem2 Domain 7 = Application Processor2 Domain deprecated: true qcom,domain: $ref: /schemas/types.yaml#/definitions/uint32 minimum: 1 maximum: 7 description: Selects the processor domain for apr 1 = APR simulator 2 = PC Domain 3 = Modem Domain 4 = ADSP Domain 5 = Application processor Domain 6 = Modem2 Domain 7 = Application Processor2 Domain Selects the processor domain for gpr 1 = Modem Domain 2 = Audio DSP Domain 3 = Application Processor Domain '#address-cells': const: 1 '#size-cells': const: 0 #APR/GPR Services patternProperties: "^service@[1-9a-d]$": type: object description: APR/GPR node's client devices use subnodes for desired static port services. properties: compatible: enum: - qcom,q6core - qcom,q6asm - qcom,q6afe - qcom,q6adm - qcom,q6apm - qcom,q6prm reg: minimum: 1 maximum: 13 description: APR Service ID 3 = DSP Core Service 4 = Audio Front End Service. 5 = Voice Stream Manager Service. 6 = Voice processing manager. 7 = Audio Stream Manager Service. 8 = Audio Device Manager Service. 9 = Multimode voice manager. 10 = Core voice stream. 11 = Core voice processor. 12 = Ultrasound stream manager. 13 = Listen stream manager. GPR Service ID 1 = Audio Process Manager Service 2 = Proxy Resource Manager Service. 3 = AMDB Service. 4 = Voice processing manager. qcom,protection-domain: $ref: /schemas/types.yaml#/definitions/string-array description: protection domain service name and path for apr service possible values are "avs/audio", "msm/adsp/audio_pd". "kernel/elf_loader", "msm/modem/wlan_pd". "tms/servreg", "msm/adsp/audio_pd". "tms/servreg", "msm/modem/wlan_pd". "tms/servreg", "msm/slpi/sensor_pd". '#address-cells': const: 1 '#size-cells': const: 0 patternProperties: "^.*@[0-9a-f]+$": type: object description: Service based devices like clock controllers or digital audio interfaces. additionalProperties: false required: - compatible - qcom,domain additionalProperties: false examples: - | #include <dt-bindings/soc/qcom,apr.h> apr { compatible = "qcom,apr-v2"; qcom,domain = <APR_DOMAIN_ADSP>; #address-cells = <1>; #size-cells = <0>; q6core: service@3 { compatible = "qcom,q6core"; reg = <APR_SVC_ADSP_CORE>; qcom,protection-domain = "avs/audio", "msm/adsp/audio_pd"; }; q6afe: service@4 { compatible = "qcom,q6afe"; reg = <APR_SVC_AFE>; qcom,protection-domain = "avs/audio", "msm/adsp/audio_pd"; }; q6asm: service@7 { compatible = "qcom,q6asm"; reg = <APR_SVC_ASM>; qcom,protection-domain = "avs/audio", "msm/adsp/audio_pd"; }; q6adm: service@8 { compatible = "qcom,q6adm"; reg = <APR_SVC_ADM>; qcom,protection-domain = "avs/audio", "msm/adsp/audio_pd"; }; }; - | #include <dt-bindings/soc/qcom,gpr.h> gpr { compatible = "qcom,gpr"; qcom,domain = <GPR_DOMAIN_ID_ADSP>; #address-cells = <1>; #size-cells = <0>; service@1 { compatible = "qcom,q6apm"; reg = <GPR_APM_MODULE_IID>; qcom,protection-domain = "avs/audio", "msm/adsp/audio_pd"; }; }; |