brintos

brintos / linux-shallow public Read only

0
0
Text · 5.1 KiB · e51acdc Raw
212 lines · yaml
1# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)2%YAML 1.23---4$id: http://devicetree.org/schemas/soc/qcom/qcom,apr.yaml#5$schema: http://devicetree.org/meta-schemas/core.yaml#6 7title: Qualcomm APR/GPR (Asynchronous/Generic Packet Router)8 9maintainers:10  - Srinivas Kandagatla <srinivas.kandagatla@linaro.org>11 12description: |13  This binding describes the Qualcomm APR/GPR, APR/GPR is a IPC protocol for14  communication between Application processor and QDSP. APR/GPR is mainly15  used for audio/voice services on the QDSP.16 17properties:18  compatible:19    enum:20      - qcom,apr21      - qcom,apr-v222      - qcom,gpr23 24  power-domains:25    maxItems: 126 27  qcom,apr-domain:28    $ref: /schemas/types.yaml#/definitions/uint3229    enum: [1, 2, 3, 4, 5, 6, 7]30    description:31      Selects the processor domain for apr32        1 = APR simulator33        2 = PC Domain34        3 = Modem Domain35        4 = ADSP Domain36        5 = Application processor Domain37        6 = Modem2 Domain38        7 = Application Processor2 Domain39    deprecated: true40 41  qcom,domain:42    $ref: /schemas/types.yaml#/definitions/uint3243    minimum: 144    maximum: 745    description:46      Selects the processor domain for apr47        1 = APR simulator48        2 = PC Domain49        3 = Modem Domain50        4 = ADSP Domain51        5 = Application processor Domain52        6 = Modem2 Domain53        7 = Application Processor2 Domain54      Selects the processor domain for gpr55        1 = Modem Domain56        2 = Audio DSP Domain57        3 = Application Processor Domain58 59  qcom,glink-channels:60    $ref: /schemas/types.yaml#/definitions/string-array61    description: Channel name used for the communication62    maxItems: 163 64  qcom,intents:65    $ref: /schemas/types.yaml#/definitions/uint32-matrix66    minItems: 167    maxItems: 3268    items:69      items:70        - description: size of each intent to preallocate71        - description: amount of intents to preallocate72          minimum: 173    description:74      List of (size, amount) pairs describing what intents should be75      preallocated for this virtual channel. This can be used to tweak the76      default intents available for the channel to meet expectations of the77      remote.78 79  qcom,smd-channels:80    $ref: /schemas/types.yaml#/definitions/string-array81    description: Channel name used for the communication82    items:83      - const: apr_audio_svc84 85  '#address-cells':86    const: 187 88  '#size-cells':89    const: 090 91patternProperties:92  "^service@[1-9a-d]$":93    type: object94    $ref: /schemas/soc/qcom/qcom,apr-services.yaml95    additionalProperties: true96    description:97      APR/GPR static port services.98 99    properties:100      compatible:101        enum:102          - qcom,q6core103          - qcom,q6asm104          - qcom,q6afe105          - qcom,q6adm106          - qcom,q6apm107          - qcom,q6prm108 109required:110  - compatible111  - qcom,domain112 113allOf:114  - if:115      properties:116        compatible:117          enum:118            - qcom,gpr119    then:120      properties:121        qcom,glink-channels:122          items:123            - const: adsp_apps124        power-domains: false125    else:126      properties:127        qcom,glink-channels:128          items:129            - const: apr_audio_svc130 131  - if:132      required:133        - qcom,glink-channels134    then:135      properties:136        qcom,smd-channels: false137 138  - if:139      required:140        - qcom,smd-channels141    then:142      properties:143        qcom,glink-channels: false144 145additionalProperties: false146 147examples:148  - |149    #include <dt-bindings/soc/qcom,apr.h>150    apr {151        compatible = "qcom,apr-v2";152        qcom,domain = <APR_DOMAIN_ADSP>;153        qcom,glink-channels = "apr_audio_svc";154        qcom,intents = <512 20>;155        #address-cells = <1>;156        #size-cells = <0>;157 158        q6core: service@3 {159            compatible = "qcom,q6core";160            reg = <APR_SVC_ADSP_CORE>;161            qcom,protection-domain = "avs/audio", "msm/adsp/audio_pd";162        };163 164        service@4 {165            compatible = "qcom,q6afe";166            reg = <APR_SVC_AFE>;167            qcom,protection-domain = "avs/audio", "msm/adsp/audio_pd";168 169            clock-controller {170                compatible = "qcom,q6afe-clocks";171                #clock-cells = <2>;172            };173 174            dais {175                compatible = "qcom,q6afe-dais";176                #address-cells = <1>;177                #size-cells = <0>;178                #sound-dai-cells = <1>;179                /* ... */180            };181            /* ... */182        };183    };184 185  - |186    #include <dt-bindings/soc/qcom,gpr.h>187    gpr {188        compatible = "qcom,gpr";189        qcom,domain = <GPR_DOMAIN_ID_ADSP>;190        qcom,glink-channels = "adsp_apps";191        qcom,intents = <512 20>;192        #address-cells = <1>;193        #size-cells = <0>;194 195        service@1 {196            compatible = "qcom,q6apm";197            reg = <GPR_APM_MODULE_IID>;198            #sound-dai-cells = <0>;199            qcom,protection-domain = "avs/audio", "msm/adsp/audio_pd";200 201            dais {202                compatible = "qcom,q6apm-dais";203                iommus = <&apps_smmu 0x1801 0x0>;204            };205 206            bedais {207                compatible = "qcom,q6apm-lpass-dais";208                #sound-dai-cells = <1>;209            };210        };211    };212