mbox series

[RESEND,v2,0/4] Add static channel mapping between soundwire master and slave

Message ID 20241023062331.3872883-1-quic_mohs@quicinc.com
Headers show
Series Add static channel mapping between soundwire master and slave | expand

Message

Mohammad Rafi Shaik Oct. 23, 2024, 6:23 a.m. UTC
Add static channel map support between soundwire master and slave.

Currently, the channel mask for each soundwire port is hardcoded in the wcd937x-sdw driver,
and the same channel mask value is configured in the soundwire master.
The Qualcomm boards like the QCM6490-IDP require different channel mask settings
for the soundwire master and slave ports.

With the introduction of the following channel mapping properties, it is now possible to
configure the master channel mask directly from the device tree.

Added qcom_swrm_set_channel_map api to set the master channel mask which allows more
flexible to configure channel mask in runtime for specific active soundwire ports.

Add get and set channel maps support from codec to cpu dais in common
Qualcomm sdw driver.

Changes since v1:
 - Modified the design and followed new approach to setting the master channel mask.
 - Used existing set_channel_map api as suggested by Pierre-Louis
 - Fixed the typo mistake in v1-0001 dt-bindings patch.
 - Rephrase the commit description for all v1 patches.

Mohammad Rafi Shaik (4):
  ASoC: dt-bindings: wcd937x-sdw: Add static channel mapping support
  ASoC: codecs: wcd937x: Add static channel mapping support in
    wcd937x-sdw
  soundwire: qcom: Add set_channel_map api support
  ASoC: qcom: sdw: Add get and set channel maps support from codec to
    cpu dais

 .../bindings/sound/qcom,wcd937x-sdw.yaml      | 36 +++++++++++++
 drivers/soundwire/qcom.c                      | 26 +++++++++
 sound/soc/codecs/wcd937x-sdw.c                | 38 +++++++++++--
 sound/soc/codecs/wcd937x.c                    | 53 ++++++++++++++++++-
 sound/soc/codecs/wcd937x.h                    |  6 ++-
 sound/soc/qcom/sdw.c                          | 34 ++++++++++--
 6 files changed, 183 insertions(+), 10 deletions(-)


base-commit: 7436324ebd147598f940dde1335b7979dbccc339