* [PATCH v1 0/2] arm64: dts: qcom: eliza: Add audio support
@ 2026-07-03 8:34 Ravi Hothi
2026-07-03 8:34 ` [PATCH v1 1/2] arm64: dts: qcom: eliza: Add LPASS macro and SoundWire support Ravi Hothi
2026-07-03 8:34 ` [PATCH v1 2/2] arm64: dts: qcom: eliza-cqs-evk: Enable sound card support with WSA8845 and DMIC Ravi Hothi
0 siblings, 2 replies; 9+ messages in thread
From: Ravi Hothi @ 2026-07-03 8:34 UTC (permalink / raw)
To: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
Conor Dooley
Cc: linux-arm-msm, devicetree, linux-kernel, mohammad.rafi.shaik,
ajay.nandam
Add audio support for the Qualcomm Eliza SoC and CQS EVK board.
Patch 1 adds SoC-level LPASS WSA macro, VA macro, SoundWire controller
and LPASS LPI pin controller nodes to eliza.dtsi, along with DMIC and
WSA SoundWire pinctrl states. The macro and SoundWire nodes are kept
disabled so board DTS files can selectively enable and configure them.
Patch 2 enables the sound card on the Eliza CQS EVK platform, including
the WSA8845 external speaker path and DMIC capture via VA macro, along
with the required LPASS macro and SoundWire configurations.
Ravi Hothi (2):
arm64: dts: qcom: eliza: Add LPASS macro and SoundWire support
arm64: dts: qcom: eliza-cqs-evk: Enable sound card support with
WSA8845 and DMIC
arch/arm64/boot/dts/qcom/eliza-cqs-evk.dts | 156 +++++++++++++++++
arch/arm64/boot/dts/qcom/eliza.dtsi | 193 +++++++++++++++++++++
2 files changed, 349 insertions(+)
base-commit: 6eb8711ece2ce27e52e327a5b7a628ed39b97f45
prerequisite-patch-id: 7afccbf2863f25c18c4ccebd721defee1f84325a
prerequisite-patch-id: fecce0170351baf00cbe8f6b302d1def4d99bbfc
prerequisite-patch-id: 97cd6cb495fdd198f6de7fbe45ef32e4a638ec9c
prerequisite-patch-id: f3615b5c1e2222a2491f862a7fba3994058ecc53
prerequisite-patch-id: 84282f8a368672c3f0f8944c442c71713cfd7390
prerequisite-patch-id: 84db6b0611553825dad5b2d6311bcbd840d75a2f
prerequisite-patch-id: 707f23d1ad401ed79c1a2812c294cca66fe9d9d8
prerequisite-patch-id: 9cdfb1f97205bf64d207cd98891bcad4cb841783
prerequisite-patch-id: e990c9019a8c5bafd59a75ff9829a0f0f7350239
prerequisite-patch-id: 15da7545070f556b14e772424dea20b6f012dec1
--
2.34.1
^ permalink raw reply [flat|nested] 9+ messages in thread
* [PATCH v1 1/2] arm64: dts: qcom: eliza: Add LPASS macro and SoundWire support
2026-07-03 8:34 [PATCH v1 0/2] arm64: dts: qcom: eliza: Add audio support Ravi Hothi
@ 2026-07-03 8:34 ` Ravi Hothi
2026-07-07 8:42 ` Konrad Dybcio
2026-07-03 8:34 ` [PATCH v1 2/2] arm64: dts: qcom: eliza-cqs-evk: Enable sound card support with WSA8845 and DMIC Ravi Hothi
1 sibling, 1 reply; 9+ messages in thread
From: Ravi Hothi @ 2026-07-03 8:34 UTC (permalink / raw)
To: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
Conor Dooley
Cc: linux-arm-msm, devicetree, linux-kernel, mohammad.rafi.shaik,
ajay.nandam
Add SoC-level LPASS WSA macro, VA macro, SoundWire controller and LPASS
LPI pin controller nodes. DMIC and WSA SoundWire pinctrl states are
defined inside the LPASS LPI pin controller node. The hardware is similar
to the SM8750 platform.
The WSA macro, VA macro and SoundWire controller are kept disabled so
board DTS files can selectively enable and configure them.
Signed-off-by: Ravi Hothi <ravi.hothi@oss.qualcomm.com>
---
arch/arm64/boot/dts/qcom/eliza.dtsi | 193 ++++++++++++++++++++++++++++
1 file changed, 193 insertions(+)
diff --git a/arch/arm64/boot/dts/qcom/eliza.dtsi b/arch/arm64/boot/dts/qcom/eliza.dtsi
index 8dbfd0504598..142f43a1e6a3 100644
--- a/arch/arm64/boot/dts/qcom/eliza.dtsi
+++ b/arch/arm64/boot/dts/qcom/eliza.dtsi
@@ -19,6 +19,7 @@
#include <dt-bindings/power/qcom,rpmhpd.h>
#include <dt-bindings/soc/qcom,gpr.h>
#include <dt-bindings/soc/qcom,rpmh-rsc.h>
+#include <dt-bindings/sound/qcom,q6dsp-lpass-ports.h>
/ {
interrupt-parent = <&intc>;
@@ -2072,6 +2073,198 @@ lpass_lpicx_noc: interconnect@7420000 {
#interconnect-cells = <2>;
};
+ lpass_wsamacro: codec@6b00000 {
+ compatible = "qcom,eliza-lpass-wsa-macro",
+ "qcom,sm8550-lpass-wsa-macro";
+ reg = <0x0 0x06b00000 0x0 0x1000>;
+
+ clocks = <&q6prmcc LPASS_CLK_ID_WSA_CORE_TX_MCLK
+ LPASS_CLK_ATTRIBUTE_COUPLE_NO>,
+ <&q6prmcc LPASS_HW_MACRO_VOTE
+ LPASS_CLK_ATTRIBUTE_COUPLE_NO>,
+ <&q6prmcc LPASS_HW_DCODEC_VOTE
+ LPASS_CLK_ATTRIBUTE_COUPLE_NO>,
+ <&lpass_vamacro>;
+ clock-names = "mclk",
+ "macro",
+ "dcodec",
+ "fsgen";
+
+ #clock-cells = <0>;
+ clock-output-names = "mclk";
+ #sound-dai-cells = <1>;
+
+ status = "disabled";
+ };
+
+ swr0: soundwire@6b10000 {
+ compatible = "qcom,soundwire-v2.1.0",
+ "qcom,soundwire-v2.0.0";
+ reg = <0x0 0x06b10000 0x0 0x10000>;
+ interrupts = <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>;
+
+ clocks = <&lpass_wsamacro>;
+ clock-names = "iface";
+
+ label = "WSA";
+
+ qcom,din-ports = <4>;
+ qcom,dout-ports = <9>;
+
+ qcom,ports-sinterval =
+ /bits/ 16 <0x07 0x1f 0x3f 0x07 0x1f 0x3f
+ 0x18f 0x18f 0x18f 0x0f 0x0f 0xff 0x31f>;
+ qcom,ports-offset1 =
+ /bits/ 8 <0x01 0x03 0x05 0x02 0x04 0x15
+ 0x00 0x00 0x00 0x06 0x0d 0xff 0x00>;
+ qcom,ports-offset2 =
+ /bits/ 8 <0xff 0x07 0x1f 0xff 0x07 0x1f
+ 0xff 0xff 0xff 0xff 0xff 0xff 0xff>;
+ qcom,ports-hstart =
+ /bits/ 8 <0xff 0xff 0xff 0xff 0xff 0xff
+ 0x08 0x0e 0x0e 0xff 0xff 0xff 0x0f>;
+ qcom,ports-hstop =
+ /bits/ 8 <0xff 0xff 0xff 0xff 0xff 0xff
+ 0x08 0x0e 0x0e 0xff 0xff 0xff 0x0f>;
+ qcom,ports-word-length =
+ /bits/ 8 <0xff 0xff 0xff 0xff 0xff 0xff
+ 0x08 0x0f 0x0f 0x00 0xff 0xff 0x18>;
+ qcom,ports-block-pack-mode =
+ /bits/ 8 <0x00 0x01 0x01 0x00 0x01 0x01
+ 0x00 0x01 0x01 0x01 0x01 0x00 0x00>;
+ qcom,ports-block-group-count =
+ /bits/ 8 <0xff 0xff 0xff 0xff 0xff 0xff
+ 0xff 0x00 0x00 0xff 0xff 0xff 0xff>;
+ qcom,ports-lane-control =
+ /bits/ 8 <0xff 0xff 0xff 0xff 0xff 0xff
+ 0xff 0x00 0x00 0xff 0xff 0xff 0xff>;
+
+ #address-cells = <2>;
+ #size-cells = <0>;
+ #sound-dai-cells = <1>;
+
+ status = "disabled";
+ };
+
+ lpass_vamacro: codec@7660000 {
+ compatible = "qcom,eliza-lpass-va-macro",
+ "qcom,sm8550-lpass-va-macro";
+ reg = <0x0 0x07660000 0x0 0x2000>;
+
+ clocks = <&q6prmcc LPASS_CLK_ID_TX_CORE_MCLK
+ LPASS_CLK_ATTRIBUTE_COUPLE_NO>,
+ <&q6prmcc LPASS_HW_MACRO_VOTE
+ LPASS_CLK_ATTRIBUTE_COUPLE_NO>,
+ <&q6prmcc LPASS_HW_DCODEC_VOTE
+ LPASS_CLK_ATTRIBUTE_COUPLE_NO>;
+ clock-names = "mclk",
+ "macro",
+ "dcodec";
+
+ #clock-cells = <0>;
+ clock-output-names = "fsgen";
+ #sound-dai-cells = <1>;
+
+ status = "disabled";
+ };
+
+ lpass_tlmm: pinctrl@7760000 {
+ compatible = "qcom,eliza-lpass-lpi-pinctrl";
+ reg = <0x0 0x07760000 0x0 0x20000>;
+
+ clocks = <&q6prmcc LPASS_HW_MACRO_VOTE
+ LPASS_CLK_ATTRIBUTE_COUPLE_NO>,
+ <&q6prmcc LPASS_HW_DCODEC_VOTE
+ LPASS_CLK_ATTRIBUTE_COUPLE_NO>;
+ clock-names = "core", "audio";
+
+ gpio-controller;
+ #gpio-cells = <2>;
+ gpio-ranges = <&lpass_tlmm 0 0 23>;
+
+ dmic01_default: dmic01-default-state {
+ clk-pins {
+ pins = "gpio6";
+ function = "dmic1_clk";
+ drive-strength = <8>;
+ output-high;
+ };
+
+ data-pins {
+ pins = "gpio7";
+ function = "dmic1_data";
+ drive-strength = <8>;
+ input-enable;
+ };
+ };
+
+ dmic23_default: dmic23-default-state {
+ clk-pins {
+ pins = "gpio8";
+ function = "dmic2_clk";
+ drive-strength = <8>;
+ output-high;
+ };
+
+ data-pins {
+ pins = "gpio9";
+ function = "dmic2_data";
+ drive-strength = <8>;
+ input-enable;
+ };
+ };
+
+ dmic45_default: dmic45-default-state {
+ clk-pins {
+ pins = "gpio12";
+ function = "dmic3_clk";
+ drive-strength = <8>;
+ output-high;
+ };
+
+ data-pins {
+ pins = "gpio13";
+ function = "dmic3_data";
+ drive-strength = <8>;
+ input-enable;
+ };
+ };
+
+ dmic67_default: dmic67-default-state {
+ clk-pins {
+ pins = "gpio21";
+ function = "dmic4_clk";
+ drive-strength = <8>;
+ output-high;
+ };
+
+ data-pins {
+ pins = "gpio22";
+ function = "dmic4_data";
+ drive-strength = <8>;
+ input-enable;
+ };
+ };
+
+ wsa_swr_active: wsa-swr-active-state {
+ clk-pins {
+ pins = "gpio10";
+ function = "wsa_swr_clk";
+ drive-strength = <2>;
+ slew-rate = <1>;
+ bias-disable;
+ };
+
+ data-pins {
+ pins = "gpio11";
+ function = "wsa_swr_data";
+ drive-strength = <2>;
+ slew-rate = <1>;
+ bias-bus-hold;
+ };
+ };
+ };
+
sdhc_2: mmc@8804000 {
compatible = "qcom,eliza-sdhci", "qcom,sdhci-msm-v5";
reg = <0x0 0x08804000 0x0 0x1000>;
--
2.34.1
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [PATCH v1 2/2] arm64: dts: qcom: eliza-cqs-evk: Enable sound card support with WSA8845 and DMIC
2026-07-03 8:34 [PATCH v1 0/2] arm64: dts: qcom: eliza: Add audio support Ravi Hothi
2026-07-03 8:34 ` [PATCH v1 1/2] arm64: dts: qcom: eliza: Add LPASS macro and SoundWire support Ravi Hothi
@ 2026-07-03 8:34 ` Ravi Hothi
2026-07-07 8:41 ` Konrad Dybcio
1 sibling, 1 reply; 9+ messages in thread
From: Ravi Hothi @ 2026-07-03 8:34 UTC (permalink / raw)
To: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
Conor Dooley
Cc: linux-arm-msm, devicetree, linux-kernel, mohammad.rafi.shaik,
ajay.nandam
Enable the sound card on the Eliza CQS EVK platform, including the
WSA8845 external speaker path and DMIC microphone capture via VA macro.
Enable the required LPASS WSA macro, VA macro and SoundWire controller
along with the necessary pinctrl configurations for DMIC and WSA
SoundWire interfaces.
Signed-off-by: Ravi Hothi <ravi.hothi@oss.qualcomm.com>
---
arch/arm64/boot/dts/qcom/eliza-cqs-evk.dts | 156 +++++++++++++++++++++
1 file changed, 156 insertions(+)
diff --git a/arch/arm64/boot/dts/qcom/eliza-cqs-evk.dts b/arch/arm64/boot/dts/qcom/eliza-cqs-evk.dts
index 43d428a4ed2d..e06b0b79e950 100644
--- a/arch/arm64/boot/dts/qcom/eliza-cqs-evk.dts
+++ b/arch/arm64/boot/dts/qcom/eliza-cqs-evk.dts
@@ -5,10 +5,166 @@
/dts-v1/;
+#include <dt-bindings/sound/qcom,q6dsp-lpass-ports.h>
+
#include "eliza-cqs-som.dtsi"
#include "eliza-evk.dtsi"
/ {
model = "Qualcomm Technologies, Inc. Eliza CQS EVK";
compatible = "qcom,eliza-cqs-evk", "qcom,eliza-cqs-som", "qcom,eliza";
+
+ sound {
+ compatible = "qcom,eliza-sndcard", "qcom,sm8450-sndcard";
+ model = "eliza-cqs-evk";
+
+ audio-routing = "SpkrLeft IN", "WSA_SPK1 OUT",
+ "SpkrRight IN", "WSA_SPK2 OUT",
+ "VA DMIC0", "vdd-micb",
+ "VA DMIC1", "vdd-micb",
+ "VA DMIC2", "vdd-micb",
+ "VA DMIC3", "vdd-micb",
+ "VA DMIC4", "vdd-micb",
+ "VA DMIC5", "vdd-micb",
+ "VA DMIC6", "vdd-micb",
+ "VA DMIC7", "vdd-micb";
+
+ va-dai-link {
+ link-name = "VA Capture";
+
+ cpu {
+ sound-dai = <&q6apmbedai VA_CODEC_DMA_TX_0>;
+ };
+
+ codec {
+ sound-dai = <&lpass_vamacro 0>;
+ };
+
+ platform {
+ sound-dai = <&q6apm>;
+ };
+ };
+
+ wsa-dai-link {
+ link-name = "WSA Playback";
+
+ cpu {
+ sound-dai = <&q6apmbedai WSA_CODEC_DMA_RX_0>;
+ };
+
+ codec {
+ sound-dai = <&left_spkr>, <&right_spkr>,
+ <&swr0 0>, <&lpass_wsamacro 0>;
+ };
+
+ platform {
+ sound-dai = <&q6apm>;
+ };
+ };
+ };
+
+ dmic_eldo: regulator-dmic-eldo {
+ compatible = "regulator-fixed";
+ regulator-name = "dmic-eldo";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ vin-supply = <&vreg_bob>;
+ };
+};
+
+&tlmm {
+ spkr_1_sd_n_active: spkr-1-sd-n-active-state {
+ pins = "gpio59";
+ function = "gpio";
+ drive-strength = <16>;
+ bias-disable;
+ output-low;
+ };
+
+ spkr_2_sd_n_active: spkr-2-sd-n-active-state {
+ pins = "gpio79";
+ function = "gpio";
+ drive-strength = <16>;
+ bias-disable;
+ output-low;
+ };
+};
+
+&lpass_vamacro {
+ status = "okay";
+
+ pinctrl-0 = <&dmic01_default>, <&dmic23_default>,
+ <&dmic45_default>, <&dmic67_default>;
+ pinctrl-names = "default";
+
+ vdd-micb-supply = <&dmic_eldo>;
+ qcom,dmic-sample-rate = <4800000>;
+};
+
+&lpass_wsamacro {
+ status = "okay";
+};
+
+&swr0 {
+ status = "okay";
+
+ pinctrl-0 = <&wsa_swr_active>;
+ pinctrl-names = "default";
+
+ /* WSA8845, Speaker Left */
+ left_spkr: speaker@0,0 {
+ compatible = "sdw20217020400";
+ reg = <0 0>;
+ pinctrl-0 = <&spkr_1_sd_n_active>;
+ pinctrl-names = "default";
+ powerdown-gpios = <&tlmm 59 GPIO_ACTIVE_LOW>;
+ vdd-1p8-supply = <&vreg_l7b>;
+ vdd-io-supply = <&vreg_l7b>;
+
+ #sound-dai-cells = <0>;
+ sound-name-prefix = "SpkrLeft";
+
+ /*
+ * WSA8845 Port 1 (DAC) <=> SWR0 Port 1 (SPKR_L)
+ * WSA8845 Port 2 (COMP) <=> SWR0 Port 2 (SPKR_L_COMP)
+ * WSA8845 Port 3 (BOOST) <=> SWR0 Port 3 (SPKR_L_BOOST)
+ * WSA8845 Port 4 (PBR) <=> SWR0 Port 7 (PBR)
+ * WSA8845 Port 5 (VISENSE) <=> SWR0 Port 10 (SPKR_L_VI)
+ * WSA8845 Port 6 (CPS) <=> SWR0 Port 13 (CPS)
+ */
+ qcom,port-mapping = <1 2 3 7 10 13>;
+ };
+
+ /* WSA8845, Speaker Right */
+ right_spkr: speaker@0,1 {
+ compatible = "sdw20217020400";
+ reg = <0 1>;
+ pinctrl-0 = <&spkr_2_sd_n_active>;
+ pinctrl-names = "default";
+ powerdown-gpios = <&tlmm 79 GPIO_ACTIVE_LOW>;
+ vdd-1p8-supply = <&vreg_l7b>;
+ vdd-io-supply = <&vreg_l7b>;
+
+ #sound-dai-cells = <0>;
+ sound-name-prefix = "SpkrRight";
+
+ /*
+ * WSA8845 Port 1 (DAC) <=> SWR0 Port 4 (SPKR_R)
+ * WSA8845 Port 2 (COMP) <=> SWR0 Port 5 (SPKR_R_COMP)
+ * WSA8845 Port 3 (BOOST) <=> SWR0 Port 6 (SPKR_R_BOOST)
+ * WSA8845 Port 4 (PBR) <=> SWR0 Port 7 (PBR)
+ * WSA8845 Port 5 (VISENSE) <=> SWR0 Port 11 (SPKR_R_VI)
+ * WSA8845 Port 6 (CPS) <=> SWR0 Port 13 (CPS)
+ */
+ qcom,port-mapping = <4 5 6 7 11 13>;
+ };
+};
+
+&pm7550_gpios {
+ dmic-eldo-en-hog {
+ gpio-hog;
+ gpios = <7 GPIO_ACTIVE_HIGH>;
+ output-high;
+ line-name = "dmic-eldo-en";
+ };
};
--
2.34.1
^ permalink raw reply related [flat|nested] 9+ messages in thread
* Re: [PATCH v1 2/2] arm64: dts: qcom: eliza-cqs-evk: Enable sound card support with WSA8845 and DMIC
2026-07-03 8:34 ` [PATCH v1 2/2] arm64: dts: qcom: eliza-cqs-evk: Enable sound card support with WSA8845 and DMIC Ravi Hothi
@ 2026-07-07 8:41 ` Konrad Dybcio
2026-07-08 11:27 ` Ravi Hothi
0 siblings, 1 reply; 9+ messages in thread
From: Konrad Dybcio @ 2026-07-07 8:41 UTC (permalink / raw)
To: Ravi Hothi, Bjorn Andersson, Konrad Dybcio, Rob Herring,
Krzysztof Kozlowski, Conor Dooley
Cc: linux-arm-msm, devicetree, linux-kernel, mohammad.rafi.shaik,
ajay.nandam
On 7/1/26 7:43 PM, Ravi Hothi wrote:
> Enable the sound card on the Eliza CQS EVK platform, including the
> WSA8845 external speaker path and DMIC microphone capture via VA macro.
>
> Enable the required LPASS WSA macro, VA macro and SoundWire controller
> along with the necessary pinctrl configurations for DMIC and WSA
> SoundWire interfaces.
>
> Signed-off-by: Ravi Hothi <ravi.hothi@oss.qualcomm.com>
> ---
[...]
> +&lpass_vamacro {
> + status = "okay";
'status' should be the last property (let's also keep an \n before
it) - file-wide
[...]
> +&pm7550_gpios {
> + dmic-eldo-en-hog {
> + gpio-hog;
> + gpios = <7 GPIO_ACTIVE_HIGH>;
> + output-high;
> + line-name = "dmic-eldo-en";
> + };
Why add a hog if you defined the regulator already?
Konrad
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH v1 1/2] arm64: dts: qcom: eliza: Add LPASS macro and SoundWire support
2026-07-03 8:34 ` [PATCH v1 1/2] arm64: dts: qcom: eliza: Add LPASS macro and SoundWire support Ravi Hothi
@ 2026-07-07 8:42 ` Konrad Dybcio
2026-07-08 11:20 ` Ravi Hothi
0 siblings, 1 reply; 9+ messages in thread
From: Konrad Dybcio @ 2026-07-07 8:42 UTC (permalink / raw)
To: Ravi Hothi, Bjorn Andersson, Konrad Dybcio, Rob Herring,
Krzysztof Kozlowski, Conor Dooley
Cc: linux-arm-msm, devicetree, linux-kernel, mohammad.rafi.shaik,
ajay.nandam
On 7/3/26 10:34 AM, Ravi Hothi wrote:
> Add SoC-level LPASS WSA macro, VA macro, SoundWire controller and LPASS
> LPI pin controller nodes. DMIC and WSA SoundWire pinctrl states are
> defined inside the LPASS LPI pin controller node. The hardware is similar
> to the SM8750 platform.
>
> The WSA macro, VA macro and SoundWire controller are kept disabled so
> board DTS files can selectively enable and configure them.
>
> Signed-off-by: Ravi Hothi <ravi.hothi@oss.qualcomm.com>
> ---
> arch/arm64/boot/dts/qcom/eliza.dtsi | 193 ++++++++++++++++++++++++++++
> 1 file changed, 193 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/qcom/eliza.dtsi b/arch/arm64/boot/dts/qcom/eliza.dtsi
> index 8dbfd0504598..142f43a1e6a3 100644
> --- a/arch/arm64/boot/dts/qcom/eliza.dtsi
> +++ b/arch/arm64/boot/dts/qcom/eliza.dtsi
> @@ -19,6 +19,7 @@
> #include <dt-bindings/power/qcom,rpmhpd.h>
> #include <dt-bindings/soc/qcom,gpr.h>
> #include <dt-bindings/soc/qcom,rpmh-rsc.h>
> +#include <dt-bindings/sound/qcom,q6dsp-lpass-ports.h>
>
> / {
> interrupt-parent = <&intc>;
> @@ -2072,6 +2073,198 @@ lpass_lpicx_noc: interconnect@7420000 {
> #interconnect-cells = <2>;
> };
>
> + lpass_wsamacro: codec@6b00000 {
> + compatible = "qcom,eliza-lpass-wsa-macro",
> + "qcom,sm8550-lpass-wsa-macro";
> + reg = <0x0 0x06b00000 0x0 0x1000>;
Nodes with a unit address must be ordered by it - the diff hunk
above shows you that this one is out-of-order
Konrad
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH v1 1/2] arm64: dts: qcom: eliza: Add LPASS macro and SoundWire support
2026-07-07 8:42 ` Konrad Dybcio
@ 2026-07-08 11:20 ` Ravi Hothi
0 siblings, 0 replies; 9+ messages in thread
From: Ravi Hothi @ 2026-07-08 11:20 UTC (permalink / raw)
To: Konrad Dybcio, Bjorn Andersson, Konrad Dybcio, Rob Herring,
Krzysztof Kozlowski, Conor Dooley
Cc: linux-arm-msm, devicetree, linux-kernel, mohammad.rafi.shaik,
ajay.nandam
On 7/7/2026 2:12 PM, Konrad Dybcio wrote:
> On 7/3/26 10:34 AM, Ravi Hothi wrote:
>> Add SoC-level LPASS WSA macro, VA macro, SoundWire controller and LPASS
>> LPI pin controller nodes. DMIC and WSA SoundWire pinctrl states are
>> defined inside the LPASS LPI pin controller node. The hardware is similar
>> to the SM8750 platform.
>>
>> The WSA macro, VA macro and SoundWire controller are kept disabled so
>> board DTS files can selectively enable and configure them.
>>
>> Signed-off-by: Ravi Hothi <ravi.hothi@oss.qualcomm.com>
>> ---
>> arch/arm64/boot/dts/qcom/eliza.dtsi | 193 ++++++++++++++++++++++++++++
>> 1 file changed, 193 insertions(+)
>>
>> diff --git a/arch/arm64/boot/dts/qcom/eliza.dtsi b/arch/arm64/boot/dts/qcom/eliza.dtsi
>> index 8dbfd0504598..142f43a1e6a3 100644
>> --- a/arch/arm64/boot/dts/qcom/eliza.dtsi
>> +++ b/arch/arm64/boot/dts/qcom/eliza.dtsi
>> @@ -19,6 +19,7 @@
>> #include <dt-bindings/power/qcom,rpmhpd.h>
>> #include <dt-bindings/soc/qcom,gpr.h>
>> #include <dt-bindings/soc/qcom,rpmh-rsc.h>
>> +#include <dt-bindings/sound/qcom,q6dsp-lpass-ports.h>
>>
>> / {
>> interrupt-parent = <&intc>;
>> @@ -2072,6 +2073,198 @@ lpass_lpicx_noc: interconnect@7420000 {
>> #interconnect-cells = <2>;
>> };
>>
>> + lpass_wsamacro: codec@6b00000 {
>> + compatible = "qcom,eliza-lpass-wsa-macro",
>> + "qcom,sm8550-lpass-wsa-macro";
>> + reg = <0x0 0x06b00000 0x0 0x1000>;
>
> Nodes with a unit address must be ordered by it - the diff hunk
> above shows you that this one is out-of-order
ACK, Will update in next version.
Thanks,
Ravi Hothi
>
> Konrad
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH v1 2/2] arm64: dts: qcom: eliza-cqs-evk: Enable sound card support with WSA8845 and DMIC
2026-07-07 8:41 ` Konrad Dybcio
@ 2026-07-08 11:27 ` Ravi Hothi
2026-07-08 12:12 ` Konrad Dybcio
0 siblings, 1 reply; 9+ messages in thread
From: Ravi Hothi @ 2026-07-08 11:27 UTC (permalink / raw)
To: Konrad Dybcio, Bjorn Andersson, Konrad Dybcio, Rob Herring,
Krzysztof Kozlowski, Conor Dooley
Cc: linux-arm-msm, devicetree, linux-kernel, mohammad.rafi.shaik,
ajay.nandam
On 7/7/2026 2:11 PM, Konrad Dybcio wrote:
> On 7/1/26 7:43 PM, Ravi Hothi wrote:
>> Enable the sound card on the Eliza CQS EVK platform, including the
>> WSA8845 external speaker path and DMIC microphone capture via VA macro.
>>
>> Enable the required LPASS WSA macro, VA macro and SoundWire controller
>> along with the necessary pinctrl configurations for DMIC and WSA
>> SoundWire interfaces.
>>
>> Signed-off-by: Ravi Hothi <ravi.hothi@oss.qualcomm.com>
>> ---
>
> [...]
>
>> +&lpass_vamacro {
>> + status = "okay";
>
> 'status' should be the last property (let's also keep an \n before
> it) - file-wide
ACK, Will update in next version.
Thanks,
Ravi Hothi
>
> [...]
>
>> +&pm7550_gpios {
>> + dmic-eldo-en-hog {
>> + gpio-hog;
>> + gpios = <7 GPIO_ACTIVE_HIGH>;
>> + output-high;
>> + line-name = "dmic-eldo-en";
>> + };
>
> Why add a hog if you defined the regulator already?
>
> Konrad
>
The gpio-hog is the mechanism that actually drives PM7550 GPIO8 high at
boot to enable the ELDO hardware. This GPIO enable is required to enable
the ELDO regulator which is powering the MIC BIAS supply.
The regulator-fixed driver with empty fixed_voltage_ops has no
.enable()/.disable() callbacks — it cannot toggle the GPIO. The
dmic_eldo regulator node is needed to correctly describe the supply
chain to the VA macro driver (vdd-micb-supply) and for power tracking,
but it cannot control the GPIO itself. Both are needed for different
purposes.
Thanks,
Ravi Hothi
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH v1 2/2] arm64: dts: qcom: eliza-cqs-evk: Enable sound card support with WSA8845 and DMIC
2026-07-08 11:27 ` Ravi Hothi
@ 2026-07-08 12:12 ` Konrad Dybcio
2026-07-09 7:30 ` Ravi Hothi
0 siblings, 1 reply; 9+ messages in thread
From: Konrad Dybcio @ 2026-07-08 12:12 UTC (permalink / raw)
To: Ravi Hothi, Bjorn Andersson, Konrad Dybcio, Rob Herring,
Krzysztof Kozlowski, Conor Dooley
Cc: linux-arm-msm, devicetree, linux-kernel, mohammad.rafi.shaik,
ajay.nandam
On 7/8/26 1:27 PM, Ravi Hothi wrote:
>
>
> On 7/7/2026 2:11 PM, Konrad Dybcio wrote:
>> On 7/1/26 7:43 PM, Ravi Hothi wrote:
>>> Enable the sound card on the Eliza CQS EVK platform, including the
>>> WSA8845 external speaker path and DMIC microphone capture via VA macro.
>>>
>>> Enable the required LPASS WSA macro, VA macro and SoundWire controller
>>> along with the necessary pinctrl configurations for DMIC and WSA
>>> SoundWire interfaces.
>>>
>>> Signed-off-by: Ravi Hothi <ravi.hothi@oss.qualcomm.com>
>>> ---
[...]
>>> +&pm7550_gpios {
>>> + dmic-eldo-en-hog {
>>> + gpio-hog;
>>> + gpios = <7 GPIO_ACTIVE_HIGH>;
>>> + output-high;
>>> + line-name = "dmic-eldo-en";
>>> + };
>>
>> Why add a hog if you defined the regulator already?
>>
>> Konrad
>>
>
> The gpio-hog is the mechanism that actually drives PM7550 GPIO8 high at boot to enable the ELDO hardware. This GPIO enable is required to enable the ELDO regulator which is powering the MIC BIAS supply.
> The regulator-fixed driver with empty fixed_voltage_ops has no .enable()/.disable() callbacks — it cannot toggle the GPIO. The dmic_eldo regulator node is needed to correctly describe the supply chain to the VA macro driver (vdd-micb-supply) and for power tracking, but it cannot control the GPIO itself. Both are needed for different purposes.
Well, why do you think the binding would accept the GPIO if it
couldn't be controlled? Of course it can power it on/off, check
regulator core code
Konrad
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH v1 2/2] arm64: dts: qcom: eliza-cqs-evk: Enable sound card support with WSA8845 and DMIC
2026-07-08 12:12 ` Konrad Dybcio
@ 2026-07-09 7:30 ` Ravi Hothi
0 siblings, 0 replies; 9+ messages in thread
From: Ravi Hothi @ 2026-07-09 7:30 UTC (permalink / raw)
To: Konrad Dybcio, Bjorn Andersson, Konrad Dybcio, Rob Herring,
Krzysztof Kozlowski, Conor Dooley
Cc: linux-arm-msm, devicetree, linux-kernel, mohammad.rafi.shaik,
ajay.nandam
On 7/8/2026 5:42 PM, Konrad Dybcio wrote:
> On 7/8/26 1:27 PM, Ravi Hothi wrote:
>>
>>
>> On 7/7/2026 2:11 PM, Konrad Dybcio wrote:
>>> On 7/1/26 7:43 PM, Ravi Hothi wrote:
>>>> Enable the sound card on the Eliza CQS EVK platform, including the
>>>> WSA8845 external speaker path and DMIC microphone capture via VA macro.
>>>>
>>>> Enable the required LPASS WSA macro, VA macro and SoundWire controller
>>>> along with the necessary pinctrl configurations for DMIC and WSA
>>>> SoundWire interfaces.
>>>>
>>>> Signed-off-by: Ravi Hothi <ravi.hothi@oss.qualcomm.com>
>>>> ---
>
> [...]
>
>>>> +&pm7550_gpios {
>>>> + dmic-eldo-en-hog {
>>>> + gpio-hog;
>>>> + gpios = <7 GPIO_ACTIVE_HIGH>;
>>>> + output-high;
>>>> + line-name = "dmic-eldo-en";
>>>> + };
>>>
>>> Why add a hog if you defined the regulator already?
>>>
>>> Konrad
>>>
>>
>> The gpio-hog is the mechanism that actually drives PM7550 GPIO8 high at boot to enable the ELDO hardware. This GPIO enable is required to enable the ELDO regulator which is powering the MIC BIAS supply.
>> The regulator-fixed driver with empty fixed_voltage_ops has no .enable()/.disable() callbacks — it cannot toggle the GPIO. The dmic_eldo regulator node is needed to correctly describe the supply chain to the VA macro driver (vdd-micb-supply) and for power tracking, but it cannot control the GPIO itself. Both are needed for different purposes.
>
> Well, why do you think the binding would accept the GPIO if it
> couldn't be controlled? Of course it can power it on/off, check
> regulator core code
>
> Konrad
Thanks for pointing it out. Will fix it in the next version.
Thanks,
Ravi Hothi
^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2026-07-09 7:30 UTC | newest]
Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-07-03 8:34 [PATCH v1 0/2] arm64: dts: qcom: eliza: Add audio support Ravi Hothi
2026-07-03 8:34 ` [PATCH v1 1/2] arm64: dts: qcom: eliza: Add LPASS macro and SoundWire support Ravi Hothi
2026-07-07 8:42 ` Konrad Dybcio
2026-07-08 11:20 ` Ravi Hothi
2026-07-03 8:34 ` [PATCH v1 2/2] arm64: dts: qcom: eliza-cqs-evk: Enable sound card support with WSA8845 and DMIC Ravi Hothi
2026-07-07 8:41 ` Konrad Dybcio
2026-07-08 11:27 ` Ravi Hothi
2026-07-08 12:12 ` Konrad Dybcio
2026-07-09 7:30 ` Ravi Hothi
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox