This patchset adds support to reading codec version and also adds support for v2.5 codec version in rx macro. LPASS 2.5 and up versions have changes in some of the rx blocks which are required to get headset functional correctly. Tested this on SM8450, X13s and x1e80100 crd. This changes also fixes issue with sm8450, sm8550, sm8660 and x1e80100. @Neil Armstrong can you pl test it on sm8650 @Krzysztof Kozlowski can you pl test it on sm8550 Thanks, Srini Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> --- Changes in v3: - moved dev_info to dev_dbg to print codec version. - added explicit cases for codec version checks instead of using range - changed err handling. - Link to v1: https://lore.kernel.org/r/20240612-lpass-codec-v25-v1-0-9f40611a1370@xxxxxxxxxx --- Srinivas Kandagatla (3): ASoC: codecs: lpass-macro: add helpers to get codec version ASoC: codec: lpass-rx-macro: prepare driver to accomdate new codec versions ASoC: codec: lpass-rx-macro: add support for 2.5 codec version sound/soc/codecs/lpass-macro-common.c | 23 ++ sound/soc/codecs/lpass-macro-common.h | 35 ++ sound/soc/codecs/lpass-rx-macro.c | 595 +++++++++++++++++++++++++--------- sound/soc/codecs/lpass-va-macro.c | 28 ++ 4 files changed, 528 insertions(+), 153 deletions(-) --- base-commit: 1613e604df0cd359cf2a7fbd9be7a0bcfacfabd0 change-id: 20240612-lpass-codec-v25-4e960abd661f Best regards, -- Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx>