Skip to contentSkip to conversation

Add device tree for Acer Swift Go Pro AI (SFA14-11)

PATCH Superseded Kaipeng Zeng 4 participants 7 messages Jul 29 – Jul 30

Subsystems (3)

v3 of 6 Superseded Latest is v6 →

lore
Share & tools
lore
#0 lore raw

v3 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:
V3:
- Re-sort *-link and its sub-nodes. (Konrad Dybcio)
- Keep a '\n' before 'status'. (Konrad Dybcio)
- Remove 'output-low' from wcd_default. (Konrad Dybcio)

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  | 1483 +++++++++++++++++
 3 files changed, 1485 insertions(+)
 create mode 100644 arch/arm64/boot/dts/qcom/x1e78100-acer-sfa14-11.dts

base-commit: 0d33d21e47d9dc66f91e44da3fc9220c74d93df7

Signature · 1 line
2.53.0
#1 lore raw

PATCH v3 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
index c7c9a9279684..da653b787d4d 100644
@@ -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
#2 lore raw

PATCH v3 2/2 arm64: dts: qcom: Add support for Acer Swift Go Pro AI (SFA14-11)

In reply to 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
- Webcam

---
 arch/arm64/boot/dts/qcom/Makefile             |    1 +
 .../boot/dts/qcom/x1e78100-acer-sfa14-11.dts  | 1483 +++++++++++++++++
 2 files changed, 1484 insertions(+)
 create mode 100644 arch/arm64/boot/dts/qcom/x1e78100-acer-sfa14-11.dts
arch/arm64/boot/dts/qcom/Makefile +1 -0
index e05414290d8e..fbb6b0ef67bf 100644
@@ -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 +1483 -0

1,483 lines not on this page · raw message

Signature · 1 line
2.53.0
#3 lore raw

Re: [PATCH v3 2/2] arm64: dts: qcom: Add support for Acer Swift Go Pro AI (SFA14-11)

Thank you for your contribution! Sashiko AI review found 2 potential issue(s) to consider: - [Medium] Incorrect audio routing for the right speakers. - [Medium] Missing `-el2-dtbs` build rule for…

Thank you for your contribution! Sashiko AI review found 2 potential issue(s) to consider:
- [Medium] Incorrect audio routing for the right speakers.
- [Medium] Missing -el2-dtbs build rule for the Acer Swift Go 14.
--

--- Patch [2]: [PATCH v3 2/2] arm64: dts: qcom: Add support for Acer Swift Go Pro AI (SFA14-11) --- commit 7b73d33b3eeafdf356a13cef16dee5622aee6de8
Author: Kaipeng Zeng <[email protected]>

arm64: dts: qcom: Add support for Acer Swift Go Pro AI (SFA14-11)

Introduce device tree for the Acer Swift Go Pro AI (SFA14-11), a laptop based on the Qualcomm Snapdragon X Elite (X1E78100) SoC. This adds support for basic peripherals including display, keyboard, touchpad, Wi-Fi, and audio.

arch/arm64/boot/dts/qcom/Makefile talos-evk-lvds-auo,g133han01-dtbs := \ · line 425

Quoted 8 lines
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

[Severity: Medium]
Are we missing the -el2.dtb combination rule for this board?

Snapdragon X Elite laptops usually rely on EL2 memory reservations to boot successfully on stock firmware. Other devices in this Makefile include a rule like x1e78100-acer-sfa14-11-el2-dtbs := x1e78100-acer-sfa14-11.dtb x1-el2.dtbo to generate the required overlay.

Could this omission cause boot failures on the Acer Swift Go?

Quoted 7 lines
arch/arm64/boot/dts/qcom/Makefile +0 -0
 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
 
arch/arm64/boot/dts/qcom/x1e78100-acer-sfa14-11.dts new file +0 -0
new file mode 100644

[ ... ]

arch/arm64/boot/dts/qcom/x1e78100-acer-sfa14-11.dts line 197

