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

Commit 5bc16c75 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 gpio configuration for master/slave modes on mdm9650"

parents 4e87111c f40c4cba
Loading
Loading
Loading
Loading
+83 −8
Original line number Diff line number Diff line
@@ -2135,10 +2135,14 @@ sound-9330 {
- qcom,model : The user-visible name of this sound card.
- qcom,tasha-mclk-clk-freq : MCLK frequency value for tasha codec
                             and node is "sound-9335"
- qcom,prim_mi2s_aux_master : Handle to prim_master pinctrl configurations
- qcom,prim_mi2s_aux_slave : Handle to prim_slave pinctrl configurations
- qcom,sec_mi2s_aux_master : Handle to sec_master pinctrl configurations
- qcom,sec_mi2s_aux_slave : Handle to sec_slave pinctrl configurations
- qcom,pinctrl-names : Lists all the possible combinations of the gpio sets
                       mentioned in qcom,msm-gpios. Say we have 2^N combinations
                       for N GPIOs, this would list all the 2^N combinations.
- pinctrl-names : The combinations of gpio sets from above that are supported in
                  the flavor. This can be sometimes same as qcom,pinctrl-names
                  i.e with 2^N combinations or will have less incase if some
                  combination is not supported or invalid.
- pinctrl-# : Pinctrl states as mentioned in pinctrl-names.
- qcom,audio-routing : A list of the connections between audio components.
- asoc-platform: This is phandle list containing the references to platform device
                 nodes that are used as part of the sound card dai-links.
@@ -2197,10 +2201,81 @@ Example:
		"MIC BIAS4 External", "Digital Mic6";

		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>;
+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>;
+1 −1
Original line number Diff line number Diff line
@@ -30,7 +30,7 @@ snd-soc-msm8x16-objs += msm8952-slimbus.o msm8952-dai-links.o
obj-$(CONFIG_SND_SOC_MSM8X16) += snd-soc-msm8x16.o

# for MDM 9650 sound card driver
snd-soc-mdm9650-objs := mdm9650.o
snd-soc-mdm9650-objs := mdm9650.o msm-audio-pinctrl.o
obj-$(CONFIG_SND_SOC_MDM9650) += snd-soc-mdm9650.o

# for MDM 9607 sound card driver
Loading