diff --git a/arch/arm64/boot/dts/qcom/sdm670-google-common.dtsi b/arch/arm64/boot/dts/qcom/sdm670-google-common.dtsi
index 3abde2cbf746..48aea5d72092 100644
--- a/arch/arm64/boot/dts/qcom/sdm670-google-common.dtsi
+++ b/arch/arm64/boot/dts/qcom/sdm670-google-common.dtsi
@@ -53,6 +53,14 @@ framebuffer: framebuffer@9c000000 {
};
};
+ clocks {
+ int_cdc_bclk: int-cdc-bclk {
+ compatible = "fixed-clock";
+ #clock-cells = <0>;
+ clock-frequency = <1536000>;
+ };
+ };
+
gpio-keys {
compatible = "gpio-keys";
autorepeat;@@ -133,7 +141,14 @@ sound {
model = "Google Pixel 3a";
pinctrl-names = "default";
- pinctrl-0 = <&cdc_pdm_default>;
+ pinctrl-0 = <&cdc_pdm_default>,
+ <&cdc_dmic_default>;
+
+ audio-routing = "Analog PDM_RX1", "Digital PDM_RX1",
+ "Analog PDM_RX2", "Digital PDM_RX2",
+ "Analog PDM_RX3", "Digital PDM_RX3",
+ "Digital LPASS_PDM_TX", "Analog PDM_TX",
+ "Analog AMIC2", "Analog MIC BIAS External2";
mm1-dai-link {
link-name = "MultiMedia1";@@ -166,6 +181,40 @@ cpu {
sound-dai = <&q6asmdai MSM_FRONTEND_DAI_MULTIMEDIA4>;
};
};
+
+ lpi-mi2s-rx-dai-link {
+ link-name = "LPI MI2S Playback";
+
+ cpu {
+ sound-dai = <&q6afedai LPI_MI2S_RX_0>;
+ };
+
+ platform {
+ sound-dai = <&q6routing>;
+ };
+
+ codec {
+ sound-dai = <&pm660l_codec 0>,
+ <&lpass_codec 0>;
+ };
+ };
+
+ lpi-mi2s-tx-dai-link {
+ link-name = "LPI MI2S Capture";
+
+ cpu {
+ sound-dai = <&q6afedai LPI_MI2S_TX_3>;
+ };
+
+ platform {
+ sound-dai = <&q6routing>;
+ };
+
+ codec {
+ sound-dai = <&pm660l_codec 1>,
+ <&lpass_codec 1>;
+ };
+ };
};
/*@@ -568,6 +617,17 @@ rmi4_f12: rmi4-f12@12 {
};
};
+&lpass_codec {
+ clocks = <&int_cdc_bclk>,
+ <&q6afecc LPASS_CLK_ID_INT_MCLK_0 LPASS_CLK_ATTRIBUTE_COUPLE_NO>;
+ clock-names = "ahbix-clk", "mclk";
+
+ assigned-clocks = <&q6afecc LPASS_CLK_ID_INT_MCLK_0 LPASS_CLK_ATTRIBUTE_COUPLE_NO>;
+ assigned-clock-rates = <9600000>;
+
+ status = "okay";
+};
+
&lpi_tlmm {
/* sensor gpios are protected */
gpio-reserved-ranges = <0 8>, <12 6>;@@ -631,6 +691,19 @@ &pm660_rradc {
status = "okay";
};
+&pm660l_codec {
+ vdd-cdc-io-supply = <&vreg_l10a_1p8>;
+ vdd-cdc-tx-rx-cx-supply = <&vreg_l1b_0p925>;
+ vdd-micbias-supply = <&vreg_l7b_3p125>;
+
+ qcom,mbhc-vthreshold-low = <75 150 237 437 437>;
+ qcom,mbhc-vthreshold-high = <75 150 237 437 437>;
+
+ qcom,micbias-lvl = <2500>;
+
+ status = "okay";
+};
+
&pm660l_flash {
status = "okay";
@@ -673,6 +746,18 @@ &qupv3_id_1 {
status = "okay";
};
+&q6afedai {
+ dai@89 {
+ reg = <LPI_MI2S_RX_0>;
+ qcom,sd-lines = <0 1>;
+ };
+
+ dai@90 {
+ reg = <LPI_MI2S_TX_3>;
+ qcom,sd-lines = <0 1>;
+ };
+};
+
&q6asmdai {
dai@0 {
reg = <MSM_FRONTEND_DAI_MULTIMEDIA1>;--
2.55.0