]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
arm64: dts: qcom: qcm2290: add APR and its services
authorAlexey Klimov <alexey.klimov@linaro.org>
Wed, 22 Oct 2025 06:06:41 +0000 (07:06 +0100)
committerBjorn Andersson <andersson@kernel.org>
Mon, 27 Oct 2025 18:29:57 +0000 (13:29 -0500)
Add APR (asynchronous packet router) node and its associated services
required to enable audio on QRB2210 RB1 board.

Cc: Srinivas Kandagatla <srini@kernel.org>
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Signed-off-by: Alexey Klimov <alexey.klimov@linaro.org>
Link: https://lore.kernel.org/r/20251022-rb1_hdmi_audio-v3-1-0d38f777a547@linaro.org
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
arch/arm64/boot/dts/qcom/qcm2290.dtsi

index ffb194be7b0110600e092d3cd5cec67e31795d6a..5131388f1502efad5531aa16b427dcac3b414b43 100644 (file)
@@ -17,6 +17,8 @@
 #include <dt-bindings/interconnect/qcom,qcm2290.h>
 #include <dt-bindings/interconnect/qcom,rpm-icc.h>
 #include <dt-bindings/power/qcom-rpmpd.h>
+#include <dt-bindings/soc/qcom,apr.h>
+#include <dt-bindings/sound/qcom,q6asm.h>
 
 / {
        interrupt-parent = <&intc>;
                                label = "lpass";
                                qcom,remote-pid = <2>;
                                mboxes = <&apcs_glb 8>;
+
+                               apr {
+                                       compatible = "qcom,apr-v2";
+                                       qcom,glink-channels = "apr_audio_svc";
+                                       qcom,domain = <APR_DOMAIN_ADSP>;
+                                       #address-cells = <1>;
+                                       #size-cells = <0>;
+
+                                       service@3 {
+                                               reg = <APR_SVC_ADSP_CORE>;
+                                               compatible = "qcom,q6core";
+                                               qcom,protection-domain = "avs/audio",
+                                                                        "msm/adsp/audio_pd";
+                                       };
+
+                                       q6afe: service@4 {
+                                               compatible = "qcom,q6afe";
+                                               reg = <APR_SVC_AFE>;
+                                               qcom,protection-domain = "avs/audio",
+                                                                        "msm/adsp/audio_pd";
+                                               q6afedai: dais {
+                                                       compatible = "qcom,q6afe-dais";
+                                                       #address-cells = <1>;
+                                                       #size-cells = <0>;
+                                                       #sound-dai-cells = <1>;
+                                               };
+
+                                               q6afecc: clock-controller {
+                                                       compatible = "qcom,q6afe-clocks";
+                                                       #clock-cells = <2>;
+                                               };
+                                       };
+
+                                       q6asm: service@7 {
+                                               compatible = "qcom,q6asm";
+                                               reg = <APR_SVC_ASM>;
+                                               qcom,protection-domain = "avs/audio",
+                                                                        "msm/adsp/audio_pd";
+                                               q6asmdai: dais {
+                                                       compatible = "qcom,q6asm-dais";
+                                                       #address-cells = <1>;
+                                                       #size-cells = <0>;
+                                                       #sound-dai-cells = <1>;
+                                                       iommus = <&apps_smmu 0x1c1 0x0>;
+
+                                                       dai@0 {
+                                                               reg = <MSM_FRONTEND_DAI_MULTIMEDIA1>;
+                                                       };
+
+                                                       dai@1 {
+                                                               reg = <MSM_FRONTEND_DAI_MULTIMEDIA2>;
+                                                       };
+
+                                                       dai@2 {
+                                                               reg = <MSM_FRONTEND_DAI_MULTIMEDIA3>;
+                                                       };
+                                               };
+                                       };
+
+                                       q6adm: service@8 {
+                                               compatible = "qcom,q6adm";
+                                               reg = <APR_SVC_ADM>;
+                                               qcom,protection-domain = "avs/audio",
+                                                                        "msm/adsp/audio_pd";
+                                               q6routing: routing {
+                                                       compatible = "qcom,q6adm-routing";
+                                                       #sound-dai-cells = <0>;
+                                               };
+                                       };
+                               };
                        };
                };