diff mbox series

[v3,10/20] ASoC: dt-bindings: q6dsp: add q6apm-dai compatible

Message ID 20210803125411.28066-11-srinivas.kandagatla@linaro.org (mailing list archive)
State Superseded
Headers show
Series ASoC: qcom: Add AudioReach support | expand

Commit Message

Srinivas Kandagatla Aug. 3, 2021, 12:54 p.m. UTC
Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
---
 .../sound/qcom,q6dsp-audio-stream.yaml        | 26 ++++++++++++++++++-
 1 file changed, 25 insertions(+), 1 deletion(-)

Comments

Mark Brown Aug. 4, 2021, 6:01 p.m. UTC | #1
On Tue, Aug 03, 2021 at 01:54:01PM +0100, Srinivas Kandagatla wrote:

>    compatible:
> -    const: qcom,q6asm-dais
> +    enum:
> +      - qcom,q6asm-dais
> +      - qcom,q6apm-dais

What do these two compatibles mean?
Srinivas Kandagatla Aug. 5, 2021, 9:16 a.m. UTC | #2
Thanks Mark for the review,

On 04/08/2021 19:01, Mark Brown wrote:
> On Tue, Aug 03, 2021 at 01:54:01PM +0100, Srinivas Kandagatla wrote:
> 
>>     compatible:
>> -    const: qcom,q6asm-dais
>> +    enum:
>> +      - qcom,q6asm-dais
>> +      - qcom,q6apm-dais
> 
> What do these two compatibles mean?
> 

Old Elite QDSP framework has service called "Audio Stream Manager" aka 
q6asm which is responsible for managing the PCM/Compressed streams and 
Pre Processing.

With New AudioReach framework this functionality is managed by "Audio 
Process Manager" aka q6apm.

As we are using rpmsg device model to link these audio service channels 
with linux devices so we endup with prefixing the compatibles with 
service names(like q6afe, q6asm, q6adm, q6apm, q6prm ...).


--srini
diff mbox series

Patch

diff --git a/Documentation/devicetree/bindings/sound/qcom,q6dsp-audio-stream.yaml b/Documentation/devicetree/bindings/sound/qcom,q6dsp-audio-stream.yaml
index 0e70b486b51a..8cba289bb068 100644
--- a/Documentation/devicetree/bindings/sound/qcom,q6dsp-audio-stream.yaml
+++ b/Documentation/devicetree/bindings/sound/qcom,q6dsp-audio-stream.yaml
@@ -14,7 +14,9 @@  description: |
 
 properties:
   compatible:
-    const: qcom,q6asm-dais
+    enum:
+      - qcom,q6asm-dais
+      - qcom,q6apm-dais
 
   reg:
     maxItems: 1
@@ -92,3 +94,25 @@  examples:
             };
         };
       };
+  - |
+    #include <dt-bindings/soc/qcom,gpr.h>
+    gpr {
+        #address-cells = <1>;
+        #size-cells = <0>;
+        gpr-service@1 {
+            reg = <GPR_APM_MODULE_IID>;
+            #address-cells = <1>;
+            #size-cells = <0>;
+            q6apmdai@1 {
+              compatible = "qcom,q6apm-dais";
+              reg = <1>;
+              #address-cells = <1>;
+              #size-cells = <0>;
+              #sound-dai-cells = <1>;
+
+              dai@1 {
+                reg = <1>;
+              };
+            };
+        };
+      };