summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrei Ciubotariu <aciubotariu@google.com>2023-02-07 02:43:18 -0800
committerAndrei Ciubotariu <aciubotariu@google.com>2023-02-07 02:43:18 -0800
commit4850379ca3e3f0c088d76f99211140f85b677c03 (patch)
tree677997f2de31f135075c5885f5275ed8d0f51208
parent6369d12d707895fbb3aead1c0f509a0dc8c3eb1a (diff)
parentd6ae6b2c02f1ea33ac635d5619097fb1a30c618d (diff)
downloadaudio-devicetree-4850379ca3e3f0c088d76f99211140f85b677c03.tar.gz
sw5100: Integrate LW 2.0 r00040.3
Bug: 268128919 Change-Id: I8b2ab51605bfe6a4c383c0f7f2adda7ee10087d8 Signed-off-by: Andrei Ciubotariu <aciubotariu@google.com>
-rwxr-xr-xKbuild31
-rwxr-xr-xMakefile3
-rwxr-xr-xbengal-audio-overlay.dtsi4
-rwxr-xr-xbindings/qcom-audio-dev.txt70
-rwxr-xr-xdirewolf-vm-audio.dtsi12
-rwxr-xr-xdirewolf-vm-la-audio.dts16
-rwxr-xr-xdirewolf-vm-lv-audio.dts16
-rwxr-xr-xlemans-audio.dts17
-rwxr-xr-xlemans-audio.dtsi135
-rwxr-xr-xmonaco-audio-overlay.dtsi2
-rwxr-xr-xmonaco-slate-amic-audio.dtsi12
-rwxr-xr-xmonaco-slate-amic-idp-v2-audio.dts10
-rwxr-xr-xmonaco-slate-atp-v1-audio.dts10
-rwxr-xr-xmonaco-slate-audio.dtsi74
-rwxr-xr-xmonaco-slate-dmic-audio.dtsi1
-rwxr-xr-xmonaco-slate-dmic-idp-v1-audio.dts11
-rwxr-xr-xmonaco-slate-wdp-v1-audio.dts10
-rwxr-xr-xmonaco-slate-wsa-audio.dtsi12
-rwxr-xr-xmonaco-slate-wsa-idp-v3-audio.dts9
-rwxr-xr-xsa410m-audio-overlay.dtsi7
-rwxr-xr-xsa410m-audio.dtsi17
-rwxr-xr-xsa525m-audio-lpass.dtsi39
-rwxr-xr-xsa525m-audio-overlay.dts11
-rwxr-xr-xsa525m-audio-overlay.dtsi45
-rwxr-xr-xsa525m-audio.dts3
-rwxr-xr-xsa525m-audio.dtsi61
-rwxr-xr-xsa8155-audio.dtsi103
-rwxr-xr-xsa8195-vm-audio.dts11
-rwxr-xr-xsdx-audio-lpass.dtsi10
-rwxr-xr-xsdxbaagha-audio-overlay.dtsi131
-rwxr-xr-xsdxbaagha-audio.dts17
-rwxr-xr-xsdxbaagha-audio.dtsi37
-rwxr-xr-xsdxbaagha-wcd.dtsi68
-rwxr-xr-xsdxbaagha-wsa881x.dtsi (renamed from sdx-wsa881x.dtsi)2
-rwxr-xr-xsdxpinn-audio-overlay.dtsi10
-rwxr-xr-xsdxpinn-audio.dtsi5
-rwxr-xr-xsdxpinn-wcd.dtsi2
-rwxr-xr-xsdxpinn-wsa881x.dtsi17
38 files changed, 976 insertions, 75 deletions
diff --git a/Kbuild b/Kbuild
index a7bb5de..15424cf 100755
--- a/Kbuild
+++ b/Kbuild
@@ -14,7 +14,12 @@ dtbo-y += kalama-audio.dtbo \
endif
ifeq ($(CONFIG_ARCH_MONACO), y)
-dtbo-y += monaco-dmic-audio.dtbo
+dtbo-y += monaco-dmic-audio.dtbo \
+ monaco-slate-amic-idp-v2-audio.dtbo \
+ monaco-slate-atp-v1-audio.dtbo \
+ monaco-slate-dmic-idp-v1-audio.dtbo \
+ monaco-slate-wdp-v1-audio.dtbo \
+ monaco-slate-wsa-idp-v3-audio.dtbo
endif
ifeq ($(CONFIG_ARCH_SA8155), y)
@@ -23,6 +28,16 @@ endif
ifeq ($(CONFIG_QTI_QUIN_GVM), y)
dtbo-y += sa8155-vm-audio.dtbo
+dtbo-y += sa8195-vm-audio.dtbo
+ ifeq ($(QTI_TECHPACK), y)
+ dtbo-y += direwolf-vm-lv-audio.dtbo
+ else
+ dtbo-y += direwolf-vm-la-audio.dtbo
+ endif
+endif
+
+ifeq ($(CONFIG_ARCH_LEMANS), y)
+dtbo-y += lemans-audio.dtbo
endif
ifeq ($(CONFIG_ARCH_KHAJE), y)
@@ -45,17 +60,21 @@ dtbo-y += khaje-audio.dtbo \
endif
ifeq ($(CONFIG_ARCH_SDXPINN), y)
- ifeq ($(TARGET_SUPPORT), sa525m)
- dtbo-y += sa525m-audio.dtbo
- else
- dtbo-y += sdxpinn-audio.dtbo
- endif
+dtbo-y += sdxpinn-audio.dtbo
+endif
+
+ifeq ($(CONFIG_ARCH_SDXBAAGHA), y)
+dtbo-y += sdxbaagha-audio.dtbo
endif
ifeq ($(TARGET_SUPPORT), sa410m)
dtbo-y += sa410m-audio-idp.dtbo
endif
+ifeq ($(TARGET_SUPPORT), sa525m)
+dtbo-y += sa525m-audio.dtbo
+endif
+
always-y := $(dtb-y) $(dtbo-y)
subdir-y := $(dts-dirs)
clean-files := *.dtb *.dtbo
diff --git a/Makefile b/Makefile
index 6b5c4e3..c5455c7 100755
--- a/Makefile
+++ b/Makefile
@@ -6,6 +6,9 @@ KBUILD_OPTIONS += KBUILD_EXTMOD_DTS=.
KBUILD_OPTIONS += KERNEL_ROOT=$(ROOT_DIR)/$(KERNEL_DIR)
KBUILD_OPTIONS += MODNAME=audio-devicetree
+ifeq ($(QTI_TECHPACK), true)
+KBUILD_OPTIONS += QTI_TECHPACK=y
+endif
all: dtbs
diff --git a/bengal-audio-overlay.dtsi b/bengal-audio-overlay.dtsi
index f6072c2..dfa6157 100755
--- a/bengal-audio-overlay.dtsi
+++ b/bengal-audio-overlay.dtsi
@@ -329,7 +329,7 @@
compatible = "qcom,audio-ref-clk";
qcom,codec-ext-clk-src = <AUDIO_LPASS_MCLK>;
qcom,codec-lpass-ext-clk-freq = <19200000>;
- qcom,codec-lpass-clk-id = <0x30B>;
+ qcom,codec-lpass-clk-id = <0x307>;
#clock-cells = <1>;
};
@@ -337,7 +337,7 @@
compatible = "qcom,audio-ref-clk";
qcom,codec-ext-clk-src = <AUDIO_LPASS_MCLK_8>;
qcom,codec-lpass-ext-clk-freq = <19200000>;
- qcom,codec-lpass-clk-id = <0x310>;
+ qcom,codec-lpass-clk-id = <0x308>;
#clock-cells = <1>;
};
};
diff --git a/bindings/qcom-audio-dev.txt b/bindings/qcom-audio-dev.txt
index 970e745..a33c2fe 100755
--- a/bindings/qcom-audio-dev.txt
+++ b/bindings/qcom-audio-dev.txt
@@ -1798,6 +1798,31 @@ Example:
asoc-codec-names = "msm-stub-codec.1";
};
+* SPF SA8155 ASoC Machine driver
+
+Required properties:
+- compatible : "qcom,sa8155-asoc-snd-adp-star" for auto adp codec.
+- qcom,model : The user-visible name of this sound card.
+- asoc-codec: This is phandle list containing the references to codec dai device
+ nodes that are used as part of the sound card dai-links.
+- asoc-codec-names: This property contains list of codec dai names. The order of the
+ codec dai names should match to that of the phandle order given
+ in "asoc-codec".
+
+Optional properties:
+- qcom,mi2s-audio-intf : Property to specify if MI2S interface is used for the target
+- qcom,auxpcm-audio-intf : Property to specify if AUX PCM interface is used for the target
+- qcom,msm-mi2s-master : List of master/slave configuration for MI2S interfaces
+
+Example:
+
+ spf_snd_8155: spf-sound-adp-star {
+ compatible = "qcom,sa8155-asoc-snd-adp-star";
+ qcom,model = "sa8155-adp-star-snd-card";
+ asoc-codec = <&stub_codec>;
+ asoc-codec-names = "msm-stub-codec.1";
+ };
+
* BENGAL ASoC Machine driver
Required properties:
@@ -2682,3 +2707,48 @@ Required properties:
Required properties:
- compatible : "qcom,audio_prm"
+
+* SPF SA8255 ASoC Machine driver
+
+Required properties:
+- compatible : "qcom,sa8255-asoc-snd-adp-star" for auto adp codec.
+- qcom,model : The user-visible name of this sound card.
+- asoc-codec: This is phandle list containing the references to codec dai device
+ nodes that are used as part of the sound card dai-links.
+- asoc-codec-names: This property contains list of codec dai names. The order of the
+ codec dai names should match to that of the phandle order given
+ in "asoc-codec".
+
+Optional properties:
+- qcom,mi2s-audio-intf : Property to specify if MI2S interface is used for the target
+- qcom,auxpcm-audio-intf : Property to specify if AUX PCM interface is used for the target
+- qcom,msm-mi2s-master : List of master/slave configuration for MI2S interfaces
+
+Example:
+
+ spf_snd_8255: spf-sound-adp-star {
+ compatible = "qcom,sa8255-asoc-snd-adp-star";
+ qcom,model = "sa8255-adp-star-snd-card";
+ asoc-codec = <&stub_codec>;
+ asoc-codec-names = "msm-stub-codec.1";
+ };
+
+* SPF SA8295 GVM ASoC Machine driver
+
+Required properties:
+- compatible : "qcom,gvm-auto-spf-asoc-snd-adp-star" for auto adp codec.
+- qcom,model : The user-visible name of this sound card.
+- asoc-codec: This is phandle list containing the references to codec dai device
+ nodes that are used as part of the sound card dai-links.
+- asoc-codec-names: This property contains list of codec dai names. The order of the
+ codec dai names should match to that of the phandle order given
+ in "asoc-codec".
+
+Example:
+
+ snd_8295_ar: sound-adp-star {
+ compatible = "qcom,gvm-auto-spf-asoc-snd-adp-star";
+ qcom,model = "gvmauto8295-adp-star-snd-card";
+ asoc-codec = <&stub_codec>;
+ asoc-codec-names = "msm-stub-codec.1";
+ };
diff --git a/direwolf-vm-audio.dtsi b/direwolf-vm-audio.dtsi
new file mode 100755
index 0000000..df92565
--- /dev/null
+++ b/direwolf-vm-audio.dtsi
@@ -0,0 +1,12 @@
+&soc {
+ snd_8295_ar: sound-adp-star {
+ compatible = "qcom,gvm-auto-spf-asoc-snd-adp-star";
+ qcom,model = "gvmauto8295-adp-star-snd-card";
+ asoc-codec = <&stub_codec>;
+ asoc-codec-names = "msm-stub-codec.1";
+ };
+
+ stub_codec: qcom,msm-stub-codec {
+ compatible = "qcom,msm-stub-codec";
+ };
+};
diff --git a/direwolf-vm-la-audio.dts b/direwolf-vm-la-audio.dts
new file mode 100755
index 0000000..e8a53d0
--- /dev/null
+++ b/direwolf-vm-la-audio.dts
@@ -0,0 +1,16 @@
+/dts-v1/;
+/plugin/;
+
+#include <dt-bindings/clock/qcom,gcc-direwolf.h>
+#include <dt-bindings/interrupt-controller/arm-gic.h>
+#include <dt-bindings/regulator/qcom,rpmh-regulator-levels.h>
+
+#include "direwolf-vm-audio.dtsi"
+
+/ {
+
+ model = "Qualcomm Technologies, Inc. SA8295 Virtual Machine";
+ compatible = "qcom,direwolf", "qcom,quinvm";
+ qcom,msm-id = <460 0x10000>;
+ qcom,board-id = <0 0x1000001>;
+};
diff --git a/direwolf-vm-lv-audio.dts b/direwolf-vm-lv-audio.dts
new file mode 100755
index 0000000..ebcc2ff
--- /dev/null
+++ b/direwolf-vm-lv-audio.dts
@@ -0,0 +1,16 @@
+/dts-v1/;
+/plugin/;
+
+#include <dt-bindings/clock/qcom,gcc-direwolf.h>
+#include <dt-bindings/interrupt-controller/arm-gic.h>
+#include <dt-bindings/regulator/qcom,rpmh-regulator-levels.h>
+
+#include "direwolf-vm-audio.dtsi"
+
+/ {
+
+ model = "Qualcomm Technologies, Inc. SA8295 Virtual Machine";
+ compatible = "qcom,direwolf", "qcom,quinvm";
+ qcom,msm-id = <460 0x10000>;
+ qcom,board-id = <0 0x1000002>;
+};
diff --git a/lemans-audio.dts b/lemans-audio.dts
new file mode 100755
index 0000000..8ed15cc
--- /dev/null
+++ b/lemans-audio.dts
@@ -0,0 +1,17 @@
+/dts-v1/;
+/plugin/;
+
+#include <dt-bindings/clock/qcom,gpucc-lemans.h>
+#include <dt-bindings/interrupt-controller/arm-gic.h>
+#include <dt-bindings/interconnect/qcom,lemans.h>
+#include <dt-bindings/regulator/qcom,rpmh-regulator-levels.h>
+
+#include "lemans-audio.dtsi"
+
+/ {
+
+ model = "Qualcomm Technologies, Inc. Lemans SoC";
+ compatible = "qcom,lemans", "qcom,lemans-ivi-adas";
+ qcom,msm-id = <532 0x10000>, <534 0x10000>;
+ qcom,board-id = <0 0>;
+};
diff --git a/lemans-audio.dtsi b/lemans-audio.dtsi
new file mode 100755
index 0000000..4ca9c98
--- /dev/null
+++ b/lemans-audio.dtsi
@@ -0,0 +1,135 @@
+#include <bindings/qcom,gpr.h>
+#include "msm-audio-lpass.dtsi"
+
+&soc {
+ spf_core_platform: spf_core_platform {
+ compatible = "qcom,spf-core-platform";
+ };
+
+};
+
+&glink_adsp {
+ audio_gpr: qcom,gpr {
+ compatible = "qcom,gpr";
+ qcom,glink-channels = "adsp_apps";
+ qcom,intents = <0x200 20>;
+ reg = <GPR_DOMAIN_ADSP>;
+
+ spf_core {
+ compatible = "qcom,spf_core";
+ reg = <GPR_SVC_ADSP_CORE>;
+ };
+
+ audio-pkt {
+ compatible = "qcom,audio-pkt";
+ qcom,audiopkt-ch-name = "apr_audio_svc";
+ reg = <GPR_SVC_MAX>;
+ };
+
+ audio_prm {
+ compatible = "qcom,audio_prm";
+ reg = <GPR_SVC_ASM>;
+ };
+ };
+};
+
+&spf_core_platform {
+ spf_msm_audio_ion: qcom,spf-msm-audio-ion {
+ compatible = "qcom,msm-audio-ion";
+ qcom,smmu-version = <2>;
+ qcom,smmu-enabled;
+ iommus = <&apps_smmu 0x3001 0x0>;
+ qcom,smmu-sid-mask = /bits/ 64 <0xf>;
+ dma-coherent;
+ };
+
+ spf_tdm_sec: qcom,spf-msm-dai-tdm-sec {
+ compatible = "qcom,msm-pcm-pinctrl";
+ pinctrl-names = "default", "sleep";
+ pinctrl-0 = <&sec_tdm_sck_active &sec_tdm_ws_active
+ &sec_tdm_din_active &sec_tdm_dout_active>;
+ pinctrl-1 = <&sec_tdm_sck_sleep &sec_tdm_ws_sleep
+ &sec_tdm_din_sleep &sec_tdm_dout_sleep>;
+ #gpio-cells = <0>;
+ };
+
+ spf_tdm_tert: qcom,spf-msm-dai-tdm-tert {
+ compatible = "qcom,msm-pcm-pinctrl";
+ pinctrl-names = "default", "sleep";
+ pinctrl-0 = <&tert_tdm_sck_active &tert_tdm_ws_active
+ &tert_tdm_din_active &tert_tdm_dout_active>;
+ pinctrl-1 = <&tert_tdm_sck_sleep &tert_tdm_ws_sleep
+ &tert_tdm_din_sleep &tert_tdm_dout_sleep>;
+ #gpio-cells = <0>;
+ };
+
+ spf_tdm_hsif0: qcom,spf-msm-dai-tdm-hsif0 {
+ compatible = "qcom,msm-pcm-pinctrl";
+ pinctrl-names = "default", "sleep";
+ pinctrl-0 = <&hs0_i2s_sck_active &hs0_i2s_ws_active
+ &hs0_i2s_data0_active &hs0_i2s_data1_active>;
+ pinctrl-1 = <&hs0_i2s_sck_sleep &hs0_i2s_ws_sleep
+ &hs0_i2s_data0_sleep &hs0_i2s_data1_sleep>;
+ #gpio-cells = <0>;
+ };
+
+ spf_tdm_hsif1: qcom,spf-msm-dai-tdm-hsif1 {
+ compatible = "qcom,msm-pcm-pinctrl";
+ pinctrl-names = "default", "sleep";
+ pinctrl-0 = <&hs1_i2s_sck_active &hs1_i2s_ws_active
+ &hs1_i2s_data0_active &hs1_i2s_data1_active>;
+ pinctrl-1 = <&hs1_i2s_sck_sleep &hs1_i2s_ws_sleep
+ &hs1_i2s_data0_sleep &hs1_i2s_data1_sleep>;
+ #gpio-cells = <0>;
+ };
+
+ spf_tdm_hsif2: qcom,spf-msm-dai-tdm-hsif2 {
+ compatible = "qcom,msm-pcm-pinctrl";
+ pinctrl-names = "default", "sleep";
+ pinctrl-0 = <&hs2_i2s_sck_active &hs2_i2s_ws_active
+ &hs2_i2s_data0_active &hs2_i2s_data1_active>;
+ pinctrl-1 = <&hs2_i2s_sck_sleep &hs2_i2s_ws_sleep
+ &hs2_i2s_data0_sleep &hs2_i2s_data1_sleep>;
+ #gpio-cells = <0>;
+ };
+
+ spf_internal_mclk1: qcom,spf-msm-internal-mclk1 {
+ compatible = "qcom,msm-pcm-pinctrl";
+ pinctrl-names = "default", "sleep";
+ pinctrl-0 = <&audio_internal_mclk1_active>;
+ pinctrl-1 = <&audio_internal_mclk1_sleep>;
+ #gpio-cells = <0>;
+ };
+
+ spf_snd_8255: spf-sound-adp-star {
+ compatible = "qcom,sa8255-asoc-snd-adp-star";
+ qcom,model = "sa8255-adp-star-snd-card";
+ qcom,mi2s-audio-intf;
+ qcom,auxpcm-audio-intf;
+ qcom,msm-mi2s-master = <1>, <1>, <1>, <1>, <1>;
+
+ qcom,sec-tdm-gpios = <&spf_tdm_sec>;
+ qcom,tert-tdm-gpios = <&spf_tdm_tert>;
+ qcom,hsif0-tdm-gpios = <&spf_tdm_hsif0>;
+ qcom,hsif1-tdm-gpios = <&spf_tdm_hsif1>;
+ qcom,hsif2-tdm-gpios = <&spf_tdm_hsif2>;
+ qcom,internal-mclk1-gpios = <&spf_internal_mclk1>;
+
+ asoc-codec = <&stub_codec>;
+ asoc-codec-names = "msm-stub-codec.1";
+ };
+};
+
+&qupv3_se11_i2c {
+ status = "ok";
+};
+
+&qupv3_se16_spi {
+ status = "ok";
+ spi_codec@0 {
+ compatible = "qcom,spi-msm-codec-slave";
+ reg = <0>;
+ spi-max-frequency = <10000000>;
+ spi-cpha;
+ };
+};
diff --git a/monaco-audio-overlay.dtsi b/monaco-audio-overlay.dtsi
index 7cee41a..466452b 100755
--- a/monaco-audio-overlay.dtsi
+++ b/monaco-audio-overlay.dtsi
@@ -209,7 +209,7 @@
qcom,msm-mi2s-master = <1>, <1>, <1>, <1>;
qcom,mi2s-audio-intf = <1>;
qcom,tdm-audio-intf = <0>;
- //qcom,wcn-btfm = <1>;
+ qcom,wcn-btfm = <1>;
qcom,va-bolero-codec = <1>;
qcom,audio-routing =
"TX DMIC0", "Digital Mic0",
diff --git a/monaco-slate-amic-audio.dtsi b/monaco-slate-amic-audio.dtsi
new file mode 100755
index 0000000..e32559a
--- /dev/null
+++ b/monaco-slate-amic-audio.dtsi
@@ -0,0 +1,12 @@
+#include "monaco-slate-audio.dtsi"
+
+&monaco_snd {
+ qcom,model = "monaco-idp-slate_amic-snd-card";
+ qcom,mi2s-audio-intf = <1>;
+ qcom,cc-va-intf-enable = <1>;
+ qcom,wcn-btfm = <1>;
+ qcom,bt-slim-clk-src-ctrl = <1>;
+ asoc-codec = <&cc_codec>;
+ asoc-codec-names = "cc_codec";
+ qcom,msm_audio_ssr_devs = <&audio_gpr>, <&lpi_tlmm>, <&audio_cc_ipc_platform>, <&cc_codec>;
+};
diff --git a/monaco-slate-amic-idp-v2-audio.dts b/monaco-slate-amic-idp-v2-audio.dts
new file mode 100755
index 0000000..ed25aef
--- /dev/null
+++ b/monaco-slate-amic-idp-v2-audio.dts
@@ -0,0 +1,10 @@
+/dts-v1/;
+/plugin/;
+
+#include "monaco-slate-amic-audio.dtsi"
+
+/ {
+ model = "Qualcomm Technologies, Inc. Monaco IDP V2.0";
+ qcom,board-id = <0x020022 0x0>;
+};
+
diff --git a/monaco-slate-atp-v1-audio.dts b/monaco-slate-atp-v1-audio.dts
new file mode 100755
index 0000000..7ddd53f
--- /dev/null
+++ b/monaco-slate-atp-v1-audio.dts
@@ -0,0 +1,10 @@
+/dts-v1/;
+/plugin/;
+
+#include "monaco-slate-audio.dtsi"
+
+/ {
+ model = "Qualcomm Technologies, Inc. Monaco ATP V1.0";
+ qcom,board-id = <0x010021 0x0>;
+};
+
diff --git a/monaco-slate-audio.dtsi b/monaco-slate-audio.dtsi
new file mode 100755
index 0000000..20c6022
--- /dev/null
+++ b/monaco-slate-audio.dtsi
@@ -0,0 +1,74 @@
+#include "monaco-audio.dtsi"
+#include "monaco-lpi.dtsi"
+&glink_slatecom {
+ audio_ipc: qcom,audio_cc_ipc {
+ compatible = "qcom,audio_cc_ipc";
+ qcom,glink-channels = "gpr_cc_apps";
+ qcom,intents = <0x2000 2>;
+ reg = <GPR_DOMAIN_CC_DSP>;
+ cdev_name = "gpr_channel";
+ };
+
+ audio_ipc1: qcom,audio_cc_ipc1 {
+ compatible = "qcom,audio_cc_ipc";
+ qcom,glink-channels = "custom_cc_apps";
+ qcom,intents = <0x2000 2>;
+ reg = <GPR_DOMAIN_CC_DSP>;
+ cdev_name = "nongpr_channel";
+ };
+};
+
+&soc {
+ audio_cc_ipc_platform: qcom,audio-cc-ipc-platform {
+ compatible = "qcom,audio-cc-ipc-platform";
+ qcom,glink-cc-ipc = <&audio_ipc>, <&audio_ipc1>;
+ cc_codec: qcom,cc-codec {
+ compatible = "qcom,cc-codec";
+ qcom,service-id = <3>;
+ qcom,channel-name = "custom_cc_apps";
+ qcom,src-domain-id = <3>;
+ qcom,dst-domain-id = <6>;
+ qcom,src-port = <3>;
+ qcom,dst-port = <0x0F>;
+ };
+ };
+};
+
+&spf_core_platform {
+ cc_quat_mi2s_gpios: cc_pinctrl_quat {
+ compatible = "qcom,msm-cdc-pinctrl";
+ pinctrl-names = "aud_active", "aud_sleep";
+ pinctrl-0 = <&quat_mi2s_sck_active &quat_mi2s_ws_active
+ &quat_mi2s_sd0_active &quat_mi2s_sd1_active>;
+
+ pinctrl-1 = < &quat_mi2s_sck_sleep &quat_mi2s_ws_sleep
+ &quat_mi2s_sd0_sleep &quat_mi2s_sd1_sleep>;
+ qcom,lpi-gpios;
+ };
+
+ cc_pri_mi2s_gpios: cc_pinctrl_pri {
+ compatible = "qcom,msm-cdc-pinctrl";
+ pinctrl-names = "aud_active", "aud_sleep";
+ pinctrl-0 = <&lpi_i2s1_sck_active &lpi_i2s1_ws_active
+ &lpi_i2s1_sd0_active &lpi_i2s1_sd1_active>;
+
+ pinctrl-1 = <&lpi_i2s1_sck_sleep &lpi_i2s1_ws_sleep
+ &lpi_i2s1_sd0_sleep &lpi_i2s1_sd1_sleep>;
+ qcom,lpi-gpios;
+ };
+};
+
+&monaco_snd {
+ qcom,model = "monaco-idp-slate-snd-card";
+ qcom,mi2s-audio-intf = <1>;
+ qcom,cc-va-intf-enable = <1>;
+ qcom,wcn-btfm = <1>;
+ qcom,bt-slim-clk-src-ctrl = <1>;
+ asoc-codec = <&cc_codec>;
+ asoc-codec-names = "cc_codec";
+ qcom,quat-mi2s-gpios = <&cc_quat_mi2s_gpios>;
+ qcom,pri-mi2s-gpios = <&cc_pri_mi2s_gpios>;
+ qcom,msm_audio_ssr_devs = <&audio_gpr>, <&lpi_tlmm>,
+ <&audio_cc_ipc_platform>,
+ <&cc_codec>;
+};
diff --git a/monaco-slate-dmic-audio.dtsi b/monaco-slate-dmic-audio.dtsi
new file mode 100755
index 0000000..7ddd518
--- /dev/null
+++ b/monaco-slate-dmic-audio.dtsi
@@ -0,0 +1 @@
+#include"monaco-slate-audio.dtsi"
diff --git a/monaco-slate-dmic-idp-v1-audio.dts b/monaco-slate-dmic-idp-v1-audio.dts
new file mode 100755
index 0000000..0ebec1c
--- /dev/null
+++ b/monaco-slate-dmic-idp-v1-audio.dts
@@ -0,0 +1,11 @@
+/dts-v1/;
+/plugin/;
+
+#include "monaco-slate-dmic-audio.dtsi"
+
+/ {
+ model = "Qualcomm Technologies, Inc. Monaco IDP V1.0";
+ compatible = "qcom,monaco", "qcom,idp";
+ qcom,board-id = <0x010022 0x0>;
+};
+
diff --git a/monaco-slate-wdp-v1-audio.dts b/monaco-slate-wdp-v1-audio.dts
new file mode 100755
index 0000000..acc21ca
--- /dev/null
+++ b/monaco-slate-wdp-v1-audio.dts
@@ -0,0 +1,10 @@
+/dts-v1/;
+/plugin/;
+
+
+#include "monaco-slate-audio.dtsi"
+
+/ {
+ model = "Qualcomm Technologies, Inc. Monaco WDP V1.0";
+ qcom,board-id = <0x010024 0x0>;
+};
diff --git a/monaco-slate-wsa-audio.dtsi b/monaco-slate-wsa-audio.dtsi
new file mode 100755
index 0000000..8c2e69a
--- /dev/null
+++ b/monaco-slate-wsa-audio.dtsi
@@ -0,0 +1,12 @@
+#include "monaco-slate-audio.dtsi"
+
+&monaco_snd {
+ qcom,model = "monaco-idp-slate_wsa-snd-card";
+ qcom,mi2s-audio-intf = <1>;
+ qcom,cc-va-intf-enable = <1>;
+ qcom,wcn-btfm = <1>;
+ qcom,bt-slim-clk-src-ctrl = <1>;
+ asoc-codec = <&cc_codec>;
+ asoc-codec-names = "cc_codec";
+ qcom,msm_audio_ssr_devs = <&audio_gpr>, <&lpi_tlmm>, <&audio_cc_ipc_platform>, <&cc_codec>;
+};
diff --git a/monaco-slate-wsa-idp-v3-audio.dts b/monaco-slate-wsa-idp-v3-audio.dts
new file mode 100755
index 0000000..41a4c96
--- /dev/null
+++ b/monaco-slate-wsa-idp-v3-audio.dts
@@ -0,0 +1,9 @@
+/dts-v1/;
+/plugin/;
+
+#include "monaco-slate-wsa-audio.dtsi"
+
+/ {
+ model = "Qualcomm Technologies, Inc. Monaco IDP V3.0";
+ qcom,board-id = <0x030022 0x0>;
+};
diff --git a/sa410m-audio-overlay.dtsi b/sa410m-audio-overlay.dtsi
index 9d28aa1..a7d40b2 100755
--- a/sa410m-audio-overlay.dtsi
+++ b/sa410m-audio-overlay.dtsi
@@ -113,13 +113,13 @@
rouleur_codec: rouleur-codec {
compatible = "qcom,rouleur-codec";
qcom,split-codec = <1>;
-// qcom,pmic-spmi-node = <&pm2250_cdc>;
+ qcom,pmic-spmi-node = <&pm2250_cdc>;
qcom,wcd-reset-reg = <0x0000F3DB>;
qcom,foundry-id-reg = <0x0000704D>;
qcom,rx_swr_ch_map = <0 HPH_L 0x1 0 HPH_L>,
<0 HPH_R 0x2 0 HPH_R>,
<1 COMP_L 0x1 0 COMP_L>, <1 COMP_R 0x2 0 COMP_R>;
- qcom,tx_swr_ch_map = <0 ADC1 0x1 0 ADC1>,
+ qcom,tx_swr_ch_map = <0 ADC1 0x1 0 DMIC0>,
<0 ADC2 0x2 0 ADC2>, <0 DMIC0 0x4 0 ADC3>,
<0 MBHC 0x8 0 ADC4>, <1 DMIC0 0x1 0 DMIC0>,
<1 DMIC1 0x2 0 DMIC1>, <1 ADC1 0x4 0 DMIC2>,
@@ -176,7 +176,6 @@
"Digital Mic3", "MIC BIAS1",
"IN1_HPHL", "HPHL_OUT",
"IN2_HPHR", "HPHR_OUT",
- "SpkrMono WSA_IN", "LO",
"TX SWR_INPUT", "VA_TX_SWR_CLK",
"TX SWR_INPUT", "ADC1_OUTPUT",
"TX SWR_INPUT", "ADC2_OUTPUT",
@@ -210,10 +209,8 @@
qcom,tert-mi2s-gpios = <&tert_mi2s_gpios>;
qcom,quat-mi2s-gpios = <&quat_mi2s_gpios>;
- nvmem-cell-names = "adsp_variant";
asoc-codec = <&stub_codec>, <&bolero>, <&rouleur_codec>;
asoc-codec-names = "msm-stub-codec.1", "bolero_codec", "rouleur_codec";
- qcom,codec-max-aux-devs = <0>;
qcom,msm_audio_ssr_devs = <&audio_apr>, <&q6core>, <&bolero>,
<&lpi_tlmm>;
};
diff --git a/sa410m-audio.dtsi b/sa410m-audio.dtsi
index 2e4741f..c120e99 100755
--- a/sa410m-audio.dtsi
+++ b/sa410m-audio.dtsi
@@ -6,15 +6,16 @@
qcom,smmu-sid-mask = /bits/ 64 <0xf>;
};
&audio_apr {
+
+ lpass_audio_hw_vote: vote_lpass_audio_hw {
+ compatible = "qcom,audio-ref-clk";
+ qcom,codec-ext-clk-src = <AUDIO_LPASS_AUDIO_HW_VOTE>;
+ #clock-cells = <1>;
+ };
+
q6core: qcom,q6core-audio {
compatible = "qcom,q6core-audio";
- lpass_audio_hw_vote: vote_lpass_audio_hw {
- compatible = "qcom,audio-ref-clk";
- qcom,codec-ext-clk-src = <AUDIO_LPASS_AUDIO_HW_VOTE>;
- #clock-cells = <1>;
- };
-
};
};
@@ -228,6 +229,6 @@
};
&aliases {
- swr0 = "/soc/audio_apr/q6core/bolero-cdc/va-macro@a730000/va_swr_master";
- swr1 = "/soc/audio_apr/q6core/bolero-cdc/rx-macro@a600000/rx_swr_master";
+ swr0 = "/soc/qcom,msm-audio-apr/qcom,q6core-audio/bolero-cdc/va-macro@0a730000/va_swr_master";
+ swr1 = "/soc/qcom,msm-audio-apr/qcom,q6core-audio/bolero-cdc/rx-macro@0a600000/rx_swr_master";
};
diff --git a/sa525m-audio-lpass.dtsi b/sa525m-audio-lpass.dtsi
index 1c72f79..f2e6ddc 100755
--- a/sa525m-audio-lpass.dtsi
+++ b/sa525m-audio-lpass.dtsi
@@ -9,12 +9,19 @@
qcom,msm-adsp-loader {
compatible = "qcom,adsp-loader";
+ qcom,rproc-handle = <&modem_pas>;
qcom,adsp-state = <0>;
qcom,proc-img-to-load = "modem";
};
+ adsp_notify: qcom,msm-adsp-notify {
+ status = "ok";
+ compatible = "qcom,adsp-notify";
+ qcom,rproc-handle = <&modem_pas>;
+ };
+
qcom,msm-audio-ion {
- compatible = "qcom,msm-audio-ion-cma";
+ compatible = "qcom,msm-audio-ion";
qcom,scm-mp-enabled;
memory-region = <&audio_heap_mem>;
};
@@ -80,4 +87,34 @@
&sec_din_sleep>;
qcom,mi2s-auxpcm-cdc-gpios;
};
+
+ tert_master: tert_master_pinctrl {
+ compatible = "qcom,msm-cdc-pinctrl";
+ pinctrl-names = "aud_active", "aud_sleep";
+ pinctrl-0 = <&tert_ws_active_master
+ &tert_sck_active_master
+ &tert_dout_active
+ &tert_din_active>;
+ pinctrl-1 = <&tert_ws_sleep
+ &tert_sck_sleep
+ &tert_dout_sleep
+ &tert_din_sleep>;
+ qcom,mi2s-auxpcm-cdc-gpios;
+ };
+
+ tert_slave: tert_slave_pinctrl {
+ status = "disabled";
+ compatible = "qcom,msm-cdc-pinctrl";
+ pinctrl-names = "aud_active", "aud_sleep";
+ pinctrl-0 = <&tert_ws_active_slave
+ &tert_sck_active_slave
+ &tert_dout_active
+ &tert_din_active>;
+ pinctrl-1 = <&tert_ws_sleep
+ &tert_sck_sleep
+ &tert_dout_sleep
+ &tert_din_sleep>;
+ qcom,mi2s-auxpcm-cdc-gpios;
+ };
+
};
diff --git a/sa525m-audio-overlay.dts b/sa525m-audio-overlay.dts
new file mode 100755
index 0000000..5ae82c6
--- /dev/null
+++ b/sa525m-audio-overlay.dts
@@ -0,0 +1,11 @@
+/dts-v1/;
+/plugin/;
+
+#include "sa525m-audio-overlay.dtsi"
+
+/ {
+ model = "Qualcomm Technologies, Inc. SA525 IDP Overlay";
+ compatible = "qcom,sdxpinn-idp",
+ "qcom,sdxpinn", "qcom,idp";
+ qcom,board-id = <0x0010022 0x00>;
+}; \ No newline at end of file
diff --git a/sa525m-audio-overlay.dtsi b/sa525m-audio-overlay.dtsi
index 09139b1..0bf07d2 100755
--- a/sa525m-audio-overlay.dtsi
+++ b/sa525m-audio-overlay.dtsi
@@ -1,5 +1,5 @@
-#include <dt-bindings/clock/qcom,audio-ext-clk.h>
-
+#include "bindings/qcom,audio-ext-clk.h"
+#include <dt-bindings/gpio/gpio.h>
&soc {
@@ -16,3 +16,44 @@
};
};
+
+&soc {
+
+ codec_vreg: regulator-codec-tlv320aic3x {
+ compatible = "regulator-fixed";
+ regulator-name = "codec_vreg";
+ startup-delay-us = <5000>;
+ gpio = <&pmx75_gpios 05 GPIO_ACTIVE_HIGH>;
+ enable-active-high;
+ regulator-always-on;
+ };
+
+ snd_tlv3x: sound-auto {
+ compatible = "qcom,sdx-asoc-snd-auto";
+ qcom,model = "sdx-auto-i2s-snd-card";
+ qcom,prim_mi2s_aux_master = <&prim_master>;
+ qcom,prim_mi2s_aux_slave = <&prim_slave>;
+ qcom,sec_mi2s_aux_master = <&sec_master>;
+ qcom,sec_mi2s_aux_slave = <&sec_slave>;
+ qcom,tert_mi2s_aux_master = <&tert_master>;
+ qcom,tert_mi2s_aux_slave = <&tert_slave>;
+
+ pinctrl-names = "default";
+ pinctrl-0 = <&i2s_mclk_active &tlv_reset_active &tlv_cdc_power>;
+ asoc-codec = <&tlv320aic3x_codec>, <&stub_codec>;
+ asoc-codec-names = "tlv320aic3x", "msm-stub-codec.1";
+ };
+};
+
+
+&qupv3_se2_i2c {
+ status = "okay";
+ tlv320aic3x_codec: tlv320aic3x@18 {
+ compatible = "ti,tlv320aic3x";
+ reg = <0x18>;
+ gpio-reset = <&pmx75_gpios 01 0>;
+ AVDD-supply = <&codec_vreg>;
+ IOVDD-supply = <&codec_vreg>;
+ ai3x-ocmv = <1>;
+ };
+};
diff --git a/sa525m-audio.dts b/sa525m-audio.dts
index 0a06fe0..08161b6 100755
--- a/sa525m-audio.dts
+++ b/sa525m-audio.dts
@@ -7,11 +7,12 @@
#include <dt-bindings/regulator/qcom,rpmh-regulator-levels.h>
#include "sa525m-audio.dtsi"
+#include "sa525m-audio-overlay.dtsi"
/ {
model = "Qualcomm Technologies, Inc. SA525M";
compatible = "qcom,sdxpinn";
- qcom,msm-id = <556 0x10000>, <580 0x10000>;
+ qcom,msm-id=<558 0x10000>, <559 0x10000>;
qcom,board-id = <0 0>;
};
diff --git a/sa525m-audio.dtsi b/sa525m-audio.dtsi
index 9bd0541..931b9df 100755
--- a/sa525m-audio.dtsi
+++ b/sa525m-audio.dtsi
@@ -2,45 +2,28 @@
#include "bindings/qcom,audio-ext-clk.h"
#include "bindings/qcom,gpr.h"
-&soc {
-
- codec_vreg: regulator-codec-tlv320aic3x {
- compatible = "regulator-fixed";
- regulator-name = "codec_vreg";
- startup-delay-us = <100>;
- enable-active-high;
- };
-
- snd_tlv3x: sound-auto {
- compatible = "qcom,sdx-asoc-snd-auto";
- qcom,model = "sdx-auto-i2s-snd-card";
- qcom,prim_mi2s_aux_master = <&prim_master>;
- qcom,prim_mi2s_aux_slave = <&prim_slave>;
- qcom,sec_mi2s_aux_master = <&sec_master_slave>;
- qcom,sec_mi2s_aux_slave = <&sec_slave>;
-
- pinctrl-names = "default";
- pinctrl-0 = <&a2b_cdc_sel_default>, <&i2s_mclk_active>;
-
- asoc-codec-names = "tlv320aic3x-codec", "msm-stub-codec.1";
+&glink_edge {
+ audio_gpr: qcom,gpr {
+ compatible = "qcom,gpr";
+ qcom,glink-channels = "modem_apps";
+ qcom,intents = <0x200 20>;
+ reg = <GPR_DOMAIN_MODEM>;
+
+ spf_core {
+ compatible = "qcom,spf_core";
+ reg = <GPR_SVC_ADSP_CORE>;
+ };
+
+ audio-pkt {
+ compatible = "qcom,audio-pkt";
+ qcom,audiopkt-ch-name = "apr_audio_svc";
+ reg = <GPR_SVC_MAX>;
+ };
+
+ audio_prm {
+ compatible = "qcom,audio_prm";
+ reg = <GPR_SVC_ASM>;
+ };
};
};
-
-&qupv3_se2_i2c {
- tlv320aic3x_codec: tlv320aic3x@18 {
- compatible = "ti,tlv320aic3x";
- reg = <0x18>;
- gpio-reset = <&tlmm 92 0>;
- reset-inverted;
- AVDD-supply = <&codec_vreg>;
- IOVDD-supply = <&codec_vreg>;
- ai3x-ocmv = <1>;
- };
-
- eeprom@52 {
- compatible = "atmel,24c128";
- reg = <0x52>;
- pagesize = <32>;
- };
-};
diff --git a/sa8155-audio.dtsi b/sa8155-audio.dtsi
index 258c92a..de3db11 100755
--- a/sa8155-audio.dtsi
+++ b/sa8155-audio.dtsi
@@ -1,3 +1,4 @@
+#include <bindings/qcom,gpr.h>
#include "msm-auto-audio-lpass.dtsi"
&msm_audio_ion {
@@ -594,6 +595,108 @@
};
};
+&soc {
+ spf_core_platform: spf_core_platform {
+ compatible = "qcom,spf-core-platform";
+ };
+
+ audio_pkt_core_platform: audio-pkt-platform {
+ compatible = "qcom,audio-pkt-core-platform";
+ };
+};
+
+&glink_edge {
+ audio_gpr: qcom,gpr {
+ compatible = "qcom,gpr";
+ qcom,glink-channels = "adsp_apps";
+ qcom,intents = <0x200 20>;
+ reg = <GPR_DOMAIN_ADSP>;
+
+ spf_core {
+ compatible = "qcom,spf_core";
+ reg = <GPR_SVC_ADSP_CORE>;
+ };
+
+ audio-pkt {
+ compatible = "qcom,audio-pkt";
+ qcom,audiopkt-ch-name = "apr_audio_svc";
+ reg = <GPR_SVC_MAX>;
+ };
+
+ audio_prm: q6prm {
+ compatible = "qcom,audio_prm";
+ reg = <GPR_SVC_ASM>;
+ };
+ };
+};
+
+&spf_core_platform {
+ spf_msm_audio_ion: qcom,spf-msm-audio-ion {
+ compatible = "qcom,msm-audio-ion";
+ qcom,smmu-version = <2>;
+ qcom,smmu-enabled;
+ iommus = <&apps_smmu 0x1b21 0x0>;
+ qcom,smmu-sid-mask = /bits/ 64 <0xf>;
+ dma-coherent;
+ };
+
+ spf_tdm_sec_rx: qcom,spf-msm-dai-tdm-sec-rx {
+ compatible = "qcom,msm-pcm-pinctrl";
+ pinctrl-names = "default", "active";
+ pinctrl-0 = <&sec_tdm_sleep &sec_tdm_din_sleep
+ &sec_tdm_dout_sleep>;
+ pinctrl-1 = <&sec_tdm_active &sec_tdm_din_active
+ &sec_tdm_dout_active>;
+ #gpio-cells = <0>;
+ };
+
+ spf_tdm_tert_rx: qcom,spf-msm-dai-tdm-tert-rx {
+ compatible = "qcom,msm-pcm-pinctrl";
+ pinctrl-names = "default", "active";
+ pinctrl-0 = <&tert_tdm_sleep &tert_tdm_din_sleep
+ &tert_tdm_dout_sleep>;
+ pinctrl-1 = <&tert_tdm_active &tert_tdm_din_active
+ &tert_tdm_dout_active>;
+ #gpio-cells = <0>;
+ };
+
+ spf_tdm_quat_rx: qcom,spf-msm-dai-tdm-quat-rx {
+ compatible = "qcom,msm-pcm-pinctrl";
+ pinctrl-names = "default", "active";
+ pinctrl-0 = <&quat_tdm_sleep &quat_tdm_din_sleep
+ &quat_tdm_dout_sleep>;
+ pinctrl-1 = <&quat_tdm_active &quat_tdm_din_active
+ &quat_tdm_dout_active>;
+ #gpio-cells = <0>;
+ };
+
+ spf_tdm_quin_rx: qcom,spf-msm-dai-tdm-quin-rx {
+ compatible = "qcom,msm-pcm-pinctrl";
+ pinctrl-names = "default", "active";
+ pinctrl-0 = <&quin_tdm_sleep &quin_tdm_din_sleep
+ &quin_tdm_dout_sleep>;
+ pinctrl-1 = <&quin_tdm_active &quin_tdm_din_active
+ &quin_tdm_dout_active>;
+ #gpio-cells = <0>;
+ };
+
+ spf_snd_8155: spf-sound-adp-star {
+ compatible = "qcom,sa8155-asoc-snd-adp-star";
+ qcom,model = "sa8155-adp-star-snd-card";
+ qcom,mi2s-audio-intf;
+ qcom,auxpcm-audio-intf;
+ qcom,msm-mi2s-master = <1>, <1>, <1>, <1>, <1>;
+
+ qcom,sec-tdm-gpios = <&spf_tdm_sec_rx>;
+ qcom,tert-tdm-gpios = <&spf_tdm_tert_rx>;
+ qcom,quat-tdm-gpios = <&spf_tdm_quat_rx>;
+ qcom,quin-tdm-gpios = <&spf_tdm_quin_rx>;
+ asoc-codec = <&stub_codec>;
+ asoc-codec-names = "msm-stub-codec.1";
+ };
+};
+
+
&qupv3_se20_i2c {
status = "ok";
diff --git a/sa8195-vm-audio.dts b/sa8195-vm-audio.dts
new file mode 100755
index 0000000..f63df30
--- /dev/null
+++ b/sa8195-vm-audio.dts
@@ -0,0 +1,11 @@
+/dts-v1/;
+/plugin/;
+
+#include "sa8155-vm-audio.dtsi"
+
+/ {
+ model = "Qualcomm Technologies, Inc. SA8195 Single LA Virtual Machine";
+ compatible = "qcom,sa8195p", "qcom,quinvm";
+ qcom,msm-id = <405 0x20000>;
+ qcom,board-id = <0 0x1000001>;
+};
diff --git a/sdx-audio-lpass.dtsi b/sdx-audio-lpass.dtsi
index 1c72f79..b185e6d 100755
--- a/sdx-audio-lpass.dtsi
+++ b/sdx-audio-lpass.dtsi
@@ -7,12 +7,20 @@
compatible = "qcom,audio-pkt-core-platform";
};
- qcom,msm-adsp-loader {
+ adsp_loader: qcom,msm-adsp-loader {
+ status = "ok";
compatible = "qcom,adsp-loader";
+ qcom,rproc-handle = <&modem_pas>;
qcom,adsp-state = <0>;
qcom,proc-img-to-load = "modem";
};
+ adsp_notify: qcom,msm-adsp-notify {
+ status = "ok";
+ compatible = "qcom,adsp-notify";
+ qcom,rproc-handle = <&modem_pas>;
+ };
+
qcom,msm-audio-ion {
compatible = "qcom,msm-audio-ion-cma";
qcom,scm-mp-enabled;
diff --git a/sdxbaagha-audio-overlay.dtsi b/sdxbaagha-audio-overlay.dtsi
new file mode 100755
index 0000000..d7846d0
--- /dev/null
+++ b/sdxbaagha-audio-overlay.dtsi
@@ -0,0 +1,131 @@
+#include "sdxbaagha-wcd.dtsi"
+#include "sdxbaagha-wsa881x.dtsi"
+#include "bindings/qcom,audio-ext-clk.h"
+
+&sdxbaagha_snd {
+ qcom,audio-routing =
+ "RX_BIAS", "MCLK",
+ "MADINPUT", "MCLK",
+ "AMIC2", "Headset Mic",
+ "Headset Mic", "MIC BIAS2",
+ "AMIC3", "ANCRight Headset Mic",
+ "ANCRight Headset Mic", "MIC BIAS2",
+ "AMIC4", "ANCLeft Headset Mic",
+ "ANCLeft Headset Mic", "MIC BIAS2",
+ "AMIC5", "Handset Mic",
+ "Handset Mic", "MIC BIAS3",
+ "DMIC1", "Digital Mic1",
+ "DMIC1", "MIC BIAS1",
+ "DMIC2", "Digital Mic2",
+ "DMIC2", "MIC BIAS3",
+ "DMIC3", "Digital Mic3",
+ "DMIC3", "MIC BIAS3",
+ "DMIC4", "Digital Mic4",
+ "DMIC4", "MIC BIAS4",
+ "DMIC5", "Digital Mic5",
+ "DMIC5", "MIC BIAS4",
+ "SpkrLeft IN", "SPK1 OUT";
+
+ qcom,msm-mbhc-hphl-swh = <1>;
+ qcom,msm-mbhc-gnd-swh = <1>;
+ qcom,msm-mbhc-hs-mic-max-threshold-mv = <1700>;
+ qcom,msm-mbhc-hs-mic-min-threshold-mv = <50>;
+ qcom,cdc-ext-clk-rate = <9600000>;
+ qcom,tavil-mclk-clk-freq = <9600000>;
+
+ asoc-codec = <&stub_codec>, <&wsa881x_0214>;
+ asoc-codec-names = "msm-stub-codec.1", "wsa-codec.1";
+
+ qcom,wsa-max-devs = <1>;
+ qcom,swr-num-dev = <1>;
+ qcom,wsa-devs = <&wsa881x_0214>;
+ qcom,wsa-aux-dev-prefix = "SpkrLeft";
+ qcom,msm_audio_ssr_devs = <&audio_gpr>, <&wcd934x_cdc>;
+};
+
+&soc {
+ wcd9xxx_intc: wcd9xxx-irq {
+ status = "ok";
+ compatible = "qcom,wcd9xxx-irq";
+ interrupt-controller;
+ #interrupt-cells = <1>;
+ interrupt-parent = <&tlmm>;
+ qcom,gpio-connect = <&tlmm 75 0>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&wcd_intr_default>;
+ };
+
+ clock_audio_up: audio_ext_clk_up {
+ compatible = "qcom,audio-ref-clk";
+ qcom,codec-ext-clk-src = <AUDIO_LPASS_MCLK_3>;
+ qcom,codec-lpass-clk-id = <0x302>;
+ qcom,codec-lpass-ext-clk-freq = <9600000>;
+ qcom,use-pinctrl = <1>;
+ pinctrl-names = "sleep", "active";
+ pinctrl-0 = <&i2s_mclk_sleep>;
+ pinctrl-1 = <&i2s_mclk_active>;
+ #clock-cells = <1>;
+ };
+
+ wcd_rst_gpio: msm_cdc_pinctrl@77 {
+ compatible = "qcom,msm-cdc-pinctrl";
+ qcom,cdc-rst-n-gpio = <&tlmm 77 0>;
+ pinctrl-names = "aud_active", "aud_sleep";
+ pinctrl-0 = <&cdc_reset_active>;
+ pinctrl-1 = <&cdc_reset_sleep>;
+ };
+};
+
+&qupv3_se4_i2c {
+ status = "ok";
+ wcd934x_cdc: tavil_codec {
+ compatible = "qcom,tavil-i2c";
+ reg = <0x0d>;
+
+ interrupt-parent = <&wcd9xxx_intc>;
+ interrupts = <0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
+ 17 18 19 20 21 22 23 24 25 26 27 28 29
+ 30 31>;
+
+ qcom,wcd-rst-gpio-node = <&wcd_rst_gpio>;
+
+ clock-names = "wcd_clk";
+ clocks = <&clock_audio_up 0>;
+
+ cdc-vdd-buck-supply = <&pmx75_l6>;
+ qcom,cdc-vdd-buck-voltage = <1800000 1800000>;
+ qcom,cdc-vdd-buck-current = <650000>;
+
+ cdc-buck-sido-supply = <&pmx75_l6>;
+ qcom,cdc-buck-sido-voltage = <1800000 1800000>;
+ qcom,cdc-buck-sido-current = <500000>;
+
+ cdc-vdd-tx-h-supply = <&pmx75_l6>;
+ qcom,cdc-vdd-tx-h-voltage = <1800000 1800000>;
+ qcom,cdc-vdd-tx-h-current = <25000>;
+
+ cdc-vdd-rx-h-supply = <&pmx75_l6>;
+ qcom,cdc-vdd-rx-h-voltage = <1800000 1800000>;
+ qcom,cdc-vdd-rx-h-current = <25000>;
+
+ cdc-vddpx-1-supply = <&pmx75_l6>;
+ qcom,cdc-vddpx-1-voltage = <1800000 1800000>;
+ qcom,cdc-vddpx-1-current = <10000>;
+
+ qcom,cdc-static-supplies = "cdc-vdd-buck",
+ "cdc-buck-sido",
+ "cdc-vdd-tx-h",
+ "cdc-vdd-rx-h",
+ "cdc-vddpx-1";
+
+ qcom,cdc-micbias1-mv = <1800>;
+ qcom,cdc-micbias2-mv = <1800>;
+ qcom,cdc-micbias3-mv = <1800>;
+ qcom,cdc-micbias4-mv = <1800>;
+
+ qcom,cdc-mclk-clk-rate = <9600000>;
+ qcom,cdc-dmic-sample-rate = <4800000>;
+
+ qcom,wdsp-cmpnt-dev-name = "tavil_codec";
+ };
+};
diff --git a/sdxbaagha-audio.dts b/sdxbaagha-audio.dts
new file mode 100755
index 0000000..3e612e8
--- /dev/null
+++ b/sdxbaagha-audio.dts
@@ -0,0 +1,17 @@
+/dts-v1/;
+/plugin/;
+
+#include <dt-bindings/clock/qcom,gcc-sdxbaagha.h>
+#include <dt-bindings/interrupt-controller/arm-gic.h>
+#include <dt-bindings/interconnect/qcom,sdxbaagha.h>
+#include <dt-bindings/regulator/qcom,rpmh-regulator-levels.h>
+
+#include "sdxbaagha-audio.dtsi"
+
+/ {
+
+ model = "Qualcomm Technologies, Inc. SDXBAAGHA";
+ compatible = "qcom,sdxbaagha";
+ qcom,msm-id = <570 0x10000>, <571 0x10000>;
+ qcom,board-id = <0x10022 0x100>, <0x10022 0x200>, <0x10021 0x700>, <0x10021 0x200>, <0x10001 0x700>, <0x10001 0x100>, <0x10022 0x703>, <0x10022 0x103>, <0x10022 0x203>, <0x10008 0x700>, <0x10008 0x100>, <0x10015 0x700>, <0x10015 0x100>, <0x10021 0x100>, <0x10021 0x200>;
+};
diff --git a/sdxbaagha-audio.dtsi b/sdxbaagha-audio.dtsi
new file mode 100755
index 0000000..1cdc8ca
--- /dev/null
+++ b/sdxbaagha-audio.dtsi
@@ -0,0 +1,37 @@
+#include "sdx-audio-lpass.dtsi"
+#include "sdxbaagha-audio-overlay.dtsi"
+#include "bindings/qcom,audio-ext-clk.h"
+#include "bindings/qcom,gpr.h"
+
+&spf_core_platform {
+ sdxbaagha_snd: sound {
+ compatible = "qcom,sdx-asoc-snd-tavil";
+ qcom,model = "sdx-tavil-i2s-snd-card";
+ qcom,prim_mi2s_master = <&prim_master>;
+ };
+};
+
+&glink_edge {
+ audio_gpr: qcom,gpr {
+ compatible = "qcom,gpr";
+ qcom,glink-channels = "modem_apps";
+ qcom,intents = <0x200 20>;
+ reg = <GPR_DOMAIN_MODEM>;
+
+ spf_core {
+ compatible = "qcom,spf_core";
+ reg = <GPR_SVC_ADSP_CORE>;
+ };
+
+ audio-pkt {
+ compatible = "qcom,audio-pkt";
+ qcom,audiopkt-ch-name = "apr_audio_svc";
+ reg = <GPR_SVC_MAX>;
+ };
+
+ audio_prm {
+ compatible = "qcom,audio_prm";
+ reg = <GPR_SVC_ASM>;
+ };
+ };
+};
diff --git a/sdxbaagha-wcd.dtsi b/sdxbaagha-wcd.dtsi
new file mode 100755
index 0000000..10f84ed
--- /dev/null
+++ b/sdxbaagha-wcd.dtsi
@@ -0,0 +1,68 @@
+&qupv3_se4_i2c {
+ tavil_codec {
+ wcd: wcd_pinctrl@5 {
+ compatible = "qcom,wcd-pinctrl";
+ qcom,gpios-count = <5>;
+ gpio-controller;
+ #gpio-cells = <2>;
+
+ spkr_1_wcd_en_active: spkr_1_wcd_en_active {
+ mux {
+ pins = "gpio2";
+ };
+
+ config {
+ pins = "gpio2";
+ output-high;
+ };
+ };
+
+ spkr_1_wcd_en_sleep: spkr_1_wcd_en_sleep {
+ mux {
+ pins = "gpio2";
+ };
+
+ config {
+ pins = "gpio2";
+ input-enable;
+ };
+ };
+
+ spkr_2_wcd_en_active: spkr_2_sd_n_active {
+ mux {
+ pins = "gpio3";
+ };
+
+ config {
+ pins = "gpio3";
+ output-high;
+ };
+ };
+
+ spkr_2_wcd_en_sleep: spkr_2_sd_n_sleep {
+ mux {
+ pins = "gpio3";
+ };
+
+ config {
+ pins = "gpio3";
+ input-enable;
+ };
+ };
+ };
+
+ wsa_spkr_wcd_sd1: msm_cdc_pinctrll {
+ compatible = "qcom,msm-cdc-pinctrl";
+ pinctrl-names = "aud_active", "aud_sleep";
+ pinctrl-0 = <&spkr_1_wcd_en_active>;
+ pinctrl-1 = <&spkr_1_wcd_en_sleep>;
+ };
+
+ wsa_spkr_wcd_sd2: msm_cdc_pinctrlr {
+ compatible = "qcom,msm-cdc-pinctrl";
+ pinctrl-names = "aud_active", "aud_sleep";
+ pinctrl-0 = <&spkr_2_wcd_en_active>;
+ pinctrl-1 = <&spkr_2_wcd_en_sleep>;
+ };
+ };
+};
diff --git a/sdx-wsa881x.dtsi b/sdxbaagha-wsa881x.dtsi
index 936ec96..d007bf3 100755
--- a/sdx-wsa881x.dtsi
+++ b/sdxbaagha-wsa881x.dtsi
@@ -1,4 +1,4 @@
-&qupv3_se2_i2c_pins {
+&qupv3_se4_i2c {
tavil_codec {
swr_master {
compatible = "qcom,swr-wcd";
diff --git a/sdxpinn-audio-overlay.dtsi b/sdxpinn-audio-overlay.dtsi
index a6a6e8c..e8c2c95 100755
--- a/sdxpinn-audio-overlay.dtsi
+++ b/sdxpinn-audio-overlay.dtsi
@@ -1,8 +1,8 @@
#include "sdxpinn-wcd.dtsi"
-#include "sdx-wsa881x.dtsi"
-#include <dt-bindings/clock/qcom,audio-ext-clk.h>
+#include "sdxpinn-wsa881x.dtsi"
+#include "bindings/qcom,audio-ext-clk.h"
-&snd_934x {
+&sdxpinn_snd {
qcom,audio-routing =
"RX_BIAS", "MCLK",
"MADINPUT", "MCLK",
@@ -76,7 +76,7 @@
};
};
-&qupv3_se2_i2c_pins {
+&qupv3_se2_i2c {
status = "ok";
wcd934x_cdc: tavil_codec {
compatible = "qcom,tavil-i2c";
@@ -98,7 +98,7 @@
cdc-buck-sido-supply = <&pmx75_l6>;
qcom,cdc-buck-sido-voltage = <1800000 1800000>;
- qcom,cdc-buck-sido-current = <250000>;
+ qcom,cdc-buck-sido-current = <500000>;
cdc-vdd-tx-h-supply = <&pmx75_l6>;
qcom,cdc-vdd-tx-h-voltage = <1800000 1800000>;
diff --git a/sdxpinn-audio.dtsi b/sdxpinn-audio.dtsi
index 8789414..8cf9b85 100755
--- a/sdxpinn-audio.dtsi
+++ b/sdxpinn-audio.dtsi
@@ -1,9 +1,10 @@
#include "sdx-audio-lpass.dtsi"
+#include "sdxpinn-audio-overlay.dtsi"
#include "bindings/qcom,audio-ext-clk.h"
#include "bindings/qcom,gpr.h"
-&soc {
- snd_934x: sound-tavil {
+&spf_core_platform {
+ sdxpinn_snd: sound {
compatible = "qcom,sdx-asoc-snd-tavil";
qcom,model = "sdx-tavil-i2s-snd-card";
qcom,prim_mi2s_master = <&prim_master>;
diff --git a/sdxpinn-wcd.dtsi b/sdxpinn-wcd.dtsi
index 41d28c3..fb7720c 100755
--- a/sdxpinn-wcd.dtsi
+++ b/sdxpinn-wcd.dtsi
@@ -1,4 +1,4 @@
-&qupv3_se2_i2c_pins {
+&qupv3_se2_i2c {
tavil_codec {
wcd: wcd_pinctrl@5 {
compatible = "qcom,wcd-pinctrl";
diff --git a/sdxpinn-wsa881x.dtsi b/sdxpinn-wsa881x.dtsi
new file mode 100755
index 0000000..708bf7d
--- /dev/null
+++ b/sdxpinn-wsa881x.dtsi
@@ -0,0 +1,17 @@
+&qupv3_se2_i2c {
+ tavil_codec {
+ swr_master {
+ compatible = "qcom,swr-wcd";
+ #address-cells = <2>;
+ #size-cells = <0>;
+ qcom,swr-num-dev = <1>;
+
+ wsa881x_0214: wsa881x@21170214 {
+ compatible = "qcom,wsa881x";
+ reg = <0x00 0x21170214>;
+ qcom,spkr-sd-n-node = <&wsa_spkr_wcd_sd1>;
+ qcom,wsa-prefix = "SpkrLeft";
+ };
+ };
+ };
+};