Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 212c99bb authored by qctecmdr Service's avatar qctecmdr Service Committed by Gerrit - the friendly Code Review server
Browse files

Merge "ARM: dts: msm: Add audio support for sm6150 target"

parents 6d1f422f 8257d303
Loading
Loading
Loading
Loading
+71 −0
Original line number Diff line number Diff line
@@ -165,6 +165,77 @@
			compatible = "qcom,msm-dai-cdc-dma-dev";
			qcom,msm-dai-cdc-dma-dev-id = <45091>;
		};

		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 {
+377 −0
Original line number Diff line number Diff line
/*
 * Copyright (c) 2018, The Linux Foundation. All rights reserved.
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License version 2 and
 * only version 2 as published by the Free Software Foundation.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 */

/{
	aliases {
		swr1 = &swr_1;
		swr2 = &swr_2;
	};
};

#include "sm6150-wcd.dtsi"
#include "sm6150-lpi.dtsi"
#include <dt-bindings/clock/qcom,audio-ext-clk.h>

&bolero {
	qcom,num-macros = <4>;
	wsa_macro: wsa-macro@62F00000 {
		compatible = "qcom,wsa-macro";
		reg = <0x62F00000 0x0>;
		clock-names = "wsa_core_clk", "wsa_npl_clk";
		clocks = <&clock_audio_wsa_1 0>,
			 <&clock_audio_wsa_2 0>;
		qcom,wsa-swr-gpios = <&wsa_swr_gpios>;
	};

	va_macro: va-macro@62F20000 {
		compatible = "qcom,va-macro";
		reg = <0x62F20000 0x0>;
		clock-names = "va_core_clk";
		clocks = <&clock_audio_va 0>;
	};

	rx_macro: rx-macro@62EE0000 {
		compatible = "qcom,rx-macro";
		reg = <0x62EE0000 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>;
		swr_1: rx_swr_master {
			compatible = "qcom,swr-mstr";
			wcd937x_rx_slave: wcd937x-rx-slave {
				compatible = "qcom,wcd937x-slave";
			};
		};
	};

	tx_macro: tx-macro@62EC0000 {
		compatible = "qcom,tx-macro";
		reg = <0x62EC0000 0x0>;
		clock-names = "tx_core_clk", "tx_npl_clk";
		clocks = <&clock_audio_tx_1 0>,
			 <&clock_audio_tx_2 0>;
		qcom,tx-swr-gpios = <&tx_swr_gpios>;
		swr_2: tx_swr_master {
			compatible = "qcom,swr-mstr";
			wcd937x_tx_slave: wcd937x-tx-slave {
				compatible = "qcom,wcd937x-slave";
			};
		};
	};
};

#include "sm6150-wsa881x.dtsi"

&sm6150_snd {
	qcom,model = "sm6150-idp-snd-card";
	qcom,msm-mi2s-master = <1>, <1>, <1>, <1>, <1>;
	qcom,audio-routing =
		"SpkrLeft IN", "WSA_SPK1 OUT",
		"SpkrRight IN", "WSA_SPK2 OUT",
		"WSA_SPK1 OUT", "VA_MCLK",
		"WSA_SPK2 OUT", "VA_MCLK";
	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>;
	asoc-codec  = <&stub_codec>, <&bolero>,
		      <&ext_disp_audio_codec>;
	asoc-codec-names = "msm-stub-codec.1", "bolero_codec",
			   "msm-ext-disp-audio-codec-rx";
	qcom,wsa-max-devs = <2>;
	qcom,wsa-devs = <&wsa881x_0211>, <&wsa881x_0212>,
			<&wsa881x_0213>, <&wsa881x_0214>;
	qcom,wsa-aux-dev-prefix = "SpkrLeft", "SpkrRight",
				  "SpkrLeft", "SpkrRight";
	qcom,codec-aux-devs = <&wcd937x_codec>;
};

&soc {
	wcd937x_codec: wcd937x-codec {
		compatible = "qcom,wcd937x-codec";

		qcom,wcd-rst-gpio-node = <&wcd937x_rst_gpio>;
		qcom,rx-slave = <&wcd937x_rx_slave>;
		qcom,tx-slave = <&wcd937x_tx_slave>;

		cdc-vdd-ldo-rxtx-supply = <&L10A>;
		qcom,cdc-vdd-ldo-rxtx-voltage = <1800000 1800000>;
		qcom,cdc-vdd-ldo-rxtx-current = <25000>;

		cdc-vddpx-1-supply = <&L10A>;
		qcom,cdc-vddpx-1-voltage = <1800000 1800000>;
		qcom,cdc-vddpx-1-current = <10000>;

		cdc-vdd-buck-supply = <&L15A>;
		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 = <25000>;

		qcom,cdc-static-supplies = "cdc-vdd-ldo-rxtx",
					   "cdc-vddpx-1";
		qcom,cdc-on-demand-supplies = "cdc-vdd-buck",
					      "cdc-vdd-mic-bias";
	};

	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;
	};

	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;
	};

	wsa_swr_gpios: wsa_swr_clk_data_pinctrl {
		compatible = "qcom,msm-cdc-pinctrl";
		pinctrl-names = "aud_active", "aud_sleep";
		pinctrl-0 = <&wsa_swr_clk_active &wsa_swr_data_active>;
		pinctrl-1 = <&wsa_swr_clk_sleep &wsa_swr_data_sleep>;
	};

	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;
	};

	tx_swr_gpios: tx_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;
	};

	wsa_spkr_en1: wsa_spkr_en1_pinctrl {
		compatible = "qcom,msm-cdc-pinctrl";
		pinctrl-names = "aud_active", "aud_sleep";
		pinctrl-0 = <&spkr_1_sd_n_active>;
		pinctrl-1 = <&spkr_1_sd_n_sleep>;
	};

	wsa_spkr_en2: wsa_spkr_en2_pinctrl {
		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>;
	};

	wcd9xxx_intc: wcd9xxx-irq {
		status = "disabled";
		compatible = "qcom,wcd9xxx-irq";
		interrupt-controller;
		#interrupt-cells = <1>;
		interrupt-parent = <&tlmm>;
		qcom,gpio-connect = <&tlmm 122 0>;
		pinctrl-names = "default";
		pinctrl-0 = <&wcd_intr_default>;
	};


	wcd934x_rst_gpio: msm_cdc_pinctrl@29 {
		status = "disabled";
		compatible = "qcom,msm-cdc-pinctrl";
		pinctrl-names = "aud_active", "aud_sleep";
		pinctrl-0 = <&lpi_wcd934x_reset_active>;
		pinctrl-1 = <&lpi_wcd934x_reset_sleep>;
		qcom,lpi-gpios;
	};

	wcd937x_rst_gpio: msm_cdc_pinctrl@24 {
		compatible = "qcom,msm-cdc-pinctrl";
		pinctrl-names = "aud_active", "aud_sleep";
		pinctrl-0 = <&lpi_wcd937x_reset_active>;
		pinctrl-1 = <&lpi_wcd937x_reset_sleep>;
		qcom,lpi-gpios;
	};

	qcom,wcd-dsp-glink {
		status = "disabled";
		compatible = "qcom,wcd-dsp-glink";
		qcom,wdsp-channels = "g_glink_ctrl",
				     "g_glink_persistent_data_nild",
				     "g_glink_persistent_data_ild",
				     "g_glink_audio_data";
	};

	tavil_wdsp: wcd-dsp-mgr@2 {
		status = "disabled";
		compatible = "qcom,wcd-dsp-mgr";
		qcom,wdsp-components = <&wcd934x_cdc 0>,
				       <&tavil_spi_0 1>,
				       <&glink_spi_xprt_wdsp 2>;
		qcom,img-filename = "cpe_9340";
	};

	clock_audio_wsa_1: wsa_core_clk {
		compatible = "qcom,audio-ref-clk";
		qcom,codec-ext-clk-src = <AUDIO_LPASS_MCLK_2>;
		qcom,codec-lpass-ext-clk-freq = <19200000>;
		qcom,codec-lpass-clk-id = <0x309>;
		#clock-cells = <1>;
	};

	clock_audio_wsa_2: wsa_npl_clk {
		compatible = "qcom,audio-ref-clk";
		qcom,codec-ext-clk-src = <AUDIO_LPASS_MCLK_3>;
		qcom,codec-lpass-ext-clk-freq = <19200000>;
		qcom,codec-lpass-clk-id = <0x30A>;
		#clock-cells = <1>;
	};

	clock_audio_va: va_core_clk  {
		compatible = "qcom,audio-ref-clk";
		qcom,codec-ext-clk-src = <AUDIO_LPASS_MCLK_1>;
		qcom,codec-lpass-ext-clk-freq = <19200000>;
		qcom,codec-lpass-clk-id = <0x30B>;
		#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 = <19200000>;
		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 = <19200000>;
		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: audio_ext_clk {
		status = "disabled";
		compatible = "qcom,audio-ref-clk";
		pinctrl-names = "active", "sleep";
		pinctrl-0 = <&wcd934x_mclk_default>;
		pinctrl-1 = <&wcd934x_mclk_default>;
		qcom,audio-ref-clk-gpio = <&pm6150_gpios 8 0>;
		clock-names = "osr_clk";
		clocks = <&pm6150_clkdiv>;
		qcom,node_has_rpm_clock;
		#clock-cells = <1>;
	};

	dbu1: dbu1 {
	    compatible = "regulator-fixed";
	    regulator-name = "dbu1";
	    startup-delay-us = <0>;
	    enable-active-high;
	};
};

&slim_aud {
	wcd934x_cdc: tavil_codec {
		status = "disabled";
		compatible = "qcom,tavil-slim-pgd";
		elemental-addr = [00 01 50 02 17 02];

		interrupt-parent = <&wcd9xxx_intc>;
		interrupts = <0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
			      17 18 19 20 21 22 23 24 25 26 27 28 29
			      30 31>;

		qcom,wcd-rst-gpio-node = <&wcd934x_rst_gpio>;

		clock-names = "wcd_clk";
		clocks = <&clock_audio 0>;

		cdc-vdd-buck-supply = <&dbu1>;
		qcom,cdc-vdd-buck-voltage = <1800000 1800000>;
		qcom,cdc-vdd-buck-current = <594000>;

		cdc-buck-sido-supply = <&dbu1>;
		qcom,cdc-buck-sido-voltage = <1800000 1800000>;
		qcom,cdc-buck-sido-current = <500000>;

		cdc-vdd-tx-h-supply = <&dbu1>;
		qcom,cdc-vdd-tx-h-voltage = <1800000 1800000>;
		qcom,cdc-vdd-tx-h-current = <25000>;

		cdc-vdd-rx-h-supply = <&dbu1>;
		qcom,cdc-vdd-rx-h-voltage = <1800000 1800000>;
		qcom,cdc-vdd-rx-h-current = <25000>;

		cdc-vddpx-1-supply = <&dbu1>;
		qcom,cdc-vddpx-1-voltage = <1800000 1800000>;
		qcom,cdc-vddpx-1-current = <10000>;

		cdc-vdd-mic-bias-supply = <&BOB>;
		qcom,cdc-vdd-mic-bias-voltage = <3296000 3296000>;
		qcom,cdc-vdd-mic-bias-current = <30400>;

		qcom,cdc-static-supplies = "cdc-vdd-buck",
					   "cdc-buck-sido",
					   "cdc-vdd-tx-h",
					   "cdc-vdd-rx-h",
					   "cdc-vddpx-1";
		qcom,cdc-on-demand-supplies = "cdc-vdd-mic-bias";

		qcom,cdc-micbias1-mv = <1800>;
		qcom,cdc-micbias2-mv = <1800>;
		qcom,cdc-micbias3-mv = <1800>;
		qcom,cdc-micbias4-mv = <1800>;

		qcom,cdc-mclk-clk-rate = <9600000>;
		qcom,cdc-slim-ifd = "tavil-slim-ifd";
		qcom,cdc-slim-ifd-elemental-addr = [00 00 50 02 17 02];
		qcom,cdc-dmic-sample-rate = <4800000>;
		qcom,cdc-mad-dmic-rate = <600000>;

		qcom,wdsp-cmpnt-dev-name = "tavil_codec";

		tavil_spi_0: wcd_spi {
			compatible = "qcom,wcd-spi-v2";
			qcom,master-bus-num = <0>;
			qcom,chip-select = <0>;
			qcom,max-frequency = <24000000>;
			qcom,mem-base-addr = <0x100000>;
		};
	};
};
+134 −0
Original line number Diff line number Diff line
/*
 * Copyright (c) 2018, The Linux Foundation. All rights reserved.
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License version 2 and
 * only version 2 as published by the Free Software Foundation.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 */

