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

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

ARM: dts: msm: Add gpio configuration for master/slave modes on mdm9650



Add gpio configurations for different states of master and
slave modes of MI2S and AUXPCM interfaces - both primary
and secondary.

CRs-fixed: 2105222
Change-Id: I947a290b7a8f8587b138ea9aa8e4d9858607ba18
Signed-off-by: default avatarViraja Kommaraju <virajak@codeaurora.org>
parent 8af2dfbf
Loading
Loading
Loading
Loading
+74 −4
Original line number Diff line number Diff line
@@ -30,10 +30,80 @@
		compatible = "qcom,mdm-audio-auto";
		qcom,model = "mdm-auto-i2s-snd-card";

		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>;
		qcom,msm-gpios =
			"pri_mi2s_aux_master",
			"pri_mi2s_aux_slave",
			"sec_mi2s_aux_master",
			"sec_mi2s_aux_slave";
		qcom,pinctrl-names =
			"all_off",
			"pri_mi2s_aux_master_active",
			"pri_mi2s_aux_slave_active",
			"invalid_state_1",
			"sec_mi2s_aux_master_active",
			"pri_master_active_sec_master_active",
			"pri_slave_active_sec_master_active",
			"invalid_state_2",
			"sec_mi2s_aux_slave_active",
			"pri_master_active_sec_slave_active",
			"pri_slave_active_sec_slave_active";
		pinctrl-names =
			"all_off",
			"pri_mi2s_aux_master_active",
			"pri_mi2s_aux_slave_active",
			"invalid_state_1",
			"sec_mi2s_aux_master_active",
			"pri_master_active_sec_master_active",
			"pri_slave_active_sec_master_active",
			"invalid_state_2",
			"sec_mi2s_aux_slave_active",
			"pri_master_active_sec_slave_active",
			"pri_slave_active_sec_slave_active";
		pinctrl-0 = <&pri_ws_sleep &pri_sck_sleep
				&pri_dout_sleep &pri_din_sleep
				&sec_ws_sleep &sec_sck_sleep
				&sec_dout_sleep &sec_din_sleep>;
		pinctrl-1 = <&pri_ws_active_master &pri_sck_active_master
				&pri_dout_active &pri_din_active
				&sec_ws_sleep &sec_sck_sleep
				&sec_dout_sleep &sec_din_sleep>;
		pinctrl-2 = <&pri_ws_active_slave &pri_sck_active_slave
				&pri_dout_active &pri_din_active
				&sec_ws_sleep &sec_sck_sleep
				&sec_dout_sleep &sec_din_sleep>;
		pinctrl-3 = <&pri_ws_sleep &pri_sck_sleep
				&pri_dout_sleep &pri_din_sleep
				&sec_ws_sleep &sec_sck_sleep
				&sec_dout_sleep &sec_din_sleep>;
		pinctrl-4 = <&pri_ws_sleep &pri_sck_sleep
				&pri_dout_sleep &pri_din_sleep
				&sec_ws_active_master &sec_sck_active_master
				&sec_dout_active &sec_din_active>;
		pinctrl-5 = <&pri_ws_active_master &pri_sck_active_master
				&pri_dout_active &pri_din_active
				&sec_ws_active_master &sec_sck_active_master
				&sec_dout_active &sec_din_active>;
		pinctrl-6 = <&pri_ws_active_slave &pri_sck_active_slave
				&pri_dout_active &pri_din_active
				&sec_ws_active_master &sec_sck_active_master
				&sec_dout_active &sec_din_active>;
		pinctrl-7 = <&pri_ws_sleep &pri_sck_sleep
				&pri_dout_sleep &pri_din_sleep
				&sec_ws_sleep &sec_sck_sleep
				&sec_dout_sleep &sec_din_sleep>;
		pinctrl-8 = <&pri_ws_sleep &pri_sck_sleep
				&pri_dout_sleep &pri_din_sleep
				&sec_ws_active_slave &sec_sck_active_slave
				&sec_dout_active &sec_din_active>;
		pinctrl-9 = <&pri_ws_active_master &pri_sck_active_master
				&pri_dout_active &pri_din_active
				&sec_ws_active_slave &sec_sck_active_slave
				&sec_dout_active &sec_din_active>;
		pinctrl-10 = <&pri_ws_active_slave &pri_sck_active_slave
				&pri_dout_active &pri_din_active
				&sec_ws_active_slave &sec_sck_active_slave
				&sec_dout_active &sec_din_active>;

		asoc-platform = <&pcm0>, <&pcm1>, <&voip>, <&voice>,
				<&loopback>, <&hostless>, <&afe>, <&routing>,
				<&pcm_dtmf>, <&host_pcm>, <&compress>;