Quoted 7 lines
arch/arm64/boot/dts/qcom/x1e78100-acer-sfa14-11.dts new file +7 -0
+	sound {
+		compatible = "qcom,x1e80100-sndcard";
+		model = "X1E78100-ACER-Swift-Go-SFA14-11";
+		audio-routing = "WooferLeft IN", "WSA WSA_SPK1 OUT",
+				"TweeterLeft IN", "WSA WSA_SPK2 OUT",
+				"WooferRight IN", "WSA2 WSA_SPK2 OUT",
+				"TweeterRight IN", "WSA2 WSA_SPK2 OUT",

[Severity: Medium]
Does this right channel routing mix the woofer and tweeter signals into the same output?

It looks like "WooferRight IN" and "TweeterRight IN" are both routed to "WSA2 WSA_SPK2 OUT", leaving "WSA2 WSA_SPK1 OUT" unconnected.

Should one of these be routed to WSA_SPK1 to match the frequency separation done for the left speakers?

Quoted 3 lines
arch/arm64/boot/dts/qcom/x1e78100-acer-sfa14-11.dts new file +3 -0
+				"IN1_HPHL", "HPHL_OUT",
+				"IN2_HPHR", "HPHR_OUT",
+				"AMIC2", "MIC BIAS2",
Signature · 1 line
Sashiko AI review · https://sashiko.dev/#/patchset/[email protected]?part=2
#4 lore raw

Re: [PATCH v3 2/2] arm64: dts: qcom: Add support for Acer Swift Go Pro AI (SFA14-11)

In reply to Kaipeng Zeng
Quoted 1 line · Kaipeng Zeng

Introduce device tree for the Acer Swift Go Pro AI (SFA14-11).

Are you sure it's called that?

I think GoPro (the action camera company) would not have been very happy with that branding :D

https://duckduckgo.com/?q=Acer+Swift+Go+Pro+AI+(SFA14-11)

It's only been called that (with the "Pro") on the ubuntu forum and such, all the other pages refer to it as "Acer Swift Go 14 AI", no "Pro".

Quoted 2 lines

It is a laptop based on the Qualcomm Snapdragon X Elite (X1E78100) SoC. This device tree implementation references nodes from the x1-crd.dtsi.

nit: "to reference" has a technical meaning here (with the & references and all that) so it's rather confusing to say "this is based on x1-crd" like that.

Quoted 10 lines

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

CAMSS itself has not landed in -next yet :)

Quoted 12 lines
---
  arch/arm64/boot/dts/qcom/Makefile             |    1 +
  .../boot/dts/qcom/x1e78100-acer-sfa14-11.dts  | 1483 +++++++++++++++++
  2 files changed, 1484 insertions(+)

create mode 100644 arch/arm64/boot/dts/qcom/x1e78100-acer-sfa14-11.dts

arch/arm64/boot/dts/qcom/Makefile +0 -0
index e05414290d8e..fbb6b0ef67bf 100644

arch/arm64/boot/dts/qcom/Makefile talos-evk-lvds-auo,g133han01-dtbs := \ · line 425

Quoted 4 lines
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

Please add an EL2 line as well like all the other dtbs here.

Quoted 12 lines
arch/arm64/boot/dts/qcom/Makefile +0 -0
  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 +6 -0