#include "msm-audio-lpass.dtsi"

&msm_audio_ion {
	iommus = <&apps_smmu 0x1b21 0x0>;
	qcom,smmu-sid-mask = /bits/ 64 <0xf>;
};

&soc {
	qcom,avtimer@62CF7000 {
		compatible = "qcom,avtimer";
		reg = <0x62CF700C 0x4>,
		      <0x62CF7010 0x4>;
		reg-names = "avtimer_lsb_addr", "avtimer_msb_addr";
		qcom,clk-div = <192>;
		qcom,clk-mult = <10>;
	};

	audio_apr: qcom,msm-audio-apr {
		compatible = "qcom,msm-audio-apr";
		q6core: qcom,q6core-audio {
			compatible = "qcom,q6core-audio";
			bolero: bolero-cdc {
				compatible = "qcom,bolero-codec";
			};
		};
	};
};

&q6core {
	sm6150_snd: sound {
		compatible = "qcom,sm6150-asoc-snd";
		qcom,mi2s-audio-intf;
		qcom,auxpcm-audio-intf;

		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_dp>,
				<&dai_mi2s0>, <&dai_mi2s1>,
				<&dai_mi2s2>, <&dai_mi2s3>,
				<&dai_mi2s4>, <&dai_pri_auxpcm>,
				<&dai_sec_auxpcm>, <&dai_tert_auxpcm>,
				<&dai_quat_auxpcm>, <&dai_quin_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>,
				<&sb_7_rx>, <&sb_7_tx>, <&sb_8_tx>, <&sb_8_rx>,
				<&usb_audio_rx>, <&usb_audio_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>,
				<&dai_quin_tdm_rx_0>, <&dai_quin_tdm_tx_0>,
				<&wsa_cdc_dma_0_rx>, <&wsa_cdc_dma_0_tx>,
				<&wsa_cdc_dma_1_rx>, <&wsa_cdc_dma_1_tx>,
				<&wsa_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>;
		asoc-cpu-names = "msm-dai-q6-dp.24608",
				"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-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-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.16398",
				"msm-dai-q6-dev.16399", "msm-dai-q6-dev.16401",
				"msm-dai-q6-dev.16400",
				"msm-dai-q6-dev.28672", "msm-dai-q6-dev.28673",
				"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-q6-tdm.36928", "msm-dai-q6-tdm.36929",
				"msm-dai-cdc-dma-dev.45056",
				"msm-dai-cdc-dma-dev.45057",
				"msm-dai-cdc-dma-dev.45058",
				"msm-dai-cdc-dma-dev.45059",
				"msm-dai-cdc-dma-dev.45061",
				"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";
	};
};

