This patch adds bindings support for Qualcomm Audio Processing Manager service in Audio DSP. Audio Process Manager is one of the static service in DSP which is responsible for Command/response handling, graph Management and Control/Event management between modules. Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> --- .../devicetree/bindings/sound/qcom,q6apm.yaml | 87 +++++++++++++++++++ include/dt-bindings/sound/qcom,q6apm.h | 8 ++ 2 files changed, 95 insertions(+) create mode 100644 Documentation/devicetree/bindings/sound/qcom,q6apm.yaml create mode 100644 include/dt-bindings/sound/qcom,q6apm.h diff --git a/Documentation/devicetree/bindings/sound/qcom,q6apm.yaml b/Documentation/devicetree/bindings/sound/qcom,q6apm.yaml new file mode 100644 index 000000000000..6f27567523a9 --- /dev/null +++ b/Documentation/devicetree/bindings/sound/qcom,q6apm.yaml @@ -0,0 +1,87 @@ +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) +%YAML 1.2 +--- +$id: "http://devicetree.org/schemas/sound/qcom,q6apm.yaml#" +$schema: "http://devicetree.org/meta-schemas/core.yaml#" + +title: Qualcomm Audio Process Manager binding + +maintainers: + - Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> + +description: | + This binding describes the Qualcomm Audio Process Manager service in DSP + +properties: + compatible: + const: qcom,q6apm + + reg: + maxItems: 1 + + '#address-cells': + const: 1 + + '#size-cells': + const: 0 + +#APM Services +patternProperties: + 'apm@[0-9]+$': + type: object + description: + APM devices use subnodes for services. + + properties: + compatible: + enum: + - qcom,q6apm-dais + - qcom,q6apm-bedais + + iommus: + maxItems: 1 + + "#sound-dai-cells": + const: 1 + + reg: + maxItems: 1 + + required: + - compatible + - reg + - '#sound-dai-cells' + + additionalProperties: false + +required: + - compatible + - reg + +additionalProperties: false + +examples: + - | + gpr { + #address-cells = <1>; + #size-cells = <0>; + gprservice@1 { + compatible = "qcom,q6apm"; + reg = <1>; + + #address-cells = <1>; + #size-cells = <0>; + + apm@1 { + compatible = "qcom,q6apm-dais"; + #sound-dai-cells = <1>; + reg = <1>; + }; + + apm@2 { + compatible = "qcom,q6apm-bedais"; + #sound-dai-cells = <1>; + reg = <2>; + }; + }; + }; diff --git a/include/dt-bindings/sound/qcom,q6apm.h b/include/dt-bindings/sound/qcom,q6apm.h new file mode 100644 index 000000000000..3c3987eb6e95 --- /dev/null +++ b/include/dt-bindings/sound/qcom,q6apm.h @@ -0,0 +1,8 @@ +/* SPDX-License-Identifier: GPL-2.0 */ +#ifndef __DT_BINDINGS_Q6_APM_H__ +#define __DT_BINDINGS_Q6_APM_H__ + +/* Audio Process Manager (APM) virtual ports IDs */ +#include <dt-bindings/sound/qcom,q6afe.h> + +#endif /* __DT_BINDINGS_Q6_APM_H__ */ -- 2.21.0