From: Krzysztof Kozlowski <krzk@kernel.org>
To: Kaipeng Zeng <kaipeng94@gmail.com>, devicetree@vger.kernel.org
Cc: linux-arm-msm@vger.kernel.org, conor+dt@kernel.org,
krzk+dt@kernel.org, robh@kernel.org, konradybcio@kernel.org,
andersson@kernel.org
Subject: Re: [PATCH 2/2] arm64: dts: qcom: Add support for Acer Swift Go Pro AI (SFA14-11)
Date: Thu, 2 Jul 2026 08:31:53 +0200 [thread overview]
Message-ID: <5c239bba-b2b0-4b87-aee8-aa1c091f0dc6@kernel.org> (raw)
In-Reply-To: <20260702063156.35169-3-kaipeng94@gmail.com>
On 02/07/2026 08:31, Kaipeng Zeng wrote:
> diff --git a/arch/arm64/boot/dts/qcom/Makefile b/arch/arm64/boot/dts/qcom/Makefile
> index 6f33c4e2f09c..7ff85b783ea9 100644
> --- a/arch/arm64/boot/dts/qcom/Makefile
> +++ b/arch/arm64/boot/dts/qcom/Makefile
> @@ -457,3 +457,4 @@ x1p42100-lenovo-thinkbook-16-el2-dtbs := x1p42100-lenovo-thinkbook-16.dtb x1-el2
> dtb-$(CONFIG_ARCH_QCOM) += x1p42100-lenovo-thinkbook-16.dtb x1p42100-lenovo-thinkbook-16-el2.dtb
> x1p64100-microsoft-denali-el2-dtbs := x1p64100-microsoft-denali.dtb x1-el2.dtbo
> dtb-$(CONFIG_ARCH_QCOM) += x1p64100-microsoft-denali.dtb x1p64100-microsoft-denali-el2.dtb
> +dtb-$(CONFIG_ARCH_QCOM) += x1e78100-acer-sfa14-11.dtb
Do not add new entries in random order.
> 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 000000000000..f5d91abf11f1
> --- /dev/null
> +++ b/arch/arm64/boot/dts/qcom/x1e78100-acer-sfa14-11.dts
> @@ -0,0 +1,1711 @@
> +// SPDX-License-Identifier: BSD-3-Clause
> +/*
> + * Copyright (c) 2023 Qualcomm Innovation Center, Inc. All rights reserved.
> + * Copyright (c) 2026, Kaipeng Zeng <kaipeng94@gmail.com>
> + */
> +
> +/dts-v1/;
> +
> +#include <dt-bindings/gpio/gpio.h>
> +#include <dt-bindings/input/gpio-keys.h>
> +#include <dt-bindings/input/input.h>
> +#include <dt-bindings/pinctrl/qcom,pmic-gpio.h>
> +#include <dt-bindings/regulator/qcom,rpmh-regulator.h>
> +
> +#include "hamoa.dtsi"
> +#include "hamoa-pmics.dtsi"
> +
> +/ {
> + model = "Acer Swift Go Pro AI (SFA14-11)";
> + compatible = "acer,sfa14-11", "qcom,x1e78100", "qcom,x1e80100";
> +
> + aliases {
> + serial0 = &uart21;
> + serial1 = &uart14;
> + };
> +
> + backlight: backlight {
> + compatible = "pwm-backlight";
> +
> + pwms = <&pm8550_pwm 3 5000000>;
> + power-supply = <&vreg_edp_bl>;
> +
> + brightness-levels = <254 225 200 175 150 125 100 75 65 60 55>;
> + default-brightness-level = <8>;
> +
> + status = "okay";
Who disabled it that you need to enable?
> + };
> +
> + chosen {
> + stdout-path = "serial0:115200n8";
> + };
> +
> + gpio-keys {
> + compatible = "gpio-keys";
> +
> + pinctrl-0 = <&hall_int_n_default>, <&kypd_vol_up_n>;
> + pinctrl-names = "default";
Why isn't this enabled in such case?
> +
> + key-vol-up {
> + label = "volume_up";
> + gpios = <&pm8550_gpios 6 GPIO_ACTIVE_LOW>;
> + linux,code = <KEY_VOLUMEUP>;
> + wakeup-source;
> + };
> +
> + switch-lid {
> + label = "lid";
> + gpios = <&tlmm 92 GPIO_ACTIVE_LOW>;
> + linux,input-type = <EV_SW>;
> + linux,code = <SW_LID>;
> + wakeup-source;
> + wakeup-event-action = <EV_ACT_DEASSERTED>;
> + };
> + };
> +
> + hdmi-bridge {
> + compatible = "realtek,rtd2171";
> +
> + pinctrl-0 = <&hdmi_hpd_default>;
> + pinctrl-names = "default";
> +
> + ports {
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + port@0 {
> + reg = <0>;
> +
> + hdmi_bridge_dp_in: endpoint {
> + remote-endpoint = <&usb_1_ss2_qmpphy_out_dp>;
> + };
> + };
> +
> + port@1 {
> + reg = <1>;
> +
> + hdmi_bridge_tmds_out: endpoint {
> + remote-endpoint = <&hdmi_con>;
> + };
> + };
> + };
> + };
> +
> + hdmi-connector {
> + compatible = "hdmi-connector";
> + type = "a";
> +
> + port {
> + hdmi_con: endpoint {
> + remote-endpoint = <&hdmi_bridge_tmds_out>;
> + };
> + };
> + };
> +
> + 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>;
> +
> + nvmem-cells = <&charge_limit_en>,
> + <&charge_limit_end>,
> + <&charge_limit_delta>;
> + nvmem-cell-names = "charge_limit_en",
> + "charge_limit_end",
> + "charge_limit_delta";
> +
> + /* have only one typec */
> + connector@0 {
> + compatible = "usb-c-connector";
> + reg = <0>;
> + power-role = "dual";
> + data-role = "dual";
> +
> + ports {
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + port@0 {
> + reg = <0>;
> +
> + pmic_glink_ss0_hs_in: endpoint {
> + remote-endpoint = <&usb_1_ss0_dwc3_hs>;
> + };
> + };
> +
> + port@1 {
> + reg = <1>;
> +
> + pmic_glink_ss0_ss_in: endpoint {
> + remote-endpoint = <&retimer_ss0_ss_out>;
> + };
> + };
> +
> + port@2 {
> + reg = <2>;
> +
> + pmic_glink_ss0_con_sbu_in: endpoint {
> + remote-endpoint = <&retimer_ss0_con_sbu_out>;
> + };
> + };
> + };
> + };
> + };
> +
> + reserved-memory {
> + linux,cma {
> + compatible = "shared-dma-pool";
> + size = <0x0 0x8000000>;
> + reusable;
> + linux,cma-default;
> + };
> + adsp_fastrpc_mem: fastrpc-adsp {
> + compatible = "shared-dma-pool";
> + reusable;
> + size = <0x0 0x800000>;
> + };
> + cdsp_fastrpc_mem: fastrpc-cdsp {
> + compatible = "shared-dma-pool";
> + reusable;
> + size = <0x0 0x800000>;
> + };
> + };
> +
> + sound {
> + compatible = "qcom,x1e80100-sndcard";
> + model = "X1E80100-CRD";
Wrong model name, you do not have CRD here... unless you want to say
that sound card is exactly identical. That would be the first case, so
if you do something completely different than every other DTS, you need
to explain it in comments.
> + 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 {
> + link-name = "WCD Playback";
> +
> + cpu {
> + sound-dai = <&q6apmbedai RX_CODEC_DMA_RX_0>;
> + };
> +
> + codec {
> + sound-dai = <&wcd938x 0>, <&swr1 0>, <&lpass_rxmacro 0>;
> + };
> +
> + platform {
> + sound-dai = <&q6apm>;
> + };
> + };
> +
> + wcd-capture-dai-link {
> + link-name = "WCD Capture";
> +
> + cpu {
> + sound-dai = <&q6apmbedai TX_CODEC_DMA_TX_3>;
> + };
> +
> + codec {
> + sound-dai = <&wcd938x 1>, <&swr2 1>, <&lpass_txmacro 0>;
> + };
> +
> + platform {
> + sound-dai = <&q6apm>;
> + };
> + };
> +
> + 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>;
> + };
> + };
> + };
> +
> + vph_pwr: regulator-vph-pwr {
> + compatible = "regulator-fixed";
> +
> + regulator-name = "vph_pwr";
> + regulator-min-microvolt = <3700000>;
> + regulator-max-microvolt = <3700000>;
> +
> + regulator-always-on;
> + regulator-boot-on;
> + };
> +
> + vreg_edp_3p3: regulator-edp-3p3 {
> + compatible = "regulator-fixed";
> +
> + regulator-name = "VREG_EDP_3P3";
> + regulator-min-microvolt = <3300000>;
> + regulator-max-microvolt = <3300000>;
> +
> + gpio = <&tlmm 70 GPIO_ACTIVE_HIGH>;
> + enable-active-high;
> +
> + pinctrl-0 = <&edp_reg_en>;
> + pinctrl-names = "default";
> +
> + regulator-always-on;
> + };
> +
> + vreg_edp_bl: regulator-edp-bl {
> + compatible = "regulator-fixed";
> +
> + regulator-name = "VBL9";
> + regulator-min-microvolt = <3600000>;
> + regulator-max-microvolt = <3600000>;
> +
> + regulator-always-on;
> + regulator-boot-on;
> + };
> +
> + vreg_misc_3p3: regulator-misc-3p3 {
> + compatible = "regulator-fixed";
> +
> + regulator-name = "VREG_MISC_3P3";
> + regulator-min-microvolt = <3300000>;
> + regulator-max-microvolt = <3300000>;
> +
> + gpio = <&pm8550ve_8_gpios 6 GPIO_ACTIVE_HIGH>;
> + enable-active-high;
> +
> + pinctrl-names = "default";
> + pinctrl-0 = <&misc_3p3_reg_en>;
> +
> + regulator-boot-on;
> + regulator-always-on;
> + };
> +
> + vreg_nvme: regulator-nvme {
> + compatible = "regulator-fixed";
> +
> + regulator-name = "VREG_NVME_3P3";
> + regulator-min-microvolt = <3300000>;
> + regulator-max-microvolt = <3300000>;
> +
> + gpio = <&tlmm 18 GPIO_ACTIVE_HIGH>;
> + enable-active-high;
> +
> + pinctrl-names = "default";
> + pinctrl-0 = <&nvme_reg_en>;
> +
> + regulator-boot-on;
> + };
> +
> + vreg_rtmr0_1p15: regulator-rtmr0-1p15 {
> + compatible = "regulator-fixed";
> +
> + regulator-name = "VREG_RTMR0_1P15";
> + regulator-min-microvolt = <1150000>;
> + regulator-max-microvolt = <1150000>;
> +
> + gpio = <&pmc8380_5_gpios 8 GPIO_ACTIVE_HIGH>;
> + enable-active-high;
> +
> + pinctrl-0 = <&usb0_pwr_1p15_reg_en>;
> + pinctrl-names = "default";
> +
> + regulator-boot-on;
> + };
> +
> + vreg_rtmr0_1p8: regulator-rtmr0-1p8 {
> + compatible = "regulator-fixed";
> +
> + regulator-name = "VREG_RTMR0_1P8";
> + regulator-min-microvolt = <1800000>;
> + regulator-max-microvolt = <1800000>;
> +
> + gpio = <&pm8550ve_9_gpios 8 GPIO_ACTIVE_HIGH>;
> + enable-active-high;
> +
> + pinctrl-0 = <&usb0_1p8_reg_en>;
> + pinctrl-names = "default";
> +
> + regulator-boot-on;
> + };
> +
> + vreg_rtmr0_3p3: regulator-rtmr0-3p3 {
> + compatible = "regulator-fixed";
> +
> + regulator-name = "VREG_RTMR0_3P3";
> + regulator-min-microvolt = <3300000>;
> + regulator-max-microvolt = <3300000>;
> +
> + gpio = <&pm8550_gpios 11 GPIO_ACTIVE_HIGH>;
> + enable-active-high;
> +
> + pinctrl-0 = <&usb0_3p3_reg_en>;
> + pinctrl-names = "default";
> +
> + regulator-boot-on;
> + };
> +
> + vreg_wcn_0p95: regulator-wcn-0p95 {
> + compatible = "regulator-fixed";
> +
> + regulator-name = "VREG_WCN_0P95";
> + regulator-min-microvolt = <950000>;
> + regulator-max-microvolt = <950000>;
> +
> + vin-supply = <&vreg_wcn_3p3>;
> + };
> +
> + vreg_wcn_1p9: regulator-wcn-1p9 {
> + compatible = "regulator-fixed";
> +
> + regulator-name = "VREG_WCN_1P9";
> + regulator-min-microvolt = <1900000>;
> + regulator-max-microvolt = <1900000>;
> +
> + vin-supply = <&vreg_wcn_3p3>;
> + };
> +
> + vreg_wcn_3p3: regulator-wcn-3p3 {
> + compatible = "regulator-fixed";
> +
> + regulator-name = "VREG_WCN_3P3";
> + regulator-min-microvolt = <3300000>;
> + regulator-max-microvolt = <3300000>;
> +
> + gpio = <&tlmm 214 GPIO_ACTIVE_HIGH>;
> + enable-active-high;
> +
> + pinctrl-0 = <&wcn_sw_en>;
> + pinctrl-names = "default";
> +
> + regulator-boot-on;
> + };
> +
> + vreg_wwan: regulator-wwan {
> + compatible = "regulator-fixed";
> +
> + regulator-name = "SDX_VPH_PWR";
> + regulator-min-microvolt = <3300000>;
> + regulator-max-microvolt = <3300000>;
> +
> + gpio = <&tlmm 221 GPIO_ACTIVE_HIGH>;
> + enable-active-high;
> +
> + pinctrl-0 = <&wwan_sw_en>;
> + pinctrl-names = "default";
> +
> + regulator-boot-on;
> + };
> +
> + wcd938x: audio-codec {
Messed up sorting of nodes. It seems you copied CRD, so why did you
break the CRD proper code?
Best regards,
Krzysztof
next prev parent reply other threads:[~2026-07-02 6:31 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 [this message]
2026-07-02 6:40 ` sashiko-bot
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=5c239bba-b2b0-4b87-aee8-aa1c091f0dc6@kernel.org \
--to=krzk@kernel.org \
--cc=andersson@kernel.org \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=kaipeng94@gmail.com \
--cc=konradybcio@kernel.org \
--cc=krzk+dt@kernel.org \
--cc=linux-arm-msm@vger.kernel.org \
--cc=robh@kernel.org \
/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