Existing way of allocating soundwire master ports on Qualcommm platforms is dynamic, and in linear order starting from 1 to MAX_PORTS. This will work as long as soundwire device ports are 1:1 mapped linearly. However on most Qcom SoCs like SM8550, SM8650, x1e80100, these are NOT mapped in that order.
The result of this is that only one speaker among the pair of speakers is always silent, With recent changes for WSA codec to support codec versions and along with these patches we are able to get all speakers working on these SoCs.
Signed-off-by: Srinivas Kandagatla srinivas.kandagatla@linaro.org --- Manikantan R (1): ASoC: dt-bindings: wsa883x: Document port mapping property
Srinivas Kandagatla (5): ASoC: codecs: wsa883x: parse port-mapping information ASoC: dt-bindings: wsa8840: Document port mapping property ASoC: codecs: wsa884x: parse port-mapping information arm64: dts: x1e80100-crd: fix wsa soundwire port mapping arm64: dts: x1e80100-qcp: fix wsa soundwire port mapping
Documentation/devicetree/bindings/sound/qcom,wsa883x.yaml | 8 ++++++++ Documentation/devicetree/bindings/sound/qcom,wsa8840.yaml | 8 ++++++++ arch/arm64/boot/dts/qcom/x1e80100-crd.dts | 4 ++++ arch/arm64/boot/dts/qcom/x1e80100-qcp.dts | 2 ++ sound/soc/codecs/wsa883x.c | 8 ++++++++ sound/soc/codecs/wsa884x.c | 8 ++++++++ 6 files changed, 38 insertions(+) --- base-commit: 9935be184a55dd84fc3275094f2df095491f6ea1 change-id: 20240626-port-map-ef50c3304d4a
Best regards,