new file mode 100644
[..]
+		wcd-playback-dai-link {
+			link-name = "WCD Playback";
+
+			codec {
+				sound-dai = <&wcd938x 0>, <&swr1 0>, <&lpass_rxmacro 0>;
+			};

arch/arm64/boot/dts/qcom/x1e78100-acer-sfa14-11.dts line 270

Quoted 10 lines
arch/arm64/boot/dts/qcom/x1e78100-acer-sfa14-11.dts new file +10 -0
+
+			cpu {
+				sound-dai = <&q6apmbedai RX_CODEC_DMA_RX_0>;
+			};
+
+			platform {
+				sound-dai = <&q6apm>;
+			};
+		};
+		wsa-dai-link {

Missing newline

arch/arm64/boot/dts/qcom/x1e78100-acer-sfa14-11.dts line 271

Quoted 2 lines
arch/arm64/boot/dts/qcom/x1e78100-acer-sfa14-11.dts new file +1 -0
+			link-name = "WSA Playback";
[..]

Thanks,
~val

#5 lore raw

Re: [PATCH v3 2/2] arm64: dts: qcom: Add support for Acer Swift Go Pro AI (SFA14-11)

Quoted 6 lines · Val Packett
Quoted 1 line · Kaipeng Zeng

Introduce device tree for the Acer Swift Go Pro AI (SFA14-11).

Are you sure it's called that?

Quoted 8 lines

I think GoPro (the action camera company) would not have been very happy with that branding :D

https://duckduckgo.com/?q=Acer+Swift+Go+Pro+AI+(SFA14-11)

It's only been called that (with the "Pro") on the ubuntu forum and such, all the other pages refer to it as "Acer Swift Go 14 AI", no "Pro".

Regardless of what camera companies think, this is it.
The model is sold exclusively in China under the name "Acer 非凡 Go Pro AI". Since other Swift models were marketed as "非凡" in the Chinese market, I think it is appropriate to translate "非凡" as "Swift" in this context. Additionally, please distinguish between the model names "SFA14-11" and "SF14-11". I think this was well discussed in the earlier versions of this series.

#6 lore raw

Re: [PATCH v3 2/2] arm64: dts: qcom: Add support for Acer Swift Go Pro AI (SFA14-11)

In reply to Val Packett
Quoted 63 lines · Val Packett
Quoted 1 line · Kaipeng Zeng

Introduce device tree for the Acer Swift Go Pro AI (SFA14-11).

Are you sure it's called that?

I think GoPro (the action camera company) would not have been very happy with that branding :D

https://duckduckgo.com/?q=Acer+Swift+Go+Pro+AI+(SFA14-11)

It's only been called that (with the "Pro") on the ubuntu forum and such, all the other pages refer to it as "Acer Swift Go 14 AI", no "Pro".

Quoted 2 lines

It is a laptop based on the Qualcomm Snapdragon X Elite (X1E78100) SoC. This device tree implementation references nodes from the x1-crd.dtsi.

nit: "to reference" has a technical meaning here (with the & references and all that) so it's rather confusing to say "this is based on x1-crd" like that.

Quoted 10 lines

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

CAMSS itself has not landed in -next yet :)

Quoted 12 lines
---
  arch/arm64/boot/dts/qcom/Makefile             |    1 +
  .../boot/dts/qcom/x1e78100-acer-sfa14-11.dts  | 1483 +++++++++++++++++
  2 files changed, 1484 insertions(+)

create mode 100644 arch/arm64/boot/dts/qcom/x1e78100-acer-sfa14-11.dts

arch/arm64/boot/dts/qcom/Makefile +0 -0
index e05414290d8e..fbb6b0ef67bf 100644

arch/arm64/boot/dts/qcom/Makefile talos-evk-lvds-auo,g133han01-dtbs := \ · line 425

Quoted 4 lines
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

Please add an EL2 line as well like all the other dtbs here.

Quoted 15 lines
arch/arm64/boot/dts/qcom/Makefile +0 -0
  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 +9 -0
new file mode 100644
[..]
+             wcd-playback-dai-link {
+                     link-name = "WCD Playback";
+
+                     codec {
+                             sound-dai = <&wcd938x 0>, <&swr1 0>, <&lpass_rxmacro 0>;
+                     };
+
+                     cpu {
+                             sound-dai = <&q6apmbedai RX_CODEC_DMA_RX_0>;
Quoted 11 lines

arch/arm64/boot/dts/qcom/x1e78100-acer-sfa14-11.dts line 270

Quoted 7 lines
arch/arm64/boot/dts/qcom/x1e78100-acer-sfa14-11.dts new file +7 -0
+                     };
+
+                     platform {
+                             sound-dai = <&q6apm>;
+                     };
+             };
+             wsa-dai-link {

Missing newline

Quoted 2 lines

+ link-name = "WSA Playback";
[..]

Thanks, I'll fix this in the next version.

Quoted 4 lines

Thanks,
~val