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

Commit efcc771f authored by Linux Build Service Account's avatar Linux Build Service Account Committed by Gerrit - the friendly Code Review server
Browse files

Merge "ARM: dts: msm: add support for wcd9335 on 8937"

parents 99d7aa7e 020c5f35
Loading
Loading
Loading
Loading
+113 −5
Original line number Diff line number Diff line
@@ -291,7 +291,7 @@
		qcom,clk_div = <27>;
	};

	sound {
	int_codec: sound {
		compatible = "qcom,msm8952-audio-codec";
		qcom,model = "msm8952-snd-card-mtp";
		reg = <0xc051000 0x4>,
@@ -382,8 +382,105 @@
		asoc-codec-names = "msm-stub-codec.1", "cajon_codec";
	};

	ext_codec: sound-9335 {
		compatible = "qcom,msm8952-audio-slim-codec";
		qcom,model = "msm8952-tasha-snd-card";
		status = "disabled";
		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 = <&tlmm 63 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_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-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";
	};

	i2c@7af8000 {
		wsa881x-i2c-codec@e {
		wsa881x_i2c_e: wsa881x-i2c-codec@e {
			compatible = "qcom,wsa881x-i2c-codec";
			reg = <0x0e>;
			qcom,msm-gpios = "wsa_clk",
@@ -414,11 +511,11 @@
			pinctrl-6 = <&wsa_clk_off &wsa_reset_on &wsa_vi_on>;
			pinctrl-7 = <&wsa_clk_on &wsa_reset_on &wsa_vi_on>;
		};
		wsa881x-i2c-codec@44 {
		wsa881x_i2c_44: wsa881x-i2c-codec@44 {
			compatible = "qcom,wsa881x-i2c-codec";
			reg = <0x44>;
		};
		wsa881x-i2c-codec@f {
		wsa881x_i2c_f: wsa881x-i2c-codec@f {
			compatible = "qcom,wsa881x-i2c-codec";
			reg = <0x0f>;
			qcom,msm-gpios = "wsa_clk",
@@ -449,10 +546,21 @@
			pinctrl-6 = <&wsa_clk_off &wsa_reset_on &wsa_vi_on>;
			pinctrl-7 = <&wsa_clk_on &wsa_reset_on &wsa_vi_on>;
		};
		wsa881x-i2c-codec@45 {
		wsa881x_i2c_45: wsa881x-i2c-codec@45 {
			compatible = "qcom,wsa881x-i2c-codec";
			reg = <0x45>;
		};

		wcd9xxx_intc: wcd9xxx-irq {
			compatible = "qcom,wcd9xxx-irq";
			status = "disabled";
			interrupt-controller;
			#interrupt-cells = <1>;
			interrupt-parent = <&tlmm>;
			interrupts = <73 0>;
			inteerupt-names = "cdc-int";
			qcom,gpio-connect = <&tlmm 73 0>;
		};
	};
};

+134 −7
Original line number Diff line number Diff line
@@ -22,6 +22,35 @@
	qcom,follow-otst2-rb-disabled;
};

&ext_codec {
	qcom,wsa-max-devs = <1>;
	qcom,wsa-devs = <&wsa881x_211>, <&wsa881x_212>,
			<&wsa881x_213>, <&wsa881x_214>;
	qcom,wsa-aux-dev-prefix = "SpkrRight", "SpkrLeft",
				"SpkrRight", "SpkrLeft";
};

&pm8937_gpios {
	gpio@c000 {
		status = "ok";
		qcom,mode = <1>;
		qcom,pull = <5>;
		qcom,vin-sel = <0>;
		qcom,src-sel = <2>;
		qcom,master-en = <1>;
		qcom,out-strength = <2>;
	};
	gpio@c600 {
		status = "ok";
		qcom,mode = <1>;
		qcom,pull = <5>;
		qcom,vin-sel = <0>;
		qcom,src-sel = <0>;
		qcom,master-en = <1>;
		qcom,out-strength = <2>;
	};
};

&soc {
	gpio_keys {
		compatible = "gpio-keys";
@@ -75,16 +104,114 @@
		qcom,dig-vtg-max = <1800000>;
	};

	sound {
		asoc-wsa-codec-names = "wsa881x-i2c-codec.8-000f";
		asoc-wsa-codec-prefixes = "SpkrMono";
	clock_audio: audio_ext_clk {
		compatible = "qcom,audio-ref-clk";
		qcom,audio-ref-clk-gpio = <&pm8937_gpios 1 0>;
		clock-names = "osr_clk";
		clocks = <&clock_gcc clk_div_clk2>;
		qcom,node_has_rpm_clock;
		#clock-cells = <1>;
	};

		msm-vdd-wsa-switch-supply = <&pm8937_l13>;
		qcom,msm-vdd-wsa-switch-voltage = <3075000>;
		qcom,msm-vdd-wsa-switch-current = <5000>;
		qcom,msm-hs-micbias-type = "internal";
	slim_msm: slim@c140000{
		msm_dai_slim {
			compatible = "qcom,msm-dai-slim";
			status = "disabled";
			elemental-addr = [ff ff ff fe 17 02];
		};

		tasha_codec {
			compatible = "qcom,tasha-slim-pgd";
			status = "disabled";
			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 = <&tlmm 68 0>;

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

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

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

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

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

			cdc-vdd-mic-bias-supply = <&pm8937_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_211: wsa881x@20170211 {
					compatible = "qcom,wsa881x";
					reg = <0x00 0x20170211>;
					qcom,spkr-sd-n-gpio = <&tlmm 96 0>;
				};

				wsa881x_212: wsa881x@20170212 {
					compatible = "qcom,wsa881x";
					reg = <0x00 0x20170212>;
					qcom,spkr-sd-n-gpio = <&tlmm 96 0>;
				};

				wsa881x_213: wsa881x@20170213 {
					compatible = "qcom,wsa881x";
					reg = <0x00 0x20170213>;
					qcom,spkr-sd-n-gpio = <&tlmm 96 0>;
				};

				wsa881x_214: wsa881x@20170214 {
					compatible = "qcom,wsa881x";
					reg = <0x00 0x20170214>;
					qcom,spkr-sd-n-gpio = <&tlmm 96 0>;
				};
			};
		};
	};
};

&int_codec {
		qcom,msm-hs-micbias-type = "internal";
	};

&tlmm {
	tlmm_gpio_key {
+9 −0
Original line number Diff line number Diff line
@@ -372,4 +372,13 @@
		qcom,cpr-quot-adjust-scaling-factor-max = <0 1400 1400>;
		qcom,cpr-fuse-revision = <69 39 3 0>;
	};

	eldo2_pm8937: eldo2 {
		compatible = "regulator-fixed";
		regulator-name = "eldo2_pm8937";
		startup-delay-us = <0>;
		enable-active-high;
		gpio = <&pm8937_gpios 7 0>;
		regulator-always-on;
	};
};