Skip to content

Instantly share code, notes, and snippets.

@hmelder
Created August 18, 2025 17:51
Show Gist options
  • Select an option

  • Save hmelder/65b7ed5688499f08a43f2f74e489d308 to your computer and use it in GitHub Desktop.

Select an option

Save hmelder/65b7ed5688499f08a43f2f74e489d308 to your computer and use it in GitHub Desktop.
Surface Pro 11 Digitizer DTS Attempts
// SPDX-License-Identifier: BSD-3-Clause
/*
* Copyright (c) 2025 Hugo Melder <contact@hugomelder.com>
*/
/* Enable HID over SPI */
/dts-v1/;
/plugin/;
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/interrupt-controller/irq.h>
#include <dt-bindings/regulator/qcom,rpmh-regulator.h>
/ {
compatible = "microsoft,denali", "qcom,x1e80100";
};
&spi10 {
status = "okay";
hid@0 {
compatible = "hid-over-spi";
reg = <0>;
spi-max-frequency = <12500000>;
interrupts-extended = <&tlmm 51 IRQ_TYPE_EDGE_FALLING>;
pinctrl-names = "active", "sleep", "reset";
pinctrl-0 = <&spi10_hid0_reset_deassert &spi10_hid0_int_bias>;
pinctrl-1 = <&spi10_hid0_reset_assert &spi10_hid0_int_unbias>;
pinctrl-2 = <&spi10_hid0_reset_assert &spi10_hid0_int_bias>;
vdd-supply = <&vreg_ts_5p0>;
hid-descr-addr = <1>;
};
};
&tlmm {
spi10_hid0_reset_deassert: spi10-hid1-reset-deassert {
pins = "gpio48";
function = "gpio";
drive-strength = <2>;
bias-disable;
output-high;
};
spi10_hid0_reset_assert: spi10-hid1-reset-assert {
pins = "gpio48";
function = "gpio";
drive-strength = <2>;
bias-disable;
output-low;
};
spi10_hid0_int_bias: spi10-hid1-int-bias {
pins = "gpio51";
function = "gpio";
input-enable;
bias-pull-up;
};
spi10_hid0_int_unbias: spi10-hid1-int-unbias {
pins = "gpio51";
function = "gpio";
input-enable;
bias-disable;
};
ts_5v_en_default_state: ts-5v-en-default-state {
pins = "gpio64";
function = "gpio";
};
};
&{/reserved-memory} {
vreg_ts_5p0: ts-5p0-regulator {
compatible = "regulator-fixed";
regulator-name = "vreg_ts_5p0";
regulator-min-microvolt = <5000000>;
regulator-max-microvolt = <5000000>;
gpio = <&tlmm 64 GPIO_ACTIVE_HIGH>;
enable-active-high;
pinctrl-names = "default";
pinctrl-0 = <&ts_5v_en_default_state>;
};
};
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment