Re: [PATCH v4 8/8] ASoC: qcom: lpass: Add support for LPASS codec v4.0
From: Ajay Kumar Nandam
Date: Fri Sep 25 2026 - 07:03:14 EST
rx->rxn_reg_stride = 0xc0;
rx->rxn_reg_stride2 = 0x0;
@@ -3959,6 +3962,8 @@ static const struct of_device_id rx_macro_dt_match[] = {
.data = (void *)LPASS_MACRO_FLAG_HAS_NPL_CLOCK,
}, {
.compatible = "qcom,sm8550-lpass-rx-macro",
+ }, {
+ .compatible = "qcom,hawi-lpass-rx-macro",
}, {
Patch 6 documents qcom,hawi-lpass-rx-macro with `clock-names` containing `lpr` instead of `macro`:
clock-names = "mclk", "lpr", "dcodec", "fsgen"
https://lore.kernel.org/all/20260922095522.193FC1F00893@xxxxxxxxxxxxxxx/
However, this patch only adds the compatible string and reuses the existing RX probe path, which still requests the clock as `macro`:
rx->macro = devm_clk_get_optional(dev, "macro");
I do not see any Hawi-specific handling which requests or enables `lpr`.
Should the driver be updated to request `lpr` for the Hawi compatible, or should the binding continue to use `macro` if this is the same clock from the driver's point of view?
.compatible = "qcom,sc8280xp-lpass-rx-macro",
.data = (void *)LPASS_MACRO_FLAG_HAS_NPL_CLOCK,
diff --git a/sound/soc/codecs/lpass-va-macro.c b/sound/soc/codecs/lpass-va-macro.c
index 79abbdd158b7..46ae627ca594 100644
--- a/sound/soc/codecs/lpass-va-macro.c
+++ b/sound/soc/codecs/lpass-va-macro.c
@@ -1896,6 +1896,9 @@ static int va_macro_set_lpass_codec_version(struct va_macro *va)
}
} else if (maj == 4) {
switch (min) {
+ case 0:
+ version = LPASS_CODEC_VERSION_4_0;
+ break;
case 1:
version = LPASS_CODEC_VERSION_4_1;
break;
@@ -2166,6 +2169,7 @@ static const struct of_device_id va_macro_dt_match[] = {
{ .compatible = "qcom,sm8250-lpass-va-macro", .data = &sm8250_va_data },
{ .compatible = "qcom,sm8450-lpass-va-macro", .data = &sm8450_va_data },
{ .compatible = "qcom,sm8550-lpass-va-macro", .data = &sm8550_va_data },
+ { .compatible = "qcom,hawi-lpass-va-macro", .data = &sm8550_va_data },
{ .compatible = "qcom,sc8280xp-lpass-va-macro", .data = &sm8450_va_data },
{ .compatible = "qcom,shikra-lpass-va-macro", .data = &shikra_va_data },
{}