summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorQC Publisher <qcpublisher@qti.qualcomm.com>2022-12-16 20:29:51 -0800
committerAndrei Ciubotariu <aciubotariu@google.com>2022-12-18 01:45:04 +0000
commitd216a0cd948390505970ba70cbbfaf53a0b59e02 (patch)
treea964fae0c35bfb8c4c7a089188d6c1e80ee05ef9
parent25ba88080ccbda56471ae42c28a4dab59f816c1a (diff)
downloadaudio-devicetree-d216a0cd948390505970ba70cbbfaf53a0b59e02.tar.gz
Commit label r00019.1 - ES3 0.0.019.1
TRACKING-ID:f1f3f4b7-a63d-40aa-b0a4-54b2ac35ea6b
-rwxr-xr-xKbuild17
-rwxr-xr-xMakefile2
-rwxr-xr-xbindings/wcd_codec.txt14
-rwxr-xr-xkhaje-audio-atp.dts11
-rwxr-xr-xkhaje-audio-idp-nopmi.dts2
-rwxr-xr-xkhaje-audio-idp-pm8010.dts11
-rwxr-xr-xkhaje-audio-idp-usbc.dts17
-rwxr-xr-xkhaje-audio-idp.dts2
-rwxr-xr-xkhaje-audio-qrd-hvdcp3p5.dts2
-rwxr-xr-xkhaje-audio-qrd-nopmi.dts2
-rwxr-xr-xkhaje-audio-qrd.dts2
-rwxr-xr-xkhaje-audio.dts2
-rwxr-xr-xkhaje-nowcd.dts2
-rwxr-xr-xmonaco-audio-overlay.dtsi307
-rwxr-xr-xmonaco-audio-standalone-idp-v1.dts11
-rwxr-xr-xmonaco-audio.dts17
-rwxr-xr-xmonaco-audio.dtsi115
-rwxr-xr-xmonaco-dmic-audio.dts18
-rwxr-xr-xmonaco-dmic-audio.dtsi1
-rwxr-xr-xmonaco-idp-v1.dts11
-rwxr-xr-xmonaco-lpi.dtsi490
-rwxr-xr-xmsm-auto-vm-audio-lpass.dtsi81
-rwxr-xr-xsa410m-audio-idp.dts11
-rwxr-xr-xsa410m-audio-lpass.dtsi639
-rwxr-xr-xsa410m-audio-overlay.dtsi282
-rwxr-xr-xsa410m-audio.dtsi233
-rwxr-xr-xsa410m-lpi.dtsi2269
-rwxr-xr-xsa525m-audio-lpass.dtsi83
-rwxr-xr-xsa525m-audio-overlay.dtsi18
-rwxr-xr-xsa525m-audio.dts17
-rwxr-xr-xsa525m-audio.dtsi46
-rwxr-xr-xsa8155-vm-audio.dtsi24
-rwxr-xr-xsdx-wsa881x.dtsi2
-rwxr-xr-xsdxpinn-audio-overlay.dtsi2
-rwxr-xr-xsdxpinn-audio.dts2
-rwxr-xr-xsdxpinn-audio.dtsi5
-rwxr-xr-xsdxpinn-wcd.dtsi2
37 files changed, 4728 insertions, 44 deletions
diff --git a/Kbuild b/Kbuild
index 44ea964..a7bb5de 100755
--- a/Kbuild
+++ b/Kbuild
@@ -13,6 +13,10 @@ dtbo-y += kalama-audio.dtbo \
kalama-sg-audio-hhg.dtbo
endif
+ifeq ($(CONFIG_ARCH_MONACO), y)
+dtbo-y += monaco-dmic-audio.dtbo
+endif
+
ifeq ($(CONFIG_ARCH_SA8155), y)
dtbo-y += sa8155-audio.dtbo
endif
@@ -34,11 +38,22 @@ dtbo-y += khaje-audio.dtbo \
khajeg-audio-qrd-hvdcp3p5.dtbo \
khaje-audio-qrd-nopmi.dtbo \
khajeg-audio-qrd-nopmi.dtbo \
+ khaje-audio-atp.dtbo \
+ khaje-audio-idp-pm8010.dtbo \
+ khaje-audio-idp-usbc.dtbo \
khaje-nowcd.dtbo
endif
ifeq ($(CONFIG_ARCH_SDXPINN), y)
-dtbo-y += sdxpinn-audio.dtbo
+ ifeq ($(TARGET_SUPPORT), sa525m)
+ dtbo-y += sa525m-audio.dtbo
+ else
+ dtbo-y += sdxpinn-audio.dtbo
+ endif
+endif
+
+ifeq ($(TARGET_SUPPORT), sa410m)
+dtbo-y += sa410m-audio-idp.dtbo
endif
always-y := $(dtb-y) $(dtbo-y)
diff --git a/Makefile b/Makefile
index d541b81..6b5c4e3 100755
--- a/Makefile
+++ b/Makefile
@@ -1,5 +1,5 @@
AUDIO_DEVICETREE_ROOT=$(KERNEL_SRC)/$(M)
-AUDIO_KERNEL_ROOT=$(AUDIO_DEVICETREE_ROOT)/../../opensource/audio-kernel/include
+AUDIO_KERNEL_ROOT=$(AUDIO_DEVICETREE_ROOT)/../../../opensource/monaco/audio-kernel/include
KBUILD_OPTIONS += KBUILD_DTC_INCLUDE=$(AUDIO_KERNEL_ROOT)
KBUILD_OPTIONS += KBUILD_EXTMOD_DTS=.
diff --git a/bindings/wcd_codec.txt b/bindings/wcd_codec.txt
index 87ee1cf..1994f43 100755
--- a/bindings/wcd_codec.txt
+++ b/bindings/wcd_codec.txt
@@ -753,3 +753,17 @@ swr_dmic_01: dmic_swr@58350220 {
qcom,swr-dmic-supply = "MIC BIAS1 Standalone";
qcom,wcd-handle = <&wcd938x_codec>;
};
+
+PM5100 SPMI node
+
+pm5100_spmi: Child node of SPMI bus required for besbev codec
+ in order to access SPMI register to reset the peripheral.
+
+Required properties:
+ -compatible: "qcom,pm5100-spmi";
+
+&spmi_bus {
+ pm5100_cdc: qcom,pm5100-cdc {
+ compatible = "qcom,pm5100-spmi";
+ };
+};
diff --git a/khaje-audio-atp.dts b/khaje-audio-atp.dts
new file mode 100755
index 0000000..a21e197
--- /dev/null
+++ b/khaje-audio-atp.dts
@@ -0,0 +1,11 @@
+/dts-v1/;
+/plugin/;
+
+#include "bengal-audio-overlay.dtsi"
+/ {
+ model = "Qualcomm Technologies, Inc. Khaje ATP";
+ compatible = "qcom,khaje-atp", "qcom,khaje", "qcom,atp";
+ qcom,msm-id = <518 0x10000>, <586 0x10000>;
+ qcom,board-id = <33 0>;
+ qcom,pmic-id = <0x2D 0x2E 0x0 0x0>;
+};
diff --git a/khaje-audio-idp-nopmi.dts b/khaje-audio-idp-nopmi.dts
index 26c7ee3..310ab7f 100755
--- a/khaje-audio-idp-nopmi.dts
+++ b/khaje-audio-idp-nopmi.dts
@@ -5,7 +5,7 @@
/ {
model = "Qualcomm Technologies, Inc. Khaje IDP nopmi";
compatible = "qcom,khaje-idp", "qcom,khaje", "qcom,idp";
- qcom,msm-id = <518 0x10000>;
+ qcom,msm-id = <518 0x10000>, <586 0x10000>;
qcom,board-id = <0x10022 0>;
qcom,pmic-id = <0x2D 0x0 0x0 0x0>;
};
diff --git a/khaje-audio-idp-pm8010.dts b/khaje-audio-idp-pm8010.dts
new file mode 100755
index 0000000..3b953b1
--- /dev/null
+++ b/khaje-audio-idp-pm8010.dts
@@ -0,0 +1,11 @@
+/dts-v1/;
+/plugin/;
+
+#include "bengal-audio-overlay.dtsi"
+/ {
+ model = "Qualcomm Technologies, Inc. Khaje IDP with PM8010";
+ compatible = "qcom,khaje-idp", "qcom,khaje", "qcom,idp";
+ qcom,msm-id = <518 0x10000>, <586 0x10000>;
+ qcom,board-id = <0x10222 0>;
+ qcom,pmic-id = <0x2D 0x2E 0x0 0x0>;
+};
diff --git a/khaje-audio-idp-usbc.dts b/khaje-audio-idp-usbc.dts
new file mode 100755
index 0000000..d78f75f
--- /dev/null
+++ b/khaje-audio-idp-usbc.dts
@@ -0,0 +1,17 @@
+/dts-v1/;
+/plugin/;
+
+#include "bengal-audio-overlay.dtsi"
+/ {
+ model = "Qualcomm Technologies, Inc. KHAJE IDP USBC Audio";
+ compatible = "qcom,khaje-idp", "qcom,khaje", "qcom,idp";
+ qcom,msm-id = <518 0x10000>, <586 0x10000>;
+ qcom,board-id = <0x1010022 0>;
+ qcom,pmic-id = <0x2D 0x2E 0x0 0x0>;
+};
+
+&bengal_snd {
+ qcom,msm-mbhc-usbc-audio-supported = <1>;
+ qcom,msm-mbhc-hphl-swh = <0>;
+ qcom,msm-mbhc-gnd-swh = <0>;
+};
diff --git a/khaje-audio-idp.dts b/khaje-audio-idp.dts
index 7c411f2..7a6f228 100755
--- a/khaje-audio-idp.dts
+++ b/khaje-audio-idp.dts
@@ -5,7 +5,7 @@
/ {
model = "Qualcomm Technologies, Inc. Khaje IDP";
compatible = "qcom,khaje-idp", "qcom,khaje", "qcom,idp";
- qcom,msm-id = <518 0x10000>;
+ qcom,msm-id = <518 0x10000>, <586 0x10000>;
qcom,board-id = <0x10022 0>;
qcom,pmic-id = <0x2D 0x2E 0x0 0x0>;
};
diff --git a/khaje-audio-qrd-hvdcp3p5.dts b/khaje-audio-qrd-hvdcp3p5.dts
index 580d5af..e45edd4 100755
--- a/khaje-audio-qrd-hvdcp3p5.dts
+++ b/khaje-audio-qrd-hvdcp3p5.dts
@@ -5,7 +5,7 @@
/ {
model = "Qualcomm Technologies, Inc. Khaje QRD HVDCP3P5";
compatible = "qcom,khaje-qrd", "qcom,khaje", "qcom,qrd";
- qcom,msm-id = <518 0x10000>;
+ qcom,msm-id = <518 0x10000>, <586 0x10000>;
qcom,board-id = <0x1010B 0>;
qcom,pmic-id = <0x2D 0x2E 0x0 0x0>;
};
diff --git a/khaje-audio-qrd-nopmi.dts b/khaje-audio-qrd-nopmi.dts
index a6c6a57..acd78ff 100755
--- a/khaje-audio-qrd-nopmi.dts
+++ b/khaje-audio-qrd-nopmi.dts
@@ -5,7 +5,7 @@
/ {
model = "Qualcomm Technologies, Inc. KHAJE QRD nopmi overlay";
compatible = "qcom,khaje-qrd", "qcom,khaje", "qcom,qrd";
- qcom,msm-id = <518 0x10000>;
+ qcom,msm-id = <518 0x10000>, <586 0x10000>;
qcom,board-id = <0x1000B 0>;
qcom,pmic-id = <0x2D 0x0 0x0 0x0>;
};
diff --git a/khaje-audio-qrd.dts b/khaje-audio-qrd.dts
index b785ce2..3e647e7 100755
--- a/khaje-audio-qrd.dts
+++ b/khaje-audio-qrd.dts
@@ -5,7 +5,7 @@
/ {
model = "Qualcomm Technologies, Inc. Khaje QRD";
compatible = "qcom,khaje-qrd", "qcom,khaje", "qcom,qrd";
- qcom,msm-id = <518 0x10000>;
+ qcom,msm-id = <518 0x10000>, <586 0x10000>;
qcom,board-id = <0x1000B 0>;
qcom,pmic-id = <0x2D 0x2E 0x0 0x0>;
};
diff --git a/khaje-audio.dts b/khaje-audio.dts
index 459b553..73ef323 100755
--- a/khaje-audio.dts
+++ b/khaje-audio.dts
@@ -9,6 +9,6 @@
/ {
model = "Qualcomm Technologies, Inc. Khaje SoC";
compatible = "qcom,khaje";
- qcom,msm-id = <518 0x10000>, <585 0x10000>;
+ qcom,msm-id = <518 0x10000>, <585 0x10000>, <586 0x10000>;
qcom,board-id = <0 0>;
};
diff --git a/khaje-nowcd.dts b/khaje-nowcd.dts
index cde626b..ad486a5 100755
--- a/khaje-nowcd.dts
+++ b/khaje-nowcd.dts
@@ -9,7 +9,7 @@
/ {
model = "Qualcomm Technologies, Inc. Khaje QRD NOWCD9375";
compatible = "qcom,khaje-qrd", "qcom,khaje", "qcom,qrd";
- qcom,msm-id = <518 0x10000>;
+ qcom,msm-id = <518 0x10000>, <586 0x10000>;
qcom,board-id = <0x2010B 0>;
qcom,pmic-id = <0x2D 0x2E 0x0 0x0>;
};
diff --git a/monaco-audio-overlay.dtsi b/monaco-audio-overlay.dtsi
new file mode 100755
index 0000000..7cee41a
--- /dev/null
+++ b/monaco-audio-overlay.dtsi
@@ -0,0 +1,307 @@
+#include <bindings/qcom,audio-ext-clk.h>
+#include <bindings/qcom,lpass-cdc-clk-rsc.h>
+#include <bindings/audio-codec-port-types.h>
+#include <dt-bindings/interrupt-controller/arm-gic.h>
+#include "monaco-lpi.dtsi"
+
+&bolero{
+ qcom,num-macros = <3>;
+ qcom,bolero-version = <6>;
+ #address-cells = <1>;
+ #size-cells = <1>;
+ bolero-clk-rsc-mngr {
+ compatible = "qcom,bolero-clk-rsc-mngr";
+ qcom,fs-gen-sequence = <0x3000 0x1 0x1>, <0x3004 0x3 0x3>,
+ <0x3004 0x3 0x1>, <0x3080 0x2 0x2>;
+ qcom,rx_mclk_mode_muxsel = <0x0a5640d8>;
+ qcom,va_mclk_mode_muxsel = <0x0a7a0000>;
+ clock-names = "tx_core_clk", "tx_npl_clk", "rx_core_clk", "rx_npl_clk",
+ "va_core_clk", "va_npl_clk";
+ clocks = <&clock_audio_tx_1 0>, <&clock_audio_tx_2 0>,
+ <&clock_audio_rx_1 0>, <&clock_audio_rx_2 0>,
+ <&clock_audio_va_1 0>, <&clock_audio_va_2 0>;
+ };
+
+ tx_macro: tx-macro@0a620000 {
+ compatible = "qcom,tx-macro";
+ reg = <0x0a620000 0x0>;
+ clock-names = "tx_core_clk", "tx_npl_clk";
+ clocks = <&clock_audio_tx_1 0>,
+ <&clock_audio_tx_2 0>;
+ qcom,tx-dmic-sample-rate = <2400000>;
+ qcom,is-used-swr-gpio = <0>;
+ };
+
+ rx_macro: rx-macro@0a600000 {
+ 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>;
+ 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>;
+ qcom,swr-master-version = <0x01060000>;
+ 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>;
+ besbev_rx_slave: besbev-rx-slave {
+ compatible = "qcom,besbev-slave";
+ reg = <0x03 0x02170223>;
+ };
+ };
+ };
+
+ va_macro: va-macro@0a730000 {
+ compatible = "qcom,va-macro";
+ reg = <0x0a730000 0x0>;
+ clock-names = "lpass_audio_hw_vote";
+ clocks = <&lpass_audio_hw_vote 0>;
+ qcom,va-dmic-sample-rate = <600000>;
+ qcom,va-clk-mux-select = <1>;
+ qcom,va-island-mode-muxsel = <0x0a7a0000>;
+ qcom,default-clk-id = <TX_CORE_CLK>;
+ qcom,is-used-swr-gpio = <1>;
+ qcom,va-swr-gpios = <&va_swr_gpios>;
+ swr0: va_swr_master {
+ compatible = "qcom,swr-mstr";
+ status = "disabled";
+ #address-cells = <2>;
+ #size-cells = <0>;
+ clock-names = "lpass_audio_hw_vote";
+ clocks = <&lpass_audio_hw_vote 0>;
+ qcom,swr_master_id = <3>;
+ qcom,swrm-hctl-reg = <0x0a7ec100>;
+ qcom,mipi-sdw-block-packing-mode = <1>;
+ swrm-io-base = <0x0a740000 0x0>;
+ interrupts =
+ <0 296 IRQ_TYPE_LEVEL_HIGH>,
+ <0 79 IRQ_TYPE_LEVEL_HIGH>;
+ interrupt-names = "swr_master_irq", "swr_wake_irq";
+ qcom,swr-wakeup-required = <1>;
+ qcom,swr-num-ports = <3>;
+ qcom,swr-port-mapping = <1 ADC1 0x1>, <1 ADC2 0x2>,
+ <1 ADC3 0x4>, <1 ADC4 0x8>,
+ <2 DMIC0 0x1>, <2 DMIC1 0x2>,
+ <2 DMIC2 0x4>, <2 DMIC3 0x8>,
+ <3 DMIC4 0x1>, <3 DMIC5 0x2>,
+ <3 DMIC6 0x4>, <3 DMIC7 0x8>;
+ qcom,swr-num-dev = <1>;
+ qcom,swr-clock-stop-mode0 = <1>;
+ qcom,swr-mstr-irq-wakeup-capable = <1>;
+ besbev_tx_slave: besbev-tx-slave {
+ compatible = "qcom,besbev-slave";
+ reg = <0x03 0x02170223>;
+ };
+ };
+ };
+
+ besbev_codec: besbev-codec {
+ compatible = "qcom,besbev-codec";
+ qcom,split-codec = <1>;
+ qcom,pmic-spmi-node = <&pm5100_cdc>;
+ qcom,wcd-reset-reg = <0x0000FCDB>;
+ qcom,foundry-id-reg = <0x000001F2>;
+ //TODO:
+ qcom,swr_ch_map = <0 SPKR_L 0x1 0 LO>,
+ <2 ADC1 0x1 0 SWRM_TX1_CH1>,
+ <2 ADC2 0x2 0 SWRM_TX1_CH2>;
+ //<3 SPKR_L_VI 0x3 0 SWRM_RX_PCM_IN>;
+
+ qcom,besbev-slave = <&besbev_rx_slave>;
+ qcom,speaker-present = <1>;
+ qcom,comp-support = <0>;
+
+ cdc-mic-bias-supply = <&L28A>;
+ qcom,cdc-mic-bias-voltage = <2904000 2904000>;
+ qcom,cdc-mic-bias-current = <1180>;
+
+ cdc-vdd-spkr-supply = <&SPKR_BOOST>;
+ qcom,cdc-vdd-spkr-voltage = <5500000 5500000>;
+ qcom,cdc-vdd-spkr-current = <700000>;
+
+ qcom,cdc-micbias1-mv = <1800>;
+ qcom,cdc-micbias2-mv = <1800>;
+
+ qcom,cdc-static-supplies = "cdc-mic-bias";
+ qcom,cdc-on-demand-supplies = "cdc-vdd-spkr";
+ };
+
+};
+
+&spf_core_platform {
+ monaco_snd: sound {
+ qcom,mi2s-audio-intf = <0>;
+ qcom,cc-va-intf-enable = <0>;
+ qcom,auxpcm-audio-intf = <0>;
+ qcom,tdm-audio-intf = <0>;
+ qcom,wcn-btfm = <0>;
+ qcom,afe-rxtx-lb = <0>;
+
+ };
+
+ cdc_dmic01_gpios: cdc_dmic01_pinctrl {
+ compatible = "qcom,msm-cdc-pinctrl";
+ pinctrl-names = "aud_active", "aud_sleep";
+ pinctrl-0 = <&cdc_dmic01_clk_active &cdc_dmic01_data_active>;
+ pinctrl-1 = <&cdc_dmic01_clk_sleep &cdc_dmic01_data_sleep>;
+ qcom,lpi-gpios;
+ #gpio-cells = <0>;
+ };
+
+ cdc_dmic23_gpios: cdc_dmic23_pinctrl {
+ compatible = "qcom,msm-cdc-pinctrl";
+ pinctrl-names = "aud_active", "aud_sleep";
+ pinctrl-0 = <&cdc_dmic23_clk_active &cdc_dmic23_data_active>;
+ pinctrl-1 = <&cdc_dmic23_clk_sleep &cdc_dmic23_data_sleep>;
+ qcom,lpi-gpios;
+ #gpio-cells = <0>;
+ };
+
+ rx_swr_gpios: rx_swr_clk_data_pinctrl {
+ compatible = "qcom,msm-cdc-pinctrl";
+ pinctrl-names = "aud_active", "aud_sleep";
+ pinctrl-0 = <&rx_swr_clk_active &rx_swr_data_active>;
+ pinctrl-1 = <&rx_swr_clk_sleep &rx_swr_data_sleep>;
+ qcom,lpi-gpios;
+ #gpio-cells = <0>;
+ };
+
+ va_swr_gpios: va_swr_clk_data_pinctrl {
+ compatible = "qcom,msm-cdc-pinctrl";
+ pinctrl-names = "aud_active", "aud_sleep";
+ pinctrl-0 = <&tx_swr_clk_active &tx_swr_data1_active
+ &tx_swr_data2_active>;
+ pinctrl-1 = <&tx_swr_clk_sleep &tx_swr_data1_sleep
+ &tx_swr_data2_sleep>;
+ qcom,lpi-gpios;
+ qcom,chip-wakeup-reg = <0x003ca064>;
+ qcom,chip-wakeup-maskbit = <0>;
+ qcom,chip-wakeup-default-val = <0x1>;
+ #gpio-cells = <0>;
+ };
+
+};
+
+&monaco_snd {
+ qcom,model = "monaco-idp-snd-card";
+ qcom,msm-mi2s-master = <1>, <1>, <1>, <1>;
+ qcom,mi2s-audio-intf = <1>;
+ qcom,tdm-audio-intf = <0>;
+ //qcom,wcn-btfm = <1>;
+ qcom,va-bolero-codec = <1>;
+ qcom,audio-routing =
+ "TX DMIC0", "Digital Mic0",
+ "Digital Mic0", "MIC BIAS1",
+ "TX DMIC1", "Digital Mic1",
+ "Digital Mic1", "MIC BIAS1",
+ "TX DMIC2", "Digital Mic2",
+ "Digital Mic2", "MIC BIAS2",
+ "TX DMIC3", "Digital Mic3",
+ "Digital Mic3", "MIC BIAS2",
+ "SPKR_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",
+ "VA DMIC0", "Digital Mic0",
+ "VA DMIC1", "Digital Mic1",
+ "VA DMIC2", "Digital Mic2",
+ "VA DMIC3", "Digital Mic3",
+ "VA DMIC0", "VA MIC BIAS1",
+ "VA DMIC1", "VA MIC BIAS1",
+ "VA DMIC2", "VA MIC BIAS2",
+ "VA DMIC3", "VA MIC BIAS2";
+
+ qcom,cdc-dmic01-gpios = <&cdc_dmic01_gpios>;
+ qcom,cdc-dmic23-gpios = <&cdc_dmic23_gpios>;
+
+ 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";
+ qcom,msm_audio_ssr_devs = <&audio_gpr>, <&bolero>, <&lpi_tlmm>;
+};
+
+&soc {
+
+ clock_audio_rx_1: rx_core_clk {
+ compatible = "qcom,audio-ref-clk";
+ qcom,codec-ext-clk-src = <AUDIO_LPASS_MCLK_4>;
+ qcom,codec-lpass-ext-clk-freq = <22579200>;
+ qcom,codec-lpass-clk-id = <0x30E>;
+ #clock-cells = <1>;
+ };
+
+ clock_audio_rx_2: rx_npl_clk {
+ compatible = "qcom,audio-ref-clk";
+ qcom,codec-ext-clk-src = <AUDIO_LPASS_MCLK_5>;
+ qcom,codec-lpass-ext-clk-freq = <22579200>;
+ qcom,codec-lpass-clk-id = <0x30F>;
+ #clock-cells = <1>;
+ };
+
+ clock_audio_tx_1: tx_core_clk {
+ compatible = "qcom,audio-ref-clk";
+ qcom,codec-ext-clk-src = <AUDIO_LPASS_MCLK_6>;
+ qcom,codec-lpass-ext-clk-freq = <19200000>;
+ qcom,codec-lpass-clk-id = <0x30C>;
+ #clock-cells = <1>;
+ };
+
+ clock_audio_tx_2: tx_npl_clk {
+ compatible = "qcom,audio-ref-clk";
+ qcom,codec-ext-clk-src = <AUDIO_LPASS_MCLK_7>;
+ qcom,codec-lpass-ext-clk-freq = <19200000>;
+ qcom,codec-lpass-clk-id = <0x30D>;
+ #clock-cells = <1>;
+ };
+
+ clock_audio_va_1: va_core_clk {
+ 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 = <0x307>;
+ #clock-cells = <1>;
+ };
+
+ clock_audio_va_2: va_npl_clk {
+ 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 = <0x308>;
+ #clock-cells = <1>;
+ };
+};
+
diff --git a/monaco-audio-standalone-idp-v1.dts b/monaco-audio-standalone-idp-v1.dts
new file mode 100755
index 0000000..570dd23
--- /dev/null
+++ b/monaco-audio-standalone-idp-v1.dts
@@ -0,0 +1,11 @@
+/dts-v1/;
+/plugin/;
+
+#include"monaco-audio-overlay.dtsi"
+
+/ {
+ model = "Qualcomm Technologies, Inc. Monaco standalone IDP V1.0";
+ qcom,board-id = <0x010022 0x1>;
+};
+
+
diff --git a/monaco-audio.dts b/monaco-audio.dts
new file mode 100755
index 0000000..6348b29
--- /dev/null
+++ b/monaco-audio.dts
@@ -0,0 +1,17 @@
+/dts-v1/;
+/plugin/;
+
+#include <dt-bindings/interrupt-controller/arm-gic.h>
+#include <dt-bindings/clock/qcom,gcc-monaco.h>
+#include <dt-bindings/interconnect/qcom,monaco.h>
+#include <dt-bindings/regulator/qcom,rpmh-regulator-levels.h>
+
+#include "monaco-audio.dtsi"
+
+/ {
+ model = "Qualcomm Technologies, Inc. Monaco";
+ compatible = "qcom,monaco";
+ qcom,msm-id = <486 0x10000>;
+ qcom,board-id = <0 0>;
+};
+
diff --git a/monaco-audio.dtsi b/monaco-audio.dtsi
new file mode 100755
index 0000000..ee2eef5
--- /dev/null
+++ b/monaco-audio.dtsi
@@ -0,0 +1,115 @@
+#include <bindings/qcom,audio-ext-clk.h>
+#include <bindings/qcom,gpr.h>
+#include "msm-audio-lpass.dtsi"
+
+&soc {
+ 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>;
+ };
+
+ spf_core_platform: spf_core_platform {
+ compatible = "qcom,spf-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 {
+ msm_audio_ion: qcom,msm-audio-ion {
+ compatible = "qcom,msm-audio-ion";
+ qcom,smmu-version = <2>;
+ qcom,smmu-enabled;
+ iommus = <&apps_smmu 0x01c1 0x0>;
+ qcom,smmu-sid-mask = /bits/ 64 <0xf>;
+ qcom,iommu-dma-addr-pool = <0x10000000 0x10000000>;
+ };
+
+ bolero:bolero-cdc {
+ compatible = "qcom,bolero-codec";
+ clock-names = "lpass_audio_hw_vote";
+ clocks = <&lpass_audio_hw_vote 0>;
+ bolero-clk-rsc-mngr {
+ compatible = "qcom,bolero-clk-rsc-mngr";
+ };
+
+ va_macro: va-macro@0a730000 {
+ swr0: va_swr_master {
+ };
+ };
+
+ rx_macro: rx-macro@0a600000 {
+ swr1: rx_swr_master {
+ _i2s1_sd0_sleepstatus = "okay";
+ };
+ };
+ };
+
+ lpi_tlmm: lpi_pinctrl@0a7c0000 {
+ compatible = "qcom,lpi-pinctrl";
+ reg = <0x0a7c0000 0x0>;
+ qcom,slew-reg = <0x0a95a000 0x0>;
+ qcom,gpios-count = <19>;
+ gpio-controller;
+ #gpio-cells = <2>;
+ qcom,lpi-offset-tbl = <0x00000000>, <0x00001000>,
+ <0x00002000>, <0x00003000>,
+ <0x00004000>, <0x00005000>,
+ <0x00006000>, <0x00007000>,
+ <0x00008000>, <0x00009000>,
+ <0x0000A000>, <0x0000B000>,
+ <0x0000C000>, <0x0000D000>,
+ <0x0000E000>, <0x0000F000>,
+ <0x00010000>, <0x00011000>,
+ <0x00012000>;
+ qcom,lpi-slew-offset-tbl = <0x00000000>, <0x00000002>,
+ <0x00000004>, <0x00000008>,
+ <0x0000000A>, <0x0000000C>,
+ <0x00000000>, <0x00000000>,
+ <0x00000000>, <0x00000000>,
+ <0x00000000>, <0x00000000>,
+ <0x00000000>, <0x00000000>,
+ <0x00000000>, <0x00000000>,
+ <0x00000000>, <0x00000000>,
+ <0x00000014>;
+
+ clock-names = "lpass_audio_hw_vote";
+ clocks = <&lpass_audio_hw_vote 0>;
+ };
+
+ monaco_snd: sound {
+ compatible = "qcom,monaco-asoc-snd";
+ qcom,mi2s-audio-intf = <0>;
+ qcom,cc-va-intf-enable = <0>;
+ };
+
+};
+
diff --git a/monaco-dmic-audio.dts b/monaco-dmic-audio.dts
new file mode 100755
index 0000000..7bc1ca8
--- /dev/null
+++ b/monaco-dmic-audio.dts
@@ -0,0 +1,18 @@
+/dts-v1/;
+/plugin/;
+
+#include <dt-bindings/interrupt-controller/arm-gic.h>
+#include <dt-bindings/clock/qcom,gcc-monaco.h>
+#include <dt-bindings/interconnect/qcom,monaco.h>
+#include <dt-bindings/regulator/qcom,rpmh-regulator-levels.h>
+
+#include "monaco-audio.dtsi"
+#include "monaco-dmic-audio.dtsi"
+
+/ {
+ qcom,msm-id = <486 0x10000>;
+ qcom,board-id = <0x010022 0x1>;
+
+};
+
+
diff --git a/monaco-dmic-audio.dtsi b/monaco-dmic-audio.dtsi
new file mode 100755
index 0000000..d44dee3
--- /dev/null
+++ b/monaco-dmic-audio.dtsi
@@ -0,0 +1 @@
+#include "monaco-audio-overlay.dtsi"
diff --git a/monaco-idp-v1.dts b/monaco-idp-v1.dts
new file mode 100755
index 0000000..c4ac274
--- /dev/null
+++ b/monaco-idp-v1.dts
@@ -0,0 +1,11 @@
+/dts-v1/;
+/plugin/;
+
+#include "monaco-audio-overlay.dtsi"
+
+/ {
+ model = "Qualcomm Technologies, Inc. Monaco IDP V1.0";
+ compatible = "qcom,monaco", "qcom,idp";
+ qcom,board-id = <0x010022 0x0>;
+};
+
diff --git a/monaco-lpi.dtsi b/monaco-lpi.dtsi
new file mode 100755
index 0000000..793e0f2
--- /dev/null
+++ b/monaco-lpi.dtsi
@@ -0,0 +1,490 @@
+&lpi_tlmm {
+ quat_mi2s_sck {
+ quat_mi2s_sck_sleep: quat_mi2s_sck_sleep {
+ mux {
+ pins = "gpio0";
+ function = "func2";
+ };
+
+ 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-disable; /* NO PULL */
+ input-enable;
+ };
+ };
+ };
+
+ quat_mi2s_ws {
+ quat_mi2s_ws_sleep: quat_mi2s_ws_sleep {
+ mux {
+ pins = "gpio1";
+ function = "func2";
+ };
+
+ 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-disable; /* NO PULL */
+ input-enable;
+ };
+ };
+ };
+
+ quat_mi2s_sd0 {
+ quat_mi2s_sd0_sleep: quat_mi2s_sd0_sleep {
+ mux {
+ pins = "gpio2";
+ function = "func2";
+ };
+
+ 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 = <8>; /* 8 mA */
+ bias-disable; /* NO PULL */
+ input-enable;
+ };
+ } ;
+} ;
+
+ quat_mi2s_sd1 {
+ quat_mi2s_sd1_sleep: quat_mi2s_sd1_sleep {
+ mux {
+ pins = "gpio3";
+ function = "func2";
+ };
+
+ 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-disable; /* NO PULL */
+ input-enable;
+ };
+ };
+ };
+
+ tx_swr_clk_sleep: tx_swr_clk_sleep {
+ mux {
+ pins = "gpio0";
+ function = "func1";
+ input-enable;
+ bias-pull-down;
+ };
+
+ config {
+ pins = "gpio0";
+ drive-strength = <10>;
+ };
+ };
+
+ tx_swr_clk_active: tx_swr_clk_active {
+ mux {
+ pins = "gpio0";
+ function = "func1";
+ };
+
+ config {
+ pins = "gpio0";
+ drive-strength = <10>;
+ slew-rate = <3>;
+ bias-disable;
+ };
+ };
+
+ tx_swr_data1_sleep: tx_swr_data1_sleep {
+ mux {
+ pins = "gpio1";
+ function = "func1";
+ };
+
+ config {
+ pins = "gpio1";
+ drive-strength = <10>;
+ input-enable;
+ bias-bus-hold;
+ };
+ };
+
+ tx_swr_data1_active: tx_swr_data1_active {
+ mux {
+ pins = "gpio1";
+ function = "func1";
+ };
+
+ config {
+ pins = "gpio1";
+ drive-strength = <10>;
+ slew-rate = <3>;
+ bias-bus-hold;
+ };
+ };
+
+ tx_swr_data2_sleep: tx_swr_data2_sleep {
+ mux {
+ pins = "gpio2";
+ function = "func1";
+ };
+
+ config {
+ pins = "gpio2";
+ drive-strength = <10>;
+ input-enable;
+ bias-pull-down;
+ };
+ };
+
+ tx_swr_data2_active: tx_swr_data2_active {
+ mux {
+ pins = "gpio2";
+ function = "func1";
+ };
+
+ config {
+ pins = "gpio2";
+ drive-strength = <10>;
+ slew-rate = <3>;
+ bias-bus-hold;
+ };
+ };
+
+ rx_swr_clk_sleep: rx_swr_clk_sleep {
+ mux {
+ pins = "gpio3";
+ function = "func1";
+ };
+
+ config {
+ pins = "gpio3";
+ drive-strength = <10>;
+ input-enable;
+ bias-pull-down;
+ };
+ };
+
+ rx_swr_clk_active: rx_swr_clk_active {
+ mux {
+ pins = "gpio3";
+ function = "func1";
+ };
+
+ config {
+ pins = "gpio3";
+ drive-strength = <10>;
+ slew-rate = <3>;
+ bias-disable;
+ };
+ };
+
+ rx_swr_data_sleep: rx_swr_data_sleep {
+ mux {
+ pins = "gpio4";
+ function = "func1";
+ };
+
+ config {
+ pins = "gpio4";
+ drive-strength = <10>;
+ input-enable;
+ bias-pull-down;
+ };
+ };
+
+ rx_swr_data_active: rx_swr_data_active {
+ mux {
+ pins = "gpio4";
+ function = "func1";
+ };
+
+ config {
+ pins = "gpio4";
+ drive-strength = <10>;
+ slew-rate = <3>;
+ bias-bus-hold;
+ };
+ };
+
+ cdc_dmic01_clk_active: dmic01_clk_active {
+ mux {
+ pins = "gpio6";
+ function = "func1";
+ };
+
+ config {
+ pins = "gpio6";
+ drive-strength = <8>;
+ output-high;
+ };
+ };
+
+ cdc_dmic01_clk_sleep: dmic01_clk_sleep {
+ mux {
+ pins = "gpio6";
+ function = "func1";
+ };
+
+ config {
+ pins = "gpio6";
+ drive-strength = <2>;
+ bias-disable;
+ output-low;
+ };
+ };
+
+ cdc_dmic01_data_active: dmic01_data_active {
+ mux {
+ pins = "gpio7";
+ function = "func1";
+ };
+
+ config {
+ pins = "gpio7";
+ drive-strength = <8>;
+ input-enable;
+ };
+ };
+
+ cdc_dmic01_data_sleep: dmic01_data_sleep {
+ mux {
+ pins = "gpio7";
+ function = "func1";
+ };
+
+ config {
+ pins = "gpio7";
+ drive-strength = <2>;
+ pull-down;
+ input-enable;
+ };
+ };
+
+ cdc_dmic23_clk_active: dmic23_clk_active {
+ mux {
+ pins = "gpio8";
+ function = "func1";
+ };
+
+ config {
+ pins = "gpio8";
+ drive-strength = <8>;
+ output-high;
+ };
+ };
+
+ cdc_dmic23_clk_sleep: dmic23_clk_sleep {
+ mux {
+ pins = "gpio8";
+ function = "func1";
+ };
+
+ config {
+ pins = "gpio8";
+ drive-strength = <2>;
+ bias-disable;
+ output-low;
+ };
+ };
+
+ cdc_dmic23_data_active: dmic23_data_active {
+ mux {
+ pins = "gpio9";
+ function = "func1";
+ };
+
+ config {
+ pins = "gpio9";
+ drive-strength = <8>;
+ input-enable;
+ };
+ };
+
+ cdc_dmic23_data_sleep: dmic23_data_sleep {
+ mux {
+ pins = "gpio9";
+ function = "func1";
+ };
+
+ config {
+ pins = "gpio9";
+ drive-strength = <2>;
+ pull-down;
+ input-enable;
+ };
+ };
+
+ lpi_i2s1_sck {
+ lpi_i2s1_sck_sleep: lpi_i2s1_sck_sleep {
+ mux {
+ pins = "gpio6";
+ function = "func2";
+ };
+
+ 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-disable; /* NO PULL */
+ input-enable;
+ };
+ };
+ };
+
+ lpi_i2s1_ws {
+ lpi_i2s1_ws_sleep: lpi_i2s1_ws_sleep {
+ mux {
+ pins = "gpio7";
+ function = "func2";
+ };
+
+ 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-disable; /* NO PULL */
+ input-enable;
+ };
+ };
+ };
+
+ lpi_i2s1_sd0 {
+ lpi_i2s1_sd0_sleep: lpi_i2s1_sd0_sleep {
+ mux {
+ pins = "gpio8";
+ function = "func2";
+ };
+
+ 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 = <8>; /* 8 mA */
+ bias-disable; /* NO PULL */
+ input-enable;
+ };
+ };
+ };
+
+ lpi_i2s1_sd1 {
+ lpi_i2s1_sd1_sleep: lpi_i2s1_sd1_sleep {
+ mux {
+ pins = "gpio9";
+ function = "func2";
+ };
+
+ 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-disable; /* NO PULL */
+ input-enable;
+ };
+ };
+ };
+};
+
diff --git a/msm-auto-vm-audio-lpass.dtsi b/msm-auto-vm-audio-lpass.dtsi
index 2a1d134..5ba47d9 100755
--- a/msm-auto-vm-audio-lpass.dtsi
+++ b/msm-auto-vm-audio-lpass.dtsi
@@ -404,7 +404,7 @@
};
};
- dai_pri_auxpcm: qcom,msm-pri-auxpcm {
+ dai_pri_auxpcm_rx: qcom,msm-pri-auxpcm_rx {
compatible = "qcom,msm-auxpcm-dev";
qcom,msm-cpudai-auxpcm-mode = <0>, <0>;
qcom,msm-cpudai-auxpcm-sync = <1>, <1>;
@@ -414,11 +414,11 @@
qcom,msm-cpudai-auxpcm-slot-mapping = <1>, <1>;
qcom,msm-cpudai-auxpcm-data = <0>, <0>;
qcom,msm-cpudai-auxpcm-pcm-clk-rate = <2048000>, <2048000>;
- qcom,msm-auxpcm-interface = "primary";
+ qcom,msm-auxpcm-interface = "primaryRx";
qcom,msm-cpudai-afe-clk-ver = <2>;
};
- dai_sec_auxpcm: qcom,msm-sec-auxpcm {
+ dai_pri_auxpcm_tx: qcom,msm-pri-auxpcm_tx {
compatible = "qcom,msm-auxpcm-dev";
qcom,msm-cpudai-auxpcm-mode = <0>, <0>;
qcom,msm-cpudai-auxpcm-sync = <1>, <1>;
@@ -428,11 +428,11 @@
qcom,msm-cpudai-auxpcm-slot-mapping = <1>, <1>;
qcom,msm-cpudai-auxpcm-data = <0>, <0>;
qcom,msm-cpudai-auxpcm-pcm-clk-rate = <2048000>, <2048000>;
- qcom,msm-auxpcm-interface = "secondary";
+ qcom,msm-auxpcm-interface = "primaryTx";
qcom,msm-cpudai-afe-clk-ver = <2>;
};
- dai_tert_auxpcm: qcom,msm-tert-auxpcm {
+ dai_sec_auxpcm_rx: qcom,msm-sec-auxpcm_rx {
compatible = "qcom,msm-auxpcm-dev";
qcom,msm-cpudai-auxpcm-mode = <0>, <0>;
qcom,msm-cpudai-auxpcm-sync = <1>, <1>;
@@ -442,11 +442,11 @@
qcom,msm-cpudai-auxpcm-slot-mapping = <1>, <1>;
qcom,msm-cpudai-auxpcm-data = <0>, <0>;
qcom,msm-cpudai-auxpcm-pcm-clk-rate = <2048000>, <2048000>;
- qcom,msm-auxpcm-interface = "tertiary";
+ qcom,msm-auxpcm-interface = "secondaryRx";
qcom,msm-cpudai-afe-clk-ver = <2>;
};
- dai_quat_auxpcm: qcom,msm-quat-auxpcm {
+ dai_sec_auxpcm_tx: qcom,msm-sec-auxpcm_tx {
compatible = "qcom,msm-auxpcm-dev";
qcom,msm-cpudai-auxpcm-mode = <0>, <0>;
qcom,msm-cpudai-auxpcm-sync = <1>, <1>;
@@ -456,11 +456,11 @@
qcom,msm-cpudai-auxpcm-slot-mapping = <1>, <1>;
qcom,msm-cpudai-auxpcm-data = <0>, <0>;
qcom,msm-cpudai-auxpcm-pcm-clk-rate = <2048000>, <2048000>;
- qcom,msm-auxpcm-interface = "quaternary";
+ qcom,msm-auxpcm-interface = "secondaryTx";
qcom,msm-cpudai-afe-clk-ver = <2>;
};
- dai_quin_auxpcm: qcom,msm-quin-auxpcm {
+ dai_tert_auxpcm_rx: qcom,msm-tert-auxpcm_rx {
compatible = "qcom,msm-auxpcm-dev";
qcom,msm-cpudai-auxpcm-mode = <0>, <0>;
qcom,msm-cpudai-auxpcm-sync = <1>, <1>;
@@ -470,11 +470,11 @@
qcom,msm-cpudai-auxpcm-slot-mapping = <1>, <1>;
qcom,msm-cpudai-auxpcm-data = <0>, <0>;
qcom,msm-cpudai-auxpcm-pcm-clk-rate = <2048000>, <2048000>;
- qcom,msm-auxpcm-interface = "quinary";
+ qcom,msm-auxpcm-interface = "tertiaryRx";
qcom,msm-cpudai-afe-clk-ver = <2>;
};
- dai_sen_auxpcm: qcom,msm-sen-auxpcm {
+ dai_tert_auxpcm_tx: qcom,msm-tert-auxpcm_tx {
compatible = "qcom,msm-auxpcm-dev";
qcom,msm-cpudai-auxpcm-mode = <0>, <0>;
qcom,msm-cpudai-auxpcm-sync = <1>, <1>;
@@ -484,10 +484,67 @@
qcom,msm-cpudai-auxpcm-slot-mapping = <1>, <1>;
qcom,msm-cpudai-auxpcm-data = <0>, <0>;
qcom,msm-cpudai-auxpcm-pcm-clk-rate = <2048000>, <2048000>;
- qcom,msm-auxpcm-interface = "senary";
+ qcom,msm-auxpcm-interface = "tertiaryTx";
qcom,msm-cpudai-afe-clk-ver = <2>;
};
+ dai_quat_auxpcm_rx: qcom,msm-quat-auxpcm_rx {
+ compatible = "qcom,msm-auxpcm-dev";
+ qcom,msm-cpudai-auxpcm-mode = <0>, <0>;
+ qcom,msm-cpudai-auxpcm-sync = <1>, <1>;
+ qcom,msm-cpudai-auxpcm-frame = <5>, <4>;
+ qcom,msm-cpudai-auxpcm-quant = <2>, <2>;
+ qcom,msm-cpudai-auxpcm-num-slots = <1>, <1>;
+ qcom,msm-cpudai-auxpcm-slot-mapping = <1>, <1>;
+ qcom,msm-cpudai-auxpcm-data = <0>, <0>;
+ qcom,msm-cpudai-auxpcm-pcm-clk-rate = <2048000>, <2048000>;
+ qcom,msm-auxpcm-interface = "quaternaryRx";
+ qcom,msm-cpudai-afe-clk-ver = <2>;
+ };
+
+ dai_quat_auxpcm_tx: qcom,msm-quat-auxpcm_tx {
+ compatible = "qcom,msm-auxpcm-dev";
+ qcom,msm-cpudai-auxpcm-mode = <0>, <0>;
+ qcom,msm-cpudai-auxpcm-sync = <1>, <1>;
+ qcom,msm-cpudai-auxpcm-frame = <5>, <4>;
+ qcom,msm-cpudai-auxpcm-quant = <2>, <2>;
+ qcom,msm-cpudai-auxpcm-num-slots = <1>, <1>;
+ qcom,msm-cpudai-auxpcm-slot-mapping = <1>, <1>;
+ qcom,msm-cpudai-auxpcm-data = <0>, <0>;
+ qcom,msm-cpudai-auxpcm-pcm-clk-rate = <2048000>, <2048000>;
+ qcom,msm-auxpcm-interface = "quaternaryTx";
+ qcom,msm-cpudai-afe-clk-ver = <2>;
+ };
+
+ dai_quin_auxpcm_rx: qcom,msm-quin-auxpcm_rx {
+ compatible = "qcom,msm-auxpcm-dev";
+ qcom,msm-cpudai-auxpcm-mode = <0>, <0>;
+ qcom,msm-cpudai-auxpcm-sync = <1>, <1>;
+ qcom,msm-cpudai-auxpcm-frame = <5>, <4>;
+ qcom,msm-cpudai-auxpcm-quant = <2>, <2>;
+ qcom,msm-cpudai-auxpcm-num-slots = <1>, <1>;
+ qcom,msm-cpudai-auxpcm-slot-mapping = <1>, <1>;
+ qcom,msm-cpudai-auxpcm-data = <0>, <0>;
+ qcom,msm-cpudai-auxpcm-pcm-clk-rate = <2048000>, <2048000>;
+ qcom,msm-auxpcm-interface = "quinaryRx";
+ qcom,msm-cpudai-afe-clk-ver = <2>;
+ };
+
+ dai_quin_auxpcm_tx: qcom,msm-quin-auxpcm_tx {
+ compatible = "qcom,msm-auxpcm-dev";
+ qcom,msm-cpudai-auxpcm-mode = <0>, <0>;
+ qcom,msm-cpudai-auxpcm-sync = <1>, <1>;
+ qcom,msm-cpudai-auxpcm-frame = <5>, <4>;
+ qcom,msm-cpudai-auxpcm-quant = <2>, <2>;
+ qcom,msm-cpudai-auxpcm-num-slots = <1>, <1>;
+ qcom,msm-cpudai-auxpcm-slot-mapping = <1>, <1>;
+ qcom,msm-cpudai-auxpcm-data = <0>, <0>;
+ qcom,msm-cpudai-auxpcm-pcm-clk-rate = <2048000>, <2048000>;
+ qcom,msm-auxpcm-interface = "quinaryTx";
+ qcom,msm-cpudai-afe-clk-ver = <2>;
+ };
+
+
hdmi_dba: qcom,msm-hdmi-dba-codec-rx {
compatible = "qcom,msm-hdmi-dba-codec-rx";
qcom,dba-bridge-chip = "adv7533";
diff --git a/sa410m-audio-idp.dts b/sa410m-audio-idp.dts
new file mode 100755
index 0000000..fb73675
--- /dev/null
+++ b/sa410m-audio-idp.dts
@@ -0,0 +1,11 @@
+/dts-v1/;
+/plugin/;
+
+#include "sa410m-audio.dtsi"
+#include "sa410m-audio-overlay.dtsi"
+
+/ {
+ model = "Qualcomm Technologies, Inc. SA410M";
+ compatible = "qcom,sa410m";
+ qcom,board-id = <0 0>;
+};
diff --git a/sa410m-audio-lpass.dtsi b/sa410m-audio-lpass.dtsi
new file mode 100755
index 0000000..75486aa
--- /dev/null
+++ b/sa410m-audio-lpass.dtsi
@@ -0,0 +1,639 @@
+&soc {
+ pcm0: qcom,msm-pcm {
+ compatible = "qcom,msm-pcm-dsp";
+ qcom,msm-pcm-dsp-id = <0>;
+ };
+
+ routing: qcom,msm-pcm-routing {
+ compatible = "qcom,msm-pcm-routing";
+ };
+
+ compr: qcom,msm-compr-dsp {
+ compatible = "qcom,msm-compr-dsp";
+ };
+
+ pcm1: qcom,msm-pcm-low-latency {
+ compatible = "qcom,msm-pcm-dsp";
+ qcom,msm-pcm-dsp-id = <1>;
+ qcom,msm-pcm-low-latency;
+ qcom,latency-level = "regular";
+ };
+
+ pcm2: qcom,msm-ultra-low-latency {
+ compatible = "qcom,msm-pcm-dsp";
+ qcom,msm-pcm-dsp-id = <2>;
+ qcom,msm-pcm-low-latency;
+ qcom,latency-level = "ultra";
+ };
+
+ voip: qcom,msm-voip-dsp {
+ compatible = "qcom,msm-voip-dsp";
+ };
+
+ voice: qcom,msm-pcm-voice {
+ compatible = "qcom,msm-pcm-voice";
+ qcom,destroy-cvd;
+ };
+
+ stub_codec: qcom,msm-stub-codec {
+ compatible = "qcom,msm-stub-codec";
+ };
+
+ qcom,msm-dai-fe {
+ compatible = "qcom,msm-dai-fe";
+ };
+
+ afe: qcom,msm-pcm-afe {
+ compatible = "qcom,msm-pcm-afe";
+ };
+
+ loopback: qcom,msm-pcm-loopback {
+ compatible = "qcom,msm-pcm-loopback";
+ };
+
+ loopback1: qcom,msm-pcm-loopback-low-latency {
+ compatible = "qcom,msm-pcm-loopback";
+ qcom,msm-pcm-loopback-low-latency;
+ };
+
+ msm_dai_mi2s: qcom,msm-dai-mi2s {
+ compatible = "qcom,msm-dai-mi2s";
+ dai_mi2s0_rx: qcom,msm-dai-q6-mi2s-prim-rx {
+ compatible = "qcom,msm-dai-q6-mi2s";
+ qcom,msm-dai-q6-mi2s-dev-id = <0>;
+ qcom,msm-mi2s-lines = <2>;
+ };
+
+ dai_mi2s0_tx: qcom,msm-dai-q6-mi2s-prim-tx {
+ compatible = "qcom,msm-dai-q6-mi2s";
+ qcom,msm-dai-q6-mi2s-dev-id = <1>;
+ qcom,msm-mi2s-lines = <1>;
+ };
+
+ dai_mi2s1_rx: qcom,msm-dai-q6-mi2s-sec-rx {
+ compatible = "qcom,msm-dai-q6-mi2s";
+ qcom,msm-dai-q6-mi2s-dev-id = <2>;
+ qcom,msm-mi2s-lines = <2>;
+ };
+
+ dai_mi2s1_tx: qcom,msm-dai-q6-mi2s-sec-tx {
+ compatible = "qcom,msm-dai-q6-mi2s";
+ qcom,msm-dai-q6-mi2s-dev-id = <3>;
+ qcom,msm-mi2s-lines = <1>;
+ };
+
+ dai_mi2s2_rx: qcom,msm-dai-q6-mi2s-tert-rx {
+ compatible = "qcom,msm-dai-q6-mi2s";
+ qcom,msm-dai-q6-mi2s-dev-id = <4>;
+ qcom,msm-mi2s-lines = <2>;
+ };
+
+ dai_mi2s2_tx: qcom,msm-dai-q6-mi2s-tert-tx {
+ compatible = "qcom,msm-dai-q6-mi2s";
+ qcom,msm-dai-q6-mi2s-dev-id = <5>;
+ qcom,msm-mi2s-lines = <1>;
+ };
+
+ dai_mi2s3_rx: qcom,msm-dai-q6-mi2s-quat-rx {
+ compatible = "qcom,msm-dai-q6-mi2s";
+ qcom,msm-dai-q6-mi2s-dev-id = <6>;
+ qcom,msm-mi2s-lines = <2>;
+ };
+
+ dai_mi2s3_tx: qcom,msm-dai-q6-mi2s-quat-tx {
+ compatible = "qcom,msm-dai-q6-mi2s";
+ qcom,msm-dai-q6-mi2s-dev-id = <7>;
+ qcom,msm-mi2s-lines = <1>;
+ };
+
+ };
+
+ msm_dai_cdc_dma: qcom,msm-dai-cdc-dma {
+ compatible = "qcom,msm-dai-cdc-dma";
+ wsa_cdc_dma_0_rx: qcom,msm-dai-wsa-cdc-dma-0-rx {
+ compatible = "qcom,msm-dai-cdc-dma-dev";
+ qcom,msm-dai-cdc-dma-dev-id = <45056>;
+ };
+
+ wsa_cdc_dma_0_tx: qcom,msm-dai-wsa-cdc-dma-0-tx {
+ compatible = "qcom,msm-dai-cdc-dma-dev";
+ qcom,msm-dai-cdc-dma-dev-id = <45057>;
+ };
+
+ wsa_cdc_dma_1_rx: qcom,msm-dai-wsa-cdc-dma-1-rx {
+ compatible = "qcom,msm-dai-cdc-dma-dev";
+ qcom,msm-dai-cdc-dma-dev-id = <45058>;
+ };
+
+ wsa_cdc_dma_1_tx: qcom,msm-dai-wsa-cdc-dma-1-tx {
+ compatible = "qcom,msm-dai-cdc-dma-dev";
+ qcom,msm-dai-cdc-dma-dev-id = <45059>;
+ };
+
+ wsa_cdc_dma_2_tx: qcom,msm-dai-wsa-cdc-dma-2-tx {
+ compatible = "qcom,msm-dai-cdc-dma-dev";
+ qcom,msm-dai-cdc-dma-dev-id = <45061>;
+ };
+
+ va_cdc_dma_0_tx: qcom,msm-dai-va-cdc-dma-0-tx {
+ compatible = "qcom,msm-dai-cdc-dma-dev";
+ qcom,msm-dai-cdc-dma-dev-id = <45089>;
+ };
+
+ va_cdc_dma_1_tx: qcom,msm-dai-va-cdc-dma-1-tx {
+ compatible = "qcom,msm-dai-cdc-dma-dev";
+ qcom,msm-dai-cdc-dma-dev-id = <45091>;
+ };
+
+ va_cdc_dma_2_tx: qcom,msm-dai-va-cdc-dma-2-tx {
+ compatible = "qcom,msm-dai-cdc-dma-dev";
+ qcom,msm-dai-cdc-dma-dev-id = <45093>;
+ };
+
+ rx_cdc_dma_0_rx: qcom,msm-dai-rx-cdc-dma-0-rx {
+ compatible = "qcom,msm-dai-cdc-dma-dev";
+ qcom,msm-dai-cdc-dma-dev-id = <45104>;
+ };
+
+ rx_cdc_dma_1_rx: qcom,msm-dai-rx-cdc-dma-1-rx {
+ compatible = "qcom,msm-dai-cdc-dma-dev";
+ qcom,msm-dai-cdc-dma-dev-id = <45106>;
+ };
+
+ rx_cdc_dma_2_rx: qcom,msm-dai-rx-cdc-dma-2-rx {
+ compatible = "qcom,msm-dai-cdc-dma-dev";
+ qcom,msm-dai-cdc-dma-dev-id = <45108>;
+ };
+
+ rx_cdc_dma_3_rx: qcom,msm-dai-rx-cdc-dma-3-rx {
+ compatible = "qcom,msm-dai-cdc-dma-dev";
+ qcom,msm-dai-cdc-dma-dev-id = <45110>;
+ };
+
+ rx_cdc_dma_4_rx: qcom,msm-dai-rx-cdc-dma-4-rx {
+ compatible = "qcom,msm-dai-cdc-dma-dev";
+ qcom,msm-dai-cdc-dma-dev-id = <45112>;
+ };
+
+ rx_cdc_dma_5_rx: qcom,msm-dai-rx-cdc-dma-5-rx {
+ compatible = "qcom,msm-dai-cdc-dma-dev";
+ qcom,msm-dai-cdc-dma-dev-id = <45114>;
+ };
+
+ rx_cdc_dma_6_rx: qcom,msm-dai-rx-cdc-dma-6-rx {
+ compatible = "qcom,msm-dai-cdc-dma-dev";
+ qcom,msm-dai-cdc-dma-dev-id = <45116>;
+ };
+
+ rx_cdc_dma_7_rx: qcom,msm-dai-rx-cdc-dma-7-rx {
+ compatible = "qcom,msm-dai-cdc-dma-dev";
+ qcom,msm-dai-cdc-dma-dev-id = <45118>;
+ };
+
+ tx_cdc_dma_0_tx: qcom,msm-dai-tx-cdc-dma-0-tx {
+ compatible = "qcom,msm-dai-cdc-dma-dev";
+ qcom,msm-dai-cdc-dma-dev-id = <45105>;
+ };
+
+ tx_cdc_dma_1_tx: qcom,msm-dai-tx-cdc-dma-1-tx {
+ compatible = "qcom,msm-dai-cdc-dma-dev";
+ qcom,msm-dai-cdc-dma-dev-id = <45107>;
+ };
+
+ tx_cdc_dma_2_tx: qcom,msm-dai-tx-cdc-dma-2-tx {
+ compatible = "qcom,msm-dai-cdc-dma-dev";
+ qcom,msm-dai-cdc-dma-dev-id = <45109>;
+ };
+
+ tx_cdc_dma_3_tx: qcom,msm-dai-tx-cdc-dma-3-tx {
+ compatible = "qcom,msm-dai-cdc-dma-dev";
+ qcom,msm-dai-cdc-dma-dev-id = <45111>;
+ };
+
+ tx_cdc_dma_4_tx: qcom,msm-dai-tx-cdc-dma-4-tx {
+ compatible = "qcom,msm-dai-cdc-dma-dev";
+ qcom,msm-dai-cdc-dma-dev-id = <45113>;
+ };
+
+ tx_cdc_dma_5_tx: qcom,msm-dai-tx-cdc-dma-5-tx {
+ compatible = "qcom,msm-dai-cdc-dma-dev";
+ qcom,msm-dai-cdc-dma-dev-id = <45115>;
+ };
+ };
+
+ lsm: qcom,msm-lsm-client {
+ compatible = "qcom,msm-lsm-client";
+ };
+
+ qcom,msm-dai-stub {
+ compatible = "qcom,msm-dai-stub";
+ dtmf_tx: qcom,msm-dai-stub-dtmf-tx {
+ compatible = "qcom,msm-dai-stub-dev";
+ qcom,msm-dai-stub-dev-id = <4>;
+ };
+ };
+
+ qcom,msm-dai-q6 {
+ compatible = "qcom,msm-dai-q6";
+ sb_7_rx: qcom,msm-dai-q6-sb-7-rx {
+ compatible = "qcom,msm-dai-q6-dev";
+ qcom,msm-dai-q6-dev-id = <16398>;
+ qcom,msm-dai-q6-slim-dev-id = <0>;
+ };
+
+ sb_7_tx: qcom,msm-dai-q6-sb-7-tx {
+ compatible = "qcom,msm-dai-q6-dev";
+ qcom,msm-dai-q6-dev-id = <16399>;
+ qcom,msm-dai-q6-slim-dev-id = <0>;
+ };
+
+ sb_8_tx: qcom,msm-dai-q6-sb-8-tx {
+ compatible = "qcom,msm-dai-q6-dev";
+ qcom,msm-dai-q6-dev-id = <16401>;
+ qcom,msm-dai-q6-slim-dev-id = <0>;
+ };
+
+ bt_sco_rx: qcom,msm-dai-q6-bt-sco-rx {
+ compatible = "qcom,msm-dai-q6-dev";
+ qcom,msm-dai-q6-dev-id = <12288>;
+ };
+
+ bt_sco_tx: qcom,msm-dai-q6-bt-sco-tx {
+ compatible = "qcom,msm-dai-q6-dev";
+ qcom,msm-dai-q6-dev-id = <12289>;
+ };
+
+ int_fm_rx: qcom,msm-dai-q6-int-fm-rx {
+ compatible = "qcom,msm-dai-q6-dev";
+ qcom,msm-dai-q6-dev-id = <12292>;
+ };
+
+ int_fm_tx: qcom,msm-dai-q6-int-fm-tx {
+ compatible = "qcom,msm-dai-q6-dev";
+ qcom,msm-dai-q6-dev-id = <12293>;
+ };
+
+ afe_pcm_rx: qcom,msm-dai-q6-be-afe-pcm-rx {
+ compatible = "qcom,msm-dai-q6-dev";
+ qcom,msm-dai-q6-dev-id = <224>;
+ };
+
+ afe_pcm_tx: qcom,msm-dai-q6-be-afe-pcm-tx {
+ compatible = "qcom,msm-dai-q6-dev";
+ qcom,msm-dai-q6-dev-id = <225>;
+ };
+
+ afe_proxy_rx: qcom,msm-dai-q6-afe-proxy-rx {
+ compatible = "qcom,msm-dai-q6-dev";
+ qcom,msm-dai-q6-dev-id = <241>;
+ };
+
+ afe_proxy_tx: qcom,msm-dai-q6-afe-proxy-tx {
+ compatible = "qcom,msm-dai-q6-dev";
+ qcom,msm-dai-q6-dev-id = <240>;
+ };
+
+ incall_record_rx: qcom,msm-dai-q6-incall-record-rx {
+ compatible = "qcom,msm-dai-q6-dev";
+ qcom,msm-dai-q6-dev-id = <32771>;
+ };
+
+ incall_record_tx: qcom,msm-dai-q6-incall-record-tx {
+ compatible = "qcom,msm-dai-q6-dev";
+ qcom,msm-dai-q6-dev-id = <32772>;
+ };
+
+ incall_music_rx: qcom,msm-dai-q6-incall-music-rx {
+ compatible = "qcom,msm-dai-q6-dev";
+ qcom,msm-dai-q6-dev-id = <32773>;
+ };
+
+ incall_music_2_rx: qcom,msm-dai-q6-incall-music-2-rx {
+ compatible = "qcom,msm-dai-q6-dev";
+ qcom,msm-dai-q6-dev-id = <32770>;
+ };
+
+ proxy_rx: qcom,msm-dai-q6-proxy-rx {
+ compatible = "qcom,msm-dai-q6-dev";
+ qcom,msm-dai-q6-dev-id = <8194>;
+ };
+
+ proxy_tx: qcom,msm-dai-q6-proxy-tx {
+ compatible = "qcom,msm-dai-q6-dev";
+ qcom,msm-dai-q6-dev-id = <8195>;
+ };
+
+ usb_audio_rx: qcom,msm-dai-q6-usb-audio-rx {
+ compatible = "qcom,msm-dai-q6-dev";
+ qcom,msm-dai-q6-dev-id = <28672>;
+ };
+
+ usb_audio_tx: qcom,msm-dai-q6-usb-audio-tx {
+ compatible = "qcom,msm-dai-q6-dev";
+ qcom,msm-dai-q6-dev-id = <28673>;
+ };
+ };
+
+ hostless: qcom,msm-pcm-hostless {
+ compatible = "qcom,msm-pcm-hostless";
+ };
+
+ audio_apr: qcom,msm-audio-apr {
+ compatible = "qcom,msm-audio-apr";
+ qcom,subsys-name = "apr_adsp";
+
+ msm_audio_ion: qcom,msm-audio-ion {
+ compatible = "qcom,msm-audio-ion";
+ qcom,smmu-version = <2>;
+ qcom,smmu-enabled;
+ iommus = <&apps_smmu 0x1801 0x0>;
+ qcom,iommu-dma-addr-pool = <0x10000000 0x10000000>;
+ };
+ };
+
+ pcm_dtmf: qcom,msm-pcm-dtmf {
+ compatible = "qcom,msm-pcm-dtmf";
+ };
+
+ dai_pri_auxpcm_rx: qcom,msm-pri-auxpcm_rx {
+ compatible = "qcom,msm-auxpcm-dev";
+ qcom,msm-cpudai-auxpcm-mode = <0>, <0>;
+ qcom,msm-cpudai-auxpcm-sync = <1>, <1>;
+ qcom,msm-cpudai-auxpcm-frame = <5>, <4>;
+ qcom,msm-cpudai-auxpcm-quant = <2>, <2>;
+ qcom,msm-cpudai-auxpcm-num-slots = <1>, <1>;
+ qcom,msm-cpudai-auxpcm-slot-mapping = <1>, <1>;
+ qcom,msm-cpudai-auxpcm-data = <0>, <0>;
+ qcom,msm-cpudai-auxpcm-pcm-clk-rate = <2048000>, <2048000>;
+ qcom,msm-auxpcm-interface = "primaryRx";
+ qcom,msm-cpudai-afe-clk-ver = <2>;
+ };
+
+ dai_pri_auxpcm_tx: qcom,msm-pri-auxpcm_tx {
+ compatible = "qcom,msm-auxpcm-dev";
+ qcom,msm-cpudai-auxpcm-mode = <0>, <0>;
+ qcom,msm-cpudai-auxpcm-sync = <1>, <1>;
+ qcom,msm-cpudai-auxpcm-frame = <5>, <4>;
+ qcom,msm-cpudai-auxpcm-quant = <2>, <2>;
+ qcom,msm-cpudai-auxpcm-num-slots = <1>, <1>;
+ qcom,msm-cpudai-auxpcm-slot-mapping = <1>, <1>;
+ qcom,msm-cpudai-auxpcm-data = <0>, <0>;
+ qcom,msm-cpudai-auxpcm-pcm-clk-rate = <2048000>, <2048000>;
+ qcom,msm-auxpcm-interface = "primaryTx";
+ qcom,msm-cpudai-afe-clk-ver = <2>;
+ };
+
+ dai_sec_auxpcm_rx: qcom,msm-sec-auxpcm_rx {
+ compatible = "qcom,msm-auxpcm-dev";
+ qcom,msm-cpudai-auxpcm-mode = <0>, <0>;
+ qcom,msm-cpudai-auxpcm-sync = <1>, <1>;
+ qcom,msm-cpudai-auxpcm-frame = <5>, <4>;
+ qcom,msm-cpudai-auxpcm-quant = <2>, <2>;
+ qcom,msm-cpudai-auxpcm-num-slots = <1>, <1>;
+ qcom,msm-cpudai-auxpcm-slot-mapping = <1>, <1>;
+ qcom,msm-cpudai-auxpcm-data = <0>, <0>;
+ qcom,msm-cpudai-auxpcm-pcm-clk-rate = <2048000>, <2048000>;
+ qcom,msm-auxpcm-interface = "secondaryRx";
+ qcom,msm-cpudai-afe-clk-ver = <2>;
+ };
+
+ dai_sec_auxpcm_tx: qcom,msm-sec-auxpcm_tx {
+ compatible = "qcom,msm-auxpcm-dev";
+ qcom,msm-cpudai-auxpcm-mode = <0>, <0>;
+ qcom,msm-cpudai-auxpcm-sync = <1>, <1>;
+ qcom,msm-cpudai-auxpcm-frame = <5>, <4>;
+ qcom,msm-cpudai-auxpcm-quant = <2>, <2>;
+ qcom,msm-cpudai-auxpcm-num-slots = <1>, <1>;
+ qcom,msm-cpudai-auxpcm-slot-mapping = <1>, <1>;
+ qcom,msm-cpudai-auxpcm-data = <0>, <0>;
+ qcom,msm-cpudai-auxpcm-pcm-clk-rate = <2048000>, <2048000>;
+ qcom,msm-auxpcm-interface = "secondaryTx";
+ qcom,msm-cpudai-afe-clk-ver = <2>;
+ };
+
+ dai_tert_auxpcm_rx: qcom,msm-tert-auxpcm_rx {
+ compatible = "qcom,msm-auxpcm-dev";
+ qcom,msm-cpudai-auxpcm-mode = <0>, <0>;
+ qcom,msm-cpudai-auxpcm-sync = <1>, <1>;
+ qcom,msm-cpudai-auxpcm-frame = <5>, <4>;
+ qcom,msm-cpudai-auxpcm-quant = <2>, <2>;
+ qcom,msm-cpudai-auxpcm-num-slots = <1>, <1>;
+ qcom,msm-cpudai-auxpcm-slot-mapping = <1>, <1>;
+ qcom,msm-cpudai-auxpcm-data = <0>, <0>;
+ qcom,msm-cpudai-auxpcm-pcm-clk-rate = <2048000>, <2048000>;
+ qcom,msm-auxpcm-interface = "tertiaryRx";
+ qcom,msm-cpudai-afe-clk-ver = <2>;
+ };
+
+ dai_tert_auxpcm_tx: qcom,msm-tert-auxpcm_tx {
+ compatible = "qcom,msm-auxpcm-dev";
+ qcom,msm-cpudai-auxpcm-mode = <0>, <0>;
+ qcom,msm-cpudai-auxpcm-sync = <1>, <1>;
+ qcom,msm-cpudai-auxpcm-frame = <5>, <4>;
+ qcom,msm-cpudai-auxpcm-quant = <2>, <2>;
+ qcom,msm-cpudai-auxpcm-num-slots = <1>, <1>;
+ qcom,msm-cpudai-auxpcm-slot-mapping = <1>, <1>;
+ qcom,msm-cpudai-auxpcm-data = <0>, <0>;
+ qcom,msm-cpudai-auxpcm-pcm-clk-rate = <2048000>, <2048000>;
+ qcom,msm-auxpcm-interface = "tertiaryTx";
+ qcom,msm-cpudai-afe-clk-ver = <2>;
+ };
+
+ dai_quat_auxpcm_rx: qcom,msm-quat-auxpcm_rx {
+ compatible = "qcom,msm-auxpcm-dev";
+ qcom,msm-cpudai-auxpcm-mode = <0>, <0>;
+ qcom,msm-cpudai-auxpcm-sync = <1>, <1>;
+ qcom,msm-cpudai-auxpcm-frame = <5>, <4>;
+ qcom,msm-cpudai-auxpcm-quant = <2>, <2>;
+ qcom,msm-cpudai-auxpcm-num-slots = <1>, <1>;
+ qcom,msm-cpudai-auxpcm-slot-mapping = <1>, <1>;
+ qcom,msm-cpudai-auxpcm-data = <0>, <0>;
+ qcom,msm-cpudai-auxpcm-pcm-clk-rate = <2048000>, <2048000>;
+ qcom,msm-auxpcm-interface = "quaternaryRx";
+ qcom,msm-cpudai-afe-clk-ver = <2>;
+ };
+
+ dai_quat_auxpcm_tx: qcom,msm-quat-auxpcm_tx {
+ compatible = "qcom,msm-auxpcm-dev";
+ qcom,msm-cpudai-auxpcm-mode = <0>, <0>;
+ qcom,msm-cpudai-auxpcm-sync = <1>, <1>;
+ qcom,msm-cpudai-auxpcm-frame = <5>, <4>;
+ qcom,msm-cpudai-auxpcm-quant = <2>, <2>;
+ qcom,msm-cpudai-auxpcm-num-slots = <1>, <1>;
+ qcom,msm-cpudai-auxpcm-slot-mapping = <1>, <1>;
+ qcom,msm-cpudai-auxpcm-data = <0>, <0>;
+ qcom,msm-cpudai-auxpcm-pcm-clk-rate = <2048000>, <2048000>;
+ qcom,msm-auxpcm-interface = "quaternaryTx";
+ qcom,msm-cpudai-afe-clk-ver = <2>;
+ };
+
+ adsp_loader: qcom,msm-adsp-loader {
+ status = "ok";
+ compatible = "qcom,adsp-loader";
+ qcom,rproc-handle = <&adsp_pas>;
+ qcom,adsp-state = <0>;
+ };
+
+ adsp_notify: qcom,msm-adsp-notify {
+ status = "ok";
+ compatible = "qcom,adsp-notify";
+ qcom,rproc-handle = <&adsp_pas>;
+ };
+
+ tdm_pri_rx: qcom,msm-dai-tdm-pri-rx {
+ compatible = "qcom,msm-dai-tdm";
+ qcom,msm-cpudai-tdm-group-id = <37120>;
+ qcom,msm-cpudai-tdm-group-num-ports = <1>;
+ qcom,msm-cpudai-tdm-group-port-id = <36864>;
+ qcom,msm-cpudai-tdm-clk-rate = <1536000>;
+ qcom,msm-cpudai-tdm-clk-internal = <1>;
+ qcom,msm-cpudai-tdm-sync-mode = <1>;
+ qcom,msm-cpudai-tdm-sync-src = <1>;
+ qcom,msm-cpudai-tdm-data-out = <0>;
+ qcom,msm-cpudai-tdm-invert-sync = <1>;
+ qcom,msm-cpudai-tdm-data-delay = <1>;
+ dai_pri_tdm_rx_0: qcom,msm-dai-q6-tdm-pri-rx-0 {
+ compatible = "qcom,msm-dai-q6-tdm";
+ qcom,msm-cpudai-tdm-dev-id = <36864>;
+ qcom,msm-cpudai-tdm-data-align = <0>;
+ };
+ };
+
+ tdm_pri_tx: qcom,msm-dai-tdm-pri-tx {
+ compatible = "qcom,msm-dai-tdm";
+ qcom,msm-cpudai-tdm-group-id = <37121>;
+ qcom,msm-cpudai-tdm-group-num-ports = <1>;
+ qcom,msm-cpudai-tdm-group-port-id = <36865>;
+ qcom,msm-cpudai-tdm-clk-rate = <1536000>;
+ qcom,msm-cpudai-tdm-clk-internal = <1>;
+ qcom,msm-cpudai-tdm-sync-mode = <1>;
+ qcom,msm-cpudai-tdm-sync-src = <1>;
+ qcom,msm-cpudai-tdm-data-out = <0>;
+ qcom,msm-cpudai-tdm-invert-sync = <1>;
+ qcom,msm-cpudai-tdm-data-delay = <1>;
+ dai_pri_tdm_tx_0: qcom,msm-dai-q6-tdm-pri-tx-0 {
+ compatible = "qcom,msm-dai-q6-tdm";
+ qcom,msm-cpudai-tdm-dev-id = <36865>;
+ qcom,msm-cpudai-tdm-data-align = <0>;
+ };
+ };
+
+ tdm_sec_rx: qcom,msm-dai-tdm-sec-rx {
+ compatible = "qcom,msm-dai-tdm";
+ qcom,msm-cpudai-tdm-group-id = <37136>;
+ qcom,msm-cpudai-tdm-group-num-ports = <1>;
+ qcom,msm-cpudai-tdm-group-port-id = <36880>;
+ qcom,msm-cpudai-tdm-clk-rate = <1536000>;
+ qcom,msm-cpudai-tdm-clk-internal = <1>;
+ qcom,msm-cpudai-tdm-sync-mode = <1>;
+ qcom,msm-cpudai-tdm-sync-src = <1>;
+ qcom,msm-cpudai-tdm-data-out = <0>;
+ qcom,msm-cpudai-tdm-invert-sync = <1>;
+ qcom,msm-cpudai-tdm-data-delay = <1>;
+ dai_sec_tdm_rx_0: qcom,msm-dai-q6-tdm-sec-rx-0 {
+ compatible = "qcom,msm-dai-q6-tdm";
+ qcom,msm-cpudai-tdm-dev-id = <36880>;
+ qcom,msm-cpudai-tdm-data-align = <0>;
+ };
+ };
+
+ tdm_sec_tx: qcom,msm-dai-tdm-sec-tx {
+ compatible = "qcom,msm-dai-tdm";
+ qcom,msm-cpudai-tdm-group-id = <37137>;
+ qcom,msm-cpudai-tdm-group-num-ports = <1>;
+ qcom,msm-cpudai-tdm-group-port-id = <36881>;
+ qcom,msm-cpudai-tdm-clk-rate = <1536000>;
+ qcom,msm-cpudai-tdm-clk-internal = <1>;
+ qcom,msm-cpudai-tdm-sync-mode = <1>;
+ qcom,msm-cpudai-tdm-sync-src = <1>;
+ qcom,msm-cpudai-tdm-data-out = <0>;
+ qcom,msm-cpudai-tdm-invert-sync = <1>;
+ qcom,msm-cpudai-tdm-data-delay = <1>;
+ dai_sec_tdm_tx_0: qcom,msm-dai-q6-tdm-sec-tx-0 {
+ compatible = "qcom,msm-dai-q6-tdm";
+ qcom,msm-cpudai-tdm-dev-id = <36881>;
+ qcom,msm-cpudai-tdm-data-align = <0>;
+ };
+ };
+
+ tdm_tert_rx: qcom,msm-dai-tdm-tert-rx {
+ compatible = "qcom,msm-dai-tdm";
+ qcom,msm-cpudai-tdm-group-id = <37152>;
+ qcom,msm-cpudai-tdm-group-num-ports = <1>;
+ qcom,msm-cpudai-tdm-group-port-id = <36896>;
+ qcom,msm-cpudai-tdm-clk-rate = <1536000>;
+ qcom,msm-cpudai-tdm-clk-internal = <1>;
+ qcom,msm-cpudai-tdm-sync-mode = <1>;
+ qcom,msm-cpudai-tdm-sync-src = <1>;
+ qcom,msm-cpudai-tdm-data-out = <0>;
+ qcom,msm-cpudai-tdm-invert-sync = <1>;
+ qcom,msm-cpudai-tdm-data-delay = <1>;
+ dai_tert_tdm_rx_0: qcom,msm-dai-q6-tdm-tert-rx-0 {
+ compatible = "qcom,msm-dai-q6-tdm";
+ qcom,msm-cpudai-tdm-dev-id = <36896>;
+ qcom,msm-cpudai-tdm-data-align = <0>;
+ };
+ };
+
+ tdm_tert_tx: qcom,msm-dai-tdm-tert-tx {
+ compatible = "qcom,msm-dai-tdm";
+ qcom,msm-cpudai-tdm-group-id = <37153>;
+ qcom,msm-cpudai-tdm-group-num-ports = <1>;
+ qcom,msm-cpudai-tdm-group-port-id = <36897 >;
+ qcom,msm-cpudai-tdm-clk-rate = <1536000>;
+ qcom,msm-cpudai-tdm-clk-internal = <1>;
+ qcom,msm-cpudai-tdm-sync-mode = <1>;
+ qcom,msm-cpudai-tdm-sync-src = <1>;
+ qcom,msm-cpudai-tdm-data-out = <0>;
+ qcom,msm-cpudai-tdm-invert-sync = <1>;
+ qcom,msm-cpudai-tdm-data-delay = <1>;
+ dai_tert_tdm_tx_0: qcom,msm-dai-q6-tdm-tert-tx-0 {
+ compatible = "qcom,msm-dai-q6-tdm";
+ qcom,msm-cpudai-tdm-dev-id = <36897 >;
+ qcom,msm-cpudai-tdm-data-align = <0>;
+ };
+ };
+
+ tdm_quat_rx: qcom,msm-dai-tdm-quat-rx {
+ compatible = "qcom,msm-dai-tdm";
+ qcom,msm-cpudai-tdm-group-id = <37168>;
+ qcom,msm-cpudai-tdm-group-num-ports = <1>;
+ qcom,msm-cpudai-tdm-group-port-id = <36912>;
+ qcom,msm-cpudai-tdm-clk-rate = <1536000>;
+ qcom,msm-cpudai-tdm-clk-internal = <1>;
+ qcom,msm-cpudai-tdm-sync-mode = <1>;
+ qcom,msm-cpudai-tdm-sync-src = <1>;
+ qcom,msm-cpudai-tdm-data-out = <0>;
+ qcom,msm-cpudai-tdm-invert-sync = <1>;
+ qcom,msm-cpudai-tdm-data-delay = <1>;
+ dai_quat_tdm_rx_0: qcom,msm-dai-q6-tdm-quat-rx-0 {
+ compatible = "qcom,msm-dai-q6-tdm";
+ qcom,msm-cpudai-tdm-dev-id = <36912>;
+ qcom,msm-cpudai-tdm-data-align = <0>;
+ };
+ };
+
+ tdm_quat_tx: qcom,msm-dai-tdm-quat-tx {
+ compatible = "qcom,msm-dai-tdm";
+ qcom,msm-cpudai-tdm-group-id = <37169>;
+ qcom,msm-cpudai-tdm-group-num-ports = <1>;
+ qcom,msm-cpudai-tdm-group-port-id = <36913 >;
+ qcom,msm-cpudai-tdm-clk-rate = <1536000>;
+ qcom,msm-cpudai-tdm-clk-internal = <1>;
+ qcom,msm-cpudai-tdm-sync-mode = <1>;
+ qcom,msm-cpudai-tdm-sync-src = <1>;
+ qcom,msm-cpudai-tdm-data-out = <0>;
+ qcom,msm-cpudai-tdm-invert-sync = <1>;
+ qcom,msm-cpudai-tdm-data-delay = <1>;
+ dai_quat_tdm_tx_0: qcom,msm-dai-q6-tdm-quat-tx-0 {
+ compatible = "qcom,msm-dai-q6-tdm";
+ qcom,msm-cpudai-tdm-dev-id = <36913 >;
+ qcom,msm-cpudai-tdm-data-align = <0>;
+ };
+ };
+
+ afe_loopback_tx: qcom,msm-dai-q6-afe-loopback-tx {
+ compatible = "qcom,msm-dai-q6-dev";
+ qcom,msm-dai-q6-dev-id = <24577>;
+ };
+};
diff --git a/sa410m-audio-overlay.dtsi b/sa410m-audio-overlay.dtsi
new file mode 100755
index 0000000..9d28aa1
--- /dev/null
+++ b/sa410m-audio-overlay.dtsi
@@ -0,0 +1,282 @@
+#include <bindings/qcom,audio-ext-clk.h>
+#include <bindings/qcom,bolero-clk-rsc.h>
+#include <bindings/audio-codec-port-types.h>
+#include <dt-bindings/interrupt-controller/arm-gic.h>
+
+&bolero {
+ qcom,num-macros = <3>;
+ qcom,bolero-version = <5>;
+ bolero-clk-rsc-mngr {
+ compatible = "qcom,bolero-clk-rsc-mngr";
+ qcom,fs-gen-sequence = <0x3000 0x1 0x1>,
+ <0x3004 0x1 0x1>, <0x3080 0x2 0x2>;
+ qcom,rx_mclk_mode_muxsel = <0x0a5640d8>;
+ qcom,va_mclk_mode_muxsel = <0x0a7a0000>;
+ clock-names = "tx_core_clk", "tx_npl_clk", "rx_core_clk", "rx_npl_clk",
+ "va_core_clk", "va_npl_clk";
+ clocks = <&clock_audio_tx_1 0>, <&clock_audio_tx_2 0>,
+ <&clock_audio_rx_1 0>, <&clock_audio_rx_2 0>,
+ <&clock_audio_va_1 0>, <&clock_audio_va_2 0>;
+ };
+
+ tx_macro: tx-macro@0a620000 {
+ compatible = "qcom,tx-macro";
+ reg = <0x0a620000 0x0>;
+ clock-names = "tx_core_clk", "tx_npl_clk";
+ clocks = <&clock_audio_tx_1 0>,
+ <&clock_audio_tx_2 0>;
+ qcom,tx-dmic-sample-rate = <2400000>;
+ qcom,is-used-swr-gpio = <0>;
+ };
+
+ rx_macro: rx-macro@0a600000 {
+ 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>;
+ 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 = <5>;
+ 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>;
+ qcom,swr-num-dev = <1>;
+ qcom,swr-clock-stop-mode0 = <1>;
+ rouleur_rx_slave: rouleur-rx-slave {
+ compatible = "qcom,rouleur-slave";
+ reg = <0x0C 0x01170224>;
+ };
+ };
+ };
+
+ va_macro: va-macro@0a730000 {
+ compatible = "qcom,va-macro";
+ reg = <0x0a730000 0x0>;
+ clock-names = "lpass_audio_hw_vote";
+ clocks = <&lpass_audio_hw_vote 0>;
+ qcom,va-dmic-sample-rate = <600000>;
+ qcom,va-clk-mux-select = <1>;
+ qcom,va-island-mode-muxsel = <0x0a7a0000>;
+ qcom,default-clk-id = <TX_CORE_CLK>;
+ qcom,is-used-swr-gpio = <1>;
+ qcom,va-swr-gpios = <&va_swr_gpios>;
+ swr0: va_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 = <3>;
+ qcom,swrm-hctl-reg = <0x0a7ec100>;
+ qcom,mipi-sdw-block-packing-mode = <1>;
+ swrm-io-base = <0x0a740000 0x0>;
+ interrupts =
+ <0 296 IRQ_TYPE_LEVEL_HIGH>,
+ <0 79 IRQ_TYPE_LEVEL_HIGH>;
+ interrupt-names = "swr_master_irq", "swr_wake_irq";
+ qcom,swr-wakeup-required = <1>;
+ qcom,swr-num-ports = <3>;
+ qcom,swr-port-mapping = <1 ADC1 0x1>, <1 ADC2 0x2>,
+ <1 ADC3 0x4>, <1 ADC4 0x8>,
+ <2 DMIC0 0x1>, <2 DMIC1 0x2>,
+ <2 DMIC2 0x4>, <2 DMIC3 0x8>,
+ <3 DMIC4 0x1>, <3 DMIC5 0x2>,
+ <3 DMIC6 0x4>, <3 DMIC7 0x8>;
+ qcom,swr-num-dev = <1>;
+ qcom,swr-clock-stop-mode0 = <1>;
+ qcom,swr-mstr-irq-wakeup-capable = <1>;
+ rouleur_tx_slave: rouleur-tx-slave {
+ compatible = "qcom,rouleur-slave";
+ reg = <0x0C 0x01170223>;
+ };
+ };
+ };
+
+ rouleur_codec: rouleur-codec {
+ compatible = "qcom,rouleur-codec";
+ qcom,split-codec = <1>;
+// 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>,
+ <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>,
+ <1 MBHC 0x8 0 DMIC3>;
+
+ qcom,rx-slave = <&rouleur_rx_slave>;
+ qcom,tx-slave = <&rouleur_tx_slave>;
+
+ cdc-vdd-io-supply = <&L15A>;
+ qcom,cdc-vdd-io-voltage = <1800000 1800000>;
+ qcom,cdc-vdd-io-current = <10000>;
+
+ cdc-vdd-cp-supply = <&S4A>;
+ qcom,cdc-vdd-cp-voltage = <2040000 2040000>;
+ qcom,cdc-vdd-cp-current = <300000>;
+
+ cdc-pa-vpos-supply = <&S4A>;
+ qcom,cdc-pa-vpos-voltage = <2040000 2040000>;
+ qcom,cdc-pa-vpos-current = <2400000>;
+
+ cdc-vdd-mic-bias-supply = <&L22A>;
+ qcom,cdc-vdd-mic-bias-voltage = <3000000 3304000>;
+ qcom,cdc-vdd-mic-bias-current = <50000>;
+ qcom,cdc-vdd-mic-bias-lpm-supported = <1>;
+
+ qcom,cdc-micbias1-mv = <1800>;
+ qcom,cdc-micbias2-mv = <1800>;
+ qcom,cdc-micbias3-mv = <1800>;
+
+ qcom,cdc-static-supplies = "cdc-vdd-cp",
+ "cdc-vdd-io",
+ "cdc-vdd-mic-bias";
+ qcom,cdc-on-demand-supplies = "cdc-pa-vpos";
+ };
+};
+
+&scuba_snd {
+ qcom,model = "bengal-scubaidp-snd-card";
+ qcom,msm-mi2s-master = <1>, <1>, <1>, <1>;
+ qcom,audio-routing =
+ "AMIC1", "Analog Mic1",
+ "Analog Mic1","MIC BIAS1",
+ "AMIC2", "Analog Mic2",
+ "Analog Mic2", "MIC BIAS2",
+ "AMIC3", "Analog Mic3",
+ "Analog Mic3", "MIC BIAS3",
+ "TX DMIC0", "Digital Mic0",
+ "Digital Mic0", "MIC BIAS3",
+ "TX DMIC1", "Digital Mic1",
+ "Digital Mic1", "MIC BIAS3",
+ "TX DMIC2", "Digital Mic2",
+ "Digital Mic2", "MIC BIAS1",
+ "TX DMIC3", "Digital Mic3",
+ "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",
+ "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",
+ "VA DMIC0", "Digital Mic0",
+ "VA DMIC1", "Digital Mic1",
+ "VA DMIC2", "Digital Mic2",
+ "VA DMIC3", "Digital Mic3",
+ "VA DMIC0", "VA MIC BIAS3",
+ "VA DMIC1", "VA MIC BIAS3",
+ "VA DMIC2", "VA MIC BIAS1",
+ "VA DMIC3", "VA MIC BIAS1",
+ "VA SWR_INPUT", "ADC1_OUTPUT",
+ "VA SWR_INPUT", "ADC2_OUTPUT";
+ qcom,msm-mbhc-hphl-swh = <1>;
+ qcom,msm-mbhc-gnd-swh = <1>;
+ qcom,cdc-dmic01-gpios = <&cdc_dmic01_gpios>;
+ qcom,cdc-dmic23-gpios = <&cdc_dmic23_gpios>;
+ qcom,pri-mi2s-gpios = <&prim_mi2s_gpios>;
+ qcom,sec-mi2s-gpios = <&sec_mi2s_gpios>;
+ 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>;
+};
+
+
+&soc {
+ wsa881x_analog_clk: wsa_ana_clk {
+ compatible = "qcom,audio-ref-clk";
+ qcom,codec-ext-clk-src = <AUDIO_LPASS_MCLK_2>;
+ qcom,codec-lpass-ext-clk-freq = <9600000>;
+ qcom,codec-lpass-clk-id = <0x301>;
+ #clock-cells = <1>;
+ };
+
+ clock_audio_rx_1: rx_core_clk {
+ compatible = "qcom,audio-ref-clk";
+ qcom,codec-ext-clk-src = <AUDIO_LPASS_MCLK_4>;
+ qcom,codec-lpass-ext-clk-freq = <22579200>;
+ qcom,codec-lpass-clk-id = <0x30E>;
+ #clock-cells = <1>;
+ };
+
+ clock_audio_rx_2: rx_npl_clk {
+ compatible = "qcom,audio-ref-clk";
+ qcom,codec-ext-clk-src = <AUDIO_LPASS_MCLK_5>;
+ qcom,codec-lpass-ext-clk-freq = <22579200>;
+ qcom,codec-lpass-clk-id = <0x30F>;
+ #clock-cells = <1>;
+ };
+
+ clock_audio_tx_1: tx_core_clk {
+ compatible = "qcom,audio-ref-clk";
+ qcom,codec-ext-clk-src = <AUDIO_LPASS_MCLK_6>;
+ qcom,codec-lpass-ext-clk-freq = <19200000>;
+ qcom,codec-lpass-clk-id = <0x30C>;
+ #clock-cells = <1>;
+ };
+
+ clock_audio_tx_2: tx_npl_clk {
+ compatible = "qcom,audio-ref-clk";
+ qcom,codec-ext-clk-src = <AUDIO_LPASS_MCLK_7>;
+ qcom,codec-lpass-ext-clk-freq = <19200000>;
+ qcom,codec-lpass-clk-id = <0x30D>;
+ #clock-cells = <1>;
+ };
+
+ clock_audio_va_1: va_core_clk {
+ 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>;
+ #clock-cells = <1>;
+ };
+
+ clock_audio_va_2: va_npl_clk {
+ 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>;
+ #clock-cells = <1>;
+ };
+};
+
+&va_cdc_dma_0_tx {
+ qcom,msm-dai-is-island-supported = <1>;
+};
diff --git a/sa410m-audio.dtsi b/sa410m-audio.dtsi
new file mode 100755
index 0000000..2e4741f
--- /dev/null
+++ b/sa410m-audio.dtsi
@@ -0,0 +1,233 @@
+#include <bindings/qcom,audio-ext-clk.h>
+#include "sa410m-audio-lpass.dtsi"
+
+&msm_audio_ion {
+ iommus = <&apps_smmu 0x01c1 0x0>;
+ qcom,smmu-sid-mask = /bits/ 64 <0xf>;
+};
+&audio_apr {
+ 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>;
+ };
+
+ };
+};
+
+#include "sa410m-lpi.dtsi"
+
+&q6core {
+ cdc_dmic01_gpios: cdc_dmic01_pinctrl {
+ compatible = "qcom,msm-cdc-pinctrl";
+ pinctrl-names = "aud_active", "aud_sleep";
+ pinctrl-0 = <&cdc_dmic01_clk_active &cdc_dmic01_data_active>;
+ pinctrl-1 = <&cdc_dmic01_clk_sleep &cdc_dmic01_data_sleep>;
+ qcom,lpi-gpios;
+ #gpio-cells = <0>;
+ };
+
+ cdc_dmic23_gpios: cdc_dmic23_pinctrl {
+ compatible = "qcom,msm-cdc-pinctrl";
+ pinctrl-names = "aud_active", "aud_sleep";
+ pinctrl-0 = <&cdc_dmic23_clk_active &cdc_dmic23_data_active>;
+ pinctrl-1 = <&cdc_dmic23_clk_sleep &cdc_dmic23_data_sleep>;
+ qcom,lpi-gpios;
+ #gpio-cells = <0>;
+ };
+
+ rx_swr_gpios: rx_swr_clk_data_pinctrl {
+ compatible = "qcom,msm-cdc-pinctrl";
+ pinctrl-names = "aud_active", "aud_sleep";
+ pinctrl-0 = <&rx_swr_clk_active &rx_swr_data_active
+ &rx_swr_data1_active>;
+ pinctrl-1 = <&rx_swr_clk_sleep &rx_swr_data_sleep
+ &rx_swr_data1_sleep>;
+ qcom,lpi-gpios;
+ #gpio-cells = <0>;
+ };
+
+ va_swr_gpios: va_swr_clk_data_pinctrl {
+ compatible = "qcom,msm-cdc-pinctrl";
+ pinctrl-names = "aud_active", "aud_sleep";
+ pinctrl-0 = <&tx_swr_clk_active &tx_swr_data1_active
+ &tx_swr_data2_active>;
+ pinctrl-1 = <&tx_swr_clk_sleep &tx_swr_data1_sleep
+ &tx_swr_data2_sleep>;
+ qcom,chip-wakeup-reg = <0x003ca064>;
+ qcom,chip-wakeup-maskbit = <0>;
+ qcom,chip-wakeup-default-val = <0x1>;
+ qcom,lpi-gpios;
+ #gpio-cells = <0>;
+ };
+
+ wsa881x_analog_clk_gpio: msm_cdc_pinctrl@18 {
+ compatible = "qcom,msm-cdc-pinctrl";
+ pinctrl-names = "aud_active", "aud_sleep";
+ pinctrl-0 = <&wsa_mclk_active>;
+ pinctrl-1 = <&wsa_mclk_sleep>;
+ qcom,lpi-gpios;
+ #gpio-cells = <0>;
+ };
+
+ prim_mi2s_gpios: prim_mi2s_gpio_pinctrl {
+ compatible = "qcom,msm-cdc-pinctrl";
+ pinctrl-names = "aud_active", "aud_sleep", "aud_alt_active";
+ pinctrl-0 = <&lpi_i2s1_ws_active &lpi_i2s1_sd0_active
+ &lpi_i2s1_sd1_active &lpi_i2s1_sck_active>;
+ pinctrl-1 = <&lpi_i2s1_ws_sleep &lpi_i2s1_sd0_sleep
+ &lpi_i2s1_sd1_sleep &lpi_i2s1_sck_sleep>;
+ pinctrl-2 = <&lpi_i2s1_ws_alt_active &lpi_i2s1_sd0_active
+ &lpi_i2s1_sd1_active &lpi_i2s1_sck_alt_active>;
+ qcom,lpi-gpios;
+ #gpio-cells = <0>;
+ };
+
+ sec_mi2s_gpios: sec_mi2s_gpio_pinctrl {
+ compatible = "qcom,msm-cdc-pinctrl";
+ pinctrl-names = "aud_active", "aud_sleep", "aud_alt_active";
+ pinctrl-0 = <&lpi_i2s2_ws_active &lpi_i2s2_sd0_active
+ &lpi_i2s2_sd1_active &lpi_i2s2_sck_active>;
+ pinctrl-1 = <&lpi_i2s2_ws_sleep &lpi_i2s2_sd0_sleep
+ &lpi_i2s2_sd1_sleep &lpi_i2s2_sck_sleep>;
+ pinctrl-2 = <&lpi_i2s2_ws_alt_active &lpi_i2s2_sd0_active
+ &lpi_i2s2_sd1_active &lpi_i2s2_sck_alt_active>;
+ qcom,lpi-gpios;
+ #gpio-cells = <0>;
+ };
+
+ tert_mi2s_gpios: tert_mi2s_gpio_pinctrl {
+ compatible = "qcom,msm-cdc-pinctrl";
+ pinctrl-names = "aud_active", "aud_sleep", "aud_alt_active";
+ pinctrl-0 = <&lpi_i2s3_ws_active &lpi_i2s3_sd0_active
+ &lpi_i2s3_sd1_active &lpi_i2s3_sck_active>;
+ pinctrl-1 = <&lpi_i2s3_ws_sleep &lpi_i2s3_sd0_sleep
+ &lpi_i2s3_sd1_sleep &lpi_i2s3_sck_sleep>;
+ pinctrl-2 = <&lpi_i2s3_ws_alt_active &lpi_i2s3_sd0_active
+ &lpi_i2s3_sd1_active &lpi_i2s3_sck_alt_active>;
+ qcom,lpi-gpios;
+ #gpio-cells = <0>;
+ };
+
+ quat_mi2s_gpios: quat_mi2s_gpio_pinctrl {
+ compatible = "qcom,msm-cdc-pinctrl";
+ pinctrl-names = "aud_active", "aud_sleep", "aud_alt_active";
+ pinctrl-0 = <&quat_mi2s_ws_active &quat_mi2s_sd0_active
+ &quat_mi2s_sd1_active &quat_mi2s_sd2_active
+ &quat_mi2s_sd3_active &quat_mi2s_sck_active>;
+ pinctrl-1 = <&quat_mi2s_ws_sleep &quat_mi2s_sd0_sleep
+ &quat_mi2s_sd1_sleep &quat_mi2s_sd2_sleep
+ &quat_mi2s_sd3_sleep &quat_mi2s_sck_sleep>;
+ pinctrl-2 = <&quat_mi2s_ws_alt_active &quat_mi2s_sd0_active
+ &quat_mi2s_sd1_active &quat_mi2s_sd2_active
+ &quat_mi2s_sd3_active &quat_mi2s_sck_alt_active>;
+ qcom,lpi-gpios;
+ #gpio-cells = <0>;
+ };
+};
+
+&q6core {
+ bolero: bolero-cdc {
+ compatible = "qcom,bolero-codec";
+ clock-names = "lpass_audio_hw_vote";
+ clocks = <&lpass_audio_hw_vote 0>;
+ bolero-clk-rsc-mngr {
+ compatible = "qcom,bolero-clk-rsc-mngr";
+ };
+
+ va_macro: va-macro@0a730000 {
+ swr0: va_swr_master {
+ };
+ };
+
+ rx_macro: rx-macro@0a600000 {
+ swr1: rx_swr_master {
+ };
+ };
+ };
+};
+
+&soc {
+ scuba_snd: sound {
+ compatible = "qcom,bengal-asoc-snd";
+ qcom,mi2s-audio-intf = <1>;
+ qcom,auxpcm-audio-intf = <1>;
+ qcom,tdm-audio-intf = <1>;
+ asoc-platform = <&pcm0>, <&pcm1>, <&pcm2>, <&voip>, <&voice>,
+ <&loopback>, <&hostless>,
+ <&afe>, <&lsm>, <&routing>, <&pcm_dtmf>;
+ asoc-platform-names = "msm-pcm-dsp.0", "msm-pcm-dsp.1",
+ "msm-pcm-dsp.2", "msm-voip-dsp",
+ "msm-pcm-voice", "msm-pcm-loopback", "msm-pcm-hostless",
+ "msm-pcm-afe", "msm-lsm-client",
+ "msm-pcm-routing", "msm-pcm-dtmf";
+ asoc-cpu = <&dai_mi2s0_rx>, <&dai_mi2s0_tx>,
+ <&dai_mi2s1_rx>, <&dai_mi2s1_tx>,
+ <&dai_mi2s2_rx>, <&dai_mi2s2_tx>,
+ <&dai_mi2s3_rx>, <&dai_mi2s3_tx>,
+ <&dai_pri_auxpcm_rx>, <&dai_pri_auxpcm_tx>,
+ <&dai_sec_auxpcm_rx>, <&dai_sec_auxpcm_tx>,
+ <&dai_tert_auxpcm_rx>, <&dai_tert_auxpcm_tx>,
+ <&dai_quat_auxpcm_rx>, <&dai_quat_auxpcm_tx>, <&dtmf_tx>,
+ <&afe_pcm_rx>, <&afe_pcm_tx>, <&afe_proxy_rx>,
+ <&afe_proxy_tx>, <&incall_record_rx>,
+ <&incall_record_tx>, <&incall_music_rx>,
+ <&incall_music_2_rx>,
+ <&usb_audio_rx>, <&usb_audio_tx>,
+ <&sb_7_rx>, <&sb_7_tx>, <&sb_8_tx>,
+ <&dai_pri_tdm_rx_0>, <&dai_pri_tdm_tx_0>,
+ <&dai_sec_tdm_rx_0>, <&dai_sec_tdm_tx_0>,
+ <&dai_tert_tdm_rx_0>, <&dai_tert_tdm_tx_0>,
+ <&dai_quat_tdm_rx_0>, <&dai_quat_tdm_tx_0>,
+ <&va_cdc_dma_0_tx>, <&va_cdc_dma_1_tx>,
+ <&va_cdc_dma_2_tx>,
+ <&rx_cdc_dma_0_rx>, <&tx_cdc_dma_0_tx>,
+ <&rx_cdc_dma_1_rx>, <&tx_cdc_dma_1_tx>,
+ <&rx_cdc_dma_2_rx>, <&tx_cdc_dma_2_tx>,
+ <&rx_cdc_dma_3_rx>, <&tx_cdc_dma_3_tx>,
+ <&rx_cdc_dma_4_rx>, <&tx_cdc_dma_4_tx>,
+ <&afe_loopback_tx>;
+ asoc-cpu-names = "msm-dai-q6-mi2s.0", "msm-dai-q6-mi2s.1",
+ "msm-dai-q6-mi2s.2", "msm-dai-q6-mi2s.3",
+ "msm-dai-q6-mi2s.4", "msm-dai-q6-mi2s.5",
+ "msm-dai-q6-mi2s.6", "msm-dai-q6-mi2s.7",
+ "msm-dai-q6-auxpcm.1","msm-dai-q6-auxpcm.2",
+ "msm-dai-q6-auxpcm.3", "msm-dai-q6-auxpcm.4",
+ "msm-dai-q6-auxpcm.5", "msm-dai-q6-auxpcm.6",
+ "msm-dai-q6-auxpcm.7", "msm-dai-q6-auxpcm.8",
+ "msm-dai-stub-dev.4", "msm-dai-q6-dev.224",
+ "msm-dai-q6-dev.225", "msm-dai-q6-dev.241",
+ "msm-dai-q6-dev.240", "msm-dai-q6-dev.32771",
+ "msm-dai-q6-dev.32772", "msm-dai-q6-dev.32773",
+ "msm-dai-q6-dev.32770",
+ "msm-dai-q6-dev.28672", "msm-dai-q6-dev.28673",
+ "msm-dai-q6-dev.16398", "msm-dai-q6-dev.16399",
+ "msm-dai-q6-dev.16401",
+ "msm-dai-q6-tdm.36864", "msm-dai-q6-tdm.36865",
+ "msm-dai-q6-tdm.36880", "msm-dai-q6-tdm.36881",
+ "msm-dai-q6-tdm.36896", "msm-dai-q6-tdm.36897",
+ "msm-dai-q6-tdm.36912", "msm-dai-q6-tdm.36913",
+ "msm-dai-cdc-dma-dev.45089",
+ "msm-dai-cdc-dma-dev.45091",
+ "msm-dai-cdc-dma-dev.45093",
+ "msm-dai-cdc-dma-dev.45104",
+ "msm-dai-cdc-dma-dev.45105",
+ "msm-dai-cdc-dma-dev.45106",
+ "msm-dai-cdc-dma-dev.45107",
+ "msm-dai-cdc-dma-dev.45108",
+ "msm-dai-cdc-dma-dev.45109",
+ "msm-dai-cdc-dma-dev.45110",
+ "msm-dai-cdc-dma-dev.45111",
+ "msm-dai-cdc-dma-dev.45112",
+ "msm-dai-cdc-dma-dev.45113",
+ "msm-dai-q6-dev.24577";
+ };
+};
+
+&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";
+};
diff --git a/sa410m-lpi.dtsi b/sa410m-lpi.dtsi
new file mode 100755
index 0000000..85db243
--- /dev/null
+++ b/sa410m-lpi.dtsi
@@ -0,0 +1,2269 @@
+&q6core {
+ lpi_tlmm: lpi_pinctrl@0a7c0000 {
+ compatible = "qcom,lpi-pinctrl";
+ reg = <0x0a7c0000 0x0>;
+ qcom,slew-reg = <0x0a95a000 0x0>;
+ qcom,gpios-count = <19>;
+ gpio-controller;
+ #gpio-cells = <2>;
+ qcom,lpi-offset-tbl = <0x00000000>, <0x00001000>,
+ <0x00002000>, <0x00003000>,
+ <0x00004000>, <0x00005000>,
+ <0x00006000>, <0x00007000>,
+ <0x00008000>, <0x00009000>,
+ <0x0000A000>, <0x0000B000>,
+ <0x0000C000>, <0x0000D000>,
+ <0x0000E000>, <0x0000F000>,
+ <0x00010000>, <0x00011000>,
+ <0x00012000>;
+ qcom,lpi-slew-offset-tbl = <0x00000000>, <0x00000002>,
+ <0x00000004>, <0x00000008>,
+ <0x0000000A>, <0x0000000C>,
+ <0x00000000>, <0x00000000>,
+ <0x00000000>, <0x00000000>,
+ <0x00000000>, <0x00000000>,
+ <0x00000000>, <0x00000000>,
+ <0x00000000>, <0x00000000>,
+ <0x00000000>, <0x00000000>,
+ <0x00000014>;
+
+ clock-names = "lpass_audio_hw_vote";
+ clocks = <&lpass_audio_hw_vote 0>;
+
+ quat_mi2s_sck {
+ quat_mi2s_sck_sleep: quat_mi2s_sck_sleep {
+ mux {
+ pins = "gpio0";
+ function = "func2";
+ };
+
+ 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-disable; /* NO PULL */
+ output-high;
+ };
+ };
+
+ quat_mi2s_sck_alt_active: quat_mi2s_sck_alt_active {
+ mux {
+ pins = "gpio0";
+ function = "func2";
+ };
+
+ config {
+ pins = "gpio0";
+ drive-strength = <8>; /* 8 mA */
+ bias-disable; /* NO PULL */
+ };
+ };
+ };
+
+ quat_mi2s_ws {
+ quat_mi2s_ws_sleep: quat_mi2s_ws_sleep {
+ mux {
+ pins = "gpio1";
+ function = "func2";
+ };
+
+ 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-disable; /* NO PULL */
+ output-high;
+ };
+ };
+
+ quat_mi2s_ws_alt_active: quat_mi2s_ws_alt_active {
+ mux {
+ pins = "gpio1";
+ function = "func2";
+ };
+
+ config {
+ pins = "gpio1";
+ drive-strength = <8>; /* 8 mA */
+ bias-disable; /* NO PULL */
+ };
+ };
+ };
+
+ quat_mi2s_sd0 {
+ quat_mi2s_sd0_sleep: quat_mi2s_sd0_sleep {
+ mux {
+ pins = "gpio2";
+ function = "func2";
+ };
+
+ 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 = <8>; /* 8 mA */
+ bias-disable; /* NO PULL */
+ output-high;
+ };
+ };
+ };
+
+ quat_mi2s_sd1 {
+ quat_mi2s_sd1_sleep: quat_mi2s_sd1_sleep {
+ mux {
+ pins = "gpio3";
+ function = "func2";
+ };
+
+ 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-disable; /* NO PULL */
+ output-high;
+ };
+ };
+ };
+
+ quat_mi2s_sd2 {
+ quat_mi2s_sd2_sleep: quat_mi2s_sd2_sleep {
+ mux {
+ pins = "gpio4";
+ function = "func2";
+ };
+
+ 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 = <8>; /* 8 mA */
+ bias-disable; /* NO PULL */
+ output-high;
+ };
+ };
+ };
+
+ quat_mi2s_sd3 {
+ quat_mi2s_sd3_sleep: quat_mi2s_sd3_sleep {
+ mux {
+ pins = "gpio5";
+ function = "func3";
+ };
+
+ 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-disable; /* NO PULL */
+ output-high;
+ };
+ };
+ };
+
+ lpi_i2s1_sck {
+ lpi_i2s1_sck_sleep: lpi_i2s1_sck_sleep {
+ mux {
+ pins = "gpio6";
+ function = "func2";
+ };
+
+ 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-disable; /* NO PULL */
+ output-high;
+ };
+ };
+
+ lpi_i2s1_sck_alt_active: lpi_i2s1_sck_alt_active {
+ mux {
+ pins = "gpio6";
+ function = "func2";
+ };
+
+ config {
+ pins = "gpio6";
+ drive-strength = <8>; /* 8 mA */
+ bias-disable; /* NO PULL */
+ };
+ };
+ };
+
+ lpi_i2s1_ws {
+ lpi_i2s1_ws_sleep: lpi_i2s1_ws_sleep {
+ mux {
+ pins = "gpio7";
+ function = "func2";
+ };
+
+ 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-disable; /* NO PULL */
+ output-high;
+ };
+ };
+
+ lpi_i2s1_ws_alt_active: lpi_i2s1_ws_alt_active {
+ mux {
+ pins = "gpio7";
+ function = "func2";
+ };
+
+ config {
+ pins = "gpio7";
+ drive-strength = <8>; /* 8 mA */
+ bias-disable; /* NO PULL */
+ };
+ };
+ };
+
+ lpi_i2s1_sd0 {
+ lpi_i2s1_sd0_sleep: lpi_i2s1_sd0_sleep {
+ mux {
+ pins = "gpio8";
+ function = "func2";
+ };
+
+ 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 = <8>; /* 8 mA */
+ bias-disable; /* NO PULL */
+ output-high;
+ };
+ };
+ };
+
+ lpi_i2s1_sd1 {
+ lpi_i2s1_sd1_sleep: lpi_i2s1_sd1_sleep {
+ mux {
+ pins = "gpio9";
+ function = "func2";
+ };
+
+ 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-disable; /* NO PULL */
+ output-high;
+ };
+ };
+ };
+
+ lpi_i2s2_sck {
+ lpi_i2s2_sck_sleep: lpi_i2s2_sck_sleep {
+ mux {
+ pins = "gpio10";
+ function = "func1";
+ };
+
+ 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-disable; /* NO PULL */
+ output-high;
+ };
+ };
+
+ lpi_i2s2_sck_alt_active: lpi_i2s2_sck_alt_active {
+ mux {
+ pins = "gpio10";
+ function = "func1";
+ };
+
+ config {
+ pins = "gpio10";
+ drive-strength = <8>; /* 8 mA */
+ bias-disable; /* NO PULL */
+ };
+ };
+ };
+
+ lpi_i2s2_ws {
+ lpi_i2s2_ws_sleep: lpi_i2s2_ws_sleep {
+ mux {
+ pins = "gpio11";
+ function = "func1";
+ };
+
+ 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-disable; /* NO PULL */
+ output-high;
+ };
+ };
+
+ lpi_i2s2_ws_alt_active: lpi_i2s2_ws_alt_active {
+ mux {
+ pins = "gpio11";
+ function = "func1";
+ };
+
+ config {
+ pins = "gpio11";
+ drive-strength = <8>; /* 8 mA */
+ bias-disable; /* NO PULL */
+ };
+ };
+ };
+
+ lpi_i2s2_sd0 {
+ lpi_i2s2_sd0_sleep: lpi_i2s2_sd0_sleep {
+ mux {
+ pins = "gpio12";
+ function = "func2";
+ };
+
+ config {
+ pins = "gpio12";
+ drive-strength = <2>; /* 2 mA */
+ bias-pull-down; /* PULL DOWN */
+ input-enable;
+ };
+ };
+
+ lpi_i2s2_sd0_active: lpi_i2s2_sd0_active {
+ mux {
+ pins = "gpio12";
+ function = "func2";
+ };
+
+ config {
+ pins = "gpio12";
+ drive-strength = <8>; /* 8 mA */
+ bias-disable; /* NO PULL */
+ output-high;
+ };
+ };
+ };
+
+ lpi_i2s2_sd1 {
+ lpi_i2s2_sd1_sleep: lpi_i2s2_sd1_sleep {
+ mux {
+ pins = "gpio13";
+ function = "func2";
+ };
+
+ config {
+ pins = "gpio13";
+ drive-strength = <2>; /* 2 mA */
+ bias-pull-down; /* PULL DOWN */
+ input-enable;
+ };
+ };
+
+ lpi_i2s2_sd1_active: lpi_i2s2_sd1_active {
+ mux {
+ pins = "gpio13";
+ function = "func2";
+ };
+
+ config {
+ pins = "gpio13";
+ drive-strength = <8>; /* 8 mA */
+ bias-disable; /* NO PULL */
+ output-high;
+ };
+ };
+ };
+
+ lpi_i2s3_sck {
+ lpi_i2s3_sck_sleep: lpi_i2s3_sck_sleep {
+ mux {
+ pins = "gpio14";
+ function = "func1";
+ };
+
+ config {
+ pins = "gpio14";
+ drive-strength = <2>; /* 2 mA */
+ bias-pull-down; /* PULL DOWN */
+ input-enable;
+ };
+ };
+
+ lpi_i2s3_sck_active: lpi_i2s3_sck_active {
+ mux {
+ pins = "gpio14";
+ function = "func1";
+ };
+
+ config {
+ pins = "gpio14";
+ drive-strength = <8>; /* 8 mA */
+ bias-disable; /* NO PULL */
+ output-high;
+ };
+ };
+
+ lpi_i2s3_sck_alt_active: lpi_i2s3_sck_alt_active {
+ mux {
+ pins = "gpio14";
+ function = "func1";
+ };
+
+ config {
+ pins = "gpio14";
+ drive-strength = <8>; /* 8 mA */
+ bias-disable; /* NO PULL */
+ };
+ };
+ };
+
+ lpi_i2s3_ws {
+ lpi_i2s3_ws_sleep: lpi_i2s3_ws_sleep {
+ mux {
+ pins = "gpio15";
+ function = "func1";
+ };
+
+ config {
+ pins = "gpio15";
+ drive-strength = <2>; /* 2 mA */
+ bias-pull-down; /* PULL DOWN */
+ input-enable;
+ };
+ };
+
+ lpi_i2s3_ws_active: lpi_i2s3_ws_active {
+ mux {
+ pins = "gpio15";
+ function = "func1";
+ };
+
+ config {
+ pins = "gpio15";
+ drive-strength = <8>; /* 8 mA */
+ bias-disable; /* NO PULL */
+ output-high;
+ };
+ };
+
+ lpi_i2s3_ws_alt_active: lpi_i2s3_ws_alt_active {
+ mux {
+ pins = "gpio15";
+ function = "func1";
+ };
+
+ config {
+ pins = "gpio15";
+ drive-strength = <8>; /* 8 mA */
+ bias-disable; /* NO PULL */
+ };
+ };
+ };
+
+ lpi_i2s3_sd0 {
+ lpi_i2s3_sd0_sleep: lpi_i2s3_sd0_sleep {
+ mux {
+ pins = "gpio16";
+ function = "func1";
+ };
+
+ config {
+ pins = "gpio16";
+ drive-strength = <2>; /* 2 mA */
+ bias-pull-down; /* PULL DOWN */
+ input-enable;
+ };
+ };
+
+ lpi_i2s3_sd0_active: lpi_i2s3_sd0_active {
+ mux {
+ pins = "gpio16";
+ function = "func1";
+ };
+
+ config {
+ pins = "gpio16";
+ drive-strength = <8>; /* 8 mA */
+ bias-disable; /* NO PULL */
+ output-high;
+ };
+ };
+ };
+
+ lpi_i2s3_sd1 {
+ lpi_i2s3_sd1_sleep: lpi_i2s3_sd1_sleep {
+ mux {
+ pins = "gpio17";
+ function = "func1";
+ };
+
+ config {
+ pins = "gpio17";
+ drive-strength = <2>; /* 2 mA */
+ bias-pull-down; /* PULL DOWN */
+ input-enable;
+ };
+ };
+
+ lpi_i2s3_sd1_active: lpi_i2s3_sd1_active {
+ mux {
+ pins = "gpio17";
+ function = "func1";
+ };
+
+ config {
+ pins = "gpio17";
+ drive-strength = <8>; /* 8 mA */
+ bias-disable; /* NO PULL */
+ output-high;
+ };
+ };
+ };
+
+ quat_tdm_sck {
+ quat_tdm_sck_sleep: quat_tdm_sck_sleep {
+ mux {
+ pins = "gpio0";
+ function = "func2";
+ };
+
+ config {
+ pins = "gpio0";
+ drive-strength = <2>; /* 2 mA */
+ bias-pull-down; /* PULL DOWN */
+ input-enable;
+ };
+ };
+
+ quat_tdm_sck_active: quat_tdm_sck_active {
+ mux {
+ pins = "gpio0";
+ function = "func2";
+ };
+
+ config {
+ pins = "gpio0";
+ drive-strength = <8>; /* 8 mA */
+ bias-disable; /* NO PULL */
+ output-high;
+ };
+ };
+
+ quat_tdm_sck_alt_active: quat_tdm_sck_alt_active {
+ mux {
+ pins = "gpio0";
+ function = "func2";
+ };
+
+ config {
+ pins = "gpio0";
+ drive-strength = <8>; /* 8 mA */
+ bias-disable; /* NO PULL */
+ };
+ };
+ };
+
+ quat_tdm_ws {
+ quat_tdm_ws_sleep: quat_tdm_ws_sleep {
+ mux {
+ pins = "gpio1";
+ function = "func2";
+ };
+
+ config {
+ pins = "gpio1";
+ drive-strength = <2>; /* 2 mA */
+ bias-pull-down; /* PULL DOWN */
+ input-enable;
+ };
+ };
+
+ quat_tdm_ws_active: quat_tdm_ws_active {
+ mux {
+ pins = "gpio1";
+ function = "func2";
+ };
+
+ config {
+ pins = "gpio1";
+ drive-strength = <8>; /* 8 mA */
+ bias-disable; /* NO PULL */
+ output-high;
+ };
+ };
+
+ quat_tdm_ws_alt_active: quat_tdm_ws_alt_active {
+ mux {
+ pins = "gpio1";
+ function = "func2";
+ };
+
+ config {
+ pins = "gpio1";
+ drive-strength = <8>; /* 8 mA */
+ bias-disable; /* NO PULL */
+ };
+ };
+ };
+
+ quat_tdm_sd0 {
+ quat_tdm_sd0_sleep: quat_tdm_sd0_sleep {
+ mux {
+ pins = "gpio2";
+ function = "func2";
+ };
+
+ config {
+ pins = "gpio2";
+ drive-strength = <2>; /* 2 mA */
+ bias-pull-down; /* PULL DOWN */
+ input-enable;
+ };
+ };
+
+ quat_tdm_sd0_active: quat_tdm_sd0_active {
+ mux {
+ pins = "gpio2";
+ function = "func2";
+ };
+
+ config {
+ pins = "gpio2";
+ drive-strength = <8>; /* 8 mA */
+ bias-disable; /* NO PULL */
+ output-high;
+ };
+ };
+ };
+
+ quat_tdm_sd1 {
+ quat_tdm_sd1_sleep: quat_tdm_sd1_sleep {
+ mux {
+ pins = "gpio3";
+ function = "func2";
+ };
+
+ config {
+ pins = "gpio3";
+ drive-strength = <2>; /* 2 mA */
+ bias-pull-down; /* PULL DOWN */
+ input-enable;
+ };
+ };
+
+ quat_tdm_sd1_active: quat_tdm_sd1_active {
+ mux {
+ pins = "gpio3";
+ function = "func2";
+ };
+
+ config {
+ pins = "gpio3";
+ drive-strength = <8>; /* 8 mA */
+ bias-disable; /* NO PULL */
+ output-high;
+ };
+ };
+ };
+
+ quat_tdm_sd2 {
+ quat_tdm_sd2_sleep: quat_tdm_sd2_sleep {
+ mux {
+ pins = "gpio4";
+ function = "func2";
+ };
+
+ config {
+ pins = "gpio4";
+ drive-strength = <2>; /* 2 mA */
+ bias-pull-down; /* PULL DOWN */
+ input-enable;
+ };
+ };
+
+ quat_tdm_sd2_active: quat_tdm_sd2_active {
+ mux {
+ pins = "gpio4";
+ function = "func2";
+ };
+
+ config {
+ pins = "gpio4";
+ drive-strength = <8>; /* 8 mA */
+ bias-disable; /* NO PULL */
+ output-high;
+ };
+ };
+ };
+
+ quat_tdm_sd3 {
+ quat_tdm_sd3_sleep: quat_tdm_sd3_sleep {
+ mux {
+ pins = "gpio5";
+ function = "func3";
+ };
+
+ config {
+ pins = "gpio5";
+ drive-strength = <2>; /* 2 mA */
+ bias-pull-down; /* PULL DOWN */
+ input-enable;
+ };
+ };
+
+ quat_tdm_sd3_active: quat_tdm_sd3_active {
+ mux {
+ pins = "gpio5";
+ function = "func3";
+ };
+
+ config {
+ pins = "gpio5";
+ drive-strength = <8>; /* 8 mA */
+ bias-disable; /* NO PULL */
+ output-high;
+ };
+ };
+ };
+
+ lpi_tdm1_sck {
+ lpi_tdm1_sck_sleep: lpi_tdm1_sck_sleep {
+ mux {
+ pins = "gpio6";
+ function = "func2";
+ };
+
+ config {
+ pins = "gpio6";
+ drive-strength = <2>; /* 2 mA */
+ bias-pull-down; /* PULL DOWN */
+ input-enable;
+ };
+ };
+
+ lpi_tdm1_sck_active: lpi_tdm1_sck_active {
+ mux {
+ pins = "gpio6";
+ function = "func2";
+ };
+
+ config {
+ pins = "gpio6";
+ drive-strength = <8>; /* 8 mA */
+ bias-disable; /* NO PULL */
+ output-high;
+ };
+ };
+
+ lpi_tdm1_sck_alt_active: lpi_tdm1_sck_alt_active {
+ mux {
+ pins = "gpio6";
+ function = "func2";
+ };
+
+ config {
+ pins = "gpio6";
+ drive-strength = <8>; /* 8 mA */
+ bias-disable; /* NO PULL */
+ };
+ };
+ };
+
+ lpi_tdm1_ws {
+ lpi_tdm1_ws_sleep: lpi_tdm1_ws_sleep {
+ mux {
+ pins = "gpio7";
+ function = "func2";
+ };
+
+ config {
+ pins = "gpio7";
+ drive-strength = <2>; /* 2 mA */
+ bias-pull-down; /* PULL DOWN */
+ input-enable;
+ };
+ };
+
+ lpi_tdm1_ws_active: lpi_tdm1_ws_active {
+ mux {
+ pins = "gpio7";
+ function = "func2";
+ };
+
+ config {
+ pins = "gpio7";
+ drive-strength = <8>; /* 8 mA */
+ bias-disable; /* NO PULL */
+ output-high;
+ };
+ };
+
+ lpi_tdm1_ws_alt_active: lpi_tdm1_ws_alt_active {
+ mux {
+ pins = "gpio7";
+ function = "func2";
+ };
+
+ config {
+ pins = "gpio7";
+ drive-strength = <8>; /* 8 mA */
+ bias-disable; /* NO PULL */
+ };
+ };
+ };
+
+ lpi_tdm1_sd0 {
+ lpi_tdm1_sd0_sleep: lpi_tdm1_sd0_sleep {
+ mux {
+ pins = "gpio8";
+ function = "func2";
+ };
+
+ config {
+ pins = "gpio8";
+ drive-strength = <2>; /* 2 mA */
+ bias-pull-down; /* PULL DOWN */
+ input-enable;
+ };
+ };
+
+ lpi_tdm1_sd0_active: lpi_tdm1_sd0_active {
+ mux {
+ pins = "gpio8";
+ function = "func2";
+ };
+
+ config {
+ pins = "gpio8";
+ drive-strength = <8>; /* 8 mA */
+ bias-disable; /* NO PULL */
+ output-high;
+ };
+ };
+ };
+
+ lpi_tdm1_sd1 {
+ lpi_tdm1_sd1_sleep: lpi_tdm1_sd1_sleep {
+ mux {
+ pins = "gpio9";
+ function = "func2";
+ };
+
+ config {
+ pins = "gpio9";
+ drive-strength = <2>; /* 2 mA */
+ bias-pull-down; /* PULL DOWN */
+ input-enable;
+ };
+ };
+
+ lpi_tdm1_sd1_active: lpi_tdm1_sd1_active {
+ mux {
+ pins = "gpio9";
+ function = "func2";
+ };
+
+ config {
+ pins = "gpio9";
+ drive-strength = <8>; /* 8 mA */
+ bias-disable; /* NO PULL */
+ output-high;
+ };
+ };
+ };
+
+ lpi_tdm2_sck {
+ lpi_tdm2_sck_sleep: lpi_tdm2_sck_sleep {
+ mux {
+ pins = "gpio10";
+ function = "func1";
+ };
+
+ config {
+ pins = "gpio10";
+ drive-strength = <2>; /* 2 mA */
+ bias-pull-down; /* PULL DOWN */
+ input-enable;
+ };
+ };
+
+ lpi_tdm2_sck_active: lpi_tdm2_sck_active {
+ mux {
+ pins = "gpio10";
+ function = "func1";
+ };
+
+ config {
+ pins = "gpio10";
+ drive-strength = <8>; /* 8 mA */
+ bias-disable; /* NO PULL */
+ output-high;
+ };
+ };
+
+ lpi_tdm2_sck_alt_active: lpi_tdm2_sck_alt_active {
+ mux {
+ pins = "gpio10";
+ function = "func1";
+ };
+
+ config {
+ pins = "gpio10";
+ drive-strength = <8>; /* 8 mA */
+ bias-disable; /* NO PULL */
+ };
+ };
+ };
+
+ lpi_tdm2_ws {
+ lpi_tdm2_ws_sleep: lpi_tdm2_ws_sleep {
+ mux {
+ pins = "gpio11";
+ function = "func1";
+ };
+
+ config {
+ pins = "gpio11";
+ drive-strength = <2>; /* 2 mA */
+ bias-pull-down; /* PULL DOWN */
+ input-enable;
+ };
+ };
+
+ lpi_tdm2_ws_active: lpi_tdm2_ws_active {
+ mux {
+ pins = "gpio11";
+ function = "func1";
+ };
+
+ config {
+ pins = "gpio11";
+ drive-strength = <8>; /* 8 mA */
+ bias-disable; /* NO PULL */
+ output-high;
+ };
+ };
+
+ lpi_tdm2_ws_alt_active: lpi_tdm2_ws_alt_active {
+ mux {
+ pins = "gpio11";
+ function = "func1";
+ };
+
+ config {
+ pins = "gpio11";
+ drive-strength = <8>; /* 8 mA */
+ bias-disable; /* NO PULL */
+ };
+ };
+ };
+
+ lpi_tdm2_sd0 {
+ lpi_tdm2_sd0_sleep: lpi_tdm2_sd0_sleep {
+ mux {
+ pins = "gpio12";
+ function = "func2";
+ };
+
+ config {
+ pins = "gpio12";
+ drive-strength = <2>; /* 2 mA */
+ bias-pull-down; /* PULL DOWN */
+ input-enable;
+ };
+ };
+
+ lpi_tdm2_sd0_active: lpi_tdm2_sd0_active {
+ mux {
+ pins = "gpio12";
+ function = "func2";
+ };
+
+ config {
+ pins = "gpio12";
+ drive-strength = <8>; /* 8 mA */
+ bias-disable; /* NO PULL */
+ output-high;
+ };
+ };
+ };
+
+ lpi_tdm2_sd1 {
+ lpi_tdm2_sd1_sleep: lpi_tdm2_sd1_sleep {
+ mux {
+ pins = "gpio13";
+ function = "func2";
+ };
+
+ config {
+ pins = "gpio13";
+ drive-strength = <2>; /* 2 mA */
+ bias-pull-down; /* PULL DOWN */
+ input-enable;
+ };
+ };
+
+ lpi_tdm2_sd1_active: lpi_tdm2_sd1_active {
+ mux {
+ pins = "gpio13";
+ function = "func2";
+ };
+
+ config {
+ pins = "gpio13";
+ drive-strength = <8>; /* 8 mA */
+ bias-disable; /* NO PULL */
+ output-high;
+ };
+ };
+ };
+
+ lpi_tdm3_sck {
+ lpi_tdm3_sck_sleep: lpi_tdm3_sck_sleep {
+ mux {
+ pins = "gpio14";
+ function = "func1";
+ };
+
+ config {
+ pins = "gpio14";
+ drive-strength = <2>; /* 2 mA */
+ bias-pull-down; /* PULL DOWN */
+ input-enable;
+ };
+ };
+
+ lpi_tdm3_sck_active: lpi_tdm3_sck_active {
+ mux {
+ pins = "gpio14";
+ function = "func1";
+ };
+
+ config {
+ pins = "gpio14";
+ drive-strength = <8>; /* 8 mA */
+ bias-disable; /* NO PULL */
+ output-high;
+ };
+ };
+
+ lpi_tdm3_sck_alt_active: lpi_tdm3_sck_alt_active {
+ mux {
+ pins = "gpio14";
+ function = "func1";
+ };
+
+ config {
+ pins = "gpio14";
+ drive-strength = <8>; /* 8 mA */
+ bias-disable; /* NO PULL */
+ };
+ };
+ };
+
+ lpi_tdm3_ws {
+ lpi_tdm3_ws_sleep: lpi_tdm3_ws_sleep {
+ mux {
+ pins = "gpio15";
+ function = "func1";
+ };
+
+ config {
+ pins = "gpio15";
+ drive-strength = <2>; /* 2 mA */
+ bias-pull-down; /* PULL DOWN */
+ input-enable;
+ };
+ };
+
+ lpi_tdm3_ws_active: lpi_tdm3_ws_active {
+ mux {
+ pins = "gpio15";
+ function = "func1";
+ };
+
+ config {
+ pins = "gpio15";
+ drive-strength = <8>; /* 8 mA */
+ bias-disable; /* NO PULL */
+ output-high;
+ };
+ };
+
+ lpi_tdm3_ws_alt_active: lpi_tdm3_ws_alt_active {
+ mux {
+ pins = "gpio15";
+ function = "func1";
+ };
+
+ config {
+ pins = "gpio15";
+ drive-strength = <8>; /* 8 mA */
+ bias-disable; /* NO PULL */
+ };
+ };
+ };
+
+ lpi_tdm3_sd0 {
+ lpi_tdm3_sd0_sleep: lpi_tdm3_sd0_sleep {
+ mux {
+ pins = "gpio16";
+ function = "func1";
+ };
+
+ config {
+ pins = "gpio16";
+ drive-strength = <2>; /* 2 mA */
+ bias-pull-down; /* PULL DOWN */
+ input-enable;
+ };
+ };
+
+ lpi_tdm3_sd0_active: lpi_tdm3_sd0_active {
+ mux {
+ pins = "gpio16";
+ function = "func1";
+ };
+
+ config {
+ pins = "gpio16";
+ drive-strength = <8>; /* 8 mA */
+ bias-disable; /* NO PULL */
+ output-high;
+ };
+ };
+ };
+
+ lpi_tdm3_sd1 {
+ lpi_tdm3_sd1_sleep: lpi_tdm3_sd1_sleep {
+ mux {
+ pins = "gpio17";
+ function = "func1";
+ };
+
+ config {
+ pins = "gpio17";
+ drive-strength = <2>; /* 2 mA */
+ bias-pull-down; /* PULL DOWN */
+ input-enable;
+ };
+ };
+
+ lpi_tdm3_sd1_active: lpi_tdm3_sd1_active {
+ mux {
+ pins = "gpio17";
+ function = "func1";
+ };
+
+ config {
+ pins = "gpio17";
+ drive-strength = <8>; /* 8 mA */
+ bias-disable; /* NO PULL */
+ output-high;
+ };
+ };
+ };
+
+ quat_aux_sck {
+ quat_aux_sck_sleep: quat_aux_sck_sleep {
+ mux {
+ pins = "gpio0";
+ function = "func2";
+ };
+
+ config {
+ pins = "gpio0";
+ drive-strength = <2>; /* 2 mA */
+ bias-pull-down; /* PULL DOWN */
+ input-enable;
+ };
+ };
+
+ quat_aux_sck_active: quat_aux_sck_active {
+ mux {
+ pins = "gpio0";
+ function = "func2";
+ };
+
+ config {
+ pins = "gpio0";
+ drive-strength = <8>; /* 8 mA */
+ bias-disable; /* NO PULL */
+ output-high;
+ };
+ };
+
+ quat_aux_sck_alt_active: quat_aux_sck_alt_active {
+ mux {
+ pins = "gpio0";
+ function = "func2";
+ };
+
+ config {
+ pins = "gpio0";
+ drive-strength = <8>; /* 8 mA */
+ bias-disable; /* NO PULL */
+ };
+ };
+ };
+
+ quat_aux_ws {
+ quat_aux_ws_sleep: quat_aux_ws_sleep {
+ mux {
+ pins = "gpio1";
+ function = "func2";
+ };
+
+ config {
+ pins = "gpio1";
+ drive-strength = <2>; /* 2 mA */
+ bias-pull-down; /* PULL DOWN */
+ input-enable;
+ };
+ };
+
+ quat_aux_ws_active: quat_aux_ws_active {
+ mux {
+ pins = "gpio1";
+ function = "func2";
+ };
+
+ config {
+ pins = "gpio1";
+ drive-strength = <8>; /* 8 mA */
+ bias-disable; /* NO PULL */
+ output-high;
+ };
+ };
+
+ quat_aux_ws_alt_active: quat_aux_ws_alt_active {
+ mux {
+ pins = "gpio1";
+ function = "func2";
+ };
+
+ config {
+ pins = "gpio1";
+ drive-strength = <8>; /* 8 mA */
+ bias-disable; /* NO PULL */
+ };
+ };
+ };
+
+ quat_aux_sd0 {
+ quat_aux_sd0_sleep: quat_aux_sd0_sleep {
+ mux {
+ pins = "gpio2";
+ function = "func2";
+ };
+
+ config {
+ pins = "gpio2";
+ drive-strength = <2>; /* 2 mA */
+ bias-pull-down; /* PULL DOWN */
+ input-enable;
+ };
+ };
+
+ quat_aux_sd0_active: quat_aux_sd0_active {
+ mux {
+ pins = "gpio2";
+ function = "func2";
+ };
+
+ config {
+ pins = "gpio2";
+ drive-strength = <8>; /* 8 mA */
+ bias-disable; /* NO PULL */
+ output-high;
+ };
+ };
+ };
+
+ quat_aux_sd1 {
+ quat_aux_sd1_sleep: quat_aux_sd1_sleep {
+ mux {
+ pins = "gpio3";
+ function = "func2";
+ };
+
+ config {
+ pins = "gpio3";
+ drive-strength = <2>; /* 2 mA */
+ bias-pull-down; /* PULL DOWN */
+ input-enable;
+ };
+ };
+
+ quat_aux_sd1_active: quat_aux_sd1_active {
+ mux {
+ pins = "gpio3";
+ function = "func2";
+ };
+
+ config {
+ pins = "gpio3";
+ drive-strength = <8>; /* 8 mA */
+ bias-disable; /* NO PULL */
+ output-high;
+ };
+ };
+ };
+
+ quat_aux_sd2 {
+ quat_aux_sd2_sleep: quat_aux_sd2_sleep {
+ mux {
+ pins = "gpio4";
+ function = "func2";
+ };
+
+ config {
+ pins = "gpio4";
+ drive-strength = <2>; /* 2 mA */
+ bias-pull-down; /* PULL DOWN */
+ input-enable;
+ };
+ };
+
+ quat_aux_sd2_active: quat_aux_sd2_active {
+ mux {
+ pins = "gpio4";
+ function = "func2";
+ };
+
+ config {
+ pins = "gpio4";
+ drive-strength = <8>; /* 8 mA */
+ bias-disable; /* NO PULL */
+ output-high;
+ };
+ };
+ };
+
+ quat_aux_sd3 {
+ quat_aux_sd3_sleep: quat_aux_sd3_sleep {
+ mux {
+ pins = "gpio5";
+ function = "func3";
+ };
+
+ config {
+ pins = "gpio5";
+ drive-strength = <2>; /* 2 mA */
+ bias-pull-down; /* PULL DOWN */
+ input-enable;
+ };
+ };
+
+ quat_aux_sd3_active: quat_aux_sd3_active {
+ mux {
+ pins = "gpio5";
+ function = "func3";
+ };
+
+ config {
+ pins = "gpio5";
+ drive-strength = <8>; /* 8 mA */
+ bias-disable; /* NO PULL */
+ output-high;
+ };
+ };
+ };
+
+ lpi_aux1_sck {
+ lpi_aux1_sck_sleep: lpi_aux1_sck_sleep {
+ mux {
+ pins = "gpio6";
+ function = "func2";
+ };
+
+ config {
+ pins = "gpio6";
+ drive-strength = <2>; /* 2 mA */
+ bias-pull-down; /* PULL DOWN */
+ input-enable;
+ };
+ };
+
+ lpi_aux1_sck_active: lpi_aux1_sck_active {
+ mux {
+ pins = "gpio6";
+ function = "func2";
+ };
+
+ config {
+ pins = "gpio6";
+ drive-strength = <8>; /* 8 mA */
+ bias-disable; /* NO PULL */
+ output-high;
+ };
+ };
+
+ lpi_aux1_sck_alt_active: lpi_aux1_sck_alt_active {
+ mux {
+ pins = "gpio6";
+ function = "func2";
+ };
+
+ config {
+ pins = "gpio6";
+ drive-strength = <8>; /* 8 mA */
+ bias-disable; /* NO PULL */
+ };
+ };
+ };
+
+ lpi_aux1_ws {
+ lpi_aux1_ws_sleep: lpi_aux1_ws_sleep {
+ mux {
+ pins = "gpio7";
+ function = "func2";
+ };
+
+ config {
+ pins = "gpio7";
+ drive-strength = <2>; /* 2 mA */
+ bias-pull-down; /* PULL DOWN */
+ input-enable;
+ };
+ };
+
+ lpi_aux1_ws_active: lpi_aux1_ws_active {
+ mux {
+ pins = "gpio7";
+ function = "func2";
+ };
+
+ config {
+ pins = "gpio7";
+ drive-strength = <8>; /* 8 mA */
+ bias-disable; /* NO PULL */
+ output-high;
+ };
+ };
+
+ lpi_aux1_ws_alt_active: lpi_aux1_ws_alt_active {
+ mux {
+ pins = "gpio7";
+ function = "func2";
+ };
+
+ config {
+ pins = "gpio7";
+ drive-strength = <8>; /* 8 mA */
+ bias-disable; /* NO PULL */
+ };
+ };
+ };
+
+ lpi_aux1_sd0 {
+ lpi_aux1_sd0_sleep: lpi_aux1_sd0_sleep {
+ mux {
+ pins = "gpio8";
+ function = "func2";
+ };
+
+ config {
+ pins = "gpio8";
+ drive-strength = <2>; /* 2 mA */
+ bias-pull-down; /* PULL DOWN */
+ input-enable;
+ };
+ };
+
+ lpi_aux1_sd0_active: lpi_aux1_sd0_active {
+ mux {
+ pins = "gpio8";
+ function = "func2";
+ };
+
+ config {
+ pins = "gpio8";
+ drive-strength = <8>; /* 8 mA */
+ bias-disable; /* NO PULL */
+ output-high;
+ };
+ };
+ };
+
+ lpi_aux1_sd1 {
+ lpi_aux1_sd1_sleep: lpi_aux1_sd1_sleep {
+ mux {
+ pins = "gpio9";
+ function = "func2";
+ };
+
+ config {
+ pins = "gpio9";
+ drive-strength = <2>; /* 2 mA */
+ bias-pull-down; /* PULL DOWN */
+ input-enable;
+ };
+ };
+
+ lpi_aux1_sd1_active: lpi_aux1_sd1_active {
+ mux {
+ pins = "gpio9";
+ function = "func2";
+ };
+
+ config {
+ pins = "gpio9";
+ drive-strength = <8>; /* 8 mA */
+ bias-disable; /* NO PULL */
+ output-high;
+ };
+ };
+ };
+
+ lpi_aux2_sck {
+ lpi_aux2_sck_sleep: lpi_aux2_sck_sleep {
+ mux {
+ pins = "gpio10";
+ function = "func1";
+ };
+
+ config {
+ pins = "gpio10";
+ drive-strength = <2>; /* 2 mA */
+ bias-pull-down; /* PULL DOWN */
+ input-enable;
+ };
+ };
+
+ lpi_aux2_sck_active: lpi_aux2_sck_active {
+ mux {
+ pins = "gpio10";
+ function = "func1";
+ };
+
+ config {
+ pins = "gpio10";
+ drive-strength = <8>; /* 8 mA */
+ bias-disable; /* NO PULL */
+ output-high;
+ };
+ };
+
+ lpi_aux2_sck_alt_active: lpi_aux2_sck_alt_active {
+ mux {
+ pins = "gpio10";
+ function = "func1";
+ };
+
+ config {
+ pins = "gpio10";
+ drive-strength = <8>; /* 8 mA */
+ bias-disable; /* NO PULL */
+ };
+ };
+ };
+
+ lpi_aux2_ws {
+ lpi_aux2_ws_sleep: lpi_aux2_ws_sleep {
+ mux {
+ pins = "gpio11";
+ function = "func1";
+ };
+
+ config {
+ pins = "gpio11";
+ drive-strength = <2>; /* 2 mA */
+ bias-pull-down; /* PULL DOWN */
+ input-enable;
+ };
+ };
+
+ lpi_aux2_ws_active: lpi_aux2_ws_active {
+ mux {
+ pins = "gpio11";
+ function = "func1";
+ };
+
+ config {
+ pins = "gpio11";
+ drive-strength = <8>; /* 8 mA */
+ bias-disable; /* NO PULL */
+ output-high;
+ };
+ };
+
+ lpi_aux2_ws_alt_active: lpi_aux2_ws_alt_active {
+ mux {
+ pins = "gpio11";
+ function = "func1";
+ };
+
+ config {
+ pins = "gpio11";
+ drive-strength = <8>; /* 8 mA */
+ bias-disable; /* NO PULL */
+ };
+ };
+ };
+
+ lpi_aux2_sd0 {
+ lpi_aux2_sd0_sleep: lpi_aux2_sd0_sleep {
+ mux {
+ pins = "gpio12";
+ function = "func2";
+ };
+
+ config {
+ pins = "gpio12";
+ drive-strength = <2>; /* 2 mA */
+ bias-pull-down; /* PULL DOWN */
+ input-enable;
+ };
+ };
+
+ lpi_aux2_sd0_active: lpi_aux2_sd0_active {
+ mux {
+ pins = "gpio12";
+ function = "func2";
+ };
+
+ config {
+ pins = "gpio12";
+ drive-strength = <8>; /* 8 mA */
+ bias-disable; /* NO PULL */
+ output-high;
+ };
+ };
+ };
+
+ lpi_aux2_sd1 {
+ lpi_aux2_sd1_sleep: lpi_aux2_sd1_sleep {
+ mux {
+ pins = "gpio13";
+ function = "func2";
+ };
+
+ config {
+ pins = "gpio13";
+ drive-strength = <2>; /* 2 mA */
+ bias-pull-down; /* PULL DOWN */
+ input-enable;
+ };
+ };
+
+ lpi_aux2_sd1_active: lpi_aux2_sd1_active {
+ mux {
+ pins = "gpio13";
+ function = "func2";
+ };
+
+ config {
+ pins = "gpio13";
+ drive-strength = <8>; /* 8 mA */
+ bias-disable; /* NO PULL */
+ output-high;
+ };
+ };
+ };
+
+ lpi_aux3_sck {
+ lpi_aux3_sck_sleep: lpi_aux3_sck_sleep {
+ mux {
+ pins = "gpio14";
+ function = "func1";
+ };
+
+ config {
+ pins = "gpio14";
+ drive-strength = <2>; /* 2 mA */
+ bias-pull-down; /* PULL DOWN */
+ input-enable;
+ };
+ };
+
+ lpi_aux3_sck_active: lpi_aux3_sck_active {
+ mux {
+ pins = "gpio14";
+ function = "func1";
+ };
+
+ config {
+ pins = "gpio14";
+ drive-strength = <8>; /* 8 mA */
+ bias-disable; /* NO PULL */
+ output-high;
+ };
+ };
+
+ lpi_aux3_sck_alt_active: lpi_aux3_sck_alt_active {
+ mux {
+ pins = "gpio14";
+ function = "func1";
+ };
+
+ config {
+ pins = "gpio14";
+ drive-strength = <8>; /* 8 mA */
+ bias-disable; /* NO PULL */
+ };
+ };
+ };
+
+ lpi_aux3_ws {
+ lpi_aux3_ws_sleep: lpi_aux3_ws_sleep {
+ mux {
+ pins = "gpio15";
+ function = "func1";
+ };
+
+ config {
+ pins = "gpio15";
+ drive-strength = <2>; /* 2 mA */
+ bias-pull-down; /* PULL DOWN */
+ input-enable;
+ };
+ };
+
+ lpi_aux3_ws_active: lpi_aux3_ws_active {
+ mux {
+ pins = "gpio15";
+ function = "func1";
+ };
+
+ config {
+ pins = "gpio15";
+ drive-strength = <8>; /* 8 mA */
+ bias-disable; /* NO PULL */
+ output-high;
+ };
+ };
+
+ lpi_aux3_ws_alt_active: lpi_aux3_ws_alt_active {
+ mux {
+ pins = "gpio15";
+ function = "func1";
+ };
+
+ config {
+ pins = "gpio15";
+ drive-strength = <8>; /* 8 mA */
+ bias-disable; /* NO PULL */
+ };
+ };
+ };
+
+ lpi_aux3_sd0 {
+ lpi_aux3_sd0_sleep: lpi_aux3_sd0_sleep {
+ mux {
+ pins = "gpio16";
+ function = "func1";
+ };
+
+ config {
+ pins = "gpio16";
+ drive-strength = <2>; /* 2 mA */
+ bias-pull-down; /* PULL DOWN */
+ input-enable;
+ };
+ };
+
+ lpi_aux3_sd0_active: lpi_aux3_sd0_active {
+ mux {
+ pins = "gpio16";
+ function = "func1";
+ };
+
+ config {
+ pins = "gpio16";
+ drive-strength = <8>; /* 8 mA */
+ bias-disable; /* NO PULL */
+ output-high;
+ };
+ };
+ };
+
+ lpi_aux3_sd1 {
+ lpi_aux3_sd1_sleep: lpi_aux3_sd1_sleep {
+ mux {
+ pins = "gpio17";
+ function = "func1";
+ };
+
+ config {
+ pins = "gpio17";
+ drive-strength = <2>; /* 2 mA */
+ bias-pull-down; /* PULL DOWN */
+ input-enable;
+ };
+ };
+
+ lpi_aux3_sd1_active: lpi_aux3_sd1_active {
+ mux {
+ pins = "gpio17";
+ function = "func1";
+ };
+
+ config {
+ pins = "gpio17";
+ drive-strength = <8>; /* 8 mA */
+ bias-disable; /* NO PULL */
+ output-high;
+ };
+ };
+ };
+
+ tx_swr_clk_sleep: tx_swr_clk_sleep {
+ mux {
+ pins = "gpio0";
+ function = "func1";
+ input-enable;
+ bias-pull-down;
+ };
+
+ config {
+ pins = "gpio0";
+ drive-strength = <10>;
+ };
+ };
+
+ tx_swr_clk_active: tx_swr_clk_active {
+ mux {
+ pins = "gpio0";
+ function = "func1";
+ };
+
+ config {
+ pins = "gpio0";
+ drive-strength = <10>;
+ slew-rate = <3>;
+ bias-disable;
+ };
+ };
+
+ tx_swr_data1_sleep: tx_swr_data1_sleep {
+ mux {
+ pins = "gpio1";
+ function = "func1";
+ };
+
+ config {
+ pins = "gpio1";
+ drive-strength = <10>;
+ input-enable;
+ bias-bus-hold;
+ };
+ };
+
+ tx_swr_data1_active: tx_swr_data1_active {
+ mux {
+ pins = "gpio1";
+ function = "func1";
+ };
+
+ config {
+ pins = "gpio1";
+ drive-strength = <10>;
+ slew-rate = <3>;
+ bias-bus-hold;
+ };
+ };
+
+ tx_swr_data2_sleep: tx_swr_data2_sleep {
+ mux {
+ pins = "gpio2";
+ function = "func1";
+ };
+
+ config {
+ pins = "gpio2";
+ drive-strength = <10>;
+ input-enable;
+ bias-pull-down;
+ };
+ };
+
+ tx_swr_data2_active: tx_swr_data2_active {
+ mux {
+ pins = "gpio2";
+ function = "func1";
+ };
+
+ config {
+ pins = "gpio2";
+ drive-strength = <10>;
+ slew-rate = <3>;
+ bias-bus-hold;
+ };
+ };
+
+ rx_swr_clk_sleep: rx_swr_clk_sleep {
+ mux {
+ pins = "gpio3";
+ function = "func1";
+ };
+
+ config {
+ pins = "gpio3";
+ drive-strength = <10>;
+ input-enable;
+ bias-pull-down;
+ };
+ };
+
+ rx_swr_clk_active: rx_swr_clk_active {
+ mux {
+ pins = "gpio3";
+ function = "func1";
+ };
+
+ config {
+ pins = "gpio3";
+ drive-strength = <10>;
+ slew-rate = <3>;
+ bias-disable;
+ };
+ };
+
+ rx_swr_data_sleep: rx_swr_data_sleep {
+ mux {
+ pins = "gpio4";
+ function = "func1";
+ };
+
+ config {
+ pins = "gpio4";
+ drive-strength = <10>;
+ input-enable;
+ bias-pull-down;
+ };
+ };
+
+ rx_swr_data_active: rx_swr_data_active {
+ mux {
+ pins = "gpio4";
+ function = "func1";
+ };
+
+ config {
+ pins = "gpio4";
+ drive-strength = <10>;
+ slew-rate = <3>;
+ bias-bus-hold;
+ };
+ };
+
+ rx_swr_data1_sleep: rx_swr_data1_sleep {
+ mux {
+ pins = "gpio5";
+ function = "func1";
+ };
+
+ config {
+ pins = "gpio5";
+ drive-strength = <10>;
+ input-enable;
+ bias-pull-down;
+ };
+ };
+
+ rx_swr_data1_active: rx_swr_data1_active {
+ mux {
+ pins = "gpio5";
+ function = "func1";
+ };
+
+ config {
+ pins = "gpio5";
+ drive-strength = <10>;
+ slew-rate = <3>;
+ bias-bus-hold;
+ };
+ };
+
+ cdc_dmic01_clk_active: dmic01_clk_active {
+ mux {
+ pins = "gpio6";
+ function = "func1";
+ };
+
+ config {
+ pins = "gpio6";
+ drive-strength = <8>;
+ output-high;
+ };
+ };
+
+ cdc_dmic01_clk_sleep: dmic01_clk_sleep {
+ mux {
+ pins = "gpio6";
+ function = "func1";
+ };
+
+ config {
+ pins = "gpio6";
+ drive-strength = <2>;
+ bias-disable;
+ output-low;
+ };
+ };
+
+ cdc_dmic01_data_active: dmic01_data_active {
+ mux {
+ pins = "gpio7";
+ function = "func1";
+ };
+
+ config {
+ pins = "gpio7";
+ drive-strength = <8>;
+ input-enable;
+ };
+ };
+
+ cdc_dmic01_data_sleep: dmic01_data_sleep {
+ mux {
+ pins = "gpio7";
+ function = "func1";
+ };
+
+ config {
+ pins = "gpio7";
+ drive-strength = <2>;
+ pull-down;
+ input-enable;
+ };
+ };
+
+ cdc_dmic23_clk_active: dmic23_clk_active {
+ mux {
+ pins = "gpio8";
+ function = "func1";
+ };
+
+ config {
+ pins = "gpio8";
+ drive-strength = <8>;
+ output-high;
+ };
+ };
+
+ cdc_dmic23_clk_sleep: dmic23_clk_sleep {
+ mux {
+ pins = "gpio8";
+ function = "func1";
+ };
+
+ config {
+ pins = "gpio8";
+ drive-strength = <2>;
+ bias-disable;
+ output-low;
+ };
+ };
+
+ cdc_dmic23_data_active: dmic23_data_active {
+ mux {
+ pins = "gpio9";
+ function = "func1";
+ };
+
+ config {
+ pins = "gpio9";
+ drive-strength = <8>;
+ input-enable;
+ };
+ };
+
+ cdc_dmic23_data_sleep: dmic23_data_sleep {
+ mux {
+ pins = "gpio9";
+ function = "func1";
+ };
+
+ config {
+ pins = "gpio9";
+ drive-strength = <2>;
+ pull-down;
+ input-enable;
+ };
+ };
+
+ wsa_mclk_sleep: wsa_mclk_sleep {
+ mux {
+ pins = "gpio18";
+ function = "func1";
+ };
+
+ config {
+ pins = "gpio18";
+ drive-strength = <2>; /* 2 mA */
+ bias-pull-down;
+ };
+ };
+
+ wsa_mclk_active: wsa_mclk_active {
+ mux {
+ pins = "gpio18";
+ function = "func1";
+ };
+
+ config {
+ pins = "gpio18";
+ drive-strength = <16>; /* 16 mA */
+ bias-disable;
+ output-high;
+ };
+ };
+ };
+
+};
diff --git a/sa525m-audio-lpass.dtsi b/sa525m-audio-lpass.dtsi
new file mode 100755
index 0000000..1c72f79
--- /dev/null
+++ b/sa525m-audio-lpass.dtsi
@@ -0,0 +1,83 @@
+&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";
+ };
+
+ qcom,msm-adsp-loader {
+ compatible = "qcom,adsp-loader";
+ qcom,adsp-state = <0>;
+ qcom,proc-img-to-load = "modem";
+ };
+
+ qcom,msm-audio-ion {
+ compatible = "qcom,msm-audio-ion-cma";
+ qcom,scm-mp-enabled;
+ memory-region = <&audio_heap_mem>;
+ };
+
+ stub_codec: qcom,msm-stub-codec {
+ compatible = "qcom,msm-stub-codec";
+ };
+
+ prim_master: prim_master_pinctrl {
+ compatible = "qcom,msm-cdc-pinctrl";
+ pinctrl-names = "aud_active", "aud_sleep";
+ pinctrl-0 = <&pri_ws_active_master
+ &pri_sck_active_master
+ &pri_dout_active
+ &pri_din_active>;
+ pinctrl-1 = <&pri_ws_sleep
+ &pri_sck_sleep
+ &pri_dout_sleep
+ &pri_din_sleep>;
+ qcom,mi2s-auxpcm-cdc-gpios;
+ };
+
+ prim_slave: prim_slave_pinctrl {
+ status = "disabled";
+ compatible = "qcom,msm-cdc-pinctrl";
+ pinctrl-names = "aud_active", "aud_sleep";
+ pinctrl-0 = <&pri_ws_active_slave
+ &pri_sck_active_slave
+ &pri_dout_active
+ &pri_din_active>;
+ pinctrl-1 = <&pri_ws_sleep
+ &pri_sck_sleep
+ &pri_dout_sleep
+ &pri_din_sleep>;
+ qcom,mi2s-auxpcm-cdc-gpios;
+ };
+
+ sec_master: sec_master_pinctrl {
+ compatible = "qcom,msm-cdc-pinctrl";
+ pinctrl-names = "aud_active", "aud_sleep";
+ pinctrl-0 = <&sec_ws_active_master
+ &sec_sck_active_master
+ &sec_dout_active
+ &sec_din_active>;
+ pinctrl-1 = <&sec_ws_sleep
+ &sec_sck_sleep
+ &sec_dout_sleep
+ &sec_din_sleep>;
+ qcom,mi2s-auxpcm-cdc-gpios;
+ };
+
+ sec_slave: sec_slave_pinctrl {
+ status = "disabled";
+ compatible = "qcom,msm-cdc-pinctrl";
+ pinctrl-names = "aud_active", "aud_sleep";
+ pinctrl-0 = <&sec_ws_active_slave
+ &sec_sck_active_slave
+ &sec_dout_active
+ &sec_din_active>;
+ pinctrl-1 = <&sec_ws_sleep
+ &sec_sck_sleep
+ &sec_dout_sleep
+ &sec_din_sleep>;
+ qcom,mi2s-auxpcm-cdc-gpios;
+ };
+};
diff --git a/sa525m-audio-overlay.dtsi b/sa525m-audio-overlay.dtsi
new file mode 100755
index 0000000..09139b1
--- /dev/null
+++ b/sa525m-audio-overlay.dtsi
@@ -0,0 +1,18 @@
+#include <dt-bindings/clock/qcom,audio-ext-clk.h>
+
+
+&soc {
+
+ 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>;
+ };
+
+};
diff --git a/sa525m-audio.dts b/sa525m-audio.dts
new file mode 100755
index 0000000..0a06fe0
--- /dev/null
+++ b/sa525m-audio.dts
@@ -0,0 +1,17 @@
+/dts-v1/;
+/plugin/;
+
+#include <dt-bindings/clock/qcom,gcc-sdxpinn.h>
+#include <dt-bindings/interrupt-controller/arm-gic.h>
+#include <dt-bindings/interconnect/qcom,sdxpinn.h>
+#include <dt-bindings/regulator/qcom,rpmh-regulator-levels.h>
+
+#include "sa525m-audio.dtsi"
+
+/ {
+
+ model = "Qualcomm Technologies, Inc. SA525M";
+ compatible = "qcom,sdxpinn";
+ qcom,msm-id = <556 0x10000>, <580 0x10000>;
+ qcom,board-id = <0 0>;
+};
diff --git a/sa525m-audio.dtsi b/sa525m-audio.dtsi
new file mode 100755
index 0000000..9bd0541
--- /dev/null
+++ b/sa525m-audio.dtsi
@@ -0,0 +1,46 @@
+#include "sa525m-audio-lpass.dtsi"
+#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";
+ };
+};
+
+
+&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-vm-audio.dtsi b/sa8155-vm-audio.dtsi
index dc23aaa..12d47ca 100755
--- a/sa8155-vm-audio.dtsi
+++ b/sa8155-vm-audio.dtsi
@@ -442,14 +442,6 @@
};
};
-&dai_pri_auxpcm{
- pinctrl-names = "default", "sleep";
- pinctrl-0 = <&pri_aux_pcm_clk_active &pri_aux_pcm_sync_active
- &pri_aux_pcm_din_active &pri_aux_pcm_dout_active>;
- pinctrl-1 = <&pri_aux_pcm_clk_sleep &pri_aux_pcm_sync_sleep
- &pri_aux_pcm_din_sleep &pri_aux_pcm_dout_sleep>;
-};
-
&audio_apr {
q6core: qcom,q6core-audio {
compatible = "qcom,q6core-audio";
@@ -482,9 +474,11 @@
<&dai_mi2s2_rx>, <&dai_mi2s2_tx>,
<&dai_mi2s3_rx>, <&dai_mi2s3_tx>,
<&dai_mi2s4_rx>, <&dai_mi2s4_tx>,
- <&dai_pri_auxpcm>,
- <&dai_sec_auxpcm>, <&dai_tert_auxpcm>,
- <&dai_quat_auxpcm>, <&dai_quin_auxpcm>,
+ <&dai_pri_auxpcm_rx>, <&dai_pri_auxpcm_tx>,
+ <&dai_sec_auxpcm_rx>, <&dai_sec_auxpcm_tx>,
+ <&dai_tert_auxpcm_rx>, <&dai_tert_auxpcm_tx>,
+ <&dai_quat_auxpcm_rx>, <&dai_quat_auxpcm_tx>,
+ <&dai_quin_auxpcm_rx>, <&dai_quin_auxpcm_tx>,
<&afe_pcm_rx>, <&afe_pcm_tx>,
<&afe_proxy_rx>, <&afe_proxy_tx>,
<&afe_pcm_rx_1>, <&afe_proxy_tx_1>,
@@ -521,9 +515,11 @@
"msm-dai-q6-mi2s.4", "msm-dai-q6-mi2s.5",
"msm-dai-q6-mi2s.6", "msm-dai-q6-mi2s.7",
"msm-dai-q6-mi2s.8", "msm-dai-q6-mi2s.9",
- "msm-dai-q6-auxpcm.1",
- "msm-dai-q6-auxpcm.2", "msm-dai-q6-auxpcm.3",
- "msm-dai-q6-auxpcm.4", "msm-dai-q6-auxpcm.5",
+ "msm-dai-q6-auxpcm.1","msm-dai-q6-auxpcm.2",
+ "msm-dai-q6-auxpcm.3", "msm-dai-q6-auxpcm.4",
+ "msm-dai-q6-auxpcm.5", "msm-dai-q6-auxpcm.6",
+ "msm-dai-q6-auxpcm.7", "msm-dai-q6-auxpcm.8",
+ "msm-dai-q6-auxpcm.9", "msm-dai-q6-auxpcm.10",
"msm-dai-q6-dev.224", "msm-dai-q6-dev.225",
"msm-dai-q6-dev.241", "msm-dai-q6-dev.240",
"msm-dai-q6-dev.226", "msm-dai-q6-dev.242",
diff --git a/sdx-wsa881x.dtsi b/sdx-wsa881x.dtsi
index 708bf7d..936ec96 100755
--- a/sdx-wsa881x.dtsi
+++ b/sdx-wsa881x.dtsi
@@ -1,4 +1,4 @@
-&qupv3_se2_i2c {
+&qupv3_se2_i2c_pins {
tavil_codec {
swr_master {
compatible = "qcom,swr-wcd";
diff --git a/sdxpinn-audio-overlay.dtsi b/sdxpinn-audio-overlay.dtsi
index 9fcc12e..a6a6e8c 100755
--- a/sdxpinn-audio-overlay.dtsi
+++ b/sdxpinn-audio-overlay.dtsi
@@ -76,7 +76,7 @@
};
};
-&qupv3_se2_i2c {
+&qupv3_se2_i2c_pins {
status = "ok";
wcd934x_cdc: tavil_codec {
compatible = "qcom,tavil-i2c";
diff --git a/sdxpinn-audio.dts b/sdxpinn-audio.dts
index 1917308..8d9b292 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 = <0 0>;
+ 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>;
};
diff --git a/sdxpinn-audio.dtsi b/sdxpinn-audio.dtsi
index 9fc80f3..8789414 100755
--- a/sdxpinn-audio.dtsi
+++ b/sdxpinn-audio.dtsi
@@ -34,8 +34,3 @@
};
};
};
-
-&audio_co_heap {
- status = "okay";
- memory-region = <&audio_heap_mem>;
-};
diff --git a/sdxpinn-wcd.dtsi b/sdxpinn-wcd.dtsi
index fb7720c..41d28c3 100755
--- a/sdxpinn-wcd.dtsi
+++ b/sdxpinn-wcd.dtsi
@@ -1,4 +1,4 @@
-&qupv3_se2_i2c {
+&qupv3_se2_i2c_pins {
tavil_codec {
wcd: wcd_pinctrl@5 {
compatible = "qcom,wcd-pinctrl";