On Wed, Jul 14, 2021 at 04:30:27PM +0100, Srinivas Kandagatla wrote:
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.
This all looks fairly similar to the prior Qcom audio binding(s). It would be nice to not see this all re-invented.
Signed-off-by: Srinivas Kandagatla srinivas.kandagatla@linaro.org
.../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@linaro.org
+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]+$':
This means '.*apm' for the node name. Did you need a '^'?
- 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>
Why add this indirection? Rename the file if you need something to cover both.
+#endif /* __DT_BINDINGS_Q6_APM_H__ */
2.21.0