arch/arm64/boot/dts/qcom/qcm6490-idp.dts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
The WCD9370 audio codec reset line on QCM6490 IDP should be active-low, but
the device tree described it as active-high. As a result, the codec is
kept in reset and fails to reset the SoundWire, leading to timeouts
and ASoC card probe failure (-ETIMEDOUT).
Fix the reset GPIO polarity to GPIO_ACTIVE_LOW so the codec can properly
initialize.
Fixes: aa04c298619f ("arm64: dts: qcom: qcm6490-idp: Add WSA8830 speakers and WCD9370 headset codec")
Signed-off-by: Ravi Hothi <ravi.hothi@oss.qualcomm.com>
---
arch/arm64/boot/dts/qcom/qcm6490-idp.dts | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/arm64/boot/dts/qcom/qcm6490-idp.dts b/arch/arm64/boot/dts/qcom/qcm6490-idp.dts
index 089a027c57d5..b2f00e107643 100644
--- a/arch/arm64/boot/dts/qcom/qcm6490-idp.dts
+++ b/arch/arm64/boot/dts/qcom/qcm6490-idp.dts
@@ -177,7 +177,7 @@ wcd9370: audio-codec-0 {
pinctrl-0 = <&wcd_default>;
pinctrl-names = "default";
- reset-gpios = <&tlmm 83 GPIO_ACTIVE_HIGH>;
+ reset-gpios = <&tlmm 83 GPIO_ACTIVE_LOW>;
vdd-buck-supply = <&vreg_l17b_1p7>;
vdd-rxtx-supply = <&vreg_l18b_1p8>;
--
2.34.1
On Fri, 20 Feb 2026 14:32:20 +0530, Ravi Hothi wrote:
> The WCD9370 audio codec reset line on QCM6490 IDP should be active-low, but
> the device tree described it as active-high. As a result, the codec is
> kept in reset and fails to reset the SoundWire, leading to timeouts
> and ASoC card probe failure (-ETIMEDOUT).
>
> Fix the reset GPIO polarity to GPIO_ACTIVE_LOW so the codec can properly
> initialize.
>
> [...]
Applied, thanks!
[1/1] arm64: dts: qcom: qcm6490-idp: Fix WCD9370 reset GPIO polarity
commit: b7df21c59739cceb7b866c6c5e8a6ba03875ab71
Best regards,
--
Bjorn Andersson <andersson@kernel.org>
On 20/02/2026 10:02, Ravi Hothi wrote:
> The WCD9370 audio codec reset line on QCM6490 IDP should be active-low, but
> the device tree described it as active-high. As a result, the codec is
> kept in reset and fails to reset the SoundWire, leading to timeouts
> and ASoC card probe failure (-ETIMEDOUT).
>
> Fix the reset GPIO polarity to GPIO_ACTIVE_LOW so the codec can properly
> initialize.
>
> Fixes: aa04c298619f ("arm64: dts: qcom: qcm6490-idp: Add WSA8830 speakers and WCD9370 headset codec")
So above was never tested on mainline.
I fixed the driver in 2251db28edcc70b7ee8a8c6bcbaecf752b3ea5ec, so back
in 2024, thus sound on qcm6490-idp COULD NOT WORK when that DTS change
was posted...
...unless it was developed on downstream.
And a BASIC probe test would discover that - whether device probes
and/or appears in sysfs soundwire bus.
Since basic test would discover it, then I really believe this was done
on some downstream-style clone.
I think this is wider problem with @qualcomm patches.
> Signed-off-by: Ravi Hothi <ravi.hothi@oss.qualcomm.com>
> ---
> arch/arm64/boot/dts/qcom/qcm6490-idp.dts | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com>
Best regards,
Krzysztof
On 2/20/26 10:02 AM, Ravi Hothi wrote:
> The WCD9370 audio codec reset line on QCM6490 IDP should be active-low, but
> the device tree described it as active-high. As a result, the codec is
> kept in reset and fails to reset the SoundWire, leading to timeouts
> and ASoC card probe failure (-ETIMEDOUT).
>
> Fix the reset GPIO polarity to GPIO_ACTIVE_LOW so the codec can properly
> initialize.
>
> Fixes: aa04c298619f ("arm64: dts: qcom: qcm6490-idp: Add WSA8830 speakers and WCD9370 headset codec")
> Signed-off-by: Ravi Hothi <ravi.hothi@oss.qualcomm.com>
> ---
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Konrad
© 2016 - 2026 Red Hat, Inc.