+57 −25
Original line number Diff line number Diff line
@@ -82,30 +82,62 @@
&blsp1_uart2_hs {
	status = "disabled";
};
&sec_master {
	compatible = "qcom,wcd-gpio-ctrl";
	pinctrl-names = "aud_active", "aud_sleep";
	pinctrl-0 = <&sec_ws_b_active_master
			&sec_sck_b_active_master
			&sec_dout_b_active
			&sec_din_b_active>;
	pinctrl-1 = <&sec_ws_b_sleep
			&sec_sck_b_sleep
			&sec_dout_b_sleep
			&sec_din_b_sleep>;
	qcom,mi2s-auxpcm-cdc-gpios;
};

&sec_slave {
	compatible = "qcom,wcd-gpio-ctrl";
	pinctrl-names = "aud_active", "aud_sleep";
	pinctrl-0 = <&sec_ws_b_active_slave
			&sec_sck_b_active_slave
			&sec_dout_b_active
			&sec_din_b_active>;
	pinctrl-1 = <&sec_ws_b_sleep
			&sec_sck_b_sleep
			&sec_dout_b_sleep
			&sec_din_b_sleep>;
	qcom,mi2s-auxpcm-cdc-gpios;
&snd_tasha {
	pinctrl-names =
		"all_off",
		"pri_mi2s_aux_master_active",
		"pri_mi2s_aux_slave_active",
		"invalid_state_1",
		"sec_mi2s_aux_master_active",
		"pri_master_active_sec_master_active",
		"pri_slave_active_sec_master_active",
		"invalid_state_2",
		"sec_mi2s_aux_slave_active",
		"pri_master_active_sec_slave_active",
		"pri_slave_active_sec_slave_active";
	pinctrl-0 = <&pri_ws_sleep &pri_sck_sleep
		&pri_dout_sleep &pri_din_sleep
		&sec_ws_b_sleep &sec_sck_b_sleep
		&sec_dout_b_sleep &sec_din_b_sleep>;
	pinctrl-1 = <&pri_ws_active_master &pri_sck_active_master
		&pri_dout_active &pri_din_active
		&sec_ws_b_sleep &sec_sck_b_sleep
		&sec_dout_b_sleep &sec_din_b_sleep>;
	pinctrl-2 = <&pri_ws_active_slave &pri_sck_active_slave
		&pri_dout_active &pri_din_active
		&sec_ws_b_sleep &sec_sck_b_sleep
		&sec_dout_b_sleep &sec_din_b_sleep>;
	pinctrl-3 = <&pri_ws_sleep &pri_sck_sleep
		&pri_dout_sleep &pri_din_sleep
		&sec_ws_b_sleep &sec_sck_b_sleep
		&sec_dout_b_sleep &sec_din_b_sleep>;
	pinctrl-4 = <&pri_ws_sleep &pri_sck_sleep
		&pri_dout_sleep &pri_din_sleep
		&sec_ws_b_active_master &sec_sck_b_active_master
		&sec_dout_b_active &sec_din_b_active>;
	pinctrl-5 = <&pri_ws_active_master &pri_sck_active_master
		&pri_dout_active &pri_din_active
		&sec_ws_b_active_master &sec_sck_b_active_master
		&sec_dout_b_active &sec_din_b_active>;
	pinctrl-6 = <&pri_ws_active_slave &pri_sck_active_slave
		&pri_dout_active &pri_din_active
		&sec_ws_b_active_master &sec_sck_b_active_master
		&sec_dout_b_active &sec_din_b_active>;
	pinctrl-7 = <&pri_ws_sleep &pri_sck_sleep
		&pri_dout_sleep &pri_din_sleep
		&sec_ws_b_sleep &sec_sck_b_sleep
		&sec_dout_b_sleep &sec_din_b_sleep>;
	pinctrl-8 = <&pri_ws_sleep &pri_sck_sleep
		&pri_dout_sleep &pri_din_sleep
		&sec_ws_b_active_slave &sec_sck_b_active_slave
		&sec_dout_b_active &sec_din_b_active>;
	pinctrl-9 = <&pri_ws_active_master &pri_sck_active_master
		&pri_dout_active &pri_din_active
		&sec_ws_b_active_slave &sec_sck_b_active_slave
		&sec_dout_b_active &sec_din_b_active>;
	pinctrl-10 = <&pri_ws_active_slave &pri_sck_active_slave
		&pri_dout_active &pri_din_active
		&sec_ws_b_active_slave &sec_sck_b_active_slave
		&sec_dout_b_active &sec_din_b_active>;
};
+76 −61
Original line number Diff line number Diff line
@@ -1145,7 +1145,7 @@
		#clock-cells = <1>;
	};

	sound {
	snd_tasha: sound {
		compatible = "qcom,mdm-audio-tasha";
		qcom,model = "mdm-tasha-i2s-snd-card";

@@ -1179,10 +1179,81 @@
			"SpkrRight IN", "SPK2 OUT";

		qcom,tasha-mclk-clk-freq = <12288000>;
		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>;

		qcom,msm-gpios =
			"pri_mi2s_aux_master",
			"pri_mi2s_aux_slave",
			"sec_mi2s_aux_master",
			"sec_mi2s_aux_slave";
		qcom,pinctrl-names =
			"all_off",
			"pri_mi2s_aux_master_active",
			"pri_mi2s_aux_slave_active",
			"invalid_state_1",
			"sec_mi2s_aux_master_active",
			"pri_master_active_sec_master_active",
			"pri_slave_active_sec_master_active",
			"invalid_state_2",
			"sec_mi2s_aux_slave_active",
			"pri_master_active_sec_slave_active",
			"pri_slave_active_sec_slave_active";
		pinctrl-names =
			"all_off",
			"pri_mi2s_aux_master_active",
			"pri_mi2s_aux_slave_active",
			"invalid_state_1",
			"sec_mi2s_aux_master_active",
			"pri_master_active_sec_master_active",
			"pri_slave_active_sec_master_active",
			"invalid_state_2",
			"sec_mi2s_aux_slave_active",
			"pri_master_active_sec_slave_active",
			"pri_slave_active_sec_slave_active";
		pinctrl-0 = <&pri_ws_sleep &pri_sck_sleep
				&pri_dout_sleep &pri_din_sleep
				&sec_ws_sleep &sec_sck_sleep
				&sec_dout_sleep &sec_din_sleep>;
		pinctrl-1 = <&pri_ws_active_master &pri_sck_active_master
				&pri_dout_active &pri_din_active
				&sec_ws_sleep &sec_sck_sleep
				&sec_dout_sleep &sec_din_sleep>;
		pinctrl-2 = <&pri_ws_active_slave &pri_sck_active_slave
				&pri_dout_active &pri_din_active
				&sec_ws_sleep &sec_sck_sleep
				&sec_dout_sleep &sec_din_sleep>;
		pinctrl-3 = <&pri_ws_sleep &pri_sck_sleep
				&pri_dout_sleep &pri_din_sleep
				&sec_ws_sleep &sec_sck_sleep
				&sec_dout_sleep &sec_din_sleep>;
		pinctrl-4 = <&pri_ws_sleep &pri_sck_sleep
				&pri_dout_sleep &pri_din_sleep
				&sec_ws_active_master &sec_sck_active_master
				&sec_dout_active &sec_din_active>;
		pinctrl-5 = <&pri_ws_active_master &pri_sck_active_master
				&pri_dout_active &pri_din_active
				&sec_ws_active_master &sec_sck_active_master
				&sec_dout_active &sec_din_active>;
		pinctrl-6 = <&pri_ws_active_slave &pri_sck_active_slave
				&pri_dout_active &pri_din_active
				&sec_ws_active_master &sec_sck_active_master
				&sec_dout_active &sec_din_active>;
		pinctrl-7 = <&pri_ws_sleep &pri_sck_sleep
				&pri_dout_sleep &pri_din_sleep
				&sec_ws_sleep &sec_sck_sleep
				&sec_dout_sleep &sec_din_sleep>;
		pinctrl-8 = <&pri_ws_sleep &pri_sck_sleep
				&pri_dout_sleep &pri_din_sleep
				&sec_ws_active_slave &sec_sck_active_slave
				&sec_dout_active &sec_din_active>;
		pinctrl-9 = <&pri_ws_active_master &pri_sck_active_master
				&pri_dout_active &pri_din_active
				&sec_ws_active_slave &sec_sck_active_slave
				&sec_dout_active &sec_din_active>;
		pinctrl-10 = <&pri_ws_active_slave &pri_sck_active_slave
				&pri_dout_active &pri_din_active
				&sec_ws_active_slave &sec_sck_active_slave
				&sec_dout_active &sec_din_active>;

		asoc-platform = <&pcm0>, <&pcm1>, <&voip>, <&voice>,
				<&loopback>, <&hostless>, <&afe>, <&routing>,
				<&pcm_dtmf>, <&host_pcm>, <&compress>;
@@ -1409,62 +1480,6 @@

	};

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

	sdhc_1: sdhci@7824000 {
		compatible = "qcom,sdhci-msm";
		reg = <0x07824900 0x500>, <0x07824000 0x800>;