[PATCH v4 0/7] ASoC: codecs: add support for LPASS Codec TX and RX macros

Srinivas Kandagatla
2021-02-10T09:35:22Z

This patchset adds support for two Codec Macro blocks(TX and RX) available in
Qualcomm LPASS (Low Power Audio SubSystem).

There are WSA, VA, TX and RX Macros on LPASS IP, each of the Macro block
has specific connectivity like WSA Macros are intended to connect
to WSA Smart speaker codecs via SoundWire. VA Macro is intended for DMICs,
and TX/RX for Analog codecs via SoundWire like other WCD938x Codecs to provide
headphone/ear/lineout/amic/dmic etc ..

Most of the work is derived from downstream Qualcomm kernels.
Credits to various Qualcomm authors from Patrick Lai's team who have
contributed to this code.

This patchset has been tested on support to SM8250 MTP Development Board.
This board has 2 WSA881X smart speakers with onboard DMIC connected to
internal LPASS codec via WSA and VA macros respectively and WCD938x
TX and RX connected via Soundwire via TX and RX Macros reseptively.

Thanks,
srini

Changes since v3:
- fixed two minor warnings reported by kernel test robot using clang

Srinivas Kandagatla (7):
ASoC: qcom: dt-bindings: add bindings for lpass rx macro codec
ASoC: codecs: lpass-rx-macro: add support for lpass rx macro
ASoC: codecs: lpass-rx-macro: add dapm widgets and route
ASoC: codecs: lpass-rx-macro: add iir widgets
ASoC: qcom: dt-bindings: add bindings for lpass tx macro codec
ASoC: codecs: lpass-tx-macro: add support for lpass tx macro
ASoC: codecs: lpass-tx-macro: add dapm widgets and route

.../bindings/sound/qcom,lpass-rx-macro.yaml | 62 +
.../bindings/sound/qcom,lpass-tx-macro.yaml | 67 +
sound/soc/codecs/Kconfig | 10 +
sound/soc/codecs/Makefile | 4 +
sound/soc/codecs/lpass-rx-macro.c | 3606 +++++++++++++++++
sound/soc/codecs/lpass-tx-macro.c | 1874 +++++++++
6 files changed, 5623 insertions(+)
create mode 100644 Documentation/devicetree/bindings/sound/qcom,lpass-rx-macro.yaml
create mode 100644 Documentation/devicetree/bindings/sound/qcom,lpass-tx-macro.yaml
create mode 100644 sound/soc/codecs/lpass-rx-macro.c
create mode 100644 sound/soc/codecs/lpass-tx-macro.c

--
2.21.0