diff options
author | QC Publisher <qcpublisher@qti.qualcomm.com> | 2023-04-02 00:11:17 -0700 |
---|---|---|
committer | Daniel Price <danielprice@google.com> | 2023-04-03 20:56:27 +0000 |
commit | c81bb6a9b02bc8565367a6e180ce9f418ffd2ffe (patch) | |
tree | 6893b11858bd7bc7c9e43f32fc77294c432e5e02 | |
parent | 0c9c6d4b2b0a06042d424e32a23e2f90d01a50fa (diff) | |
download | audio-devicetree-c81bb6a9b02bc8565367a6e180ce9f418ffd2ffe.tar.gz |
Commit label r00062.1a - ES5 0.0.062.1a
TRACKING-ID:61c69312-1265-42e7-9bf4-b2978b9c9e60
-rwxr-xr-x | Kbuild | 13 | ||||
-rwxr-xr-x | Makefile | 4 | ||||
-rwxr-xr-x | bindings/qcom-audio-dev.txt | 21 | ||||
-rwxr-xr-x | lemans-audio.dtsi | 62 | ||||
-rwxr-xr-x | lemans-lpi.dtsi | 708 | ||||
-rwxr-xr-x | lemans-vm-audio.dtsi | 12 | ||||
-rwxr-xr-x | lemans-vm-la-audio.dts | 14 | ||||
-rwxr-xr-x | lemans-vm-lv-audio.dts | 14 | ||||
-rwxr-xr-x | monaco-amic-audio-idp-v2.dts | 12 | ||||
-rwxr-xr-x | monaco-amic-audio.dtsi | 55 | ||||
-rwxr-xr-x | monaco-audio-overlay.dtsi | 3 | ||||
-rwxr-xr-x | monaco-slate-amic-audio.dtsi | 2 | ||||
-rwxr-xr-x | monaco-slate-wsa-audio.dtsi | 2 | ||||
-rwxr-xr-x | monaco-wsa-audio.dts | 11 | ||||
-rwxr-xr-x | monaco-wsa-audio.dtsi | 95 | ||||
-rwxr-xr-x | sa8155-audio.dtsi | 11 | ||||
-rwxr-xr-x | sdxbaagha-audio-overlay.dtsi | 10 | ||||
-rwxr-xr-x | sdxpinn-audio.dts | 2 |
18 files changed, 1031 insertions, 20 deletions
@@ -19,7 +19,9 @@ dtbo-y += monaco-dmic-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 + monaco-slate-wsa-idp-v3-audio.dtbo \ + monaco-wsa-audio.dtbo \ + monaco-amic-audio-idp-v2.dtbo endif ifeq ($(CONFIG_ARCH_SA8155), y) @@ -29,11 +31,10 @@ 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 +dtbo-y += direwolf-vm-lv-audio.dtbo +dtbo-y += direwolf-vm-la-audio.dtbo +dtbo-y += lemans-vm-lv-audio.dtbo +dtbo-y += lemans-vm-la-audio.dtbo endif ifeq ($(CONFIG_ARCH_LEMANS), y) @@ -6,10 +6,6 @@ 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 dtbs: diff --git a/bindings/qcom-audio-dev.txt b/bindings/qcom-audio-dev.txt index a33c2fe..cb8536a 100755 --- a/bindings/qcom-audio-dev.txt +++ b/bindings/qcom-audio-dev.txt @@ -2308,7 +2308,6 @@ Example: Required properties: - compatible : "qcom,holi-asoc-snd". ->>>>>>> kernel.lnx.5.4-200915 - qcom,model : The user-visible name of this sound card. - qcom,audio-routing : A list of the connections between audio components. - asoc-platform: This is phandle list containing the references to platform device @@ -2752,3 +2751,23 @@ Example: asoc-codec = <&stub_codec>; asoc-codec-names = "msm-stub-codec.1"; }; + +* SPF SA8255 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_8255_ar: sound-adp-star { + compatible = "qcom,gvm-auto-spf-asoc-snd-adp-star"; + qcom,model = "gvmauto8255-adp-star-snd-card"; + asoc-codec = <&stub_codec>; + asoc-codec-names = "msm-stub-codec.1"; + }; diff --git a/lemans-audio.dtsi b/lemans-audio.dtsi index 4ca9c98..bfd8784 100755 --- a/lemans-audio.dtsi +++ b/lemans-audio.dtsi @@ -1,11 +1,68 @@ #include <bindings/qcom,gpr.h> #include "msm-audio-lpass.dtsi" +#include "lemans-lpi.dtsi" &soc { spf_core_platform: spf_core_platform { compatible = "qcom,spf-core-platform"; }; + spf_tdm_quat: qcom,spf-msm-dai-tdm-quat { + compatible = "qcom,msm-pcm-pinctrl"; + pinctrl-names = "default", "sleep"; + pinctrl-0 = <&quat_mi2s_sck_active &quat_mi2s_ws_active + &quat_mi2s_sd0_active &quat_mi2s_sd1_active + &quat_mi2s_sd2_active &quat_mi2s_sd3_active>; + pinctrl-1 = <&quat_mi2s_sck_sleep &quat_mi2s_ws_sleep + &quat_mi2s_sd0_sleep &quat_mi2s_sd1_sleep + &quat_mi2s_sd2_sleep &quat_mi2s_sd3_sleep>; + qcom,lpi-gpios; + #gpio-cells = <0>; + }; + + spf_tdm_quin: qcom,spf-msm-dai-tdm-quin { + compatible = "qcom,msm-pcm-pinctrl"; + pinctrl-names = "default", "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; + #gpio-cells = <0>; + }; + + spf_tdm_sen: qcom,spf-msm-dai-tdm-sen { + compatible = "qcom,msm-pcm-pinctrl"; + pinctrl-names = "default", "sleep"; + pinctrl-0 = <&lpi_i2s2_sck_active &lpi_i2s2_ws_active + &lpi_i2s2_sd0_active &lpi_i2s2_sd1_active>; + pinctrl-1 = <&lpi_i2s2_sck_sleep &lpi_i2s2_ws_sleep + &lpi_i2s2_sd0_sleep &lpi_i2s2_sd1_sleep>; + qcom,lpi-gpios; + #gpio-cells = <0>; + }; + + spf_tdm_sep: qcom,spf-msm-dai-tdm-sep { + compatible = "qcom,msm-pcm-pinctrl"; + pinctrl-names = "default", "sleep"; + pinctrl-0 = <&lpi_i2s3_sck_active &lpi_i2s3_ws_active + &lpi_i2s3_sd0_active &lpi_i2s3_sd1_active>; + pinctrl-1 = <&lpi_i2s3_sck_sleep &lpi_i2s3_ws_sleep + &lpi_i2s3_sd0_sleep &lpi_i2s3_sd1_sleep>; + qcom,lpi-gpios; + #gpio-cells = <0>; + }; + + spf_tdm_oct: qcom,spf-msm-dai-tdm-oct { + compatible = "qcom,msm-pcm-pinctrl"; + pinctrl-names = "default", "sleep"; + pinctrl-0 = <&lpi_i2s4_sck_active &lpi_i2s4_ws_active + &lpi_i2s4_sd0_active &lpi_i2s4_sd1_active>; + pinctrl-1 = <&lpi_i2s4_sck_sleep &lpi_i2s4_ws_sleep + &lpi_i2s4_sd0_sleep &lpi_i2s4_sd1_sleep>; + qcom,lpi-gpios; + #gpio-cells = <0>; + }; }; &glink_adsp { @@ -110,6 +167,11 @@ qcom,sec-tdm-gpios = <&spf_tdm_sec>; qcom,tert-tdm-gpios = <&spf_tdm_tert>; + qcom,quat-tdm-gpios = <&spf_tdm_quat>; + qcom,quin-tdm-gpios = <&spf_tdm_quin>; + qcom,sen-tdm-gpios = <&spf_tdm_sen>; + qcom,sep-tdm-gpios = <&spf_tdm_sep>; + qcom,oct-tdm-gpios = <&spf_tdm_oct>; qcom,hsif0-tdm-gpios = <&spf_tdm_hsif0>; qcom,hsif1-tdm-gpios = <&spf_tdm_hsif1>; qcom,hsif2-tdm-gpios = <&spf_tdm_hsif2>; diff --git a/lemans-lpi.dtsi b/lemans-lpi.dtsi new file mode 100755 index 0000000..ae031f2 --- /dev/null +++ b/lemans-lpi.dtsi @@ -0,0 +1,708 @@ +#include <bindings/qcom,audio-ext-clk.h> +&soc { + lpass_core_hw_vote: vote_lpass_core_hw { + compatible = "qcom,audio-ref-clk"; + qcom,codec-ext-clk-src = <AUDIO_LPASS_CORE_HW_VOTE>; + #clock-cells = <1>; + }; + 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>; + }; + lpi_tlmm: lpi_pinctrl@3440000 { + compatible = "qcom,lpi-pinctrl"; + reg = <0x3440000 0x0>; + qcom,slew-reg = <0x34da000 0x0>; + qcom,gpios-count = <23>; + gpio-controller; + #gpio-cells = <2>; + qcom,lpi-offset-tbl = <0x00000000>, <0x00001000>,/* gpio quat{0 1 2 3 4 5}, quin{6 7 8 9}, sen{10 11 15 16}, sep{19 20 21 22} oct{12 13 17 18}*/ + <0x00002000>, <0x00003000>, + <0x00004000>, <0x00005000>, + <0x00006000>, <0x00007000>, + <0x00008000>, <0x00009000>, + <0x0000A000>, <0x0000B000>, + <0x0000C000>, <0x0000D000>, + <0x0000E000>, <0x0000F000>, + <0x00010000>, <0x00011000>, + <0x00012000>, <0x00013000>, + <0x00014000>, <0x00015000>, + <0x00016000>; + qcom,lpi-slew-offset-tbl = <0x00000000>, <0x00000002>, + <0x00000004>, <0x00000008>, + <0x0000000A>, <0x0000000C>, + <0x00000000>, <0x00000000>, + <0x00000000>, <0x00000000>, + <0x00000010>, <0x00000012>, + <0x00000000>, <0x00000000>, + <0x00000000>, <0x00000000>, + <0x00000000>, <0x00000000>, + <0x00000014>, <0x00000000>, + <0x00000000>, <0x00000000>, + <0x00000000>; + clock-names = "lpass_core_hw_vote", + "lpass_audio_hw_vote"; + clocks = <&lpass_core_hw_vote 0>, + <&lpass_audio_hw_vote 0>; + quat_mi2s_sck { + quat_mi2s_sck_sleep: quat_mi2s_sck_sleep { + mux { + pins = "gpio0"; + function = "gpio"; + }; + + config { + pins = "gpio0"; + drive-strength = <2>; /* 2 mA */ + bias-pull-down; /* PULL DOWN */ + input-enable; + }; + }; + + quat_mi2s_sck_active: quat_mi2s_sck_active { + mux { + pins = "gpio0"; + function = "func2"; + }; + + config { + pins = "gpio0"; + drive-strength = <8>; /* 8 mA */ + bias-pull-down; /* PULL DOWN */ + output-high; + }; + }; + }; + + quat_mi2s_ws { + quat_mi2s_ws_sleep: quat_mi2s_ws_sleep { + mux { + pins = "gpio1"; + function = "gpio"; + }; + + config { + pins = "gpio1"; + drive-strength = <2>; /* 2 mA */ + bias-pull-down; /* PULL DOWN */ + input-enable; + }; + }; + + quat_mi2s_ws_active: quat_mi2s_ws_active { + mux { + pins = "gpio1"; + function = "func2"; + }; + + config { + pins = "gpio1"; + drive-strength = <8>; /* 8 mA */ + bias-pull-down; /* PULL DOWN */ + output-high; + }; + }; + }; + + quat_mi2s_sd0 { + quat_mi2s_sd0_sleep: quat_mi2s_sd0_sleep { + mux { + pins = "gpio2"; + function = "gpio"; + }; + + config { + pins = "gpio2"; + drive-strength = <2>; /* 2 mA */ + bias-pull-down; /* PULL DOWN */ + input-enable; + }; + }; + + quat_mi2s_sd0_active: quat_mi2s_sd0_active { + mux { + pins = "gpio2"; + function = "func2"; + }; + + config { + pins = "gpio2"; + drive-strength = <2>; /* 2 mA */ + bias-disable; /* NO PULL */ + input-enable; + }; + }; + }; + + quat_mi2s_sd1 { + quat_mi2s_sd1_sleep: quat_mi2s_sd1_sleep { + mux { + pins = "gpio3"; + function = "gpio"; + }; + + config { + pins = "gpio3"; + drive-strength = <2>; /* 2 mA */ + bias-pull-down; /* PULL DOWN */ + input-enable; + }; + }; + + quat_mi2s_sd1_active: quat_mi2s_sd1_active { + mux { + pins = "gpio3"; + function = "func2"; + }; + + config { + pins = "gpio3"; + drive-strength = <8>; /* 8 mA */ + bias-pull-down; /* PULL DOWN */ + output-high; + }; + }; + }; + + quat_mi2s_sd2 { + quat_mi2s_sd2_sleep: quat_mi2s_sd2_sleep { + mux { + pins = "gpio4"; + function = "gpio"; + }; + + config { + pins = "gpio4"; + drive-strength = <2>; /* 2 mA */ + bias-pull-down; /* PULL DOWN */ + input-enable; + }; + }; + + quat_mi2s_sd2_active: quat_mi2s_sd2_active { + mux { + pins = "gpio4"; + function = "func2"; + }; + + config { + pins = "gpio4"; + drive-strength = <2>; /* 2 mA */ + bias-disable; /* NO PULL */ + input-enable; + }; + }; + }; + + quat_mi2s_sd3 { + quat_mi2s_sd3_sleep: quat_mi2s_sd3_sleep { + mux { + pins = "gpio5"; + function = "gpio"; + }; + + config { + pins = "gpio5"; + drive-strength = <2>; /* 2 mA */ + bias-pull-down; /* PULL DOWN */ + input-enable; + }; + }; + + quat_mi2s_sd3_active: quat_mi2s_sd3_active { + mux { + pins = "gpio5"; + function = "func3"; + }; + + config { + pins = "gpio5"; + drive-strength = <8>; /* 8 mA */ + bias-pull-down; /* PULL DOWN */ + output-high; + }; + }; + }; + + lpi_i2s1_sck { + lpi_i2s1_sck_sleep: lpi_i2s1_sck_sleep { + mux { + pins = "gpio6"; + function = "gpio"; + }; + + config { + pins = "gpio6"; + drive-strength = <2>; /* 2 mA */ + bias-pull-down; /* PULL DOWN */ + input-enable; + }; + }; + + lpi_i2s1_sck_active: lpi_i2s1_sck_active { + mux { + pins = "gpio6"; + function = "func2"; + }; + + config { + pins = "gpio6"; + drive-strength = <8>; /* 8 mA */ + bias-pull-down; /* PULL DOWN */ + output-high; + }; + }; + }; + + lpi_i2s1_ws { + lpi_i2s1_ws_sleep: lpi_i2s1_ws_sleep { + mux { + pins = "gpio7"; + function = "gpio"; + }; + + config { + pins = "gpio7"; + drive-strength = <2>; /* 2 mA */ + bias-pull-down; /* PULL DOWN */ + input-enable; + }; + }; + + lpi_i2s1_ws_active: lpi_i2s1_ws_active { + mux { + pins = "gpio7"; + function = "func2"; + }; + + config { + pins = "gpio7"; + drive-strength = <8>; /* 8 mA */ + bias-pull-down; /* PULL DOWN */ + output-high; + }; + }; + }; + + lpi_i2s1_sd0 { + lpi_i2s1_sd0_sleep: lpi_i2s1_sd0_sleep { + mux { + pins = "gpio8"; + function = "gpio"; + }; + + config { + pins = "gpio8"; + drive-strength = <2>; /* 2 mA */ + bias-pull-down; /* PULL DOWN */ + input-enable; + }; + }; + + lpi_i2s1_sd0_active: lpi_i2s1_sd0_active { + mux { + pins = "gpio8"; + function = "func2"; + }; + + config { + pins = "gpio8"; + drive-strength = <2>; /* 2 mA */ + bias-disable; /* NO PULL */ + input-enable; + }; + }; + }; + + lpi_i2s1_sd1 { + lpi_i2s1_sd1_sleep: lpi_i2s1_sd1_sleep { + mux { + pins = "gpio9"; + function = "gpio"; + }; + + config { + pins = "gpio9"; + drive-strength = <2>; /* 2 mA */ + bias-pull-down; /* PULL DOWN */ + input-enable; + }; + }; + + lpi_i2s1_sd1_active: lpi_i2s1_sd1_active { + mux { + pins = "gpio9"; + function = "func2"; + }; + + config { + pins = "gpio9"; + drive-strength = <8>; /* 8 mA */ + bias-pull-down; /* PULL DOWN */ + output-high; + }; + }; + }; + + lpi_i2s2_sck { + lpi_i2s2_sck_sleep: lpi_i2s2_sck_sleep { + mux { + pins = "gpio10"; + function = "gpio"; + }; + + config { + pins = "gpio10"; + drive-strength = <2>; /* 2 mA */ + bias-pull-down; /* PULL DOWN */ + input-enable; + }; + }; + + lpi_i2s2_sck_active: lpi_i2s2_sck_active { + mux { + pins = "gpio10"; + function = "func1"; + }; + + config { + pins = "gpio10"; + drive-strength = <8>; /* 8 mA */ + bias-pull-down; /* PULL DOWN */ + output-high; + }; + }; + }; + + lpi_i2s2_ws { + lpi_i2s2_ws_sleep: lpi_i2s2_ws_sleep { + mux { + pins = "gpio11"; + function = "gpio"; + }; + + config { + pins = "gpio11"; + drive-strength = <2>; /* 2 mA */ + bias-pull-down; /* PULL DOWN */ + input-enable; + }; + }; + + lpi_i2s2_ws_active: lpi_i2s2_ws_active { + mux { + pins = "gpio11"; + function = "func1"; + }; + + config { + pins = "gpio11"; + drive-strength = <8>; /* 8 mA */ + bias-pull-down; /* PULL DOWN */ + output-high; + }; + }; + }; + + lpi_i2s2_sd0 { + lpi_i2s2_sd0_sleep: lpi_i2s2_sd0_sleep { + mux { + pins = "gpio15"; + function = "gpio"; + }; + + config { + pins = "gpio15"; + drive-strength = <2>; /* 2 mA */ + bias-pull-down; /* PULL DOWN */ + input-enable; + }; + }; + + lpi_i2s2_sd0_active: lpi_i2s2_sd0_active { + mux { + pins = "gpio15"; + function = "func1"; + }; + + config { + pins = "gpio15"; + drive-strength = <2>; /* 2 mA */ + bias-disable; /* NO PULL */ + input-enable; + }; + }; + }; + + lpi_i2s2_sd1 { + lpi_i2s2_sd1_sleep: lpi_i2s2_sd1_sleep { + mux { + pins = "gpio16"; + function = "gpio"; + }; + + config { + pins = "gpio16"; + drive-strength = <2>; /* 2 mA */ + bias-pull-down; /* PULL DOWN */ + input-enable; + }; + }; + + lpi_i2s2_sd1_active: lpi_i2s2_sd1_active { + mux { + pins = "gpio16"; + function = "func1"; + }; + + config { + pins = "gpio16"; + drive-strength = <8>; /* 8 mA */ + bias-pull-down; /* PULL DOWN */ + output-high; + }; + }; + }; + + lpi_i2s3_sck { + lpi_i2s3_sck_sleep: lpi_i2s3_sck_sleep { + mux { + pins = "gpio19"; + function = "gpio"; + }; + + config { + pins = "gpio19"; + drive-strength = <2>; /* 2 mA */ + bias-pull-down; /* PULL DOWN */ + input-enable; + }; + }; + + lpi_i2s3_sck_active: lpi_i2s3_sck_active { + mux { + pins = "gpio19"; + function = "func1"; + }; + + config { + pins = "gpio19"; + drive-strength = <8>; /* 8 mA */ + bias-pull-down; /* PULL DOWN */ + output-high; + }; + }; + }; + + lpi_i2s3_ws { + lpi_i2s3_ws_sleep: lpi_i2s3_ws_sleep { + mux { + pins = "gpio20"; + function = "gpio"; + }; + + config { + pins = "gpio20"; + drive-strength = <2>; /* 2 mA */ + bias-pull-down; /* PULL DOWN */ + input-enable; + }; + }; + + lpi_i2s3_ws_active: lpi_i2s3_ws_active { + mux { + pins = "gpio20"; + function = "func1"; + }; + + config { + pins = "gpio20"; + drive-strength = <8>; /* 8 mA */ + bias-pull-down; /* PULL DOWN */ + output-high; + }; + }; + }; + + lpi_i2s3_sd0 { + lpi_i2s3_sd0_sleep: lpi_i2s3_sd0_sleep { + mux { + pins = "gpio21"; + function = "gpio"; + }; + + config { + pins = "gpio21"; + drive-strength = <2>; /* 2 mA */ + bias-pull-down; /* PULL DOWN */ + input-enable; + }; + }; + + lpi_i2s3_sd0_active: lpi_i2s3_sd0_active { + mux { + pins = "gpio21"; + function = "func1"; + }; + + config { + pins = "gpio21"; + drive-strength = <2>; /* 2 mA */ + bias-disable; /* NO PULL */ + input-enable; + }; + }; + }; + + lpi_i2s3_sd1 { + lpi_i2s3_sd1_sleep: lpi_i2s3_sd1_sleep { + mux { + pins = "gpio22"; + function = "gpio"; + }; + + config { + pins = "gpio22"; + drive-strength = <2>; /* 2 mA */ + bias-pull-down; /* PULL DOWN */ + input-enable; + }; + }; + + lpi_i2s3_sd1_active: lpi_i2s3_sd1_active { + mux { + pins = "gpio22"; + function = "func1"; + }; + + config { + pins = "gpio22"; + drive-strength = <8>; /* 8 mA */ + bias-pull-down; /* PULL DOWN */ + output-high; + }; + }; + }; + + lpi_i2s4_sck { + lpi_i2s4_sck_sleep: lpi_i2s4_sck_sleep { + mux { + pins = "gpio12"; + function = "gpio"; + }; + + config { + pins = "gpio12"; + drive-strength = <2>; /* 2 mA */ + bias-pull-down; /* PULL DOWN */ + input-enable; + }; + }; + + lpi_i2s4_sck_active: lpi_i2s4_sck_active { + mux { + pins = "gpio12"; + function = "func2"; + }; + + config { + pins = "gpio12"; + drive-strength = <2>; /* 2 mA */ + bias-disable; /* NO PULL */ + input-enable; + }; + }; + }; + + lpi_i2s4_ws { + lpi_i2s4_ws_sleep: lpi_i2s4_ws_sleep { + mux { + pins = "gpio13"; + function = "gpio"; + }; + + config { + pins = "gpio13"; + drive-strength = <2>; /* 2 mA */ + bias-pull-down; /* PULL DOWN */ + input-enable; + }; + }; + + lpi_i2s4_ws_active: lpi_i2s4_ws_active { + mux { + pins = "gpio13"; + function = "func2"; + }; + + config { + pins = "gpio13"; + drive-strength = <2>; /* 2 mA */ + bias-disable; /* NO PULL */ + input-enable; + }; + }; + }; + + lpi_i2s4_sd0 { + lpi_i2s4_sd0_sleep: lpi_i2s4_sd0_sleep { + mux { + pins = "gpio17"; + function = "gpio"; + }; + + config { + pins = "gpio17"; + drive-strength = <2>; /* 2 mA */ + bias-pull-down; /* PULL DOWN */ + input-enable; + }; + }; + + lpi_i2s4_sd0_active: lpi_i2s4_sd0_active { + mux { + pins = "gpio17"; + function = "func2"; + }; + + config { + pins = "gpio17"; + drive-strength = <2>; /* 2 mA */ + bias-disable; /* NO PULL */ + input-enable; + }; + }; + }; + + lpi_i2s4_sd1 { + lpi_i2s4_sd1_sleep: lpi_i2s4_sd1_sleep { + mux { + pins = "gpio18"; + function = "gpio"; + }; + + config { + pins = "gpio18"; + drive-strength = <2>; /* 2 mA */ + bias-pull-down; /* PULL DOWN */ + input-enable; + }; + }; + + lpi_i2s4_sd1_active: lpi_i2s4_sd1_active { + mux { + pins = "gpio18"; + function = "func2"; + }; + + config { + pins = "gpio18"; + drive-strength = <8>; /* 8 mA */ + bias-pull-down; /* PULL DOWN */ + output-high; + }; + }; + }; + }; +}; diff --git a/lemans-vm-audio.dtsi b/lemans-vm-audio.dtsi new file mode 100755 index 0000000..40e75eb --- /dev/null +++ b/lemans-vm-audio.dtsi @@ -0,0 +1,12 @@ +&soc { + snd_8255_ar: sound-adp-star { + compatible = "qcom,gvm-auto-spf-asoc-snd-adp-star"; + qcom,model = "gvmauto8255-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/lemans-vm-la-audio.dts b/lemans-vm-la-audio.dts new file mode 100755 index 0000000..391ca58 --- /dev/null +++ b/lemans-vm-la-audio.dts @@ -0,0 +1,14 @@ +/dts-v1/; +/plugin/; + +#include <dt-bindings/interrupt-controller/arm-gic.h> +#include <dt-bindings/regulator/qcom,rpmh-regulator-levels.h> + +#include "lemans-vm-audio.dtsi" + +/ { + model = "Qualcomm Technologies, Inc. Lemans Single LA Guest Virtual Machine"; + compatible = "qcom,lemans", "qcom,quinvm"; + qcom,msm-id = <532 0x20000>; + qcom,board-id = <0x0 0x1000001>; +}; diff --git a/lemans-vm-lv-audio.dts b/lemans-vm-lv-audio.dts new file mode 100755 index 0000000..d09fe44 --- /dev/null +++ b/lemans-vm-lv-audio.dts @@ -0,0 +1,14 @@ +/dts-v1/; +/plugin/; + +#include <dt-bindings/interrupt-controller/arm-gic.h> +#include <dt-bindings/regulator/qcom,rpmh-regulator-levels.h> + +#include "lemans-vm-audio.dtsi" + +/ { + model = "Qualcomm Technologies, Inc. Lemans Single LV Guest Virtual Machine"; + compatible = "qcom,lemans", "qcom,quinvm"; + qcom,msm-id = <532 0x20000>; + qcom,board-id = <0x0 0x1000002>; +}; diff --git a/monaco-amic-audio-idp-v2.dts b/monaco-amic-audio-idp-v2.dts new file mode 100755 index 0000000..00df8d8 --- /dev/null +++ b/monaco-amic-audio-idp-v2.dts @@ -0,0 +1,12 @@ +/dts-v1/; +/plugin/; + +#include "monaco-audio.dtsi" +#include "monaco-amic-audio.dtsi" + +/ { + model = "Qualcomm Technologies, Inc. Monaco standalone IDP V2.0"; + compatible = "qcom,monaco", "qcom,idp"; + qcom,board-id = <0x020022 0x1>; +}; + diff --git a/monaco-amic-audio.dtsi b/monaco-amic-audio.dtsi new file mode 100755 index 0000000..18e108b --- /dev/null +++ b/monaco-amic-audio.dtsi @@ -0,0 +1,55 @@ +#include "monaco-audio-overlay.dtsi" + +&rx_macro { + swr1: rx_swr_master { + qcom,swr-port-mapping = <1 HPH_L 0x1>, + <1 HPH_R 0x2>, <2 CLSH 0x1>, + <3 COMP_L 0x1>, <3 COMP_R 0x2>, + <4 LO 0x1>, <5 DSD_L 0x1>, + <5 DSD_R 0x2>, + <7 SWRM_TX1_CH1 0x1>, <7 SWRM_TX1_CH2 0x2>; + }; +}; + +&besbev_codec { + qcom,swr_ch_map = <0 SPKR_L 0x1 0 LO>, + <2 ADC1 0x1 0 SWRM_TX1_CH1>, <2 ADC2 0x2 0 SWRM_TX1_CH2>; +}; + +&monaco_snd { + qcom,model = "monaco-idp-amic-snd-card"; + qcom,msm-mi2s-master = <1>, <1>, <1>, <1>; + qcom,mi2s-audio-intf = <1>; + qcom,tdm-audio-intf = <0>; + qcom,wcn-btfm = <0>; + qcom,bt-slim-clk-src-ctrl = <1>; + qcom,va-bolero-codec = <1>; + qcom,visense-enable = <0>; + qcom,audio-routing = + "AMIC1", "Analog Mic1", + "Analog Mic1","MIC BIAS1", + "AMIC2", "Analog Mic2", + "Analog Mic2", "MIC BIAS2", + "SPKR_IN", "AUX_OUT", + "TX SWR_INPUT", "VA_TX_SWR_CLK", + "RX_SWR_TX_PCM_IN0", "RX_MCLK", + "RX_SWR_TX_PCM_IN1", "RX_MCLK", + "RX_SWR_TX_PCM_IN0", "ADC1_OUTPUT", + "RX_SWR_TX_PCM_IN1", "ADC2_OUTPUT", + "RX_TX DEC0_INP", "TX DEC0 MUX", + "RX_TX DEC1_INP", "TX DEC1 MUX", + "RX_TX DEC2_INP", "TX DEC2 MUX", + "RX_TX DEC3_INP", "TX DEC3 MUX", + "TX_AIF1 CAP", "VA_TX_SWR_CLK", + "TX_AIF2 CAP", "VA_TX_SWR_CLK", + "TX_AIF3 CAP", "VA_TX_SWR_CLK", + "VA SWR_INPUT", "VA_SWR_CLK", + "VA_AIF1 CAP", "VA_SWR_CLK", + "VA_AIF2 CAP", "VA_SWR_CLK", + "VA_AIF3 CAP", "VA_SWR_CLK"; + + nvmem-cells = <&adsp_variant>; + nvmem-cell-names = "adsp_variant"; + asoc-codec = <&stub_codec>, <&bolero>, <&besbev_codec>; + asoc-codec-names = "msm-stub-codec.1", "bolero_codec", "besbev_codec"; +}; diff --git a/monaco-audio-overlay.dtsi b/monaco-audio-overlay.dtsi index 466452b..1ae307d 100755 --- a/monaco-audio-overlay.dtsi +++ b/monaco-audio-overlay.dtsi @@ -210,6 +210,7 @@ qcom,mi2s-audio-intf = <1>; qcom,tdm-audio-intf = <0>; qcom,wcn-btfm = <1>; + qcom,bt-slim-clk-src-ctrl = <1>; qcom,va-bolero-codec = <1>; qcom,audio-routing = "TX DMIC0", "Digital Mic0", @@ -251,7 +252,7 @@ <&besbev_codec>; asoc-codec-names = "msm-stub-codec.1", "bolero_codec", "besbev_codec"; - qcom,msm_audio_ssr_devs = <&audio_gpr>, <&bolero>, <&lpi_tlmm>; + qcom,msm_audio_ssr_devs = <&audio_gpr>, <&lpi_tlmm>, <&bolero>; }; &soc { diff --git a/monaco-slate-amic-audio.dtsi b/monaco-slate-amic-audio.dtsi index e32559a..3bbc169 100755 --- a/monaco-slate-amic-audio.dtsi +++ b/monaco-slate-amic-audio.dtsi @@ -4,7 +4,7 @@ qcom,model = "monaco-idp-slate_amic-snd-card"; qcom,mi2s-audio-intf = <1>; qcom,cc-va-intf-enable = <1>; - qcom,wcn-btfm = <1>; + qcom,wcn-btfm = <0>; qcom,bt-slim-clk-src-ctrl = <1>; asoc-codec = <&cc_codec>; asoc-codec-names = "cc_codec"; diff --git a/monaco-slate-wsa-audio.dtsi b/monaco-slate-wsa-audio.dtsi index 8c2e69a..b5462c6 100755 --- a/monaco-slate-wsa-audio.dtsi +++ b/monaco-slate-wsa-audio.dtsi @@ -4,7 +4,7 @@ qcom,model = "monaco-idp-slate_wsa-snd-card"; qcom,mi2s-audio-intf = <1>; qcom,cc-va-intf-enable = <1>; - qcom,wcn-btfm = <1>; + qcom,wcn-btfm = <0>; qcom,bt-slim-clk-src-ctrl = <1>; asoc-codec = <&cc_codec>; asoc-codec-names = "cc_codec"; diff --git a/monaco-wsa-audio.dts b/monaco-wsa-audio.dts new file mode 100755 index 0000000..bcba5c0 --- /dev/null +++ b/monaco-wsa-audio.dts @@ -0,0 +1,11 @@ +/dts-v1/; +/plugin/; + +#include "monaco-audio.dtsi" +#include "monaco-wsa-audio.dtsi" + +/ { + model = "Qualcomm Technologies, Inc. Monaco standalone DP V3.0"; + compatible = "qcom,monaco", "qcom,idp"; + qcom,board-id = <0x030022 0x1>; +}; diff --git a/monaco-wsa-audio.dtsi b/monaco-wsa-audio.dtsi new file mode 100755 index 0000000..33f0f63 --- /dev/null +++ b/monaco-wsa-audio.dtsi @@ -0,0 +1,95 @@ +#include "monaco-audio-overlay.dtsi" + +&soc { + wsa_spkr_en: wsa_spkr_en_pinctrl { + compatible = "qcom,msm-cdc-pinctrl"; + pinctrl-names = "aud_active", "aud_sleep"; + pinctrl-0 = <&spkr_1_sd_n_active>; + pinctrl-1 = <&spkr_1_sd_n_sleep>; + }; +}; + +&besbev_codec { + status = "disabled"; +}; + +&besbev_rx_slave { + status = "disabled"; +}; + +&rx_macro { + compatible = "qcom,rx-macro"; + reg = <0x0a600000 0x0>; + clock-names = "rx_core_clk", "rx_npl_clk"; + clocks = <&clock_audio_rx_1 0>, + <&clock_audio_rx_2 0>; + qcom,rx-swr-gpios = <&rx_swr_gpios>; + qcom,rx_mclk_mode_muxsel = <0x0a5640d8>; + qcom,rx-bcl-pmic-params = /bits/ 8 <0x00 0x04 0x3E>; + qcom,default-clk-id = <TX_CORE_CLK>; + qcom,rx-wsa-enable = <1>; + swr1: rx_swr_master { + compatible = "qcom,swr-mstr"; + #address-cells = <2>; + #size-cells = <0>; + clock-names = "lpass_audio_hw_vote"; + clocks = <&lpass_audio_hw_vote 0>; + qcom,swr_master_id = <2>; + qcom,swrm-hctl-reg = <0x0a6a9098>; + qcom,mipi-sdw-block-packing-mode = <1>; + swrm-io-base = <0x0a610000 0x0>; + interrupts = <0 297 IRQ_TYPE_LEVEL_HIGH>; + interrupt-names = "swr_master_irq"; + qcom,swr-num-ports = <7>; + qcom,disable-div2-clk-switch = <1>; + qcom,swr-port-mapping = <1 HPH_L 0x1>, + <1 HPH_R 0x2>, <2 CLSH 0x1>, + <3 COMP_L 0x1>, <3 COMP_R 0x2>, + <4 LO 0x1>, <5 DSD_L 0x1>, + <5 DSD_R 0x2>, + <7 SWRM_TX1_CH1 0x1>, <7 SWRM_TX1_CH2 0x2>; + //<7 SWRM_RX_PCM_IN 0xF>; + qcom,swr-num-dev = <1>; + qcom,swr-clock-stop-mode0 = <1>; + wsa883x_0221: wsa883x@02170221 { + compatible = "qcom,wsa883x"; + reg = <0x2 0x2170221>; + qcom,spkr-sd-n-node = <&wsa_spkr_en>; + qcom,bolero-handle = <&bolero>; + cdc-vdd-1p8-supply = <&L19A>; + qcom,cdc-vdd-1p8-voltage = <1800000 1800000>; + qcom,cdc-vdd-1p8-current = <20000>; + qcom,cdc-static-supplies = "cdc-vdd-1p8"; + sound-name-prefix = "SpkrLeft"; + }; + + }; +}; + +&monaco_snd { + qcom,model = "monaco-idp-wsa-snd-card"; + qcom,wcn-btfm = <0>; + qcom,bt-slim-clk-src-ctrl = <1>; + qcom,audio-routing = + "SpkrLeft IN", "AUX_OUT", + "TX SWR_INPUT", "VA_TX_SWR_CLK", + "RX_TX DEC0_INP", "TX DEC0 MUX", + "RX_TX DEC1_INP", "TX DEC1 MUX", + "RX_TX DEC2_INP", "TX DEC2 MUX", + "RX_TX DEC3_INP", "TX DEC3 MUX", + "TX_AIF1 CAP", "VA_TX_SWR_CLK", + "TX_AIF2 CAP", "VA_TX_SWR_CLK", + "TX_AIF3 CAP", "VA_TX_SWR_CLK", + "VA SWR_INPUT", "VA_SWR_CLK", + "VA_AIF1 CAP", "VA_SWR_CLK", + "VA_AIF2 CAP", "VA_SWR_CLK", + "VA_AIF3 CAP", "VA_SWR_CLK"; + + asoc-codec = <&stub_codec>, <&bolero>, + <&wsa883x_0221>; + asoc-codec-names = "msm-stub-codec.1", "bolero_codec", + "wsa-codec1"; + qcom,wsa-max-devs = <1>; + qcom,wsa-devs = <&wsa883x_0221>; +}; + diff --git a/sa8155-audio.dtsi b/sa8155-audio.dtsi index de3db11..f39dbcf 100755 --- a/sa8155-audio.dtsi +++ b/sa8155-audio.dtsi @@ -640,6 +640,16 @@ dma-coherent; }; + spf_tdm_pri_rx: qcom,spf-msm-dai-tdm-pri-rx { + compatible = "qcom,msm-pcm-pinctrl"; + pinctrl-names = "default", "active"; + pinctrl-0 = <&pri_tdm_clk_sleep &pri_tdm_sync_sleep + &pri_tdm_din_sleep &pri_tdm_dout_sleep>; + pinctrl-1 = <&pri_tdm_clk_active &pri_tdm_sync_active + &pri_tdm_din_active &pri_tdm_dout_active>; + #gpio-cells = <0>; + }; + spf_tdm_sec_rx: qcom,spf-msm-dai-tdm-sec-rx { compatible = "qcom,msm-pcm-pinctrl"; pinctrl-names = "default", "active"; @@ -687,6 +697,7 @@ qcom,auxpcm-audio-intf; qcom,msm-mi2s-master = <1>, <1>, <1>, <1>, <1>; + qcom,pri-tdm-gpios = <&spf_tdm_pri_rx>; qcom,sec-tdm-gpios = <&spf_tdm_sec_rx>; qcom,tert-tdm-gpios = <&spf_tdm_tert_rx>; qcom,quat-tdm-gpios = <&spf_tdm_quat_rx>; diff --git a/sdxbaagha-audio-overlay.dtsi b/sdxbaagha-audio-overlay.dtsi index d7846d0..e81d865 100755 --- a/sdxbaagha-audio-overlay.dtsi +++ b/sdxbaagha-audio-overlay.dtsi @@ -92,23 +92,23 @@ clock-names = "wcd_clk"; clocks = <&clock_audio_up 0>; - cdc-vdd-buck-supply = <&pmx75_l6>; + cdc-vdd-buck-supply = <&pmx35_l6>; qcom,cdc-vdd-buck-voltage = <1800000 1800000>; qcom,cdc-vdd-buck-current = <650000>; - cdc-buck-sido-supply = <&pmx75_l6>; + cdc-buck-sido-supply = <&pmx35_l6>; qcom,cdc-buck-sido-voltage = <1800000 1800000>; qcom,cdc-buck-sido-current = <500000>; - cdc-vdd-tx-h-supply = <&pmx75_l6>; + cdc-vdd-tx-h-supply = <&pmx35_l6>; qcom,cdc-vdd-tx-h-voltage = <1800000 1800000>; qcom,cdc-vdd-tx-h-current = <25000>; - cdc-vdd-rx-h-supply = <&pmx75_l6>; + cdc-vdd-rx-h-supply = <&pmx35_l6>; qcom,cdc-vdd-rx-h-voltage = <1800000 1800000>; qcom,cdc-vdd-rx-h-current = <25000>; - cdc-vddpx-1-supply = <&pmx75_l6>; + cdc-vddpx-1-supply = <&pmx35_l6>; qcom,cdc-vddpx-1-voltage = <1800000 1800000>; qcom,cdc-vddpx-1-current = <10000>; diff --git a/sdxpinn-audio.dts b/sdxpinn-audio.dts index 8d9b292..af21c61 100755 --- a/sdxpinn-audio.dts +++ b/sdxpinn-audio.dts @@ -13,5 +13,5 @@ model = "Qualcomm Technologies, Inc. SDXPINN"; compatible = "qcom,sdxpinn"; qcom,msm-id = <556 0x10000>, <580 0x10000>; - qcom,board-id = <0x5010022 773>, <0x4010022 772>, <0x3020022 1027>, <0x4020022 772>, <0x20015 768>, <0x2020022 770>, <15 1024>, <0x10015 768>, <0x5020022 773>, <0x2010022 770>, <0x3010022 1027>, <0x4030022 772>; + qcom,board-id = <0x5010022 773>, <0x4010022 772>, <0x3020022 1027>, <0x4020022 772>, <0x20015 768>, <0x2020022 770>, <15 1024>, <0x10015 768>, <0x5020022 773>, <0x2010022 770>, <0x3010022 1027>, <0x4030022 772>, <0x2010022 0x402>; }; |