[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-Id: <DDP0J063IX84.2MC5D16VHRFVR@linaro.org>
Date: Wed, 22 Oct 2025 18:04:57 +0100
From: "Alexey Klimov" <alexey.klimov@...aro.org>
To: "Abel Vesa" <abel.vesa@...aro.org>, "Srinivas Kandagatla"
<srini@...nel.org>, "Liam Girdwood" <lgirdwood@...il.com>, "Mark Brown"
<broonie@...nel.org>, "Rob Herring" <robh@...nel.org>, "Krzysztof
Kozlowski" <krzk+dt@...nel.org>, "Conor Dooley" <conor+dt@...nel.org>,
"Jaroslav Kysela" <perex@...ex.cz>, "Takashi Iwai" <tiwai@...e.com>, "Bjorn
Andersson" <andersson@...nel.org>, "Konrad Dybcio" <konradybcio@...nel.org>
Cc: <linux-sound@...r.kernel.org>, <linux-arm-msm@...r.kernel.org>,
<devicetree@...r.kernel.org>, <linux-kernel@...r.kernel.org>, "Sibi Sankar"
<sibi.sankar@....qualcomm.com>
Subject: Re: [PATCH RFC 3/3] arm64: dts: qcom: x1e80100-dell-xps13-9345: Add
Left/Right Speakers and Tweeter
On Tue Oct 21, 2025 at 2:50 PM BST, Abel Vesa wrote:
> From: Sibi Sankar <sibi.sankar@....qualcomm.com>
>
> Enable left and right speakers/tweeters on the X1E80100 Dell XPS13 9345.
>
> Signed-off-by: Sibi Sankar <quic_sibis@...cinc.com>
> Signed-off-by: Abel Vesa <abel.vesa@...aro.org>
> ---
> .../boot/dts/qcom/x1e80100-dell-xps13-9345.dts | 139 +++++++++++++++++++++
> 1 file changed, 139 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/qcom/x1e80100-dell-xps13-9345.dts b/arch/arm64/boot/dts/qcom/x1e80100-dell-xps13-9345.dts
> index 58f8caaa7258077d2c267048ca048279109ddb71..a05dfe2c51364b3ec04963590d9b02b9fda9f336 100644
> --- a/arch/arm64/boot/dts/qcom/x1e80100-dell-xps13-9345.dts
> +++ b/arch/arm64/boot/dts/qcom/x1e80100-dell-xps13-9345.dts
> @@ -151,6 +151,50 @@ linux,cma {
> };
> };
>
> + sound {
> + compatible = "dell,xps13-9345-sndcard";
> + model = "X1E80100-Dell-XPS-13-9345";
> + audio-routing = "WooferLeft IN", "WSA WSA_SPK1 OUT",
> + "TweeterLeft IN", "WSA WSA_SPK2 OUT",
> + "WooferRight IN", "WSA2 WSA_SPK1 OUT",
> + "TweeterRight IN", "WSA2 WSA_SPK2 OUT";
> +
> + wsa-dai-link {
> + link-name = "WSA Playback";
> +
> + cpu {
> + sound-dai = <&q6apmbedai WSA_CODEC_DMA_RX_0>;
> + };
> +
> + codec {
> + sound-dai = <&left_woofer>, <&left_tweeter>,
> + <&swr0 0>, <&lpass_wsamacro 0>,
> + <&right_woofer>, <&right_tweeter>,
> + <&swr3 0>, <&lpass_wsa2macro 0>;
> + };
> +
> + platform {
> + sound-dai = <&q6apm>;
> + };
> + };
> +
> + 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>;
> + };
> + };
> + };
> +
> vreg_edp_3p3: regulator-edp-3p3 {
> compatible = "regulator-fixed";
>
> @@ -415,6 +459,13 @@ vreg_bob2: bob2 {
> regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
> };
>
> + vreg_l1b_1p8: ldo1 {
> + regulator-name = "vreg_l1b_1p8";
> + regulator-min-microvolt = <1800000>;
> + regulator-max-microvolt = <1800000>;
> + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
> + };
> +
> vreg_l2b_3p0: ldo2 {
> regulator-name = "vreg_l2b_3p0";
> regulator-min-microvolt = <3072000>;
> @@ -880,6 +931,32 @@ &iris {
> status = "okay";
> };
>
> +&lpass_tlmm {
> + spkr_01_sd_n_active: spkr-01-sd-n-active-state {
> + pins = "gpio12";
> + function = "gpio";
> + drive-strength = <16>;
> + bias-disable;
> + output-low;
> + };
> +
> + spkr_23_sd_n_active: spkr-23-sd-n-active-state {
> + pins = "gpio13";
> + function = "gpio";
> + drive-strength = <16>;
> + bias-disable;
> + output-low;
> + };
> +};
Recently it was adviced to remove output properties for gpio and
non-gpio functions.
For instance here: https://lore.kernel.org/linux-arm-msm/39ebaf4e-e91f-4568-8de6-9fc1f805a1e4@oss.qualcomm.com/
These output-low should be removed.
After that:
Reviewed-by: Alexey Klimov <alexey.klimov@...aro.org>
> +&lpass_vamacro {
> + pinctrl-0 = <&dmic01_default>, <&dmic23_default>;
> + pinctrl-names = "default";
> +
> + vdd-micb-supply = <&vreg_l1b_1p8>;
> + qcom,dmic-sample-rate = <4800000>;
> +};
> +
> &mdss {
> status = "okay";
> };
> @@ -1067,6 +1144,68 @@ &smb2360_1_eusb2_repeater {
> vdd3-supply = <&vreg_l14b_3p0>;
> };
>
> +&swr0 {
> + status = "okay";
> +
> + pinctrl-0 = <&wsa_swr_active>, <&spkr_01_sd_n_active>;
> + pinctrl-names = "default";
> +
> + /* WSA8845, Left Woofer */
> + left_woofer: speaker@0,0 {
> + compatible = "sdw20217020400";
> + reg = <0 0>;
> + reset-gpios = <&lpass_tlmm 12 GPIO_ACTIVE_LOW>;
> + #sound-dai-cells = <0>;
> + sound-name-prefix = "WooferLeft";
> + vdd-1p8-supply = <&vreg_l15b_1p8>;
> + vdd-io-supply = <&vreg_l12b_1p2>;
> + qcom,port-mapping = <1 2 3 7 10 13>;
> + };
> +
> + /* WSA8845, Left Tweeter */
> + left_tweeter: speaker@0,1 {
> + compatible = "sdw20217020400";
> + reg = <0 1>;
> + reset-gpios = <&lpass_tlmm 12 GPIO_ACTIVE_LOW>;
> + #sound-dai-cells = <0>;
> + sound-name-prefix = "TweeterLeft";
> + vdd-1p8-supply = <&vreg_l15b_1p8>;
> + vdd-io-supply = <&vreg_l12b_1p2>;
> + qcom,port-mapping = <4 5 6 7 11 13>;
> + };
> +};
> +
> +&swr3 {
> + status = "okay";
> +
> + pinctrl-0 = <&wsa2_swr_active>, <&spkr_23_sd_n_active>;
> + pinctrl-names = "default";
> +
> + /* WSA8845, Right Woofer */
> + right_woofer: speaker@0,0 {
> + compatible = "sdw20217020400";
> + reg = <0 0>;
> + reset-gpios = <&lpass_tlmm 13 GPIO_ACTIVE_LOW>;
> + #sound-dai-cells = <0>;
> + sound-name-prefix = "WooferRight";
> + vdd-1p8-supply = <&vreg_l15b_1p8>;
> + vdd-io-supply = <&vreg_l12b_1p2>;
> + qcom,port-mapping = <1 2 3 7 10 13>;
> + };
> +
> + /* WSA8845, Right Tweeter */
> + right_tweeter: speaker@0,1 {
> + compatible = "sdw20217020400";
> + reg = <0 1>;
> + reset-gpios = <&lpass_tlmm 13 GPIO_ACTIVE_LOW>;
> + #sound-dai-cells = <0>;
> + sound-name-prefix = "TweeterRight";
> + vdd-1p8-supply = <&vreg_l15b_1p8>;
> + vdd-io-supply = <&vreg_l12b_1p2>;
> + qcom,port-mapping = <4 5 6 7 11 13>;
> + };
> +};
> +
> &tlmm {
> gpio-reserved-ranges = <44 4>, /* SPI11 (TPM) */
> <76 4>, /* SPI19 (TZ Protected) */
Powered by blists - more mailing lists