Devicetree
 help / color / mirror / Atom feed
From: sashiko-bot@kernel.org
To: "Kaipeng Zeng" <kaipeng94@gmail.com>
Cc: robh@kernel.org, conor+dt@kernel.org, devicetree@vger.kernel.org
Subject: Re: [PATCH 2/2] arm64: dts: qcom: Add support for Acer Swift Go Pro AI (SFA14-11)
Date: Thu, 02 Jul 2026 06:40:35 +0000	[thread overview]
Message-ID: <20260702064035.A09ED1F000E9@smtp.kernel.org> (raw)
In-Reply-To: <20260702063156.35169-3-kaipeng94@gmail.com>

Thank you for your contribution! Sashiko AI review found 6 potential issue(s) to consider:
- [High] WSA8845 speakers use `reset-gpios` instead of `powerdown-gpios` and share the GPIO incorrectly.
- [High] Type-C Switch Configuration Error on Type-A Port due to inherited PHY properties.
- [Medium] Missing Audio DAI Link for HDMI output.
- [Medium] Commit message claims 'Webcam' support but no camera nodes are added.
- [Low] Inaccurate `orientation-gpios` array length in `pmic-glink`.
- [Low] The High-Speed USB PHY `usb_1_ss2_hsphy` is enabled despite no USB controller consuming it.
--

commit 61c654b8218e8d2d66d2d6d5ec3990a2ffe03533
Author: Kaipeng Zeng <kaipeng94@gmail.com>
Subject: arm64: dts: qcom: Add support for Acer Swift Go Pro AI (SFA14-11)

This commit introduces the device tree for the Acer Swift Go Pro AI (SFA14-11)
laptop, based on the Snapdragon X Elite SoC. It enables core hardware features
including internal display, USB, Wi-Fi, audio routing, and HDMI output.

> Supported features:
> 
>  - Internal display & Brightness control
>  - Keyboard & Touchpad
>  - USB Type-C, Type-A
>  - Wi-Fi & Bluetooth
>  - ADSP & CDSP
>  - Adreno X1-85 GPU
>  - HDMI & USB Type-C display
>  - Webcam

[Severity: Medium]
Is the webcam feature fully implemented in this patch? The commit message
lists Webcam as a supported feature, but a review of the device tree reveals
no camss, cci, or image sensor nodes added in this patch.

> diff --git a/arch/arm64/boot/dts/qcom/x1e78100-acer-sfa14-11.dts b/arch/arm64/boot/dts/qcom/x1e78100-acer-sfa14-11.dts
> new file mode 100644
> index 0000000000000..f5d91abf11f1d
> --- /dev/null
> +++ b/arch/arm64/boot/dts/qcom/x1e78100-acer-sfa14-11.dts

[ ... ]

