* [PATCH v2] arm64: dts: qcom: hamoa-iot-evk: Fix 4-speaker playback support
@ 2025-10-10 3:37 Le Qi
2025-10-20 12:04 ` Konrad Dybcio
2025-10-27 22:37 ` Bjorn Andersson
0 siblings, 2 replies; 3+ messages in thread
From: Le Qi @ 2025-10-10 3:37 UTC (permalink / raw)
To: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
Conor Dooley
Cc: linux-arm-msm, devicetree, linux-kernel, kernel, Le Qi
On the HAMOA-IOT-EVK board only 2 out of 4 speakers were functional.
Unlike the CRD, which shares a single GPIO reset line for WSA1/2,
this board provides a dedicated GPIO reset for each WSA, resulting
in 4 separate reset lines.
Update the device tree accordingly so that all 4 speakers can
playback audio as expected.
Signed-off-by: Le Qi <le.qi@oss.qualcomm.com>
---
Changes in v2:
- Removed `output-` properties in favor of explicit `gpiod_*` API calls
in the driver, to avoid unintended reset assertion during OF node parsing.
- Split pinctrl entries so that GPIO configs for speaker amps are
associated with each individual device, instead of the soundwire host.
- Renamed speaker pinctrl labels for consistency:
spkr0_* → spkr_0_* (e.g. spkr_0_sd_n_active: spkr-0-sd-n-active-state)
spkr1_* → spkr_1_* (e.g. spkr_1_sd_n_active: spkr-1-sd-n-active-state)
---
arch/arm64/boot/dts/qcom/hamoa-iot-evk.dts | 38 +++++++++++++++++-----
1 file changed, 29 insertions(+), 9 deletions(-)
diff --git a/arch/arm64/boot/dts/qcom/hamoa-iot-evk.dts b/arch/arm64/boot/dts/qcom/hamoa-iot-evk.dts
index df8d6e5c1f45..36dd6599402b 100644
--- a/arch/arm64/boot/dts/qcom/hamoa-iot-evk.dts
+++ b/arch/arm64/boot/dts/qcom/hamoa-iot-evk.dts
@@ -743,20 +743,32 @@ retimer_ss1_con_sbu_out: endpoint {
};
&lpass_tlmm {
- spkr_01_sd_n_active: spkr-01-sd-n-active-state {
+ spkr_0_sd_n_active: spkr-0-sd-n-active-state {
pins = "gpio12";
function = "gpio";
drive-strength = <16>;
bias-disable;
- output-low;
};
- spkr_23_sd_n_active: spkr-23-sd-n-active-state {
+ spkr_1_sd_n_active: spkr-1-sd-n-active-state {
pins = "gpio13";
function = "gpio";
drive-strength = <16>;
bias-disable;
- output-low;
+ };
+
+ spkr_2_sd_n_active: spkr-2-sd-n-active-state {
+ pins = "gpio17";
+ function = "gpio";
+ drive-strength = <16>;
+ bias-disable;
+ };
+
+ spkr_3_sd_n_active: spkr-3-sd-n-active-state {
+ pins = "gpio18";
+ function = "gpio";
+ drive-strength = <16>;
+ bias-disable;
};
};
@@ -908,12 +920,14 @@ &smb2360_2_eusb2_repeater {
&swr0 {
status = "okay";
- pinctrl-0 = <&wsa_swr_active>, <&spkr_01_sd_n_active>;
+ pinctrl-0 = <&wsa_swr_active>;
pinctrl-names = "default";
/* WSA8845, Left Woofer */
left_woofer: speaker@0,0 {
compatible = "sdw20217020400";
+ pinctrl-0 = <&spkr_0_sd_n_active>;
+ pinctrl-names = "default";
reg = <0 0>;
reset-gpios = <&lpass_tlmm 12 GPIO_ACTIVE_LOW>;
#sound-dai-cells = <0>;
@@ -926,8 +940,10 @@ left_woofer: speaker@0,0 {
/* WSA8845, Left Tweeter */
left_tweeter: speaker@0,1 {
compatible = "sdw20217020400";
+ pinctrl-0 = <&spkr_1_sd_n_active>;
+ pinctrl-names = "default";
reg = <0 1>;
- reset-gpios = <&lpass_tlmm 12 GPIO_ACTIVE_LOW>;
+ reset-gpios = <&lpass_tlmm 13 GPIO_ACTIVE_LOW>;
#sound-dai-cells = <0>;
sound-name-prefix = "TweeterLeft";
vdd-1p8-supply = <&vreg_l15b_1p8>;
@@ -961,14 +977,16 @@ wcd_tx: codec@0,3 {
&swr3 {
status = "okay";
- pinctrl-0 = <&wsa2_swr_active>, <&spkr_23_sd_n_active>;
+ pinctrl-0 = <&wsa2_swr_active>;
pinctrl-names = "default";
/* WSA8845, Right Woofer */
right_woofer: speaker@0,0 {
compatible = "sdw20217020400";
+ pinctrl-0 = <&spkr_2_sd_n_active>;
+ pinctrl-names = "default";
reg = <0 0>;
- reset-gpios = <&lpass_tlmm 13 GPIO_ACTIVE_LOW>;
+ reset-gpios = <&lpass_tlmm 17 GPIO_ACTIVE_LOW>;
#sound-dai-cells = <0>;
sound-name-prefix = "WooferRight";
vdd-1p8-supply = <&vreg_l15b_1p8>;
@@ -979,8 +997,10 @@ right_woofer: speaker@0,0 {
/* WSA8845, Right Tweeter */
right_tweeter: speaker@0,1 {
compatible = "sdw20217020400";
+ pinctrl-0 = <&spkr_3_sd_n_active>;
+ pinctrl-names = "default";
reg = <0 1>;
- reset-gpios = <&lpass_tlmm 13 GPIO_ACTIVE_LOW>;
+ reset-gpios = <&lpass_tlmm 18 GPIO_ACTIVE_LOW>;
#sound-dai-cells = <0>;
sound-name-prefix = "TweeterRight";
vdd-1p8-supply = <&vreg_l15b_1p8>;
--
2.34.1
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH v2] arm64: dts: qcom: hamoa-iot-evk: Fix 4-speaker playback support
2025-10-10 3:37 [PATCH v2] arm64: dts: qcom: hamoa-iot-evk: Fix 4-speaker playback support Le Qi
@ 2025-10-20 12:04 ` Konrad Dybcio
2025-10-27 22:37 ` Bjorn Andersson
1 sibling, 0 replies; 3+ messages in thread
From: Konrad Dybcio @ 2025-10-20 12:04 UTC (permalink / raw)
To: Le Qi, Bjorn Andersson, Konrad Dybcio, Rob Herring,
Krzysztof Kozlowski, Conor Dooley
Cc: linux-arm-msm, devicetree, linux-kernel, kernel
On 10/10/25 5:37 AM, Le Qi wrote:
> On the HAMOA-IOT-EVK board only 2 out of 4 speakers were functional.
> Unlike the CRD, which shares a single GPIO reset line for WSA1/2,
> this board provides a dedicated GPIO reset for each WSA, resulting
> in 4 separate reset lines.
>
> Update the device tree accordingly so that all 4 speakers can
> playback audio as expected.
>
> Signed-off-by: Le Qi <le.qi@oss.qualcomm.com>
> ---
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Konrad
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH v2] arm64: dts: qcom: hamoa-iot-evk: Fix 4-speaker playback support
2025-10-10 3:37 [PATCH v2] arm64: dts: qcom: hamoa-iot-evk: Fix 4-speaker playback support Le Qi
2025-10-20 12:04 ` Konrad Dybcio
@ 2025-10-27 22:37 ` Bjorn Andersson
1 sibling, 0 replies; 3+ messages in thread
From: Bjorn Andersson @ 2025-10-27 22:37 UTC (permalink / raw)
To: Konrad Dybcio, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Le Qi
Cc: linux-arm-msm, devicetree, linux-kernel, kernel
On Fri, 10 Oct 2025 11:37:28 +0800, Le Qi wrote:
> On the HAMOA-IOT-EVK board only 2 out of 4 speakers were functional.
> Unlike the CRD, which shares a single GPIO reset line for WSA1/2,
> this board provides a dedicated GPIO reset for each WSA, resulting
> in 4 separate reset lines.
>
> Update the device tree accordingly so that all 4 speakers can
> playback audio as expected.
>
> [...]
Applied, thanks!
[1/1] arm64: dts: qcom: hamoa-iot-evk: Fix 4-speaker playback support
commit: 210d525d9c4c321a74828e0e626df2598cc7ed97
Best regards,
--
Bjorn Andersson <andersson@kernel.org>
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2025-10-27 22:35 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-10-10 3:37 [PATCH v2] arm64: dts: qcom: hamoa-iot-evk: Fix 4-speaker playback support Le Qi
2025-10-20 12:04 ` Konrad Dybcio
2025-10-27 22:37 ` Bjorn Andersson
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).