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

Commit ce6a0f0a authored by Santosh Mardi's avatar Santosh Mardi Committed by Gerrit - the friendly Code Review server
Browse files

ARM: dts: msm: Add wcd9335 codec support on 8952



Add support for WCD9335 external codec on 8952.

Change-Id: Ifecbd62b40380498ee22431a8926fa3df00917eb
Signed-off-by: default avatarSantosh Mardi <gsantosh@codeaurora.org>
Signed-off-by: default avatarVenkata Narendra Kumar Gutta <vgutta@codeaurora.org>
parent 969c44ab
Loading
Loading
Loading
Loading
+178 −1
Original line number Diff line number Diff line
@@ -35,7 +35,106 @@
		interrupt-names = "cdc-int";
	};

	ext_codec: sound-9330 {
	ext_codec: sound-9335 {
		compatible = "qcom,msm8952-audio-slim-codec";
		qcom,model = "msm8952-tasha-snd-card";

		reg = <0xc051000 0x4>,
		    <0xc051004 0x4>,
		    <0xc055000 0x4>,
		    <0xc052000 0x4>;

		reg-names = "csr_gp_io_mux_mic_ctl",
			"csr_gp_io_mux_spkr_ctl",
			"csr_gp_io_lpaif_pri_pcm_pri_mode_muxsel",
			"csr_gp_io_mux_quin_ctl";

		qcom,audio-routing =
			"AIF4 VI", "MCLK",
			"RX_BIAS", "MCLK",
			"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",
			"AMIC6", "MIC BIAS4",
			"MIC BIAS4", "Analog Mic6",
			"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";

		qcom,msm-gpios =
			"us_eu_gpio";
		qcom,pinctrl-names =
			"all_off",
			"us_eu_gpio_act";
		pinctrl-names =
			"all_off",
			"us_eu_gpio_act";
		pinctrl-0 = <&cross_conn_det_sus>;
		pinctrl-1 = <&cross_conn_det_act>;
		qcom,cdc-us-euro-gpios = <&msm_gpio 144 0>;

		qcom,msm-mbhc-hphl-swh = <0>;
		qcom,msm-mbhc-gnd-swh = <0>;
		qcom,tasha-mclk-clk-freq = <9600000>;
		asoc-platform = <&pcm0>, <&pcm1>, <&pcm2>, <&voip>, <&voice>,
				<&loopback>, <&compress>, <&hostless>,
				<&afe>, <&lsm>, <&routing>, <&cpe>, <&lpa>;
		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-cpe-lsm",
				"msm-pcm-lpa";
		asoc-cpu = <&dai_pri_auxpcm>, <&dai_hdmi>,
				<&dai_mi2s2>, <&dai_mi2s3>, <&dai_mi2s5>,
				<&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_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>,
				<&sb_5_rx>,  <&bt_sco_rx>,
				<&bt_sco_tx>, <&int_fm_rx>, <&int_fm_tx>;
		asoc-cpu-names = "msm-dai-q6-auxpcm.1",	"msm-dai-q6-hdmi.8",
				"msm-dai-q6-mi2s.2",
				"msm-dai-q6-mi2s.3", "msm-dai-q6-mi2s.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.16395", "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.16394",
				"msm-dai-q6-dev.12288", "msm-dai-q6-dev.12289",
				"msm-dai-q6-dev.12292", "msm-dai-q6-dev.12293";
		asoc-codec = <&stub_codec>;
		asoc-codec-names = "msm-stub-codec.1";
		asoc-wsa-codec-names = "wsa881x.20170212", "wsa881x.20170211";
		asoc-wsa-codec-prefixes = "SpkrLeft", "SpkrRight";
	};

	sound-9330 {
		compatible = "qcom,msm8952-audio-slim-codec";
		qcom,model = "msm8952-tomtom-snd-card";
		qcom,cdc-mclk-gpios = <&pm8950_gpios 1 0>;
@@ -136,6 +235,12 @@
	};
};

&pm8950_gpios {
	gpio@c000 {
		qcom,vin-sel = <0>;
	};
};

&slim_msm {
	status = "ok";
	msm_dai_slim {
@@ -206,4 +311,76 @@
		qcom,cdc-dmic-sample-rate = <4800000>;
		qcom,cdc-variant = "WCD9330";
	};

	tasha_codec {
		compatible = "qcom,tasha-slim-pgd";
		elemental-addr = [00 01 A0 01 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>;

		qcom,cdc-reset-gpio = <&msm_gpio 68 0>;

		cdc-vdd-buck-supply = <&eldo2_8952>;
		qcom,cdc-vdd-buck-voltage = <1800000 1800000>;
		qcom,cdc-vdd-buck-current = <650000>;

		cdc-buck-sido-supply = <&eldo2_8952>;
		qcom,cdc-buck-sido-voltage = <1800000 1800000>;
		qcom,cdc-buck-sido-current = <250000>;

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

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

		cdc-vdd-px-supply = <&pm8950_l5>;
		qcom,cdc-vdd-px-voltage = <1800000 1800000>;
		qcom,cdc-vdd-px-current = <10000>;

		cdc-vdd-mic-bias-supply = <&pm8950_l13>;
		qcom,cdc-vdd-mic-bias-voltage = <3075000 3075000>;
		qcom,cdc-vdd-mic-bias-current = <15000>;

		qcom,cdc-static-supplies =
			"cdc-vdd-buck",
			"cdc-buck-sido",
			"cdc-vdd-tx-h",
			"cdc-vdd-rx-h",
			"cdc-vdd-px";

		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 = "tasha-slim-ifd";
		qcom,cdc-slim-ifd-elemental-addr = [00 00 A0 01 17 02];
		qcom,cdc-dmic-sample-rate = <4800000>;

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

		swr_master {
			compatible = "qcom,swr-wcd";
			#address-cells = <2>;
			#size-cells = <0>;
			wsa881x@20170212 {
				compatible = "qcom,wsa881x";
				reg = <0x00 0x20170212>;
				qcom,spkr-sd-n-gpio = <&msm_gpio 95 0>;
			};
			wsa881x@20170211 {
				compatible = "qcom,wsa881x";
				reg = <0x00 0x20170211>;
				qcom,spkr-sd-n-gpio = <&msm_gpio 94 0>;
			};
}		;
	};
};
+15 −0
Original line number Diff line number Diff line
@@ -2008,6 +2008,16 @@
			qcom,msm-dai-q6-dev-id = <16387>;
		};

		sb_2_rx: qcom,msm-dai-q6-sb-2-rx {
			compatible = "qcom,msm-dai-q6-dev";
			qcom,msm-dai-q6-dev-id = <16388>;
		};

		sb_2_tx: qcom,msm-dai-q6-sb-2-tx {
			compatible = "qcom,msm-dai-q6-dev";
			qcom,msm-dai-q6-dev-id = <16389>;
		};

		sb_3_rx: qcom,msm-dai-q6-sb-3-rx {
			compatible = "qcom,msm-dai-q6-dev";
			qcom,msm-dai-q6-dev-id = <16390>;
@@ -2028,6 +2038,11 @@
			qcom,msm-dai-q6-dev-id = <16393>;
		};

		sb_5_rx: qcom,msm-dai-q6-sb-5-rx {
			compatible = "qcom,msm-dai-q6-dev";
			qcom,msm-dai-q6-dev-id = <16394>;
		};

		sb_5_tx: qcom,msm-dai-q6-sb-5-tx {
			compatible = "qcom,msm-dai-q6-dev";
			qcom,msm-dai-q6-dev-id = <16395>;