blob: 1ae307dfb741c4e84658ab94c32ee3787543f1c0 [file] [log] [blame]
#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,bt-slim-clk-src-ctrl = <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>, <&lpi_tlmm>, <&bolero>;
};
&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>;
};
};