> +	pmic-glink {
> +		compatible = "qcom,x1e80100-pmic-glink",
> +			     "qcom,sm8550-pmic-glink",
> +			     "qcom,pmic-glink";
> +		#address-cells = <1>;
> +		#size-cells = <0>;
> +		orientation-gpios = <&tlmm 121 GPIO_ACTIVE_HIGH>,
> +				    <&tlmm 123 GPIO_ACTIVE_HIGH>,
> +				    <&tlmm 125 GPIO_ACTIVE_HIGH>;

[Severity: Low]
Does this array length match the number of connectors? The qcom,pmic-glink
bindings require the orientation-gpios array to contain exactly one GPIO entry
per connector node. This board explicitly defines only one connector, but
supplies three GPIOs here.

[ ... ]

> +	sound {
> +		compatible = "qcom,x1e80100-sndcard";
> +		model = "X1E80100-CRD";
> +		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",
> +				"IN1_HPHL", "HPHL_OUT",
> +				"IN2_HPHR", "HPHR_OUT",
> +				"AMIC2", "MIC BIAS2",
> +				"VA DMIC0", "MIC BIAS3",
> +				"VA DMIC1", "MIC BIAS3",
> +				"VA DMIC2", "MIC BIAS1",
> +				"VA DMIC3", "MIC BIAS1",
> +				"TX SWR_INPUT1", "ADC2_OUTPUT";
> +
> +		displayport-0-dai-link {
> +			link-name = "DisplayPort0 Playback";
> +
> +			codec {
> +				sound-dai = <&mdss_dp0>;
> +			};
> +
> +			cpu {
> +				sound-dai = <&q6apmbedai DISPLAY_PORT_RX_0>;
> +			};
> +
> +			platform {
> +				sound-dai = <&q6apm>;
> +			};
> +		};
> +
> +		wcd-playback-dai-link {

[Severity: Medium]
Will audio work over HDMI without a DAI link for mdss_dp2? The board routes
HDMI through a bridge connected to mdss_dp2, but the sound node only defines
a DAI link for mdss_dp0. Without displayport-2-dai-link, the audio driver
may not expose the HDMI audio endpoint to userspace.

[ ... ]

> +	swr0 {
> +		pinctrl-0 = <&wsa_swr_active>, <&spkr_01_sd_n_active>;
> +		pinctrl-names = "default";
> +
> +		status = "okay";
> +
> +		/* WSA8845, Left Woofer */
> +		left_woofer: speaker@0,0 {
> +			compatible = "sdw20217020400";
> +			reg = <0 0>;
> +			reset-gpios = <&lpass_tlmm 12 GPIO_ACTIVE_LOW>;

[Severity: High]
Should this use powerdown-gpios instead of reset-gpios? The ASoC WSA884x codec
driver does not look for reset-gpios, which means the GPIO is never toggled and
the speaker amplifiers might fail to power up.

Additionally, will sharing the GPIO directly here cause a failure when probing
the tweeter? The gpiod_get requests exclusive access, so the second probed
device could fail with -EBUSY. A gpio-reset controller is usually required to
share the line properly.

[ ... ]

> +	swr3 {
> +		pinctrl-0 = <&wsa2_swr_active>, <&spkr_23_sd_n_active>;
> +		pinctrl-names = "default";
> +
> +		status = "okay";
> +
> +		/* WSA8845, Right Woofer */
> +		right_woofer: speaker@0,0 {
> +			compatible = "sdw20217020400";
> +			reg = <0 0>;
> +			reset-gpios = <&lpass_tlmm 13 GPIO_ACTIVE_LOW>;

[Severity: High]
Similar to the left woofer, does this need to use powerdown-gpios and a
gpio-reset controller to avoid probe failures?

[ ... ]

> +&usb_1_ss1_qmpphy {
> +	vdda-phy-supply = <&vreg_l2j_1p2>;
> +	vdda-pll-supply = <&vreg_l2d_0p9>;
> +
> +	status = "okay";
> +};

[Severity: High]
Does this node need to explicitly delete the mode-switch and orientation-switch
properties? In hamoa.dtsi, usb_1_ss1_qmpphy is defined as a combo PHY and
contains those properties, which causes the PHY driver to register a Type-C
switch and default to TYPEC_ORIENTATION_NONE.

Since this board uses a regular Type-A port here and won't receive Type-C
orientation events, this can leave the USB 3.0 lanes permanently disabled,
degrading the port to USB 2.0.

[ ... ]

> +&usb_1_ss2_hsphy {
> +	vdd-supply = <&vreg_l3j_0p8>;
> +	vdda12-supply = <&vreg_l2j_1p2>;
> +
> +	status = "okay";
> +};

[Severity: Low]
Is it necessary to enable this High-Speed PHY? The usb_1_ss2 controller is
disabled because this port is exclusively used for DisplayPort output.
Enabling the PHY without a USB controller to consume it leaves a dangling
device probing indefinitely.

-- 
Sashiko AI review · https://sashiko.dev/#/patchset/20260702063156.35169-1-kaipeng94@gmail.com?part=2

  parent reply	other threads:[~2026-07-02  6:40 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-07-02  6:31 [PATCH 0/2] Add device tree for Acer Swift Go Pro AI (SFA14-11) Kaipeng Zeng
2026-07-02  6:31 ` [PATCH 1/2] dt-bindings: arm: qcom: Add " Kaipeng Zeng
2026-07-02  6:27   ` Krzysztof Kozlowski
2026-07-02  6:35     ` Krzysztof Kozlowski
2026-07-02  9:29     ` Konrad Dybcio
2026-07-02  9:32       ` Krzysztof Kozlowski
2026-07-02  6:31 ` [PATCH 2/2] arm64: dts: qcom: Add support for " Kaipeng Zeng
2026-07-02  6:31   ` Krzysztof Kozlowski
2026-07-02  6:40   ` sashiko-bot [this message]
2026-07-02 11:45   ` Konrad Dybcio

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20260702064035.A09ED1F000E9@smtp.kernel.org \
    --to=sashiko-bot@kernel.org \
    --cc=conor+dt@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=kaipeng94@gmail.com \
    --cc=robh@kernel.org \
    --cc=sashiko-reviews@lists.linux.dev \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox