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

Commit 4b9ebfff authored by Mangesh Kunchamwar's avatar Mangesh Kunchamwar
Browse files

ARM: dts: msm: Add SPDIF support for qcs405



Add support for SPDIF interfaces on qcs405.
The SPDIF interfaces are inside LPASS and are used with optical or
coaxial SPDIF jack and with audio return channel (ARC) from HDMI sink.
SPDIF is a one-wire serial audio interface that is commonly use in
consumer electronic products to transfer stereo PCM or multichannel
compressed audio formats between devices.

Change-Id: I643e6a42596d8c6a17a844bdd4cad7cae0fea330
Signed-off-by: default avatarRalf Herz <rherz@codeaurora.org>
Signed-off-by: default avatarMangesh Kunchamwar <mangeshk@codeaurora.org>
parent f972c63f
Loading
Loading
Loading
Loading
+26 −0
Original line number Diff line number Diff line
@@ -828,6 +828,32 @@ qcom,msm-dai-mi2s {
		};
};

* msm-dai-spdif

[First Level Nodes]

Required properties:

 - compatible : "msm-dai-spdif"

 [Second Level Nodes]

Required properties:

 - compatible : "qcom,msm-dai-q6-spdif"
 - qcom,msm-dai-q6-dev-id: The SPDIF port ID
                            Value is from 20480 to 20483.

Example:

qcom,msm-dai-spdif {
	compatible = "qcom,msm-dai-spdif";
	qcom,msm-dai-q6-spdif-pri-rx {
		compatible = "qcom,msm-dai-q6-spdif";
		qcom,msm-dai-q6-dev-id = <20480>;
	};
};

* msm-adsp-loader

Required properties:
+20 −0
Original line number Diff line number Diff line
@@ -616,4 +616,24 @@
			qcom,msm-cpudai-tdm-data-align = <0>;
		};
	};

	dai_pri_spdif_rx: qcom,msm-dai-q6-spdif-pri-rx {
		compatible = "qcom,msm-dai-q6-spdif";
		qcom,msm-dai-q6-dev-id = <20480>;
	};

	dai_pri_spdif_tx: qcom,msm-dai-q6-spdif-pri-tx {
		compatible = "qcom,msm-dai-q6-spdif";
		qcom,msm-dai-q6-dev-id = <20481>;
	};

	dai_sec_spdif_rx: qcom,msm-dai-q6-spdif-sec-rx {
		compatible = "qcom,msm-dai-q6-spdif";
		qcom,msm-dai-q6-dev-id = <20482>;
	};

	dai_sec_spdif_tx: qcom,msm-dai-q6-spdif-sec-tx {
		compatible = "qcom,msm-dai-q6-spdif";
		qcom,msm-dai-q6-dev-id = <20483>;
	};
};
+2 −0
Original line number Diff line number Diff line
@@ -46,6 +46,8 @@
		"VA MIC BIAS1", "Digital Mic6",
		"VA DMIC7", "VA MIC BIAS1",
		"VA MIC BIAS1", "Digital Mic7";
	pinctrl-names = "default";
	pinctrl-0 = <&spdifrx_opt_default>;
};

&bolero {
+7 −2
Original line number Diff line number Diff line
@@ -46,6 +46,7 @@
		qcom,model = "qcs405-snd-card";
		qcom,mi2s-audio-intf = <1>;
		qcom,auxpcm-audio-intf = <1>;
		qcom,spdif-audio-intf = <1>;

		asoc-platform = <&pcm0>, <&pcm1>, <&pcm2>, <&voip>, <&voice>,
				<&loopback>, <&compress>, <&hostless>,
@@ -81,7 +82,9 @@
			<&wsa_cdc_dma_0_rx>, <&wsa_cdc_dma_0_tx>,
			<&wsa_cdc_dma_1_rx>, <&wsa_cdc_dma_1_tx>,
			<&wsa_cdc_dma_2_tx>,
			<&va_cdc_dma_0_tx>, <&va_cdc_dma_1_tx>;
			<&va_cdc_dma_0_tx>, <&va_cdc_dma_1_tx>,
			<&dai_pri_spdif_rx>, <&dai_pri_spdif_tx>,
			<&dai_sec_spdif_rx>, <&dai_sec_spdif_tx>;
		asoc-cpu-names = "msm-dai-q6-dp.24608",
			"msm-dai-q6-mi2s.0", "msm-dai-q6-mi2s.1",
			"msm-dai-q6-mi2s.2", "msm-dai-q6-mi2s.3",
@@ -114,7 +117,9 @@
			"msm-dai-cdc-dma-dev.45059",
			"msm-dai-cdc-dma-dev.45061",
			"msm-dai-cdc-dma-dev.45089",
			"msm-dai-cdc-dma-dev.45091";
			"msm-dai-cdc-dma-dev.45091",
			"msm-dai-q6-spdif.20480", "msm-dai-q6-spdif.20481",
			"msm-dai-q6-spdif.20482", "msm-dai-q6-spdif.20483";
	};
};

+23 −2
Original line number Diff line number Diff line
@@ -1008,6 +1008,7 @@
					pins = "gpio89";
					drive-strength = <8>;   /* 8 mA */
					bias-disable;           /* NO PULL */
					output-high;
				};
			};
		};
@@ -1037,6 +1038,7 @@
					pins = "gpio90";
					drive-strength = <8>;   /* 8 mA */
					bias-disable;           /* NO PULL */
					output-high;
				};
			};
		};
@@ -1065,6 +1067,7 @@
					pins = "gpio91";
					drive-strength = <8>;   /* 8 mA */
					bias-disable;           /* NO PULL */
					output-high;
				};
			};
		};
@@ -1094,6 +1097,7 @@
					pins = "gpio92";
					drive-strength = <8>;   /* 8 mA */
					bias-disable;           /* NO PULL */
					output-high;
				};
			};
		};
@@ -1122,6 +1126,7 @@
					pins = "gpio93";
					drive-strength = <8>;   /* 8 mA */
					bias-disable;           /* NO PULL */
					output-high;
				};
			};
		};
@@ -1151,6 +1156,7 @@
					pins = "gpio94";
					drive-strength = <8>;   /* 8 mA */
					bias-disable;           /* NO PULL */
					output-high;
				};
			};
		};
@@ -1179,7 +1185,6 @@
					pins = "gpio97";
					drive-strength = <8>;   /* 8 mA */
					bias-disable;           /* NO PULL */
					output-high;
				};
			};
		};
@@ -1209,7 +1214,6 @@
					pins = "gpio98";
					drive-strength = <8>;   /* 8 mA */
					bias-disable;           /* NO PULL */
					output-high;
				};
			};
		};
@@ -1329,6 +1333,23 @@
			};
		};

		/* SPDIF optical input pin */
		spdifrx_opt {
			spdifrx_opt_default: spdifrx_opt_default{
				mux {
					pins = "gpio119";
					function = "spdifrx_opt";
				};

				config {
					pins = "gpio119";
					drive-strength = <2>; /* 2 mA */
					bias-pull-down; /* pull down */
					input-enable;
				};
			};
		};

		/* WSA speaker reset pins */
		wsa_en_1_2 {
			wsa_en_1_2_sleep: wsa_en_1_2_sleep {