Add device tree for Acer Swift Go Pro AI (SFA14-11)
v2 cover Add device tree for Acer Swift Go Pro AI (SFA14-11)
The work started with x1-crd.dtsi as initial template. HDMI refers to ThinkPad T14s.
Bluetooth refers to x1-crd.dtsi from the ubuntu-concept kernel [1]. PWM brightness control refers to Ratizux's GitHub repository [2].
Tested on linux-next / Ubuntu 26.04 LTS.
Tested and working devices:
- NVMe
- Keyboard & Touchpad
- USB Type-A, Type-C
- Battery & charging status
- Internal display & Backlight brightness control
- HDMI & Type-C display
- Bluetooth & Wi-Fi
- Webcam (usb_2)
- GPU
[1] https://git.launchpad.net/~ubuntu-concept/ubuntu/+source/linux/+git/resolute
[2] https://github.com/Ratizux/linux-device-acer-sfa14-11.git
---
Changelog:
v2:
- Fix Makefile entry ordering. (Krzysztof Kozlowski)
- Use readable compatible string. (Krzysztof Kozlowski)
- Fix sound card model name for this device. (Krzysztof Kozlowski & Konrad Dybcio)
- Re-sort nodes, pinctrl-*. (Krzysztof Kozlowski & Konrad Dybcio)
- Remove those regulators without consumer and lack of a required value in DSDT. (Konrad Dybcio)
- Remove ADSP/CDSP fastrpc memory. (Konrad Dybcio)
- Add iris firmware path. (Konrad Dybcio)
- Delete usb_1_ss1_qmpphy/usb_1_ss2_qmpphy properties of Type-C. (Sashiko)
- Delete usb_1_ss2_hsphy. (Sashiko)
- Remove unused pmic-glink orientation-gpio. (Sashiko)
- Remove node related to WWAN.
- The Webcam is a USB device, can be probed without any additional node. (Sashiko)
- Using reset-gpios in swr* seems common in X1E devices, like Lenovo Yoga Slim7x, ThinkPad t14s and Microsoft Romulus. Because speakers do not completely work and I could not see any effect of changing it, just retain it. (Sashiko)
- Also, the HDMI audio is the same reason as above. (Sashiko)
- Link to V1: https://lore.kernel.org/linux-devicetree/[email protected]/
Kaipeng Zeng (2):
dt-bindings: arm: qcom: Add Acer Swift Go Pro AI (SFA14-11)
arm64: dts: qcom: Add support for Acer Swift Go Pro AI (SFA14-11)
.../devicetree/bindings/arm/qcom.yaml | 1 + arch/arm64/boot/dts/qcom/Makefile | 1 + .../boot/dts/qcom/x1e78100-acer-sfa14-11.dts | 1484 +++++++++++++++++ 3 files changed, 1486 insertions(+) create mode 100644 arch/arm64/boot/dts/qcom/x1e78100-acer-sfa14-11.dts
base-commit: 3fe08b9796f36ef437ab9328e7dd1e5ff2d66603
Signature · 1 line
2.53.0
PATCH v2 1/2 dt-bindings: arm: qcom: Add Acer Swift Go Pro AI (SFA14-11)
Add Acer Swift Go Pro AI (SFA14-11), a laptop based on the Snapdragon X Elite (X1E78100) SoC.
--- Documentation/devicetree/bindings/arm/qcom.yaml | 1 + 1 file changed, 1 insertion(+)
Documentation/devicetree/bindings/arm/qcom.yaml +1 -0
@@ -1180,6 +1180,7 @@ properties: - items: - enum: + - acer,swift-go-sfa14-11 - medion,sprchrgd14s1 - tuxedo,elite14gen1 - const: qcom,x1e78100
Signature · 1 line
2.53.0
Re: [PATCH v2 1/2] dt-bindings: arm: qcom: Add Acer Swift Go Pro AI (SFA14-11)
Quoted 7 lines · Kaipeng Zeng
Add Acer Swift Go Pro AI (SFA14-11), a laptop based on the Snapdragon X Elite (X1E78100) SoC.
Signed-off-by Kaipeng Zeng <[email protected]>--- Documentation/devicetree/bindings/arm/qcom.yaml | 1 + 1 file changed, 1 insertion(+)
<form letter>
This is an automated instruction, just in case, because many review tags are being ignored. If you know the process, just skip it entirely (please do not feel offended by me posting it here - no bad intentions intended, no patronizing, I just want to avoid wasted efforts). If you do not know the process, here is a short explanation:
Please add Acked-by/Reviewed-by/Tested-by tags when posting new versions of patchset, under or above your Signed-off-by tag, unless patch changed significantly (e.g. new properties added to the DT bindings). Tag is "received", when provided in a message replied to you on the mailing list. Tools like b4 can help here ('b4 trailers -u ...'). However, there's no need to repost patches *only* to add the tags. The upstream maintainer will do that for tags received on the version they apply.
https://elixir.bootlin.com/linux/v6.15/source/Documentation/process/submitting-patches.rst#L591
</form letter>
Best regards,
Krzysztof
PATCH v2 2/2 arm64: dts: qcom: Add support for Acer Swift Go Pro AI (SFA14-11)
In reply to Kaipeng ZengIntroduce device tree for the Acer Swift Go Pro AI (SFA14-11). It is a laptop based on the Qualcomm Snapdragon X Elite (X1E78100) SoC. This device tree implementation references nodes from the x1-crd.dtsi.
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
--- arch/arm64/boot/dts/qcom/Makefile | 1 + .../boot/dts/qcom/x1e78100-acer-sfa14-11.dts | 1484 +++++++++++++++++ 2 files changed, 1485 insertions(+) create mode 100644 arch/arm64/boot/dts/qcom/x1e78100-acer-sfa14-11.dts
arch/arm64/boot/dts/qcom/Makefile +1 -0
@@ -422,6 +422,7 @@ talos-evk-lvds-auo,g133han01-dtbs := \ dtb-$(CONFIG_ARCH_QCOM) += talos-evk-lvds-auo,g133han01.dtb x1e001de-devkit-el2-dtbs := x1e001de-devkit.dtb x1-el2.dtbo dtb-$(CONFIG_ARCH_QCOM) += x1e001de-devkit.dtb x1e001de-devkit-el2.dtb +dtb-$(CONFIG_ARCH_QCOM) += x1e78100-acer-sfa14-11.dtb x1e78100-lenovo-thinkpad-t14s-el2-dtbs := x1e78100-lenovo-thinkpad-t14s.dtb x1-el2.dtbo dtb-$(CONFIG_ARCH_QCOM) += x1e78100-lenovo-thinkpad-t14s.dtb x1e78100-lenovo-thinkpad-t14s-el2.dtb x1e78100-lenovo-thinkpad-t14s-oled-el2-dtbs := x1e78100-lenovo-thinkpad-t14s-oled.dtb x1-el2.dtbo
arch/arm64/boot/dts/qcom/x1e78100-acer-sfa14-11.dts new file +1484 -0
1,484 lines not on this page · raw message
Signature · 1 line
2.53.0
Re: [PATCH v2 2/2] arm64: dts: qcom: Add support for Acer Swift Go Pro AI (SFA14-11)
Quoted 3 lines · Kaipeng Zeng
Introduce device tree for the Acer Swift Go Pro AI (SFA14-11). It is a laptop based on the Qualcomm Snapdragon X Elite (X1E78100) SoC. This device tree implementation references nodes from the
x1-crd.dtsi.
[...]
arch/arm64/boot/dts/qcom/x1e78100-acer-sfa14-11.dts line 1410
Quoted 12 lines
+&usb_1_ss1_qmpphy {
arch/arm64/boot/dts/qcom/x1e78100-acer-sfa14-11.dts new file +11
-0+ vdda-phy-supply = <&vreg_l2j_1p2>; + vdda-pll-supply = <&vreg_l2d_0p9>; + + status = "okay"; + + /delete-property/ mode-switch; + /delete-property/ orientation-switch; + + ports { + /delete-node/ port@2; + };
What happened here?
Konrad
Re: [PATCH v2 2/2] arm64: dts: qcom: Add support for Acer Swift Go Pro AI (SFA14-11)
Quoted 9 lines · Konrad Dybcio
Quoted 3 lines · Kaipeng Zeng
Introduce device tree for the Acer Swift Go Pro AI (SFA14-11). It is a laptop based on the Qualcomm Snapdragon X Elite (X1E78100) SoC. This device tree implementation references nodes from the
x1-crd.dtsi.[...]
Quoted 15 lines
arch/arm64/boot/dts/qcom/x1e78100-acer-sfa14-11.dts line 1410
Quoted 12 lines
+&usb_1_ss1_qmpphy {
arch/arm64/boot/dts/qcom/x1e78100-acer-sfa14-11.dts new file +11
-0+ vdda-phy-supply = <&vreg_l2j_1p2>; + vdda-pll-supply = <&vreg_l2d_0p9>; + + status = "okay"; + + /delete-property/ mode-switch; + /delete-property/ orientation-switch; + + ports { + /delete-node/ port@2; + };What happened here?
SFA14-11 only has a single USB Type-C which uses usb_1_ss0_qmpphy. Sashiko reminded me to delete mode-switch and orientation-switch in usb_1_ss1_qmpphy (And I remove these properties in usb_1_ss2_qmpphy also). Since the usb_1_ss1_qmpphy_dp_in (port@2) remote-endpoint is mdss_dp1_out, and mdss_dp1 is not used (DP Alt Mode), I remove port@2 in usb_1_ss1_qmpphy and port@1 in mdss_dp1_out.
Quoted 1 line
Konrad
Thanks for your review!
Re: [PATCH v2 2/2] arm64: dts: qcom: Add support for Acer Swift Go Pro AI (SFA14-11)
In reply to Kaipeng ZengQuoted 17 lines · Kaipeng Zeng
Introduce device tree for the Acer Swift Go Pro AI (SFA14-11). It is a laptop based on the Qualcomm Snapdragon X Elite (X1E78100) SoC. This device tree implementation references nodes from the
x1-crd.dtsi.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
- WebcamSigned-off-by Kaipeng Zeng <[email protected]>---
[...]
arch/arm64/boot/dts/qcom/x1e78100-acer-sfa14-11.dts line 232
Quoted 10 lines
arch/arm64/boot/dts/qcom/x1e78100-acer-sfa14-11.dts new file +10
-0+ wcd-playback-dai-link { + link-name = "WCD Playback"; + + cpu { + sound-dai = <&q6apmbedai RX_CODEC_DMA_RX_0>; + }; + + codec { + sound-dai = <&wcd938x 0>, <&swr1 0>, <&lpass_rxmacro 0>; + };
'co'dev < 'cp'u (other nodes have it correct), please also re-sort the -link {} nodes alphabetically
[...]
Review
Quoted 3 lines
+&iris {
(quoted diff) +2
-0+ firmware-name = "qcom/x1e80100/ACER/SFA14-11/qcvss8380.mbn"; + status = "okay";
Let's also keep a \n before 'status', file-wide
[...]
arch/arm64/boot/dts/qcom/x1e78100-acer-sfa14-11.dts line 917
Quoted 4 lines
+&mdss_dp1 {
arch/arm64/boot/dts/qcom/x1e78100-acer-sfa14-11.dts new file +3
-0+ ports { + /delete-node/ port@1; + };
Hm?
[...]
arch/arm64/boot/dts/qcom/x1e78100-acer-sfa14-11.dts line 1311
Quoted 6 lines
arch/arm64/boot/dts/qcom/x1e78100-acer-sfa14-11.dts new file +6
-0+ wcd_default: wcd-reset-n-active-state { + pins = "gpio191"; + function = "gpio"; + drive-strength = <16>; + bias-disable; + output-low;
You don't need to specify output-foo on TLMM pins, the GPIO consumer will assert it as necessary
Konrad
Re: [PATCH v2 2/2] arm64: dts: qcom: Add support for Acer Swift Go Pro AI (SFA14-11)
Quoted 63 lines · Konrad Dybcio
Quoted 17 lines · Kaipeng Zeng
Introduce device tree for the Acer Swift Go Pro AI (SFA14-11). It is a laptop based on the Qualcomm Snapdragon X Elite (X1E78100) SoC. This device tree implementation references nodes from the
x1-crd.dtsi.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
- WebcamSigned-off-by Kaipeng Zeng <[email protected]>---
[...]
arch/arm64/boot/dts/qcom/x1e78100-acer-sfa14-11.dts line 232
Quoted 10 lines
arch/arm64/boot/dts/qcom/x1e78100-acer-sfa14-11.dts new file +10
-0+ wcd-playback-dai-link { + link-name = "WCD Playback"; + + cpu { + sound-dai = <&q6apmbedai RX_CODEC_DMA_RX_0>; + }; + + codec { + sound-dai = <&wcd938x 0>, <&swr1 0>, <&lpass_rxmacro 0>; + };'co'dev < 'cp'u (other nodes have it correct), please also re-sort the -link {} nodes alphabetically
[...]
Review
Quoted 3 lines
+&iris {
(quoted diff) +2
-0+ firmware-name = "qcom/x1e80100/ACER/SFA14-11/qcvss8380.mbn"; + status = "okay";Let's also keep a \n before 'status', file-wide
[...]
arch/arm64/boot/dts/qcom/x1e78100-acer-sfa14-11.dts line 917
Quoted 4 lines
+&mdss_dp1 {
arch/arm64/boot/dts/qcom/x1e78100-acer-sfa14-11.dts new file +3
-0+ ports { + /delete-node/ port@1; + };Hm?
[...]
arch/arm64/boot/dts/qcom/x1e78100-acer-sfa14-11.dts line 1311
Quoted 6 lines
arch/arm64/boot/dts/qcom/x1e78100-acer-sfa14-11.dts new file +6
-0+ wcd_default: wcd-reset-n-active-state { + pins = "gpio191"; + function = "gpio"; + drive-strength = <16>; + bias-disable; + output-low;
Quoted 2 lines
You don't need to specify output-foo on TLMM pins, the GPIO consumer will assert it as necessary
I noticed this before.spkr_01_sd_n_active and spkr_23_sd_n_active (in lpass_tlmm) are also set to output-low.
I tested that Gnome cannot detect either the speakers or the headphone using the current DTS.
If I remove the "output-low" from wcd_default, Gnome can detect headphone plug-in (not the speakers) and speakers will randomly output an audio pop noise, specifically when playback starts and stops.
I kept the "output-low" of them for safety.
Is it still proper to remove this "output-low"? Should I also remove the "output-low" from spkr_*?
Quoted 2 lines
Konrad