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

Commit dfc5578a authored by Laxminath Kasam's avatar Laxminath Kasam
Browse files

ARM: dts: msm: add support for hdmi audio



Add required pinctrl configurations and nodes to support
hdmi audio using dba over quinary interface.

Change-Id: I3a4bc46d4b7957668a26524f8779998583de64ef
Signed-off-by: default avatarLaxminath Kasam <lkasam@codeaurora.org>
parent ef34489d
Loading
Loading
Loading
Loading
+55 −13
Original line number Diff line number Diff line
@@ -327,27 +327,56 @@
			"AMIC3", "MIC BIAS External",
			"WSA_SPK OUT", "VDD_WSA_SWITCH",
			"SpkrMono WSA_IN", "WSA_SPK OUT";

		qcom,hdmi-dba-codec-rx;

		qcom,msm-gpios =
			"pri_i2s",
			"us_eu_gpio";
			"us_eu_gpio",
			"quin_i2s";
		qcom,pinctrl-names =
			"all_off",
			"pri_i2s_act",
			"us_eu_gpio_act",
			"pri_i2s_us_eu_gpio_act";
			"pri_i2s_us_eu_gpio_act",
			"quin_act",
			"quin_pri_i2s_act",
			"quin_us_eu_gpio_act",
			"quin_us_eu_gpio_pri_i2s_act";
		pinctrl-names =
			"all_off",
			"pri_i2s_act",
			"us_eu_gpio_act",
			"pri_i2s_us_eu_gpio_act";
			"pri_i2s_us_eu_gpio_act",
			"quin_act",
			"quin_pri_i2s_act",
			"quin_us_eu_gpio_act",
			"quin_us_eu_gpio_pri_i2s_act";
		pinctrl-0 = <&cdc_pdm_lines_sus
				&cdc_pdm_lines_2_sus &cross_conn_det_sus>;
				&cdc_pdm_lines_2_sus &cross_conn_det_sus
				&pri_tlmm_lines_sus &pri_tlmm_ws_sus>;
		pinctrl-1 = <&cdc_pdm_lines_act
				&cdc_pdm_lines_2_act &cross_conn_det_sus>;
				&cdc_pdm_lines_2_act &cross_conn_det_sus
				&pri_tlmm_lines_sus &pri_tlmm_ws_sus>;
		pinctrl-2 = <&cdc_pdm_lines_sus
				&cdc_pdm_lines_2_sus &cross_conn_det_act>;
				&cdc_pdm_lines_2_sus &cross_conn_det_act
				&pri_tlmm_lines_sus &pri_tlmm_ws_sus>;
		pinctrl-3 = <&cdc_pdm_lines_act
				&cdc_pdm_lines_2_act &cross_conn_det_act>;
				&cdc_pdm_lines_2_act &cross_conn_det_act
				&pri_tlmm_lines_sus &pri_tlmm_ws_sus>;
		pinctrl-4 = <&cdc_pdm_lines_sus
				&cdc_pdm_lines_2_sus &cross_conn_det_sus
				&pri_tlmm_lines_act &pri_tlmm_ws_act>;
		pinctrl-5 = <&cdc_pdm_lines_act
				&cdc_pdm_lines_2_act &cross_conn_det_sus
				&pri_tlmm_lines_act &pri_tlmm_ws_act>;
		pinctrl-6 = <&cdc_pdm_lines_sus
				&cdc_pdm_lines_2_sus &cross_conn_det_act
				&pri_tlmm_lines_act &pri_tlmm_ws_act>;
		pinctrl-7 = <&cdc_pdm_lines_act
				&cdc_pdm_lines_2_act &cross_conn_det_act
				&pri_tlmm_lines_act &pri_tlmm_ws_act>;

		asoc-platform = <&pcm0>, <&pcm1>, <&pcm2>, <&voip>, <&voice>,
				<&loopback>, <&compress>, <&hostless>,
				<&afe>, <&lsm>, <&routing>, <&lpa>;
