mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-11-08 11:45:53 -05:00
Configure dynamic addition of VA dai-link based on dt property. Change-Id: I63e53c2b7340798f7b0679336d225d1950ee33d6
313 lines
9.4 KiB
Devicetree
313 lines
9.4 KiB
Devicetree
#include <dt-bindings/clock/qcom,audio-ext-clk.h>
|
|
#include <dt-bindings/sound/qcom,bolero-clk-rsc.h>
|
|
#include <dt-bindings/sound/audio-codec-port-types.h>
|
|
#include <dt-bindings/interrupt-controller/arm-gic.h>
|
|
|
|
&spf_core_platform {
|
|
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;
|
|
};
|
|
|
|
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 {
|
|
};
|
|
};
|
|
};
|
|
|
|
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>;
|
|
|
|
asoc-platform = <&pcm0>, <&pcm1>, <&pcm2>, <&voip>, <&voice>,
|
|
<&loopback>, <&compress>, <&hostless>,
|
|
<&afe>, <&lsm>, <&routing>, <&compr>,
|
|
<&pcm_noirq>;
|
|
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-compress-dsp", "msm-pcm-hostless",
|
|
"msm-pcm-afe", "msm-lsm-client",
|
|
"msm-pcm-routing", "msm-compr-dsp",
|
|
"msm-pcm-dsp-noirq";
|
|
asoc-cpu = <&dai_mi2s0>, <&dai_mi2s1>,
|
|
<&dai_mi2s2>, <&dai_mi2s3>,
|
|
<&dai_pri_auxpcm>,
|
|
<&dai_sec_auxpcm>, <&dai_tert_auxpcm>,
|
|
<&dai_quat_auxpcm>,
|
|
<&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>,
|
|
<&proxy_rx>, <&proxy_tx>,
|
|
<&usb_audio_rx>, <&usb_audio_tx>,
|
|
<&sb_7_rx>, <&sb_7_tx>, <&sb_8_tx>,
|
|
<&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>,
|
|
<&rx_cdc_dma_5_rx>, <&tx_cdc_dma_5_tx>,
|
|
<&rx_cdc_dma_6_rx>, <&rx_cdc_dma_7_rx>,
|
|
<&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-auxpcm.1",
|
|
"msm-dai-q6-auxpcm.2", "msm-dai-q6-auxpcm.3",
|
|
"msm-dai-q6-auxpcm.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.8194", "msm-dai-q6-dev.8195",
|
|
"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-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-cdc-dma-dev.45114",
|
|
"msm-dai-cdc-dma-dev.45115",
|
|
"msm-dai-cdc-dma-dev.45116",
|
|
"msm-dai-cdc-dma-dev.45118",
|
|
"msm-dai-q6-dev.24577";
|
|
};
|
|
};
|
|
|
|
&bolero {
|
|
qcom,num-macros = <3>;
|
|
qcom,bolero-version = <6>;
|
|
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,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 = <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_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 = <0x0C 0x01170224>;
|
|
};
|
|
};
|
|
};
|
|
|
|
besbev_codec: besbev-codec {
|
|
compatible = "qcom,besbev-codec";
|
|
qcom,split-codec = <1>;
|
|
qcom,wcd-reset-reg = <0x0000FCDB>;
|
|
qcom,foundry-id-reg = <0x000001F2>;
|
|
qcom,swr_ch_map = <0 SPKR_L 0x1 0 LO>,
|
|
<2 ADC1 0x1 0 SWRM_RX_PCM_IN>, <2 ADC2 0x2 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 = <4100000 5600000>;
|
|
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";
|
|
};
|
|
};
|
|
|
|
&monaco_snd {
|
|
qcom,model = "monaco-idp-amic-snd-card";
|
|
qcom,msm-mi2s-master = <1>, <1>, <1>, <1>;
|
|
qcom,wcn-btfm = <1>;
|
|
qcom,va-bolero-codec = <1>;
|
|
qcom,visense-enable = <0>;
|
|
qcom,audio-routing =
|
|
"AMIC1", "Analog Mic1",
|
|
"Analog Mic1","MIC BIAS1",
|
|
"AMIC2", "Analog Mic2",
|
|
"Analog Mic2", "MIC BIAS2",
|
|
"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",
|
|
"SPKR_IN", "AUX_OUT",
|
|
"TX SWR_INPUT", "VA_TX_SWR_CLK",
|
|
"RX_SWR_TX_PCM_IN0", "RX_MCLK",
|
|
"RX_SWR_TX_PCM_IN1", "RX_MCLK",
|
|
"RX_SWR_TX_PCM_IN0", "ADC1_OUTPUT",
|
|
"RX_SWR_TX_PCM_IN1", "ADC2_OUTPUT",
|
|
"RX_TX DEC0_INP", "TX DEC0 MUX",
|
|
"RX_TX DEC1_INP", "TX DEC1 MUX",
|
|
"RX_TX DEC2_INP", "TX DEC2 MUX",
|
|
"RX_TX DEC3_INP", "TX DEC3 MUX",
|
|
"TX_AIF1 CAP", "VA_TX_SWR_CLK",
|
|
"TX_AIF2 CAP", "VA_TX_SWR_CLK",
|
|
"TX_AIF3 CAP", "VA_TX_SWR_CLK",
|
|
"VA SWR_INPUT", "VA_SWR_CLK",
|
|
"VA_AIF1 CAP", "VA_SWR_CLK",
|
|
"VA_AIF2 CAP", "VA_SWR_CLK",
|
|
"VA_AIF3 CAP", "VA_SWR_CLK",
|
|
"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";
|
|
|
|
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 {
|
|
audio_pkt_core_platform: qcom,audio-pkt-core-platform {
|
|
compatible = "qcom,audio-pkt-core-platform";
|
|
};
|
|
|
|
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>;
|
|
};
|
|
};
|
|
|
|
&va_cdc_dma_0_tx {
|
|
qcom,msm-dai-is-island-supported = <1>;
|
|
};
|