&slim_aud {
	status = "disabled";
	msm_dai_slim {
		status = "disabled";
		compatible = "qcom,msm-dai-slim";
		elemental-addr = [ff ff ff fe 17 02];
	};
};
+85 −0
Original line number Diff line number Diff line
/*
 * Copyright (c) 2018, The Linux Foundation. All rights reserved.
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License version 2 and
 * only version 2 as published by the Free Software Foundation.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 */
#include "sm6150-audio-overlay.dtsi"

&bolero {
	status = "disabled";
};

&wcd937x_codec {
	status = "disabled";
};

&wcd937x_rst_gpio {
	status  = "disabled";
};

&cdc_dmic01_gpios {
	status = "disabled";
};

&cdc_dmic23_gpios {
	status = "disabled";
};

&wsa_swr_gpios {
	status = "disabled";
};

&rx_swr_gpios {
	status = "disabled";
};

&tx_swr_gpios {
	status = "disabled";
};

&wsa_spkr_en1 {
	status = "disabled";
};

&wsa_spkr_en2 {
	status = "disabled";
};

&wcd9xxx_intc {
	status = "okay";
};

&wdsp_mgr {
	status = "okay";
};

&wdsp_glink {
	status = "okay";
};

&slim_aud {
	status = "okay";
};

&dai_slim {
	status = "okay";
};

&wcd934x_cdc {
	status = "okay";
};

&clock_audio {
	status = "okay";
};

&wcd934x_rst_gpio {
	status = "okay";
};
+108 −0
Original line number Diff line number Diff line
/*
 * Copyright (c) 2018, The Linux Foundation. All rights reserved.
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License version 2 and
 * only version 2 as published by the Free Software Foundation.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 */

