diff options
author | Andrei Ciubotariu <aciubotariu@google.com> | 2023-02-07 02:43:18 -0800 |
---|---|---|
committer | Andrei Ciubotariu <aciubotariu@google.com> | 2023-02-07 02:43:18 -0800 |
commit | 4850379ca3e3f0c088d76f99211140f85b677c03 (patch) | |
tree | 677997f2de31f135075c5885f5275ed8d0f51208 | |
parent | 6369d12d707895fbb3aead1c0f509a0dc8c3eb1a (diff) | |
parent | d6ae6b2c02f1ea33ac635d5619097fb1a30c618d (diff) | |
download | audio-devicetree-4850379ca3e3f0c088d76f99211140f85b677c03.tar.gz |
sw5100: Integrate LW 2.0 r00040.3
Bug: 268128919
Change-Id: I8b2ab51605bfe6a4c383c0f7f2adda7ee10087d8
Signed-off-by: Andrei Ciubotariu <aciubotariu@google.com>
38 files changed, 976 insertions, 75 deletions
@@ -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 @@ -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"; + }; + }; + }; +}; |