| #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> |
| #include <dt-bindings/gpio/gpio.h> |
| |
| &bolero { |
| qcom,num-macros = <3>; |
| qcom,bolero-version = <5>; |
| #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>; |
| }; |
| |
| va_macro: va-macro@A730000 { |
| compatible = "qcom,va-macro"; |
| reg = <0xA730000 0x0>; |
| clock-names = "lpass_audio_hw_vote"; |
| clocks = <&lpass_audio_hw_vote 0>; |
| qcom,va-dmic-sample-rate = <600000>; |
| 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"; |
| qcom,is_wcd937x = <1>; |
| #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 = <0xA740000 0x0>; |
| interrupts-extended = |
| <&wakegic 5 IRQ_TYPE_LEVEL_HIGH>, |
| <&tlmm 128 GPIO_ACTIVE_HIGH>; |
| interrupt-names = "swr_master_irq", "swr_wake_irq"; |
| qcom,swr-num-ports = <3>; |
| qcom,swr-port-mapping = <1 SWRM_TX1_CH1 0x1>, |
| <1 SWRM_TX1_CH2 0x2>, |
| <1 SWRM_TX1_CH3 0x4>, <1 SWRM_TX1_CH4 0x8>, |
| <2 SWRM_TX2_CH1 0x1>, <2 SWRM_TX2_CH2 0x2>, |
| <2 SWRM_TX2_CH3 0x4>, <2 SWRM_TX2_CH4 0x8>, |
| <3 SWRM_TX3_CH1 0x1>, <3 SWRM_TX3_CH2 0x2>, |
| <3 SWRM_TX3_CH3 0x4>, <3 SWRM_TX3_CH4 0x8>; |
| qcom,swr-num-dev = <1>; |
| qcom,swr-phy-dev-addr = <0x0A 0x01170223>, |
| <0x08 0x58350223>, |
| <0x08 0x58350222>, |
| <0x08 0x58350221>, |
| <0x08 0x58350220>; |
| qcom,swr-clock-stop-mode0 = <1>; |
| qcom,swr-mstr-irq-wakeup-capable = <1>; |
| qcom,is-always-on = <1>; |
| wcd937x_tx_slave: wcd937x-tx-slave { |
| compatible = "qcom,wcd937x-slave"; |
| reg = <0x0A 0x01170223>; |
| }; |
| |
| wcd938x_tx_slave: wcd938x-tx-slave { |
| status = "disabled"; |
| compatible = "qcom,wcd938x-slave"; |
| reg = <0x0D 0x01170223>; |
| }; |
| |
| }; |
| }; |
| |
| tx_macro: tx-macro@A620000 { |
| compatible = "qcom,tx-macro"; |
| reg = <0xA620000 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@A600000 { |
| compatible = "qcom,rx-macro"; |
| reg = <0xA600000 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 = <0xA5640D8>; |
| qcom,rx-bcl-pmic-params = /bits/ 8 <0x00 0x03 0x48>; |
| 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 = <0xA610000 0x0>; |
| interrupts = <GIC_SPI 297 IRQ_TYPE_LEVEL_HIGH>; |
| interrupt-names = "swr_master_irq"; |
| qcom,swr-num-ports = <6>; |
| 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>, <6 PCM_OUT1 0x01>; |
| qcom,swr-num-dev = <1>; |
| qcom,swr-clock-stop-mode0 = <1>; |
| wcd937x_rx_slave: wcd937x-rx-slave { |
| compatible = "qcom,wcd937x-slave"; |
| reg = <0x0A 0x01170224>; |
| }; |
| |
| wcd938x_rx_slave: wcd938x-rx-slave { |
| status = "disabled"; |
| compatible = "qcom,wcd938x-slave"; |
| reg = <0x0D 0x01170224>; |
| }; |
| }; |
| }; |
| |
| wcd938x_codec: wcd938x-codec { |
| status = "disabled"; |
| compatible = "qcom,wcd938x-codec"; |
| qcom,split-codec = <1>; |
| qcom,rx_swr_ch_map = <0 HPH_L 0x1 0 HPH_L>, |
| <0 HPH_R 0x2 0 HPH_R>, <1 CLSH 0x1 0 CLSH>, |
| <2 COMP_L 0x1 0 COMP_L>, <2 COMP_R 0x2 0 COMP_R>, |
| <3 LO 0x1 0 LO>, <4 DSD_L 0x1 0 DSD_L>, |
| <4 DSD_R 0x2 0 DSD_R>; |
| |
| qcom,tx_swr_ch_map = <0 ADC1 0x1 0 SWRM_TX1_CH1>, |
| <0 ADC2 0x2 0 SWRM_TX1_CH2>, |
| <1 ADC3 0x1 0 SWRM_TX1_CH3>, |
| <1 ADC4 0x2 0 SWRM_TX1_CH4>, |
| <2 DMIC0 0x1 0 SWRM_TX2_CH1>, |
| <2 DMIC1 0x2 0 SWRM_TX2_CH2>, |
| <2 MBHC 0x4 0 SWRM_TX2_CH3>, |
| <2 DMIC2 0x4 0 SWRM_TX2_CH3>, |
| <2 DMIC3 0x8 0 SWRM_TX2_CH4>, |
| <3 DMIC4 0x1 0 SWRM_TX3_CH1>, |
| <3 DMIC5 0x2 0 SWRM_TX3_CH2>, |
| <3 DMIC6 0x4 0 SWRM_TX3_CH3>, |
| <3 DMIC7 0x8 0 SWRM_TX3_CH4>; |
| |
| qcom,wcd-rst-gpio-node = <&wcd937x_rst_gpio>; |
| qcom,rx-slave = <&wcd938x_rx_slave>; |
| qcom,tx-slave = <&wcd938x_tx_slave>; |
| |
| cdc-vdd-rxtx-supply = <&L11A>; |
| qcom,cdc-vdd-rxtx-voltage = <1800000 1800000>; |
| qcom,cdc-vdd-rxtx-current = <30000>; |
| |
| cdc-vddio-supply = <&L11A>; |
| qcom,cdc-vddio-voltage = <1800000 1800000>; |
| qcom,cdc-vddio-current = <30000>; |
| |
| cdc-vdd-buck-supply = <&L14A>; |
| qcom,cdc-vdd-buck-voltage = <1800000 1800000>; |
| qcom,cdc-vdd-buck-current = <650000>; |
| |
| cdc-vdd-mic-bias-supply = <&BOB>; |
| qcom,cdc-vdd-mic-bias-voltage = <3296000 3296000>; |
| qcom,cdc-vdd-mic-bias-current = <30000>; |
| |
| qcom,cdc-micbias1-mv = <1800>; |
| qcom,cdc-micbias2-mv = <1800>; |
| qcom,cdc-micbias3-mv = <1800>; |
| qcom,cdc-micbias4-mv = <1800>; |
| |
| qcom,cdc-static-supplies = "cdc-vdd-rxtx", |
| "cdc-vddio", |
| "cdc-vdd-mic-bias"; |
| qcom,cdc-on-demand-supplies = "cdc-vdd-buck"; |
| }; |
| |
| wcd937x_codec: wcd937x-codec { |
| compatible = "qcom,wcd937x-codec"; |
| qcom,split-codec = <1>; |
| qcom,rx_swr_ch_map = <0 HPH_L 0x1 0 HPH_L>, |
| <0 HPH_R 0x2 0 HPH_R>, <1 CLSH 0x1 0 CLSH>, |
| <2 COMP_L 0x1 0 COMP_L>, <2 COMP_R 0x2 0 COMP_R>, |
| <3 LO 0x1 0 LO>, <4 DSD_L 0x1 0 DSD_L>, |
| <4 DSD_R 0x2 0 DSD_R>; |
| qcom,tx_swr_ch_map = <0 ADC1 0x1 0 SWRM_TX1_CH1>, |
| <1 ADC2 0x1 0 SWRM_TX2_CH1>, |
| <1 ADC3 0x2 0 SWRM_TX2_CH2>, |
| <2 DMIC0 0x1 0 SWRM_TX1_CH4>, |
| <2 DMIC1 0x2 0 SWRM_TX2_CH1>, |
| <2 MBHC 0x4 0 SWRM_TX2_CH2>, |
| <3 DMIC2 0x1 0 SWRM_TX2_CH3>, |
| <3 DMIC3 0x2 0 SWRM_TX2_CH4>, |
| <3 DMIC4 0x4 0 SWRM_TX3_CH1>, |
| <3 DMIC5 0x8 0 SWRM_TX3_CH2>; |
| |
| qcom,wcd-rst-gpio-node = <&wcd937x_rst_gpio>; |
| qcom,rx-slave = <&wcd937x_rx_slave>; |
| qcom,tx-slave = <&wcd937x_tx_slave>; |
| |
| cdc-vdd-rxtx-supply = <&L11A>; |
| qcom,cdc-vdd-rxtx-voltage = <1800000 1800000>; |
| qcom,cdc-vdd-rxtx-current = <30000>; |
| |
| cdc-vddpx-supply = <&L11A>; |
| qcom,cdc-vddpx-voltage = <1800000 1800000>; |
| qcom,cdc-vddpx-current = <30000>; |
| |
| cdc-vdd-buck-supply = <&L14A>; |
| qcom,cdc-vdd-buck-voltage = <1800000 1800000>; |
| qcom,cdc-vdd-buck-current = <650000>; |
| |
| cdc-vdd-mic-bias-supply = <&BOB>; |
| qcom,cdc-vdd-mic-bias-voltage = <3296000 3296000>; |
| qcom,cdc-vdd-mic-bias-current = <45000>; |
| |
| qcom,cdc-micbias1-mv = <1800>; |
| qcom,cdc-micbias2-mv = <1800>; |
| qcom,cdc-micbias3-mv = <1800>; |
| |
| qcom,cdc-static-supplies = "cdc-vdd-rxtx", |
| "cdc-vddpx", |
| "cdc-vdd-mic-bias"; |
| qcom,cdc-on-demand-supplies = "cdc-vdd-buck"; |
| }; |
| }; |
| |
| &holi_snd { |
| qcom,model = "holi-mtp-snd-card"; |
| qcom,sku-model = "holi-mtpsku1-snd-card"; |
| qcom,msm-mi2s-master = <1>, <1>, <1>, <1>; |
| qcom,wcn-btfm = <1>; |
| qcom,tdm-max-slots = <4>; |
| qcom,audio-routing = |
| "AMIC1", "Analog Mic1", |
| "Analog Mic1", "MIC BIAS1", |
| "AMIC2", "Analog Mic2", |
| "Analog Mic2", "MIC BIAS2", |
| "AMIC3", "Analog Mic3", |
| "Analog Mic3", "MIC BIAS3", |
| "AMIC4", "Analog Mic4", |
| "Analog Mic4", "MIC BIAS3", |
| "TX DMIC0", "Digital Mic0", |
| "TX DMIC0", "MIC BIAS1", |
| "TX DMIC1", "Digital Mic1", |
| "TX DMIC1", "MIC BIAS1", |
| "TX DMIC2", "Digital Mic2", |
| "TX DMIC2", "MIC BIAS3", |
| "TX DMIC3", "Digital Mic3", |
| "TX DMIC3", "MIC BIAS3", |
| "IN1_HPHL", "HPHL_OUT", |
| "IN2_HPHR", "HPHR_OUT", |
| "IN3_AUX", "AUX_OUT", |
| "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", |
| "SpkrMono WSA_IN", "AUX", |
| "TX SWR_INPUT", "WCD_TX_OUTPUT", |
| "VA SWR_INPUT", "VA_SWR_CLK", |
| "VA SWR_INPUT", "WCD_TX_OUTPUT", |
| "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 DMIC4", "Digital Mic4", |
| "VA DMIC5", "Digital Mic5", |
| "VA DMIC0", "VA MIC BIAS1", |
| "VA DMIC1", "VA MIC BIAS1", |
| "VA DMIC2", "VA MIC BIAS3", |
| "VA DMIC3", "VA MIC BIAS3"; |
| 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>; |
| |
| nvmem-cells = <&adsp_variant>; |
| nvmem-cell-names = "adsp_variant"; |
| |
| asoc-codec = <&stub_codec>, <&bolero>, |
| <&wcd937x_codec>, <&wsa881x_i2c_e>, |
| <&wsa881x_i2c_f>; |
| asoc-codec-names = "msm-stub-codec.1", "bolero_codec", |
| "wcd937x_codec", "wsa-codec0", |
| "wsa-codec1"; |
| qcom,msm_audio_ssr_devs = <&audio_apr>, <&q6core>, <&lpi_tlmm>, |
| <&bolero>; |
| }; |
| |
| &qupv3_se10_i2c { |
| wsa881x_i2c_e: wsa881x-i2c-codec@e { |
| compatible = "qcom,wsa881x-i2c-codec"; |
| reg = <0x0e>; |
| clock-names = "wsa_mclk"; |
| clocks = <&wsa881x_analog_clk 0>; |
| qcom,wsa-analog-clk-gpio = <&wsa881x_analog_clk_gpio>; |
| qcom,wsa-analog-reset-gpio = <&wsa881x_analog_reset_gpio>; |
| cdc-vdd-1p8-supply = <&L11A>; |
| qcom,cdc-vdd-1p8-voltage = <1800000 1800000>; |
| qcom,cdc-vdd-1p8-current = <10000>; |
| qcom,cdc-static-supplies = "cdc-vdd-1p8"; |
| qcom,wsa-prefix = "SpkrMono"; |
| }; |
| |
| wsa881x_i2c_44: wsa881x-i2c-codec@44 { |
| compatible = "qcom,wsa881x-i2c-codec"; |
| reg = <0x044>; |
| qcom,wsa-analog-clk-gpio = <&wsa881x_analog_clk_gpio>; |
| }; |
| |
| wsa881x_i2c_f: wsa881x-i2c-codec@f { |
| status = "disabled"; |
| compatible = "qcom,wsa881x-i2c-codec"; |
| reg = <0x0f>; |
| clock-names = "wsa_mclk"; |
| clocks = <&wsa881x_analog_clk 0>; |
| qcom,wsa-analog-clk-gpio = <&wsa881x_analog_clk_gpio>; |
| qcom,wsa-analog-reset-gpio = <&wsa881x_analog_reset_gpio>; |
| cdc-vdd-1p8-supply = <&L11A>; |
| qcom,cdc-vdd-1p8-voltage = <1800000 1800000>; |
| qcom,cdc-vdd-1p8-current = <10000>; |
| qcom,cdc-static-supplies = "cdc-vdd-1p8"; |
| qcom,wsa-prefix = "SpkrMono"; |
| }; |
| |
| wsa881x_i2c_45: wsa881x-i2c-codec@45 { |
| status = "disabled"; |
| compatible = "qcom,wsa881x-i2c-codec"; |
| reg = <0x045>; |
| qcom,wsa-analog-clk-gpio = <&wsa881x_analog_clk_gpio>; |
| }; |
| }; |
| |
| &va_cdc_dma_0_tx { |
| qcom,msm-dai-is-island-supported = <1>; |
| }; |
| |
| &soc { |
| wcd937x_rst_gpio: msm_cdc_pinctrl@32 { |
| compatible = "qcom,msm-cdc-pinctrl"; |
| pinctrl-names = "aud_active", "aud_sleep"; |
| pinctrl-0 = <&wcd937x_reset_active>; |
| pinctrl-1 = <&wcd937x_reset_sleep>; |
| }; |
| |
| wsa881x_analog_reset_gpio: wsa_reset_gpio { |
| compatible = "qcom,msm-cdc-pinctrl"; |
| pinctrl-names = "aud_active", "aud_sleep"; |
| pinctrl-0 = <&spkr_2_sd_n_active>; |
| pinctrl-1 = <&spkr_2_sd_n_sleep>; |
| #gpio-cells = <0>; |
| }; |
| |
| 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>; |
| }; |
| }; |
| |
| &adsp_loader { |
| nvmem-cells = <&adsp_variant>; |
| nvmem-cell-names = "adsp_variant"; |
| adsp-fw-names = "adsp2"; |
| adsp-fw-bit-values = <0x1>; |
| }; |