axolotl: audio: initial bringup

Device tree overlays for audio bringup.

Change-Id: Ic3fec304d1c18cd7b3c9e67ce0ec439ac712cd23
Signed-off-by: Alexander Martinz <amartinz@shiftphones.com>
diff --git a/arch/arm64/boot/dts/qcom/sdm845-audio-overlay.dtsi b/arch/arm64/boot/dts/qcom/sdm845-audio-overlay.dtsi
index 9d485b5..9a93fd0 100644
--- a/arch/arm64/boot/dts/qcom/sdm845-audio-overlay.dtsi
+++ b/arch/arm64/boot/dts/qcom/sdm845-audio-overlay.dtsi
@@ -24,12 +24,12 @@
 		"hifi amp", "LINEOUT2",
 		"AMIC2", "MIC BIAS2",
 		"MIC BIAS2", "Headset Mic",
-		"AMIC3", "MIC BIAS2",
-		"MIC BIAS2", "ANCRight Headset Mic",
+		"AMIC3", "MIC BIAS3",
+		"MIC BIAS3", "Noise Mic",
 		"AMIC4", "MIC BIAS2",
 		"MIC BIAS2", "ANCLeft Headset Mic",
-		"AMIC5", "MIC BIAS3",
-		"MIC BIAS3", "Handset Mic",
+		"AMIC1", "MIC BIAS1",
+		"MIC BIAS1", "Handset Mic",
 		"DMIC0", "MIC BIAS1",
 		"MIC BIAS1", "Digital Mic0",
 		"DMIC1", "MIC BIAS1",
@@ -53,17 +53,25 @@
 	qcom,hph-en1-gpio = <&tavil_hph_en1>;
 	qcom,tavil-mclk-clk-freq = <9600000>;
 
-	asoc-codec = <&stub_codec>, <&ext_disp_audio_codec>;
+	pinctrl-names = "quat-mi2s-active", "quat-mi2s-sleep",
+			"quat-tdm-active", "quat-tdm-sleep";
+	pinctrl-0 = <&quat_mi2s_active &quat_mi2s_sd0_active &quat_mi2s_sd1_active>;
+	pinctrl-1 = <&quat_mi2s_sleep &quat_mi2s_sd0_sleep &quat_mi2s_sd1_sleep>;
+	pinctrl-2 = <&quat_tdm_active &quat_tdm_dout_active>;
+	pinctrl-3 = <&quat_tdm_sleep &quat_tdm_dout_sleep>;
+
+	asoc-codec = <&stub_codec>, <&ext_disp_audio_codec>,<&sim_tfa98xx_left>;
 	asoc-codec-names = "msm-stub-codec.1",
-			   "msm-ext-disp-audio-codec-rx";
+			   "msm-ext-disp-audio-codec-rx",
+			   "nxp-tfa9890";
 
-	qcom,usbc-analog-en1-gpio = <&wcd_usbc_analog_en1_gpio>;
-	qcom,usbc-analog-en2-gpio = <&tlmm 51 0>;
-	pinctrl-names = "aud_active", "aud_sleep";
-	pinctrl-0 = <&wcd_usbc_analog_en2_active>;
-	pinctrl-1 = <&wcd_usbc_analog_en2_idle>;
+	//qcom,usbc-analog-en1-gpio = <&wcd_usbc_analog_en1_gpio>;
+	//qcom,usbc-analog-en2-gpio = <&tlmm 51 0>;
+	//pinctrl-names = "aud_active", "aud_sleep";
+	//pinctrl-0 = <&wcd_usbc_analog_en2_active>;
+	//pinctrl-1 = <&wcd_usbc_analog_en2_idle>;
 
-	qcom,wsa-max-devs = <2>;
+	qcom,wsa-max-devs = <0>;
 	qcom,wsa-devs = <&wsa881x_0211>, <&wsa881x_0212>,
 			<&wsa881x_0213>, <&wsa881x_0214>;
 	qcom,wsa-aux-dev-prefix = "SpkrLeft", "SpkrRight",
