From: sashiko-bot@kernel.org
To: "Harrison Vanderbyl" <harrison.vanderbyl@gmail.com>
Cc: robh@kernel.org, devicetree@vger.kernel.org, krzk+dt@kernel.org,
conor+dt@kernel.org
Subject: Re: [PATCH v1 8/8] arm64: dts: qcom: Add Microsoft Surface Pro 12in
Date: Tue, 12 May 2026 21:23:50 +0000 [thread overview]
Message-ID: <20260512212350.EA05FC2BCB0@smtp.kernel.org> (raw)
In-Reply-To: <67c50d27e133774e0a4edc17403e4218ddd86efd.1778498477.git.harrison.vanderbyl@gmail.com>
Thank you for your contribution! Sashiko AI review found 6 potential issue(s) to consider:
- [High] Touchscreen reset pin is statically driven high before power is applied.
- [Medium] Audio routing specifies 4 DMICs but pinctrl only configures pins for DMIC0 and DMIC1.
- [Medium] Regulator enable pin statically forced high by pinctrl.
- [Medium] Inconsistent regulator assignment for USB QMP PHYs.
- [Medium] Missing pinctrl configurations for volume keys.
- [Low] Unused `panel_pins` pinctrl state defined in device tree.
--
commit bfa1ccc215b18064216c44242bb8398931a0520f
Author: Harrison Vanderbyl <harrison.vanderbyl@gmail.com>
arm64: dts: qcom: Add Microsoft Surface Pro 12in
This commit adds the initial device tree for the Microsoft Surface
Pro 12in, enabling various peripherals such as UFS, touchscreen,
audio, and USB.
> diff --git a/arch/arm64/boot/dts/qcom/x1p42100-microsoft-sp12in.dts b/arch/arm64/boot/dts/qcom/x1p42100-microsoft-sp12in.dts
> new file mode 100644
> index 0000000000000..3a754179a8481
> --- /dev/null
> +++ b/arch/arm64/boot/dts/qcom/x1p42100-microsoft-sp12in.dts
> @@ -0,0 +1,1160 @@
[ ... ]
> + key-vol-up {
> + gpios = <&pm8550_gpios 8 GPIO_ACTIVE_LOW>;
> + linux,code = <KEY_VOLUMEUP>;
> + debounce-interval = <15>;
> + linux,can-disable;
> + wakeup-source;
> + };
> +
> + key-vol-down {
> + gpios = <&pm8550_gpios 6 GPIO_ACTIVE_LOW>;
> + linux,code = <KEY_VOLUMEDOWN>;
> + debounce-interval = <15>;
> + linux,can-disable;
> + wakeup-source;
> + };
Will these volume keys be prone to spurious interrupts? These nodes map
to pm8550_gpios as GPIO_ACTIVE_LOW, but do not specify any pinctrl to
configure internal pull-ups on the physical pads. Unless external
pull-ups are present on the board, floating pins could trigger unwanted
wakeups.
[ ... ]
> + sound {
> + compatible = "qcom,x1e80100-sndcard";
> + model = "X1P42100-Microsoft-Surface-Pro-12in";
> + audio-routing = "SpkrLeft IN", "WSA WSA_SPK1 OUT",
> + "SpkrRight IN", "WSA WSA_SPK2 OUT",
> + "VA DMIC0", "vdd-micb",
> + "VA DMIC1", "vdd-micb",
> + "VA DMIC2", "vdd-micb",
> + "VA DMIC3", "vdd-micb";
[ ... ]
> +&lpass_vamacro {
> + qcom,dmic-sample-rate = <4800000>;
> +
> + vdd-micb-supply = <&vreg_l1b_1p8>;
> +
> + pinctrl-0 = <&dmic01_default>;
> + pinctrl-names = "default";
> +};
Will audio capture from DMIC2 and DMIC3 fail with this configuration?
The audio-routing maps 4 DMICs, but only the dmic01_default pins are
configured in pinctrl, leaving the data and clock pins for DMIC2 and
DMIC3 unconfigured. Should <&dmic23_default> be included here?
[ ... ]
> + touchscreen@16 {
> + compatible = "hid-over-i2c";
> + reg = <0x16>;
> +
> + hid-descr-addr = <0x1>;
> + interrupts-extended = <&tlmm 38 IRQ_TYPE_LEVEL_LOW>;
> + wakeup-source;
> +
> + vddl-supply = <&vreg_l15b_1p8>;
> +
> + pinctrl-0 = <&ts0_default>;
> + pinctrl-names = "default";
> + };
Could this damage the touchscreen IC? The touchscreen node omits a
reset-gpios property, but relies on ts0_default which hardcodes
output-high on the reset pin.
Because pinctrl states are applied prior to the driver probe (which
enables vddl-supply), driving logic high into the unpowered IC violates
power sequencing and risks back-powering via ESD diodes.
Would it be better to provide reset-gpios in the touchscreen node so
the driver can manage the line dynamically after regulators stabilize?
[ ... ]
> +&tlmm {
> + gpio-reserved-ranges = <34 2>, /* Unused */
> + <44 4>; /* SPI (TPM) */
> +
> + edp_reg_en: edp-reg-en-state {
> + pins = "gpio70";
> + function = "gpio";
> + drive-strength = <2>;
> + bias-disable;
> + output-high;
> + };
Does this prevent the regulator framework from turning off vreg_edp_3p3?
Hardcoding output-high in the pinctrl state overrides the regulator's
ability to autonomously pull the line low when the supply is disabled,
such as during system suspend.
[ ... ]
> + panel_pins: panel-pins-state {
> + pins = "gpio29";
> + function = "gpio";
> + drive-strength = <2>;
> + bias-disable;
> + output-low;
> + };
This isn't a bug, but panel_pins is defined here yet never referenced
by the panel node or any other component. Is it dead code, or is a
reference to it missing elsewhere to properly enable the display?
[ ... ]
> + ts0_default: ts0-default-state {
> + int-n-pins {
> + pins = "gpio38";
> + function = "gpio";
> + bias-disable;
> + };
> +
> + reset-n-pins {
> + pins = "gpio48";
> + function = "gpio";
> + output-high;
> + drive-strength = <16>;
> + };
> + };
(This is where output-high is currently defined for the touchscreen reset,
as mentioned above.)
[ ... ]
> +&usb_1_ss0_qmpphy {
> + vdda-phy-supply = <&vreg_l3e_1p2>;
> + vdda-pll-supply = <&vreg_l1j_0p8>;
> +
> + status = "okay";
> +};
Should this use vreg_l2j_1p2 for the vdda-phy-supply instead?
Mixing a PHY supply from PMIC 'e' with a PLL supply from PMIC 'j' on
the same node differs from usb_1_ss1_qmpphy, which consistently uses
vreg_l2j_1p2. Using vreg_l3e_1p2 here looks similar to the pcie4_phy
configuration, which could be a copy-paste error resulting in improper
voltage scaling for this USB PHY.
--
Sashiko AI review · https://sashiko.dev/#/patchset/cover.1778498477.git.harrison.vanderbyl@gmail.com?part=8
next prev parent reply other threads:[~2026-05-12 21:23 UTC|newest]
Thread overview: 33+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-05-11 14:40 [PATCH v1 0/8] Add support for Microsoft Surface Pro 12in 1st Edition (Snapdragon) Harrison Vanderbyl
2026-05-11 14:40 ` [PATCH v1 1/8] dt-bindings: arm: qcom: Add Microsoft Surface Pro 12in Harrison Vanderbyl
2026-05-11 14:40 ` [PATCH v1 2/8] dt-bindings: crypto: Add x1e80100 inline crypto Harrison Vanderbyl
2026-05-11 14:40 ` [PATCH v1 3/8] platform/surface: SAM: Add support for Surface Pro 12in Harrison Vanderbyl
2026-05-11 14:40 ` [PATCH v1 4/8] firmware: qcom: scm: Allow QSEECOM on " Harrison Vanderbyl
2026-05-12 18:44 ` Dmitry Baryshkov
2026-05-11 14:40 ` [PATCH v1 5/8] hid: Pen battery quirk for " Harrison Vanderbyl
2026-05-12 6:07 ` sashiko-bot
2026-05-12 16:15 ` Jiri Kosina
2026-05-11 14:40 ` [PATCH v1 6/8] drm/panel-edp: Add panel " Harrison Vanderbyl
2026-05-11 15:13 ` Doug Anderson
2026-05-11 19:38 ` Dmitry Baryshkov
2026-05-11 14:40 ` [PATCH v1 7/8] arm64: dts: qcom: hamoa: Add inline crypto for UFS Harrison Vanderbyl
2026-05-12 17:54 ` Dmitry Baryshkov
2026-05-11 14:40 ` [PATCH v1 8/8] arm64: dts: qcom: Add Microsoft Surface Pro 12in Harrison Vanderbyl
2026-05-12 18:44 ` Dmitry Baryshkov
2026-05-12 21:23 ` sashiko-bot [this message]
2026-05-13 15:09 ` Konrad Dybcio
2026-05-13 19:08 ` (subset) [PATCH v1 0/8] Add support for Microsoft Surface Pro 12in 1st Edition (Snapdragon) Bjorn Andersson
2026-05-15 5:41 ` [PATCH v2 0/7] Add support for the Microsoft Surface Pro 12in 1st Edition (Snapdragon), Harrison Vanderbyl
2026-05-15 5:41 ` [PATCH v2 1/7] dt-bindings: arm: qcom: Add Microsoft Surface Pro 12in Harrison Vanderbyl
2026-05-15 7:03 ` Krzysztof Kozlowski
2026-05-15 5:41 ` [PATCH v2 2/7] dt-bindings: crypto: Add x1e80100 inline crypto Harrison Vanderbyl
2026-05-15 7:04 ` Krzysztof Kozlowski
2026-05-15 5:41 ` [PATCH v2 3/7] platform/surface: SAM: Add support for Surface Pro 12in Harrison Vanderbyl
2026-05-15 6:02 ` sashiko-bot
2026-05-15 5:41 ` [PATCH v2 4/7] hid: Pen battery quirk " Harrison Vanderbyl
2026-05-15 6:12 ` sashiko-bot
2026-05-15 5:41 ` [PATCH v2 5/7] drm/panel-edp: Add panel " Harrison Vanderbyl
2026-05-15 5:41 ` [PATCH v2 6/7] arm64: dts: qcom: hamoa: Add inline crypto for UFS Harrison Vanderbyl
2026-05-15 6:24 ` sashiko-bot
2026-05-15 5:41 ` [PATCH v2 7/7] arm64: dts: qcom: Add Microsoft Surface Pro 12in Harrison Vanderbyl
2026-05-15 6:56 ` sashiko-bot
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=20260512212350.EA05FC2BCB0@smtp.kernel.org \
--to=sashiko-bot@kernel.org \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=harrison.vanderbyl@gmail.com \
--cc=krzk+dt@kernel.org \
--cc=robh@kernel.org \
--cc=sashiko@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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.