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
next prev 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