[PATCH v2 04/16] ASoC: qcom: dt-bindings: add bindings Audio Processing manager

Rob Herring robh at kernel.org
Wed Jul 28 19:36:49 CEST 2021


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 at 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 at 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 at 1 {
> +          compatible = "qcom,q6apm";
> +          reg = <1>;
> +
> +          #address-cells = <1>;
> +          #size-cells = <0>;
> +
> +          apm at 1 {
> +            compatible = "qcom,q6apm-dais";
> +            #sound-dai-cells = <1>;
> +            reg = <1>;
> +          };
> +
> +          apm at 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
> 
> 


More information about the Alsa-devel mailing list