@@ -432,16 +461,29 @@
			"SpkrLeft IN", "SPK1 OUT",
			"SpkrRight IN", "SPK2 OUT";

		qcom,hdmi-dba-codec-rx;

		qcom,msm-gpios =
			"quin_i2s",
			"us_eu_gpio";
		qcom,pinctrl-names =
			"all_off",
			"us_eu_gpio_act";
			"quin_act",
			"us_eu_gpio_act",
			"quin_us_eu_gpio_act";
		pinctrl-names =
			"all_off",
			"us_eu_gpio_act";
		pinctrl-0 = <&cross_conn_det_sus>;
		pinctrl-1 = <&cross_conn_det_act>;
			"quin_act",
			"us_eu_gpio_act",
			"quin_us_eu_gpio_act";
		pinctrl-0 = <&pri_tlmm_lines_sus &pri_tlmm_ws_sus
						&cross_conn_det_sus>;
		pinctrl-1 = <&pri_tlmm_lines_act &pri_tlmm_ws_act
						&cross_conn_det_sus>;
		pinctrl-2 = <&pri_tlmm_lines_sus &pri_tlmm_ws_sus
						&cross_conn_det_act>;
		pinctrl-3 = <&pri_tlmm_lines_act &pri_tlmm_ws_act
						&cross_conn_det_act>;

		qcom,msm-mbhc-hphl-swh = <0>;
		qcom,msm-mbhc-gnd-swh = <0>;
@@ -482,8 +524,8 @@
				"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";
		asoc-codec = <&stub_codec>, <&hdmi_dba>;
		asoc-codec-names = "msm-stub-codec.1", "msm-hdmi-dba-codec-rx";
	};

	i2c@78b6000 {
+54 −0
Original line number Diff line number Diff line
@@ -825,6 +825,60 @@
			};
		};

		pri-tlmm-lines {
			pri_tlmm_lines_act: pri_tlmm_lines_act {
				mux {
					pins = "gpio85", "gpio88";
					function = "pri_mi2s";
				};

				config {
					pins = "gpio85", "gpio88";
					drive-strength = <8>;
				};
			};

			pri_tlmm_lines_sus: pri_tlmm_lines_sus {
				mux {
					pins = "gpio85", "gpio88";
					function = "pri_mi2s";
				};

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

		pri-tlmm-ws-lines {
			pri_tlmm_ws_act: pri_tlmm_ws_act {
				mux {
					pins = "gpio87";
					function = "pri_mi2s_ws";
				};

				config {
					pins = "gpio87";
					drive-strength = <8>;
				};
			};

			pri_tlmm_ws_sus: pri_tlmm_ws_sus {
				mux {
					pins = "gpio87";
					function = "pri_mi2s_ws";
				};

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

		spi3 {
			spi3_default: spi3_default {
			/* active state */
+3 −2
Original line number Diff line number Diff line
@@ -22,8 +22,9 @@
	qcom,msm-hs-micbias-type = "internal";
	qcom,msm-micbias1-ext-cap;

	asoc-codec = <&stub_codec>, <&pmtitanium_diangu_dig>;
	asoc-codec-names = "msm-stub-codec.1", "cajon_codec";
	asoc-codec = <&stub_codec>, <&pmtitanium_diangu_dig>, <&hdmi_dba>;
	asoc-codec-names = "msm-stub-codec.1", "cajon_codec",
						"msm-hdmi-dba-codec-rx";
	asoc-wsa-codec-names = "wsa881x-i2c-codec.2-000f";
	asoc-wsa-codec-prefixes = "SpkrMono";

+54 −0
Original line number Diff line number Diff line
@@ -960,6 +960,60 @@
			};
		};

		pri-tlmm-lines {
			pri_tlmm_lines_act: pri_tlmm_lines_act {
				mux {
					pins = "gpio91", "gpio93";
					function = "pri_mi2s";
				};

				config {
					pins = "gpio91", "gpio93";
					drive-strength = <8>;
				};
			};

			pri_tlmm_lines_sus: pri_tlmm_lines_sus {
				mux {
					pins = "gpio91", "gpio93";
					function = "pri_mi2s";
				};

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

		pri-tlmm-ws-lines {
			pri_tlmm_ws_act: pri_tlmm_ws_act {
				mux {
					pins = "gpio92";
					function = "pri_mi2s_ws";
				};

				config {
					pins = "gpio92";
					drive-strength = <8>;
				};
			};

			pri_tlmm_ws_sus: pri_tlmm_ws_sus {
				mux {
					pins = "gpio92";
					function = "pri_mi2s_ws";
				};

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

		spi3 {
			spi3_default: spi3_default {
				/* active state */