dt-bindings: Add devicetree bindings
Add snapshot of device tree bindings from keystone common kernel, branch "android-mainline-keystone-qcom-release" at c4c12103f9c0 ("Snap for 9228065 from e32903b9a63bb558df8b803b076619c53c16baad to android-mainline-keystone-qcom-release"). Change-Id: I7682079615cbd9f29340a5c1f2a1d84ec441a1f1 Signed-off-by: Melody Olvera <quic_molvera@quicinc.com>
This commit is contained in:
272
bindings/soc/qcom/qcom,apr.yaml
Normal file
272
bindings/soc/qcom/qcom,apr.yaml
Normal file
@@ -0,0 +1,272 @@
|
||||
# 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
|
||||
- qcom,apr-v2
|
||||
- qcom,gpr
|
||||
|
||||
power-domains:
|
||||
maxItems: 1
|
||||
|
||||
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
|
||||
|
||||
qcom,glink-channels:
|
||||
$ref: /schemas/types.yaml#/definitions/string-array
|
||||
description: Channel name used for the communication
|
||||
items:
|
||||
- const: apr_audio_svc
|
||||
|
||||
qcom,intents:
|
||||
$ref: /schemas/types.yaml#/definitions/uint32-array
|
||||
description:
|
||||
List of (size, amount) pairs describing what intents should be
|
||||
preallocated for this virtual channel. This can be used to tweak the
|
||||
default intents available for the channel to meet expectations of the
|
||||
remote.
|
||||
|
||||
qcom,smd-channels:
|
||||
$ref: /schemas/types.yaml#/definitions/string-array
|
||||
description: Channel name used for the communication
|
||||
items:
|
||||
- const: apr_audio_svc
|
||||
|
||||
'#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.
|
||||
|
||||
clock-controller:
|
||||
$ref: /schemas/sound/qcom,q6dsp-lpass-clocks.yaml#
|
||||
description: Qualcomm DSP LPASS clock controller
|
||||
unevaluatedProperties: false
|
||||
|
||||
dais:
|
||||
type: object
|
||||
oneOf:
|
||||
- $ref: /schemas/sound/qcom,q6apm-dai.yaml#
|
||||
- $ref: /schemas/sound/qcom,q6dsp-lpass-ports.yaml#
|
||||
- $ref: /schemas/sound/qcom,q6asm-dais.yaml#
|
||||
unevaluatedProperties: false
|
||||
description: Qualcomm DSP audio ports
|
||||
|
||||
routing:
|
||||
type: object
|
||||
$ref: /schemas/sound/qcom,q6adm-routing.yaml#
|
||||
unevaluatedProperties: false
|
||||
description: Qualcomm DSP LPASS audio routing
|
||||
|
||||
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".
|
||||
|
||||
allOf:
|
||||
- if:
|
||||
properties:
|
||||
compatible:
|
||||
enum:
|
||||
- qcom,q6afe
|
||||
then:
|
||||
properties:
|
||||
dais:
|
||||
properties:
|
||||
compatible:
|
||||
const: qcom,q6afe-dais
|
||||
|
||||
- if:
|
||||
properties:
|
||||
compatible:
|
||||
enum:
|
||||
- qcom,q6apm
|
||||
then:
|
||||
properties:
|
||||
dais:
|
||||
properties:
|
||||
compatible:
|
||||
enum:
|
||||
- qcom,q6apm-dais
|
||||
- qcom,q6apm-lpass-dais
|
||||
|
||||
- if:
|
||||
properties:
|
||||
compatible:
|
||||
enum:
|
||||
- qcom,q6asm
|
||||
then:
|
||||
properties:
|
||||
dais:
|
||||
properties:
|
||||
compatible:
|
||||
const: qcom,q6asm-dais
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- qcom,domain
|
||||
|
||||
allOf:
|
||||
- if:
|
||||
properties:
|
||||
compatible:
|
||||
enum:
|
||||
- qcom,gpr
|
||||
then:
|
||||
properties:
|
||||
power-domains: false
|
||||
|
||||
- if:
|
||||
required:
|
||||
- qcom,glink-channels
|
||||
then:
|
||||
properties:
|
||||
qcom,smd-channels: false
|
||||
|
||||
- if:
|
||||
required:
|
||||
- qcom,smd-channels
|
||||
then:
|
||||
properties:
|
||||
qcom,glink-channels: false
|
||||
|
||||
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";
|
||||
};
|
||||
};
|
Reference in New Issue
Block a user