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@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]+$': 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 > >