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

Commit af00495e 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 configuration for internal codec for msm8937"

parents 87bcf4a6 3f4b5d53
Loading
Loading
Loading
Loading
+525 −0
Original line number Diff line number Diff line
/*
 * Copyright (c) 2015, 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.
 */

&soc {

	pcm0: qcom,msm-pcm {
		compatible = "qcom,msm-pcm-dsp";
		qcom,msm-pcm-dsp-id = <0>;
	};

	routing: qcom,msm-pcm-routing {
		compatible = "qcom,msm-pcm-routing";
	};

	pcm2: qcom,msm-ultra-low-latency {
		compatible = "qcom,msm-pcm-dsp";
		qcom,msm-pcm-dsp-id = <2>;
		qcom,msm-pcm-low-latency;
		qcom,latency-level = "ultra";
	};

	pcm1: qcom,msm-pcm-low-latency {
		compatible = "qcom,msm-pcm-dsp";
		qcom,msm-pcm-dsp-id = <1>;
		qcom,msm-pcm-low-latency;
		qcom,latency-level = "regular";
	};

	pcm2: qcom,msm-ultra-low-latency {
		compatible = "qcom,msm-pcm-dsp";
		qcom,msm-pcm-dsp-id = <2>;
		qcom,msm-pcm-low-latency;
		qcom,latency-level = "ultra";
	};

	cpe: qcom,msm-cpe-lsm {
		compatible = "qcom,msm-cpe-lsm";
	};

	lpa: qcom,msm-pcm-lpa {
		compatible = "qcom,msm-pcm-lpa";
	};

	compress: qcom,msm-compress-dsp {
		compatible = "qcom,msm-compress-dsp";
	};

	voip: qcom,msm-voip-dsp {
		compatible = "qcom,msm-voip-dsp";
	};

	voice: qcom,msm-pcm-voice {
		compatible = "qcom,msm-pcm-voice";
		qcom,destroy-cvd;
		qcom,vote-bms;
	};

	stub_codec: qcom,msm-stub-codec {
		compatible = "qcom,msm-stub-codec";
	};

	qcom,msm-dai-fe {
		compatible = "qcom,msm-dai-fe";
	};

	afe: qcom,msm-pcm-afe {
		compatible = "qcom,msm-pcm-afe";
	};

	loopback: qcom,msm-pcm-loopback {
		compatible = "qcom,msm-pcm-loopback";
	};

	qcom,msm-dai-mi2s {
		compatible = "qcom,msm-dai-mi2s";
		dai_mi2s0: qcom,msm-dai-q6-mi2s-prim {
			compatible = "qcom,msm-dai-q6-mi2s";
			qcom,msm-dai-q6-mi2s-dev-id = <0>;
			qcom,msm-mi2s-rx-lines = <3>;
			qcom,msm-mi2s-tx-lines = <0>;
		};

		dai_mi2s1: qcom,msm-dai-q6-mi2s-sec {
			compatible = "qcom,msm-dai-q6-mi2s";
			qcom,msm-dai-q6-mi2s-dev-id = <1>;
			qcom,msm-mi2s-rx-lines = <1>;
			qcom,msm-mi2s-tx-lines = <0>;
		};

		dai_mi2s3: qcom,msm-dai-q6-mi2s-quat {
			compatible = "qcom,msm-dai-q6-mi2s";
			qcom,msm-dai-q6-mi2s-dev-id = <3>;
			qcom,msm-mi2s-rx-lines = <1>;
			qcom,msm-mi2s-tx-lines = <2>;
		};

		dai_mi2s2: qcom,msm-dai-q6-mi2s-tert {
			compatible = "qcom,msm-dai-q6-mi2s";
			qcom,msm-dai-q6-mi2s-dev-id = <2>;
			qcom,msm-mi2s-rx-lines = <0>;
			qcom,msm-mi2s-tx-lines = <3>;
		};

		dai_mi2s5: qcom,msm-dai-q6-mi2s-quin {
			compatible = "qcom,msm-dai-q6-mi2s";
			qcom,msm-dai-q6-mi2s-dev-id = <5>;
			qcom,msm-mi2s-rx-lines = <1>;
			qcom,msm-mi2s-tx-lines = <2>;
		};

		dai_mi2s6: qcom,msm-dai-q6-mi2s-senary {
			compatible = "qcom,msm-dai-q6-mi2s";
			qcom,msm-dai-q6-mi2s-dev-id = <6>;
			qcom,msm-mi2s-rx-lines = <0>;
			qcom,msm-mi2s-tx-lines = <3>;
		};
	};

	lsm: qcom,msm-lsm-client {
		compatible = "qcom,msm-lsm-client";
	};

	qcom,msm-dai-q6 {
		compatible = "qcom,msm-dai-q6";
		sb_0_rx: qcom,msm-dai-q6-sb-0-rx {
			compatible = "qcom,msm-dai-q6-dev";
			qcom,msm-dai-q6-dev-id = <16384>;
		};

		sb_0_tx: qcom,msm-dai-q6-sb-0-tx {
			compatible = "qcom,msm-dai-q6-dev";
			qcom,msm-dai-q6-dev-id = <16385>;
		};

		sb_1_rx: qcom,msm-dai-q6-sb-1-rx {
			compatible = "qcom,msm-dai-q6-dev";
			qcom,msm-dai-q6-dev-id = <16386>;
		};

		sb_1_tx: qcom,msm-dai-q6-sb-1-tx {
			compatible = "qcom,msm-dai-q6-dev";
			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>;
		};

		sb_3_tx: qcom,msm-dai-q6-sb-3-tx {
			compatible = "qcom,msm-dai-q6-dev";
			qcom,msm-dai-q6-dev-id = <16391>;
		};

		sb_4_rx: qcom,msm-dai-q6-sb-4-rx {
			compatible = "qcom,msm-dai-q6-dev";
			qcom,msm-dai-q6-dev-id = <16392>;
		};

		sb_4_tx: qcom,msm-dai-q6-sb-4-tx {
			compatible = "qcom,msm-dai-q6-dev";
			qcom,msm-dai-q6-dev-id = <16393>;
		};

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

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

		bt_sco_rx: qcom,msm-dai-q6-bt-sco-rx {
			compatible = "qcom,msm-dai-q6-dev";
			qcom,msm-dai-q6-dev-id = <12288>;
		};

		bt_sco_tx: qcom,msm-dai-q6-bt-sco-tx {
			compatible = "qcom,msm-dai-q6-dev";
			qcom,msm-dai-q6-dev-id = <12289>;
		};

		int_fm_rx: qcom,msm-dai-q6-int-fm-rx {
			compatible = "qcom,msm-dai-q6-dev";
			qcom,msm-dai-q6-dev-id = <12292>;
		};

		int_fm_tx: qcom,msm-dai-q6-int-fm-tx {
			compatible = "qcom,msm-dai-q6-dev";
			qcom,msm-dai-q6-dev-id = <12293>;
		};

		afe_pcm_rx: qcom,msm-dai-q6-be-afe-pcm-rx {
			compatible = "qcom,msm-dai-q6-dev";
			qcom,msm-dai-q6-dev-id = <224>;
		};

		afe_pcm_tx: qcom,msm-dai-q6-be-afe-pcm-tx {
			compatible = "qcom,msm-dai-q6-dev";
			qcom,msm-dai-q6-dev-id = <225>;
		};

		afe_proxy_rx: qcom,msm-dai-q6-afe-proxy-rx {
			compatible = "qcom,msm-dai-q6-dev";
			qcom,msm-dai-q6-dev-id = <241>;
		};

		afe_proxy_tx: qcom,msm-dai-q6-afe-proxy-tx {
			compatible = "qcom,msm-dai-q6-dev";
			qcom,msm-dai-q6-dev-id = <240>;
		};

		incall_record_rx: qcom,msm-dai-q6-incall-record-rx {
			compatible = "qcom,msm-dai-q6-dev";
			qcom,msm-dai-q6-dev-id = <32771>;
		};

		incall_record_tx: qcom,msm-dai-q6-incall-record-tx {
			compatible = "qcom,msm-dai-q6-dev";
			qcom,msm-dai-q6-dev-id = <32772>;
		};

		incall_music_rx: qcom,msm-dai-q6-incall-music-rx {
			compatible = "qcom,msm-dai-q6-dev";
			qcom,msm-dai-q6-dev-id = <32773>;
		};

		incall_music_2_rx: qcom,msm-dai-q6-incall-music-2-rx {
			compatible = "qcom,msm-dai-q6-dev";
			qcom,msm-dai-q6-dev-id = <32770>;
		};
	};

	hostless: qcom,msm-pcm-hostless {
		compatible = "qcom,msm-pcm-hostless";
	};

	dai_pri_auxpcm: qcom,msm-pri-auxpcm {
		compatible = "qcom,msm-auxpcm-dev";
		qcom,msm-cpudai-auxpcm-mode = <0>, <0>;
		qcom,msm-cpudai-auxpcm-sync = <1>, <1>;
		qcom,msm-cpudai-auxpcm-frame = <5>, <4>;
		qcom,msm-cpudai-auxpcm-quant = <2>, <2>;
		qcom,msm-cpudai-auxpcm-num-slots = <1>, <1>;
		qcom,msm-cpudai-auxpcm-slot-mapping = <1>, <1>;
		qcom,msm-cpudai-auxpcm-data = <0>, <0>;
		qcom,msm-cpudai-auxpcm-pcm-clk-rate = <2048000>, <2048000>;
		qcom,msm-auxpcm-interface = "primary";
	};

	qcom,msm-audio-ion {
		compatible = "qcom,msm-audio-ion";
		qcom,smmu-version = <1>;
		qcom,smmu-enabled;
		iommus = <&lpass_q6_smmu 1>;
	};

	qcom,msm-adsp-loader {
		compatible = "qcom,adsp-loader";
		qcom,adsp-state = <0>;
	};

	qcom,avtimer@c0a300c {
		compatible = "qcom,avtimer";
		reg = <0x0c0a300c 0x4>,
			<0x0c0a3010 0x4>;
		reg-names = "avtimer_lsb_addr", "avtimer_msb_addr";
		qcom,clk_div = <27>;
	};

	sound {
		compatible = "qcom,msm8952-audio-codec";
		qcom,model = "msm8952-snd-card-mtp";
		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,msm-ext-pa = "primary";
		qcom,msm-mclk-freq = <9600000>;
		qcom,msm-mbhc-hphl-swh = <0>;
		qcom,msm-mbhc-gnd-swh = <0>;
		qcom,msm-hs-micbias-type = "external";
		qcom,msm-micbias1-ext-cap;
		qcom,audio-routing =
			"RX_BIAS", "MCLK",
			"SPK_RX_BIAS", "MCLK",
			"INT_LDO_H", "MCLK",
			"MIC BIAS External", "Handset Mic",
			"MIC BIAS External2", "Headset Mic",
			"MIC BIAS External", "Secondary Mic",
			"AMIC1", "MIC BIAS External",
			"AMIC2", "MIC BIAS External2",
			"AMIC3", "MIC BIAS External",
			"WSA_SPK OUT", "VDD_WSA_SWITCH",
			"SpkrMono WSA_IN", "WSA_SPK OUT";
		qcom,msm-gpios =
			"pri_i2s",
			"us_eu_gpio";
		qcom,pinctrl-names =
			"all_off",
			"pri_i2s_act",
			"us_eu_gpio_act",
			"pri_i2s_us_eu_gpio_act";
		pinctrl-names =
			"all_off",
			"pri_i2s_act",
			"us_eu_gpio_act",
			"pri_i2s_us_eu_gpio_act";
		pinctrl-0 = <&cdc_pdm_lines_sus
				&cdc_pdm_lines_2_sus &cross_conn_det_sus>;
		pinctrl-1 = <&cdc_pdm_lines_act
				&cdc_pdm_lines_2_act &cross_conn_det_sus>;
		pinctrl-2 = <&cdc_pdm_lines_sus
				&cdc_pdm_lines_2_sus &cross_conn_det_act>;
		pinctrl-3 = <&cdc_pdm_lines_act
				&cdc_pdm_lines_2_act &cross_conn_det_act>;
		qcom,cdc-us-euro-gpios = <&tlmm 63 0>;
		asoc-platform = <&pcm0>, <&pcm1>, <&pcm2>, <&voip>, <&voice>,
				<&loopback>, <&compress>, <&hostless>,
				<&afe>, <&lsm>, <&routing>, <&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-pcm-lpa";
		asoc-cpu = <&dai_pri_auxpcm>,
				<&dai_mi2s0>, <&dai_mi2s1>,
				<&dai_mi2s2>, <&dai_mi2s3>,
				<&dai_mi2s5>, <&dai_mi2s6>,
				<&sb_0_rx>, <&sb_0_tx>, <&sb_1_rx>, <&sb_1_tx>,
				<&sb_3_rx>, <&sb_3_tx>, <&sb_4_rx>, <&sb_4_tx>,
				<&bt_sco_rx>, <&bt_sco_tx>,
				<&int_fm_rx>, <&int_fm_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>;
		asoc-cpu-names = "msm-dai-q6-auxpcm.1",
				"msm-dai-q6-mi2s.0", "msm-dai-q6-mi2s.1",
				"msm-dai-q6-mi2s.2", "msm-dai-q6-mi2s.3",
				"msm-dai-q6-mi2s.5", "msm-dai-q6-mi2s.6",
				"msm-dai-q6-dev.16384", "msm-dai-q6-dev.16385",
				"msm-dai-q6-dev.16386", "msm-dai-q6-dev.16387",
				"msm-dai-q6-dev.16390", "msm-dai-q6-dev.16391",
				"msm-dai-q6-dev.16392", "msm-dai-q6-dev.16393",
				"msm-dai-q6-dev.12288", "msm-dai-q6-dev.12289",
				"msm-dai-q6-dev.12292", "msm-dai-q6-dev.12293",
				"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";
		asoc-codec = <&stub_codec>, <&pm8937_cajon_dig>;
		asoc-codec-names = "msm-stub-codec.1", "cajon_codec";
	};

	i2c@7af8000 {
		wsa881x-i2c-codec@e {
			compatible = "qcom,wsa881x-i2c-codec";
			reg = <0x0e>;
			qcom,msm-gpios = "wsa_clk",
					"wsa_reset",
					"wsa_vi";
			qcom,pinctrl-names = "all_off",
					"wsa_clk",
					"wsa_active",
					"wsa_clk_active",
					"wsa_vi",
					"wsa_clk_vi",
					"wsa_active_vi",
					"wsa_all";
			pinctrl-names = "all_off",
					"wsa_clk",
					"wsa_active",
					"wsa_clk_active",
					"wsa_vi",
					"wsa_clk_vi",
					"wsa_active_vi",
					"wsa_all";
			pinctrl-0 = <&wsa_clk_off &wsa_reset_off &wsa_vi_off>;
			pinctrl-1 = <&wsa_clk_on &wsa_reset_off &wsa_vi_off>;
			pinctrl-2 = <&wsa_clk_off &wsa_reset_on &wsa_vi_off>;
			pinctrl-3 = <&wsa_clk_on &wsa_reset_on &wsa_vi_off>;
			pinctrl-4 = <&wsa_clk_off &wsa_reset_off &wsa_vi_on>;
			pinctrl-5 = <&wsa_clk_on &wsa_reset_off &wsa_vi_on>;
			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 {
			compatible = "qcom,wsa881x-i2c-codec";
			reg = <0x44>;
		};
		wsa881x-i2c-codec@f {
			compatible = "qcom,wsa881x-i2c-codec";
			reg = <0x0f>;
			qcom,msm-gpios = "wsa_clk",
					"wsa_reset",
					"wsa_vi";
			qcom,pinctrl-names = "all_off",
					"wsa_clk",
					"wsa_active",
					"wsa_clk_active",
					"wsa_vi",
					"wsa_clk_vi",
					"wsa_active_vi",
					"wsa_all";
			pinctrl-names = "all_off",
					"wsa_clk",
					"wsa_active",
					"wsa_clk_active",
					"wsa_vi",
					"wsa_clk_vi",
					"wsa_active_vi",
					"wsa_all";
			pinctrl-0 = <&wsa_clk_off &wsa_reset_off &wsa_vi_off>;
			pinctrl-1 = <&wsa_clk_on &wsa_reset_off &wsa_vi_off>;
			pinctrl-2 = <&wsa_clk_off &wsa_reset_on &wsa_vi_off>;
			pinctrl-3 = <&wsa_clk_on &wsa_reset_on &wsa_vi_off>;
			pinctrl-4 = <&wsa_clk_off &wsa_reset_off &wsa_vi_on>;
			pinctrl-5 = <&wsa_clk_on &wsa_reset_off &wsa_vi_on>;
			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 {
			compatible = "qcom,wsa881x-i2c-codec";
			reg = <0x45>;
		};
	};
};

&pm8937_1 {
	pm8937_cajon_dig: 8952_wcd_codec@f000 {
		compatible = "qcom,msm8x16_wcd_codec";
		reg = <0xf000 0x100>;
		interrupt-parent = <&spmi_bus>;
		interrupts = <0x1 0xf0 0x0>,
			     <0x1 0xf0 0x1>,
			     <0x1 0xf0 0x2>,
			     <0x1 0xf0 0x3>,
			     <0x1 0xf0 0x4>,
			     <0x1 0xf0 0x5>,
			     <0x1 0xf0 0x6>,
			     <0x1 0xf0 0x7>;
		interrupt-names = "spk_cnp_int",
				  "spk_clip_int",
				  "spk_ocp_int",
				  "ins_rem_det1",
				  "but_rel_det",
				  "but_press_det",
				  "ins_rem_det",
				  "mbhc_int";

		cdc-vdda-cp-supply = <&pm8937_s4>;
		qcom,cdc-vdda-cp-voltage = <2050000 2050000>;
		qcom,cdc-vdda-cp-current = <210000>;

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

		cdc-vdd-pa-supply = <&pm8937_s4>;
		qcom,cdc-vdd-pa-voltage = <2050000 2050000>;
		qcom,cdc-vdd-pa-current = <260000>;

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

		qcom,cdc-mclk-clk-rate = <9600000>;

		qcom,cdc-static-supplies =  "cdc-vdd-io",
					   "cdc-vdd-pa",
					   "cdc-vdda-cp";

		qcom,cdc-on-demand-supplies = "cdc-vdd-mic-bias";
		qcom,dig-cdc-base-addr = <0xc0f0000>;
	};

	pm8937_cajon_analog: 8952_wcd_codec@f100 {
		compatible = "qcom,msm8x16_wcd_codec";
		reg = <0xf100 0x100>;
		interrupt-parent = <&spmi_bus>;
		interrupts = <0x1 0xf1 0x0>,
			     <0x1 0xf1 0x1>,
			     <0x1 0xf1 0x2>,
			     <0x1 0xf1 0x3>,
			     <0x1 0xf1 0x4>,
			     <0x1 0xf1 0x5>;
		interrupt-names = "ear_ocp_int",
				  "hphr_ocp_int",
				  "hphl_ocp_det",
				  "ear_cnp_int",
				  "hphr_cnp_int",
				  "hphl_cnp_int";
		qcom,dig-cdc-base-addr = <0xc0f0000>;
	};
};
+10 −0
Original line number Diff line number Diff line
@@ -65,6 +65,16 @@
		qcom,dig-vtg-min = <1800000>;
		qcom,dig-vtg-max = <1800000>;
	};

	sound {
		asoc-wsa-codec-names = "wsa881x-i2c-codec.8-000f";
		asoc-wsa-codec-prefixes = "SpkrMono";

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

&tlmm {
+170 −0
Original line number Diff line number Diff line
@@ -408,6 +408,176 @@
			};
		};

		cdc-pdm-2-lines {
			cdc_pdm_lines_2_act: pdm_lines_2_on {
				mux {
					pins = "gpio70", "gpio71", "gpio72";
					function = "cdc_pdm0";
				};

				config {
					pins = "gpio70", "gpio71", "gpio72";
					drive-strength = <8>;
				};
			};

			cdc_pdm_lines_2_sus: pdm_lines_2_off {
				mux {
					pins = "gpio70", "gpio71", "gpio72";
					function = "cdc_pdm0";
				};

				config {
					pins = "gpio70", "gpio71", "gpio72";
					drive-strength = <2>;
					bias-disable;
				};
			};
		};

		cdc-pdm-lines {
			cdc_pdm_lines_act: pdm_lines_on {
				mux {
					pins = "gpio69", "gpio73", "gpio74";
					function = "cdc_pdm0";
				};

				config {
					pins = "gpio69", "gpio73", "gpio74";
					drive-strength = <8>;
				};
			};
			cdc_pdm_lines_sus: pdm_lines_off {
				mux {
					pins = "gpio69", "gpio73", "gpio74";
					function = "cdc_pdm0";
				};

				config {
					pins = "gpio69", "gpio73", "gpio74";
					drive-strength = <2>;
					bias-disable;
				};
			};
		};

		cross-conn-det {
			cross_conn_det_act: lines_on {
				mux {
					pins = "gpio63";
					function = "gpio";
				};

				config {
					pins = "gpio63";
					drive-strength = <8>;
					output-low;
					bias-pull-down;
				};
			};

			cross_conn_det_sus: lines_off {
				mux {
					pins = "gpio63";
					function = "gpio";
				};

				config {
					pins = "gpio63";
					drive-strength = <2>;
					bias-pull-down;
				};
			};
		};

		/* WSA VI sense */
		wsa-vi {
			wsa_vi_on: wsa_vi_on {
				mux {
					pins = "gpio94", "gpio95";
					function = "wsa_io";
				};

				config {
					pins = "gpio94", "gpio95";
					drive-strength = <8>; /* 8 MA */
					bias-disable; /* NO pull */
				};
			};

			wsa_vi_off: wsa_vi_off {
				mux {
					pins = "gpio94", "gpio95";
					function = "wsa_io";
				};

				config {
					pins = "gpio94", "gpio95";
					drive-strength = <2>; /* 2 MA */
					bias-pull-down;
				};
			};
		};

		/* WSA Reset */
		wsa_reset {
			wsa_reset_on: wsa_reset_on {
				mux {
					pins = "gpio96";
					function = "gpio";
				};

				config {
					pins = "gpio96";
					drive-strength = <2>; /* 2 MA */
					output-high;
				};
			};

			wsa_reset_off: wsa_reset_off {
				mux {
					pins = "gpio96";
					function = "gpio";
				};

				config {
					pins = "gpio96";
					drive-strength = <2>; /* 2 MA */
					output-low;
				};
			};
		};

		/* WSA CLK */
		wsa_clk {
			wsa_clk_on: wsa_clk_on {
				mux {
					pins = "gpio25";
					function = "pri_mi2s_mclk_a";
				};

				config {
					pins = "gpio25";
					drive-strength = <8>; /* 8 MA */
					output-high;
				};
			};

			wsa_clk_off: wsa_clk_off {
				mux {
					pins = "gpio25";
					function = "pri_mi2s_mclk_a";
				};

				config {
					pins = "gpio25";
					drive-strength = <2>; /* 2 MA */
					output-low;
					bias-pull-down;
				};
			};
		};

		pmx_sdc1_clk {
			sdc1_clk_on: sdc1_clk_on {
				config {
+1 −0
Original line number Diff line number Diff line
@@ -1695,6 +1695,7 @@
#include "msm8937-regulator.dtsi"
#include "msm-pm8937.dtsi"
#include "msm-gdsc-8916.dtsi"
#include "msm-audio.dtsi"

&gdsc_venus {
	clock-names = "bus_clk", "core_clk";