[RFC PATCH v3 4/5] dt-bindings: input: hid-over-spi: add the Surface Laptop 7 touchpad

From: Jizhou Tong

Date: Thu Nov 05 2026 - 14:24:16 EST


The Surface Laptop 7 13.8-inch (Romulus13) touchpad uses HID-over-SPI
with quad address/data transfers. Add its compatible to the common
binding, with both bus widths fixed to four and a 20 MHz clock limit.
The existing supply and active-low reset properties cover this device.

Keep the G6 digitizer constraints unchanged. Pinctrl properties are
already permitted by the common schemas and need no local definitions.

Signed-off-by: Jizhou Tong <fqwqf@xxxxxxxxx>
---
.../bindings/input/hid-over-spi.yaml | 40 +++++++++++++++++++
1 file changed, 40 insertions(+)

diff --git a/Documentation/devicetree/bindings/input/hid-over-spi.yaml b/Documentation/devicetree/bindings/input/hid-over-spi.yaml
index bed0746f00..ec8c72493d 100644
--- a/Documentation/devicetree/bindings/input/hid-over-spi.yaml
+++ b/Documentation/devicetree/bindings/input/hid-over-spi.yaml
@@ -22,11 +22,30 @@ description: |+
allOf:
- $ref: /schemas/input/touchscreen/touchscreen.yaml#
- $ref: /schemas/spi/spi-peripheral-props.yaml#
+ - if:
+ properties:
+ compatible:
+ contains:
+ const: microsoft,romulus13-touchpad
+ then:
+ properties:
+ spi-max-frequency:
+ maximum: 20000000
+ spi-rx-bus-width:
+ items:
+ - const: 4
+ spi-tx-bus-width:
+ items:
+ - const: 4
+ required:
+ - spi-rx-bus-width
+ - spi-tx-bus-width

properties:
compatible:
enum:
- microsoft,g6-touch-digitizer
+ - microsoft,romulus13-touchpad

reg:
maxItems: 1
@@ -73,3 +92,24 @@ examples:
pinctrl-0 = <&ts_d6_int_bias>;
};
};
+ - |
+ #include <dt-bindings/interrupt-controller/irq.h>
+ #include <dt-bindings/gpio/gpio.h>
+
+ spi {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ touchpad@0 {
+ compatible = "microsoft,romulus13-touchpad";
+ reg = <0>;
+ spi-max-frequency = <20000000>;
+ spi-rx-bus-width = <4>;
+ spi-tx-bus-width = <4>;
+ interrupts-extended = <&tlmm 3 IRQ_TYPE_LEVEL_LOW>;
+ vdd-supply = <&vreg_ts_5p0>;
+ reset-gpios = <&tlmm 120 GPIO_ACTIVE_LOW>;
+ pinctrl-0 = <&touchpad_reset>;
+ pinctrl-names = "default";
+ };
+ };