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

Commit 56c634cd authored by Viraja Kommaraju's avatar Viraja Kommaraju Committed by Gerrit - the friendly Code Review server
Browse files

ARM: dts: msm: Add pinctrl configs for MI2S/AUXPCM modes for MDM9607



Add gpio configurations for each mode of MI2S/AUXPCM in pinctrl
dtsi. Define corresponding pinctrl states in MDM9607 dtsi
and add the handles in sound node.

CRs-Fixed: 2029897
Change-Id: I37aeed1901a0ac305e90e99499a0a6747a21299f
Signed-off-by: default avatarViraja Kommaraju <virajak@codeaurora.org>
parent fd7152d1
Loading
Loading
Loading
Loading
+84 −20
Original line number Diff line number Diff line
@@ -286,12 +286,13 @@
		};


		pmx_pri_mi2s {
				pri_mi2s_ws_active: pri_mi2s_ws_active {
		pmx_pri_mi2s_aux {
			pri_ws_active_master: pri_ws_active_master {
				mux {
					pins = "gpio20";
					function = "pri_mi2s_ws_a";
				};

				config {
					pins = "gpio20";
					drive-strength = <8>;   /* 8 MA */
@@ -300,7 +301,7 @@
				};
			};

			pri_mi2s_sck_active: pri_mi2s_sck_active {
			pri_sck_active_master: pri_sck_active_master {
				mux {
					pins = "gpio23";
					function = "pri_mi2s_sck_a";
@@ -314,11 +315,38 @@
				};
			};

			pri_mi2s_dout_active: pri_mi2s_dout_active {
			pri_ws_active_slave: pri_ws_active_slave {
				mux {
					pins = "gpio20";
					function = "pri_mi2s_ws_a";
				};

				config {
					pins = "gpio20";
					drive-strength = <8>;   /* 8 MA */
					bias-disable;           /* No PULL */
				};
			};

			pri_sck_active_slave: pri_sck_active_slave {
				mux {
					pins = "gpio23";
					function = "pri_mi2s_sck_a";
				};

				config {
					pins = "gpio23";
					drive-strength = <8>;   /* 8 MA */
					bias-disable;           /* No PULL */
				};
			};

			pri_dout_active: pri_dout_active {
				mux {
					pins = "gpio22";
					function = "pri_mi2s_data1_a";
				};

				config {
					pins = "gpio22";
					drive-strength = <8>;   /* 8 MA */
@@ -327,11 +355,12 @@
				};
			};

			pri_mi2s_ws_sleep: pri_mi2s_ws_sleep {
			pri_ws_sleep: pri_ws_sleep {
				mux {
					pins = "gpio20";
					function = "pri_mi2s_ws_a";
				};

				config {
					pins = "gpio20";
					drive-strength = <2>;   /* 2 MA */
@@ -339,11 +368,12 @@
				};
			};

			pri_mi2s_sck_sleep: pri_mi2s_sck_sleep {
			pri_sck_sleep: pri_sck_sleep {
				mux {
					pins = "gpio23";
					function = "pri_mi2s_sck_a";
				};

				config {
					pins = "gpio23";
					drive-strength = <2>;   /* 2 MA */
@@ -351,7 +381,7 @@
				};
			};

			pri_mi2s_dout_sleep: pri_mi2s_dout_sleep {
			pri_dout_sleep: pri_dout_sleep {
				mux {
					pins = "gpio22";
					function = "pri_mi2s_data1_a";
@@ -365,12 +395,13 @@
			};
		};

		pmx_pri_mi2s_din {
				pri_mi2s_din_active: pri_mi2s_din_active {
		pmx_pri_mi2s_aux_din {
				pri_din_active: pri_din_active {
				mux {
					pins = "gpio21";
					function = "pri_mi2s_data0_a";
				};

				config {
					pins = "gpio21";
					drive-strength = <8>;   /* 8 MA */
@@ -378,11 +409,12 @@
				};
			};

			pri_mi2s_din_sleep: pri_mi2s_din_sleep {
			pri_din_sleep: pri_din_sleep {
				mux {
					pins = "gpio21";
					function = "pri_mi2s_data0_a";
				};

				config {
					pins = "gpio21";
					drive-strength = <2>;   /* 2 MA */
@@ -391,12 +423,13 @@
			};
		};

		pmx_sec_mi2s {
			sec_mi2s_ws_active: sec_mi2s_ws_active {
		pmx_sec_mi2s_aux {
			sec_ws_active_master: sec_ws_active_master {
				mux {
					pins = "gpio79";
					function = "sec_mi2s";
				};

				config {
					pins = "gpio79";
					drive-strength = <8>;   /* 8 MA */
@@ -405,7 +438,7 @@
				};
			};

			sec_mi2s_sck_active: sec_mi2s_sck_active {
			sec_sck_active_master: sec_sck_active_master {
				mux {
					pins = "gpio78";
					function = "sec_mi2s";
@@ -419,11 +452,38 @@
				};
			};

			sec_mi2s_dout_active: sec_mi2s_dout_active {
			sec_ws_active_slave: sec_ws_active_slave {
				mux {
					pins = "gpio79";
					function = "sec_mi2s";
				};

				config {
					pins = "gpio79";
					drive-strength = <8>;   /* 8 MA */
					bias-disable;           /* No PULL */
				};
			};

			sec_sck_active_slave: sec_sck_active_slave {
				mux {
					pins = "gpio78";
					function = "sec_mi2s";
				};

				config {
					pins = "gpio78";
					drive-strength = <8>;   /* 8 MA */
					bias-disable;           /* No PULL */
				};
			};

			sec_dout_active: sec_dout_active {
				mux {
					pins = "gpio77";
					function = "sec_mi2s";
				};

				config {
					pins = "gpio77";
					drive-strength = <8>;   /* 8 MA */
@@ -432,11 +492,12 @@
				};
			};

			sec_mi2s_ws_sleep: sec_mi2s_ws_sleep {
			sec_ws_sleep: sec_ws_sleep {
				mux {
					pins = "gpio79";
					function = "sec_mi2s";
				};

				config {
					pins = "gpio79";
					drive-strength = <2>;   /* 2 MA */
@@ -444,11 +505,12 @@
				};
			};

			sec_mi2s_sck_sleep: sec_mi2s_sck_sleep {
			sec_sck_sleep: sec_sck_sleep {
				mux {
					pins = "gpio78";
					function = "sec_mi2s";
				};

				config {
					pins = "gpio78";
					drive-strength = <2>;   /* 2 MA */
@@ -456,7 +518,7 @@
				};
			};

			sec_mi2s_dout_sleep: sec_mi2s_dout_sleep {
			sec_dout_sleep: sec_dout_sleep {
				mux {
					pins = "gpio77";
					function = "sec_mi2s";
@@ -470,12 +532,13 @@
			};
		};

		pmx_sec_mi2s_din {
			sec_mi2s_din_active: sec_mi2s_din_active {
		pmx_sec_mi2s_aux_din {
			sec_din_active: sec_din_active {
				mux {
					pins = "gpio76";
					function = "sec_mi2s";
				};

				config {
					pins = "gpio76";
					drive-strength = <8>;   /* 8 MA */
@@ -483,11 +546,12 @@
				};
			};

			sec_mi2s_din_sleep: sec_mi2s_din_sleep {
			sec_din_sleep: sec_din_sleep {
				mux {
					pins = "gpio76";
					function = "sec_mi2s";
				};

				config {
					pins = "gpio76";
					drive-strength = <2>;   /* 2 MA */
+64 −13
Original line number Diff line number Diff line
@@ -871,8 +871,10 @@
			"MIC BIAS3 External", "Digital Mic3";

		qcom,codec-mclk-clk-freq = <12288000>;
		qcom,mi2s-interface-mode = "pri_mi2s_master", "sec_mi2s_master";
		qcom,auxpcm-interface-mode = "pri_pcm_master", "sec_pcm_master";
		qcom,prim_mi2s_aux_master = <&prim_master>;
		qcom,prim_mi2s_aux_slave = <&prim_slave>;
		qcom,sec_mi2s_aux_master = <&sec_master>;
		qcom,sec_mi2s_aux_slave = <&sec_slave>;
		asoc-platform = <&pcm0>, <&pcm1>, <&voip>, <&voice>,
				<&loopback>, <&hostless>, <&afe>, <&routing>,
				<&pcm_dtmf>, <&host_pcm>, <&compress>;
@@ -928,8 +930,10 @@
			"MIC BIAS3 External", "Digital Mic4";

		qcom,codec-mclk-clk-freq = <12288000>;
		qcom,mi2s-interface-mode = "pri_mi2s_master", "sec_mi2s_master";
		qcom,auxpcm-interface-mode = "pri_pcm_master", "sec_pcm_master";
		qcom,prim_mi2s_aux_master = <&prim_master>;
		qcom,prim_mi2s_aux_slave = <&prim_slave>;
		qcom,sec_mi2s_aux_master = <&sec_master>;
		qcom,sec_mi2s_aux_slave = <&sec_slave>;
		asoc-platform = <&pcm0>, <&pcm1>, <&voip>, <&voice>,
				<&loopback>, <&hostless>, <&afe>, <&routing>,
				<&pcm_dtmf>, <&host_pcm>, <&compress>;
@@ -1131,15 +1135,6 @@
			qcom,msm-dai-q6-mi2s-dev-id = <0>;
			qcom,msm-mi2s-rx-lines = <2>;
			qcom,msm-mi2s-tx-lines = <1>;
			pinctrl-names = "default", "idle";
			pinctrl-0 = <&pri_mi2s_ws_active
					&pri_mi2s_sck_active
					&pri_mi2s_dout_active
					&pri_mi2s_din_active>;
			pinctrl-1 = <&pri_mi2s_ws_sleep
					&pri_mi2s_sck_sleep
					&pri_mi2s_dout_sleep
					&pri_mi2s_din_sleep>;
		};
		mi2s_sec: qcom,msm-dai-q6-mi2s-sec {
			compatible = "qcom,msm-dai-q6-mi2s";
@@ -1149,6 +1144,62 @@
		};
	};

	prim_master: prim_master_pinctrl {
		compatible = "qcom,wcd-gpio-ctrl";
		pinctrl-names = "aud_active", "aud_sleep";
		pinctrl-0 = <&pri_ws_active_master
				&pri_sck_active_master
				&pri_dout_active
				&pri_din_active>;
		pinctrl-1 = <&pri_ws_sleep
				&pri_sck_sleep
				&pri_dout_sleep
				&pri_din_sleep>;
		qcom,mi2s-auxpcm-cdc-gpios;
	};

	prim_slave: prim_slave_pinctrl {
		compatible = "qcom,wcd-gpio-ctrl";
		pinctrl-names = "aud_active", "aud_sleep";
		pinctrl-0 = <&pri_ws_active_slave
				&pri_sck_active_slave
				&pri_dout_active
				&pri_din_active>;
		pinctrl-1 = <&pri_ws_sleep
				&pri_sck_sleep
				&pri_dout_sleep
				&pri_din_sleep>;
		qcom,mi2s-auxpcm-cdc-gpios;
	};

	sec_master: sec_master_pinctrl {
		compatible = "qcom,wcd-gpio-ctrl";
		pinctrl-names = "aud_active", "aud_sleep";
		pinctrl-0 = <&sec_ws_active_master
				&sec_sck_active_master
				&sec_dout_active
				&sec_din_active>;
		pinctrl-1 = <&sec_ws_sleep
				&sec_sck_sleep
				&sec_dout_sleep
				&sec_din_sleep>;
		qcom,mi2s-auxpcm-cdc-gpios;
	};

	sec_slave: sec_slave_pinctrl {
		compatible = "qcom,wcd-gpio-ctrl";
		pinctrl-names = "aud_active", "aud_sleep";
		pinctrl-0 = <&sec_ws_active_slave
				&sec_sck_active_slave
				&sec_dout_active
				&sec_din_active>;
		pinctrl-1 = <&sec_ws_sleep
				&sec_sck_sleep
				&sec_dout_sleep
				&sec_din_sleep>;
		qcom,mi2s-auxpcm-cdc-gpios;
	};

	qcom,msm-thermal {
		compatible = "qcom,msm-thermal";
		qcom,sensor-id = <4>;