On 4/29/25 11:24 AM, Prasad Kumpatla wrote:For Qcm6490-IDP board Audio is working fine, Not sure about rb2, Could you please provide more details about rb2 ?>> +
From: Mohammad Rafi Shaik <quic_mohs@xxxxxxxxxxx>
Add nodes for WSA8830 speakers and WCD9370 headset codec
on qcm6490-idp board.
Enable lpass macros along with audio support pin controls.
Signed-off-by: Mohammad Rafi Shaik <quic_mohs@xxxxxxxxxxx>
Co-developed-by: Prasad Kumpatla <quic_pkumpatl@xxxxxxxxxxx>
Signed-off-by: Prasad Kumpatla <quic_pkumpatl@xxxxxxxxxxx>
---
arch/arm64/boot/dts/qcom/qcm6490-idp.dts | 162 +++++++++++++++++++++++
1 file changed, 162 insertions(+)
diff --git a/arch/arm64/boot/dts/qcom/qcm6490-idp.dts b/arch/arm64/boot/dts/qcom/qcm6490-idp.dts
index 7a155ef6492e..1a59080cbfaf 100644
--- a/arch/arm64/boot/dts/qcom/qcm6490-idp.dts
+++ b/arch/arm64/boot/dts/qcom/qcm6490-idp.dts
@@ -18,6 +18,7 @@
#include "pm7325.dtsi"
#include "pm8350c.dtsi"
#include "pmk8350.dtsi"
+#include "qcs6490-audioreach.dtsi"
/delete-node/ &ipa_fw_mem;
/delete-node/ &rmtfs_mem;
@@ -169,6 +170,30 @@
regulator-min-microvolt = <3700000>;
regulator-max-microvolt = <3700000>;
};
+
+ wcd9370: audio-codec-0 {
+ compatible = "qcom,wcd9370-codec";
+
+ pinctrl-0 = <&wcd_reset_n>;
+ pinctrl-1 = <&wcd_reset_n_sleep>;
+ pinctrl-names = "default", "sleep";
Does audio work for you? For inexplicable reasons, it didn't for me
on rb2 when the sleep state was defined
Ack, Will move to soc dtsi file.>+ reset-gpios = <&tlmm 83 GPIO_ACTIVE_HIGH>;
+
+ vdd-buck-supply = <&vreg_l17b_1p7>;
+ vdd-rxtx-supply = <&vreg_l18b_1p8>;
+ vdd-px-supply = <&vreg_l18b_1p8>;
+ vdd-mic-bias-supply = <&vreg_bob_3p296>;
+
+ qcom,micbias1-microvolt = <1800000>;
+ qcom,micbias2-microvolt = <1800000>;
+ qcom,micbias3-microvolt = <1800000>;
+
+ qcom,rx-device = <&wcd937x_rx>;
+ qcom,tx-device = <&wcd937x_tx>;
+
+ #sound-dai-cells = <1>;
+ };
};
&apps_rsc {
@@ -536,6 +561,76 @@
firmware-name = "qcom/qcm6490/a660_zap.mbn";
};
+&lpass_dmic01_clk {
+ drive-strength = <8>;
+ bias-disable;
+};
+
+&lpass_dmic01_data {
+ bias-pull-down;
As a testament to these definitions belonging in the soc dtsi, you
added them in the file you included already.
[...]
Ack>&tlmm {
gpio-reserved-ranges = <32 2>, /* ADSP */
<48 4>; /* NFC */
@@ -725,6 +868,25 @@
function = "gpio";
bias-pull-up;
};
+
+ sw_ctrl: sw-ctrl-state {
+ pins = "gpio86";
+ function = "gpio";
+ bias-pull-down;
+ };
Again, unused
Taken the reference from sc7280, which is working fine.+
+ wcd_reset_n: wcd-reset-n-state {
+ pins = "gpio83";
+ function = "gpio";
+ drive-strength = <8>;
Since the definition is otherwise identical to the sleep state,
you should define the (other) bias type that should be set when
active.
> + };
+
+ wcd_reset_n_sleep: wcd-reset-n-sleep-state {
+ pins = "gpio83";
+ function = "gpio";
+ drive-strength = <8>;
+ bias-disable;
+ };
};
&uart5 {