ASoC: dt-bindings: qcom,q6asm: convert to dtschema
Convert Qualcomm Audio Stream Manager (Q6ASM) bindings to DT schema. The original bindings documented: 1. APR service node with compatibles: "qcom,q6asm" and "qcom,q6asm-v<MAJOR-NUMBER>.<MINOR-NUMBER>", 2. actual DAIs child node with compatible "qcom,q6asm-dais". The conversion entirely drops (1) because the compatible is already documented in bindings/soc/qcom/qcom,apr.yaml. The "qcom,q6asm-v<MAJOR-NUMBER>.<MINOR-NUMBER>" on the other hand is not used at all - neither in existing DTS, nor in downstream sources - so versions seems to be fully auto-detectable. Another change done in conversion is adding "iommus" property, which is already used in DTS and Linux driver. Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> Link: https://lore.kernel.org/r/20220910091428.50418-11-krzysztof.kozlowski@linaro.org Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
parent
b2496de1df
commit
7b0ad4629d
@ -103,8 +103,12 @@ patternProperties:
|
||||
unevaluatedProperties: false
|
||||
|
||||
dais:
|
||||
# TODO: Waiting for Documentation/devicetree/bindings/sound/qcom,q6asm.txt
|
||||
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:
|
||||
|
112
Documentation/devicetree/bindings/sound/qcom,q6asm-dais.yaml
Normal file
112
Documentation/devicetree/bindings/sound/qcom,q6asm-dais.yaml
Normal file
@ -0,0 +1,112 @@
|
||||
# SPDX-License-Identifier: GPL-2.0 OR BSD-2-Clause
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/sound/qcom,q6asm-dais.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Qualcomm Audio Stream Manager (Q6ASM)
|
||||
|
||||
maintainers:
|
||||
- Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
|
||||
- Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
|
||||
|
||||
description:
|
||||
Q6ASM is one of the APR audio services on Q6DSP. Each of its subnodes
|
||||
represent a dai with board specific configuration.
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
enum:
|
||||
- qcom,q6asm-dais
|
||||
|
||||
iommus:
|
||||
maxItems: 1
|
||||
|
||||
"#sound-dai-cells":
|
||||
const: 1
|
||||
|
||||
"#address-cells":
|
||||
const: 1
|
||||
|
||||
"#size-cells":
|
||||
const: 0
|
||||
|
||||
patternProperties:
|
||||
"^dai@[0-9]+$":
|
||||
type: object
|
||||
description:
|
||||
Q6ASM Digital Audio Interface
|
||||
|
||||
properties:
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
||||
direction:
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
enum: [0, 1, 2]
|
||||
description: |
|
||||
The direction of the dai stream::
|
||||
- Q6ASM_DAI_TX_RX (0) for both tx and rx
|
||||
- Q6ASM_DAI_TX (1) for only tx (Capture/Encode)
|
||||
- Q6ASM_DAI_RX (2) for only rx (Playback/Decode)
|
||||
|
||||
is-compress-dai:
|
||||
type: boolean
|
||||
description:
|
||||
Compress offload dai.
|
||||
|
||||
dependencies:
|
||||
is-compress-dai: ["direction"]
|
||||
|
||||
required:
|
||||
- reg
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- "#sound-dai-cells"
|
||||
- "#address-cells"
|
||||
- "#size-cells"
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
#include <dt-bindings/soc/qcom,apr.h>
|
||||
#include <dt-bindings/sound/qcom,q6asm.h>
|
||||
|
||||
apr {
|
||||
compatible = "qcom,apr-v2";
|
||||
qcom,domain = <APR_DOMAIN_ADSP>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
service@7 {
|
||||
compatible = "qcom,q6asm";
|
||||
reg = <APR_SVC_ASM>;
|
||||
qcom,protection-domain = "avs/audio", "msm/adsp/audio_pd";
|
||||
|
||||
dais {
|
||||
compatible = "qcom,q6asm-dais";
|
||||
iommus = <&apps_smmu 0x1821 0x0>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
#sound-dai-cells = <1>;
|
||||
|
||||
dai@0 {
|
||||
reg = <0>;
|
||||
};
|
||||
|
||||
dai@1 {
|
||||
reg = <1>;
|
||||
};
|
||||
|
||||
dai@2 {
|
||||
reg = <2>;
|
||||
is-compress-dai;
|
||||
direction = <1>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
@ -1,70 +0,0 @@
|
||||
Qualcomm Audio Stream Manager (Q6ASM) binding
|
||||
|
||||
Q6ASM is one of the APR audio service on Q6DSP.
|
||||
Please refer to qcom,apr.txt for details of the common apr service bindings
|
||||
used by the apr service device.
|
||||
|
||||
- but must contain the following property:
|
||||
|
||||
- compatible:
|
||||
Usage: required
|
||||
Value type: <stringlist>
|
||||
Definition: must be "qcom,q6asm-v<MAJOR-NUMBER>.<MINOR-NUMBER>".
|
||||
Or "qcom,q6asm" where the version number can be queried
|
||||
from DSP.
|
||||
example "qcom,q6asm-v2.0"
|
||||
|
||||
= ASM DAIs (Digital Audio Interface)
|
||||
"dais" subnode of the ASM node represents dai specific configuration
|
||||
|
||||
- compatible:
|
||||
Usage: required
|
||||
Value type: <stringlist>
|
||||
Definition: must be "qcom,q6asm-dais".
|
||||
|
||||
- #sound-dai-cells
|
||||
Usage: required
|
||||
Value type: <u32>
|
||||
Definition: Must be 1
|
||||
|
||||
== ASM DAI is subnode of "dais" and represent a dai, it includes board specific
|
||||
configuration of each dai. Must contain the following properties.
|
||||
|
||||
- reg
|
||||
Usage: required
|
||||
Value type: <u32>
|
||||
Definition: Must be dai id
|
||||
|
||||
- direction:
|
||||
Usage: Required for Compress offload dais
|
||||
Value type: <u32>
|
||||
Definition: Specifies the direction of the dai stream
|
||||
Q6ASM_DAI_TX_RX (0) for both tx and rx
|
||||
Q6ASM_DAI_TX (1) for only tx (Capture/Encode)
|
||||
Q6ASM_DAI_RX (2) for only rx (Playback/Decode)
|
||||
|
||||
- is-compress-dai:
|
||||
Usage: Required for Compress offload dais
|
||||
Value type: <boolean>
|
||||
Definition: present for Compress offload dais
|
||||
|
||||
|
||||
= EXAMPLE
|
||||
#include <dt-bindings/sound/qcom,q6asm.h>
|
||||
|
||||
apr-service@7 {
|
||||
compatible = "qcom,q6asm";
|
||||
reg = <APR_SVC_ASM>;
|
||||
q6asmdai: dais {
|
||||
compatible = "qcom,q6asm-dais";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
#sound-dai-cells = <1>;
|
||||
|
||||
dai@0 {
|
||||
reg = <0>;
|
||||
direction = <Q6ASM_DAI_RX>;
|
||||
is-compress-dai;
|
||||
};
|
||||
};
|
||||
};
|
Loading…
x
Reference in New Issue
Block a user