Back to home page

OSCL-LXR

 
 

    


0001 # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
0002 %YAML 1.2
0003 ---
0004 $id: "http://devicetree.org/schemas/soc/qcom/qcom,apr.yaml#"
0005 $schema: "http://devicetree.org/meta-schemas/core.yaml#"
0006 
0007 title: Qualcomm APR/GPR (Asynchronous/Generic Packet Router) binding
0008 
0009 maintainers:
0010   - Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
0011 
0012 description: |
0013   This binding describes the Qualcomm APR/GPR, APR/GPR is a IPC protocol for
0014   communication between Application processor and QDSP. APR/GPR is mainly
0015   used for audio/voice services on the QDSP.
0016 
0017 properties:
0018   compatible:
0019     enum:
0020       - qcom,apr-v2
0021       - qcom,gpr
0022 
0023   qcom,apr-domain:
0024     $ref: /schemas/types.yaml#/definitions/uint32
0025     enum: [1, 2, 3, 4, 5, 6, 7]
0026     description:
0027       Selects the processor domain for apr
0028         1 = APR simulator
0029         2 = PC Domain
0030         3 = Modem Domain
0031         4 = ADSP Domain
0032         5 = Application processor Domain
0033         6 = Modem2 Domain
0034         7 = Application Processor2 Domain
0035     deprecated: true
0036 
0037   qcom,domain:
0038     $ref: /schemas/types.yaml#/definitions/uint32
0039     minimum: 1
0040     maximum: 7
0041     description:
0042       Selects the processor domain for apr
0043         1 = APR simulator
0044         2 = PC Domain
0045         3 = Modem Domain
0046         4 = ADSP Domain
0047         5 = Application processor Domain
0048         6 = Modem2 Domain
0049         7 = Application Processor2 Domain
0050       Selects the processor domain for gpr
0051         1 = Modem Domain
0052         2 = Audio DSP Domain
0053         3 = Application Processor Domain
0054 
0055   '#address-cells':
0056     const: 1
0057 
0058   '#size-cells':
0059     const: 0
0060 
0061 #APR/GPR Services
0062 patternProperties:
0063   "^service@[1-9a-d]$":
0064     type: object
0065     description:
0066       APR/GPR node's client devices use subnodes for desired static port services.
0067 
0068     properties:
0069       compatible:
0070         enum:
0071           - qcom,q6core
0072           - qcom,q6asm
0073           - qcom,q6afe
0074           - qcom,q6adm
0075           - qcom,q6apm
0076           - qcom,q6prm
0077 
0078       reg:
0079         minimum: 1
0080         maximum: 13
0081         description:
0082           APR Service ID
0083             3 = DSP Core Service
0084             4 = Audio  Front End Service.
0085             5 = Voice Stream Manager Service.
0086             6 = Voice processing manager.
0087             7 = Audio Stream Manager Service.
0088             8 = Audio Device Manager Service.
0089             9 = Multimode voice manager.
0090             10 = Core voice stream.
0091             11 = Core voice processor.
0092             12 = Ultrasound stream manager.
0093             13 = Listen stream manager.
0094           GPR Service ID
0095             1 = Audio Process Manager Service
0096             2 = Proxy Resource Manager Service.
0097             3 = AMDB Service.
0098             4 = Voice processing manager.
0099 
0100       qcom,protection-domain:
0101         $ref: /schemas/types.yaml#/definitions/string-array
0102         description: protection domain service name and path for apr service
0103           possible values are
0104           "avs/audio", "msm/adsp/audio_pd".
0105           "kernel/elf_loader", "msm/modem/wlan_pd".
0106           "tms/servreg", "msm/adsp/audio_pd".
0107           "tms/servreg", "msm/modem/wlan_pd".
0108           "tms/servreg", "msm/slpi/sensor_pd".
0109 
0110       '#address-cells':
0111         const: 1
0112 
0113       '#size-cells':
0114         const: 0
0115 
0116     patternProperties:
0117       "^.*@[0-9a-f]+$":
0118         type: object
0119         description:
0120           Service based devices like clock controllers or digital audio interfaces.
0121 
0122     additionalProperties: false
0123 
0124 required:
0125   - compatible
0126   - qcom,domain
0127 
0128 additionalProperties: false
0129 
0130 examples:
0131   - |
0132     #include <dt-bindings/soc/qcom,apr.h>
0133     apr {
0134         compatible = "qcom,apr-v2";
0135         qcom,domain = <APR_DOMAIN_ADSP>;
0136         #address-cells = <1>;
0137         #size-cells = <0>;
0138 
0139         q6core: service@3 {
0140           compatible = "qcom,q6core";
0141           reg = <APR_SVC_ADSP_CORE>;
0142           qcom,protection-domain = "avs/audio", "msm/adsp/audio_pd";
0143         };
0144 
0145         q6afe: service@4 {
0146           compatible = "qcom,q6afe";
0147           reg = <APR_SVC_AFE>;
0148           qcom,protection-domain = "avs/audio", "msm/adsp/audio_pd";
0149         };
0150 
0151         q6asm: service@7 {
0152           compatible = "qcom,q6asm";
0153           reg = <APR_SVC_ASM>;
0154           qcom,protection-domain = "avs/audio", "msm/adsp/audio_pd";
0155         };
0156 
0157         q6adm: service@8 {
0158           compatible = "qcom,q6adm";
0159           reg = <APR_SVC_ADM>;
0160           qcom,protection-domain = "avs/audio", "msm/adsp/audio_pd";
0161         };
0162     };
0163 
0164   - |
0165     #include <dt-bindings/soc/qcom,gpr.h>
0166     gpr {
0167         compatible = "qcom,gpr";
0168         qcom,domain = <GPR_DOMAIN_ID_ADSP>;
0169         #address-cells = <1>;
0170         #size-cells = <0>;
0171 
0172         service@1 {
0173           compatible = "qcom,q6apm";
0174           reg = <GPR_APM_MODULE_IID>;
0175           qcom,protection-domain = "avs/audio", "msm/adsp/audio_pd";
0176         };
0177     };