mirror of
https://github.com/torvalds/linux.git
synced 2025-12-07 20:06:24 +00:00
ASoC: dt-bindings: qcom,apr: Split services to shared schema
The APR/GPR nodes are organized like:
apr-or-gpr-device-node <- qcom,apr.yaml
apr-gpr-service@[0-9] <- qcom,apr.yaml
service-specific-components <- /schemas/sound/qcom,q6*.yaml
The schema for services (apr-gpr-service@[0-9]) already grows
considerably and is still quite not specific. It allows several
incorrect combinations, like adding a clock-controller to a APM device.
Restricting it would complicate the schema even more. Bringing new
support for sound on Qualcomm SM8450 and SC8280XP SoC would grow it as
well.
Simplify the qcom,apr.yaml by splitting the services to a shared file
which will be:
1. Referenced by qcom,apr.yaml with additionalProperties:true,
2. Referenced by specific bindings for services with
additionalProperties:false (not yet in this commit).
While moving the code, add also required 'reg' and
'qcom,protection-domain' to further constrain the bindings.
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Reviewed-by: Rob Herring <robh@kernel.org>
Link: https://lore.kernel.org/r/20221115120235.167812-3-krzysztof.kozlowski@linaro.org
Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
committed by
Mark Brown
parent
0dd3618e06
commit
41288c3058
@@ -0,0 +1,54 @@
|
||||
# SPDX-License-Identifier: GPL-2.0 OR BSD-2-Clause
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/soc/qcom/qcom,apr-services.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Qualcomm APR/GPR services shared parts
|
||||
|
||||
maintainers:
|
||||
- Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
|
||||
|
||||
description:
|
||||
Common parts of a static service in Qualcomm APR/GPR (Asynchronous/Generic
|
||||
Packet Router).
|
||||
|
||||
properties:
|
||||
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".
|
||||
|
||||
required:
|
||||
- reg
|
||||
- qcom,protection-domain
|
||||
|
||||
additionalProperties: true
|
||||
@@ -80,12 +80,13 @@ properties:
|
||||
'#size-cells':
|
||||
const: 0
|
||||
|
||||
#APR/GPR Services
|
||||
patternProperties:
|
||||
"^service@[1-9a-d]$":
|
||||
type: object
|
||||
$ref: /schemas/soc/qcom/qcom,apr-services.yaml
|
||||
additionalProperties: true
|
||||
description:
|
||||
APR/GPR node's client devices use subnodes for desired static port services.
|
||||
APR/GPR static port services.
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
@@ -97,99 +98,6 @@ patternProperties:
|
||||
- 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
|
||||
|
||||
@@ -16799,7 +16799,7 @@ M: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
|
||||
M: Banajit Goswami <bgoswami@quicinc.com>
|
||||
L: alsa-devel@alsa-project.org (moderated for non-subscribers)
|
||||
S: Supported
|
||||
F: Documentation/devicetree/bindings/soc/qcom/qcom,apr.yaml
|
||||
F: Documentation/devicetree/bindings/soc/qcom/qcom,apr*
|
||||
F: Documentation/devicetree/bindings/sound/qcom,*
|
||||
F: drivers/soc/qcom/apr.c
|
||||
F: include/dt-bindings/sound/qcom,wcd9335.h
|
||||
|
||||
Reference in New Issue
Block a user