&sm6150_snd {
	qcom,model = "sm6150-tavil-snd-card";
	qcom,tavil_codec;
	qcom,audio-routing =
		"AIF4 VI", "MCLK",
		"RX_BIAS", "MCLK",
		"MADINPUT", "MCLK",
		"hifi amp", "LINEOUT1",
		"hifi amp", "LINEOUT2",
		"AMIC2", "MIC BIAS2",
		"MIC BIAS2", "Headset Mic",
		"AMIC3", "MIC BIAS2",
		"MIC BIAS2", "ANCRight Headset Mic",
		"AMIC4", "MIC BIAS2",
		"MIC BIAS2", "ANCLeft Headset Mic",
		"AMIC5", "MIC BIAS3",
		"MIC BIAS3", "Handset Mic",
		"DMIC0", "MIC BIAS1",
		"MIC BIAS1", "Digital Mic0",
		"DMIC1", "MIC BIAS1",
		"MIC BIAS1", "Digital Mic1",
		"DMIC2", "MIC BIAS3",
		"MIC BIAS3", "Digital Mic2",
		"DMIC3", "MIC BIAS3",
		"MIC BIAS3", "Digital Mic3",
		"DMIC4", "MIC BIAS4",
		"MIC BIAS4", "Digital Mic4",
		"DMIC5", "MIC BIAS4",
		"MIC BIAS4", "Digital Mic5",
		"SpkrLeft IN", "SPK1 OUT",
		"SpkrRight IN", "SPK2 OUT";
	asoc-cpu = <&dai_dp>, <&dai_mi2s0>, <&dai_mi2s1>,
		<&dai_mi2s2>, <&dai_mi2s3>, <&dai_mi2s4>,
		<&dai_pri_auxpcm>, <&dai_sec_auxpcm>,
		<&dai_tert_auxpcm>, <&dai_quat_auxpcm>,
		<&dai_quin_auxpcm>,
		<&sb_0_rx>, <&sb_0_tx>, <&sb_1_rx>, <&sb_1_tx>,
		<&sb_2_rx>, <&sb_2_tx>, <&sb_3_rx>, <&sb_3_tx>,
		<&sb_4_rx>, <&sb_4_tx>, <&sb_5_rx>, <&sb_5_tx>,
		<&sb_6_rx>, <&sb_7_rx>, <&sb_7_tx>,
		<&sb_8_rx>, <&sb_8_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>,
		<&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>,
		<&dai_quin_tdm_rx_0>, <&dai_quin_tdm_tx_0>;
	asoc-cpu-names = "msm-dai-q6-dp.24608",
		"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-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-dev.16384", "msm-dai-q6-dev.16385",
		"msm-dai-q6-dev.16386", "msm-dai-q6-dev.16387",
		"msm-dai-q6-dev.16388", "msm-dai-q6-dev.16389",
		"msm-dai-q6-dev.16390", "msm-dai-q6-dev.16391",
		"msm-dai-q6-dev.16392", "msm-dai-q6-dev.16393",
		"msm-dai-q6-dev.16394", "msm-dai-q6-dev.16395",
		"msm-dai-q6-dev.16396",
		"msm-dai-q6-dev.16398", "msm-dai-q6-dev.16399",
		"msm-dai-q6-dev.16400", "msm-dai-q6-dev.16401",
		"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-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-q6-tdm.36928", "msm-dai-q6-tdm.36929";
	asoc-codec = <&stub_codec>, <&ext_disp_audio_codec>;
	asoc-codec-names = "msm-stub-codec.1", "msm-ext-disp-audio-codec-rx";
	qcom,hph-en0-gpio = <&tavil_hph_en0>;
	qcom,hph-en1-gpio = <&tavil_hph_en1>;
	qcom,wsa-max-devs = <2>;
	qcom,wsa-devs =  <&wsa881x_11>, <&wsa881x_12>,
			 <&wsa881x_13>, <&wsa881x_14>;
	qcom,wsa-aux-dev-prefix = "SpkrLeft", "SpkrRight",
				  "SpkrLeft", "SpkrRight";
};

&slim_aud {
	status = "okay";
};

&dai_slim {
	status = "okay";
};
Loading