The 13.8-inch Surface Laptop 7 has an ITCH MSHW0468 touchscreen
connected to QUP1 SE0 at I2C address 0x34. Describe the controller,
interrupt, reset GPIO, and HID descriptor register so i2c-hid can
enumerate the touchscreen.
The HID descriptor is located at register 0x0000 rather than the default
0x0020.
Tested-by: fQwQf <redacted>
Signed-off-by: fQwQf <redacted>
---
.../dts/qcom/x1e80100-microsoft-romulus13.dts | 15 +++++++++++++++
1 file changed, 15 insertions(+)
diff --git a/arch/arm64/boot/dts/qcom/x1e80100-microsoft-romulus13.dts b/arch/arm64/boot/dts/qcom/x1e80100-microsoft-romulus13.dts
index eb7580dd9..76d143943 100644
--- a/arch/arm64/boot/dts/qcom/x1e80100-microsoft-romulus13.dts
+++ b/arch/arm64/boot/dts/qcom/x1e80100-microsoft-romulus13.dts
@@ -11,3 +11,18 @@ / {
model = "Microsoft Surface Laptop 7 (13.8 inch)";
compatible = "microsoft,romulus13", "qcom,x1e80100";
};
+
+&i2c8 {
+ clock-frequency = <400000>;
+
+ status = "okay";
+
+ touchscreen@34 {
+ compatible = "hid-over-i2c";
+ reg = <0x34>;
+ hid-descr-addr = <0x0000>;
+
+ interrupts-extended = <&tlmm 38 IRQ_TYPE_LEVEL_LOW>;
+ reset-gpios = <&tlmm 31 GPIO_ACTIVE_LOW>;
+ };
+};--
2.53.0
Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
- [Medium] Missing Pinctrl Configuration for Touchscreen GPIOs
--
commit bbc74de3ce23fd59e3587b624f0acdca53aaf32a
Author: fQwQf [off-list ref]
arm64: dts: qcom: microsoft-romulus13: enable touchscreen
This commit adds the device tree node for the ITCH MSHW0468 touchscreen on
the Microsoft Surface Laptop 7. It describes the I2C controller, interrupt,
reset GPIO, and HID descriptor address to allow enumeration by i2c-hid.
quoted hunk
diff --git a/arch/arm64/boot/dts/qcom/x1e80100-microsoft-romulus13.dts b/arch/arm64/boot/dts/qcom/x1e80100-microsoft-romulus13.dts
--- a/arch/arm64/boot/dts/qcom/x1e80100-microsoft-romulus13.dts
+++ b/arch/arm64/boot/dts/qcom/x1e80100-microsoft-romulus13.dts
[ ... ]
quoted hunk
+&i2c8 {
+ clock-frequency = <400000>;
+
+ status = "okay";
+
+ touchscreen@34 {
+ compatible = "hid-over-i2c";
+ reg = <0x34>;
+ hid-descr-addr = <0x0000>;
+
+ interrupts-extended = <&tlmm 38 IRQ_TYPE_LEVEL_LOW>;
+ reset-gpios = <&tlmm 31 GPIO_ACTIVE_LOW>;
[Severity: Medium]
Does this node need explicit pinctrl configuration for the touchscreen GPIOs?
Currently, the interrupts-extended and reset-gpios properties are claimed
without a corresponding pinctrl-0 array. On Qualcomm platforms, relying on
the bootloader's initial pinmux and pinconf state can be unreliable if power
domains cycle during system suspend, potentially losing the configuration.
For an active-low interrupt line, a missing pull-up bias could cause the
pin to float and generate spurious interrupts, while a missing pinmux might
prevent the device from resuming correctly.
+ };
+};
--
Sashiko AI review · https://sashiko.dev/#/patchset/20260907054339.12409-1-fqwqf@fqwqf.xyz?part=2
On 07/09/2026 07:44, fQwQf wrote:
The 13.8-inch Surface Laptop 7 has an ITCH MSHW0468 touchscreen
connected to QUP1 SE0 at I2C address 0x34. Describe the controller,
interrupt, reset GPIO, and HID descriptor register so i2c-hid can
enumerate the touchscreen.
The HID descriptor is located at register 0x0000 rather than the default
0x0020.
Tested-by: fQwQf <redacted>
Drop. Why would you send untested code otherwise?
Best regards,
Krzysztof