@@ -71,7 +79,7 @@
 };
 
 &soc {
-	wcd_usbc_analog_en1_gpio: msm_cdc_pinctrl@49 {
+	wcd_usbc_analog_en1_gpio: msm_cdc_pinctrl@51 {
 		compatible = "qcom,msm-cdc-pinctrl";
 		pinctrl-names = "aud_active", "aud_sleep";
 		pinctrl-0 = <&wcd_usbc_analog_en1_active>;
diff --git a/arch/arm64/boot/dts/qcom/sdm845-pinctrl.dtsi b/arch/arm64/boot/dts/qcom/sdm845-pinctrl.dtsi
index f605242..bc44c27fb 100644
--- a/arch/arm64/boot/dts/qcom/sdm845-pinctrl.dtsi
+++ b/arch/arm64/boot/dts/qcom/sdm845-pinctrl.dtsi
@@ -2539,12 +2539,12 @@
 		qupv3_se9_i2c_pins: qupv3_se9_i2c_pins {
 			qupv3_se9_i2c_active: qupv3_se9_i2c_active {
 				mux {
-					pins = "gpio6", "gpio7";
+					pins = "gpio6";
 					function = "qup9";
 				};
 
 				config {
-					pins = "gpio6", "gpio7";
+					pins = "gpio6";
 					drive-strength = <2>;
 					bias-disable;
 				};
@@ -2552,12 +2552,12 @@
 
 			qupv3_se9_i2c_sleep: qupv3_se9_i2c_sleep {
 				mux {
-					pins = "gpio6", "gpio7";
+					pins = "gpio6";
 					function = "gpio";
 				};
 
 				config {
-					pins = "gpio6", "gpio7";
+					pins = "gpio6";
 					drive-strength = <2>;
 					bias-pull-up;
 				};
@@ -2595,14 +2595,12 @@
 		qupv3_se9_spi_pins: qupv3_se9_spi_pins {
 			qupv3_se9_spi_active: qupv3_se9_spi_active {
 				mux {
-					pins = "gpio4", "gpio5", "gpio6",
-								"gpio7";
+					pins = "gpio4", "gpio5", "gpio6";
 					function = "qup9";
 				};
 
 				config {
-					pins = "gpio4", "gpio5", "gpio6",
-								"gpio7";
+					pins = "gpio4", "gpio5", "gpio6";
 					drive-strength = <6>;
 					bias-disable;
 				};
@@ -2610,14 +2608,12 @@
 
 			qupv3_se9_spi_sleep: qupv3_se9_spi_sleep {
 				mux {
-					pins = "gpio4", "gpio5", "gpio6",
-								"gpio7";
+					pins = "gpio4", "gpio5", "gpio6";
 					function = "gpio";
 				};
 
 				config {
-					pins = "gpio4", "gpio5", "gpio6",
-								"gpio7";
+					pins = "gpio4", "gpio5", "gpio6";
 					drive-strength = <6>;
 					bias-disable;
 				};
@@ -2745,14 +2741,12 @@
 		qupv3_se11_spi_pins: qupv3_se11_spi_pins {
 			qupv3_se11_spi_active: qupv3_se11_spi_active {
 				mux {
-					pins = "gpio31", "gpio32", "gpio33",
-								"gpio34";
+					pins = "gpio33","gpio34";
 					function = "qup11";
 				};
 
 				config {
-					pins = "gpio31", "gpio32", "gpio33",
-								"gpio34";
+					pins = "gpio33","gpio34";
 					drive-strength = <6>;
 					bias-disable;
 				};
@@ -2760,14 +2754,12 @@
 
 			qupv3_se11_spi_sleep: qupv3_se11_spi_sleep {
 				mux {
-					pins = "gpio31", "gpio32", "gpio33",
-								"gpio34";
+					pins = "gpio33","gpio34";
 					function = "gpio";
 				};
 
 				config {
-					pins = "gpio31", "gpio32", "gpio33",
-								"gpio34";
+					pins = "gpio33","gpio34";
 					drive-strength = <6>;
 					bias-disable;
 				};
@@ -2928,14 +2920,12 @@
 		qupv3_se14_spi_pins: qupv3_se14_spi_pins {
 			qupv3_se14_spi_active: qupv3_se14_spi_active {
 				mux {
-					pins = "gpio31", "gpio32", "gpio33",
-								"gpio34";
+					pins =  "gpio33","gpio34";
 					function = "qup14";
 				};
 
 				config {
-					pins = "gpio31", "gpio32", "gpio33",
-								"gpio34";
+					pins = "gpio33","gpio34";
 					drive-strength = <6>;
 					bias-disable;
 				};
@@ -2943,14 +2933,12 @@
 
 			qupv3_se14_spi_sleep: qupv3_se14_spi_sleep {
 				mux {
-					pins = "gpio31", "gpio32", "gpio33",
-								"gpio34";
+					pins = "gpio33","gpio34";
 					function = "gpio";
 				};
 
 				config {
-					pins = "gpio31", "gpio32", "gpio33",
-								"gpio34";
+					pins = "gpio33","gpio34";
 					drive-strength = <6>;
 					bias-disable;
 				};
@@ -3134,12 +3122,12 @@
 		max_rst_active: max_rst_active {
 			/* RESET */
 			mux {
-				pins = "gpio31","gpio77","gpio78","gpio32";
+				pins = "gpio77","gpio78";
 				function = "gpio";
 			};
 
 			config {
-				pins = "gpio31","gpio77","gpio78","gpio32";
+				pins = "gpio77","gpio78";
 				bias-disable; /* No PULL */
 				drive-strength = <8>; /* 2 MA */
 			};
@@ -3148,12 +3136,12 @@
 		max_rst_suspend: max_rst_suspend {
 			/* RESET */
 			mux {
-				pins = "gpio31","gpio77","gpio78","gpio32";
+				pins = "gpio77","gpio78";
 				function = "gpio";
 			};
 
 			config {
-				pins = "gpio31","gpio77","gpio78","gpio32";
+				pins = "gpio77","gpio78";
 				bias-pull-down; /* PULL DOWN */
 				drive-strength = <8>; /* 2 MA */
 			};
@@ -3624,7 +3612,6 @@
 
 	key_cam_snapshot {
 		key_cam_snapshot_default: key_cam_snapshot_default {
-			pins = "gpio7";
 			function = "normal";
 			input-enable;
 			bias-pull-up;
diff --git a/arch/arm64/boot/dts/qcom/sdm845-qrd-audio-overlay.dtsi b/arch/arm64/boot/dts/qcom/sdm845-qrd-audio-overlay.dtsi
index ed75507..badc114 100644
--- a/arch/arm64/boot/dts/qcom/sdm845-qrd-audio-overlay.dtsi
+++ b/arch/arm64/boot/dts/qcom/sdm845-qrd-audio-overlay.dtsi
@@ -16,16 +16,16 @@
 &snd_934x {
 	qcom,model = "sdm845-tavil-qrd-snd-card";
 
-	qcom,wsa-max-devs = <1>;
+	qcom,wsa-max-devs = <0>;
 	qcom,wsa-devs = <&wsa881x_0211>, <&wsa881x_0213>;
 	qcom,wsa-aux-dev-prefix = "SpkrRight", "SpkrRight";
 
-	qcom,msm-mbhc-usbc-audio-supported = <1>;
+	qcom,msm-mbhc-usbc-audio-supported = <0>;
 
-	qcom,usbc-analog-en2-gpio = <&tlmm 51 0>;
-	pinctrl-names = "aud_active", "aud_sleep";
-	pinctrl-0 = <&wcd_usbc_analog_en2_active>;
-	pinctrl-1 = <&wcd_usbc_analog_en2_idle>;
+//	qcom,usbc-analog-en2-gpio = <&tlmm 51 0>;
+//	pinctrl-names = "aud_active", "aud_sleep";
+//	pinctrl-0 = <&wcd_usbc_analog_en2_active>;
+//	pinctrl-1 = <&wcd_usbc_analog_en2_idle>;
 };
 
 &us_euro_sw_wcd_active {
diff --git a/arch/arm64/boot/dts/qcom/sdm845-qrd.dtsi b/arch/arm64/boot/dts/qcom/sdm845-qrd.dtsi
index ebe2faf..98e61d0 100644
--- a/arch/arm64/boot/dts/qcom/sdm845-qrd.dtsi
+++ b/arch/arm64/boot/dts/qcom/sdm845-qrd.dtsi
@@ -144,6 +144,15 @@
 	status = "ok";
 };
 
+&qupv3_se11_i2c {
+	status = "ok";
+	sim_tfa98xx_left:tfa9890@34 {
+		compatible = "nxp,tfa9890";
+		reg = <0x34>;
+		reset-gpio = <&tlmm 7 0>;
+	};
+};
+
 &qupv3_se6_4uart {
 	status = "ok";
 };
diff --git a/arch/arm64/boot/dts/qcom/sdm845.dtsi b/arch/arm64/boot/dts/qcom/sdm845.dtsi
index 9215e7b..8fbd527 100644
--- a/arch/arm64/boot/dts/qcom/sdm845.dtsi
+++ b/arch/arm64/boot/dts/qcom/sdm845.dtsi
@@ -48,6 +48,7 @@
 		i2c0 = &qupv3_se10_i2c;
 		i2c1 = &qupv3_se3_i2c;
 		i2c5 = &qupv3_se5_i2c;
+		i2c11 = &qupv3_se11_i2c;
 		hsuart0 = &qupv3_se6_4uart;
 	};