SP11: add protocol-9 QSPI and OF-only MSHW0485 touch - #83
Open
ooaklee wants to merge 9 commits into
Open
Conversation
Define the protocol selector used by the protocol-9 GENI QSPI engine. Link: 19bed4c Signed-off-by: x1e-nixos <noreply@scug.io> Signed-off-by: Leon Silcott <leon@boasi.io>
Add the transfer-ring handling needed by the protocol-9 GENI engine used for the Surface Pro 11 touchscreen. Keep the existing SPI, I2C, and UART paths unchanged and preserve DMA_PRIVATE. Re-lift the hardware-tested implementation onto the current 7.2.2 driver. Link: 19bed4c Signed-off-by: x1e-nixos <noreply@scug.io> Signed-off-by: Leon Silcott <leon@boasi.io>
Document the opt-in controller property used by Microsoft Denali to select the protocol-9 GENI firmware and QSPI GPI DMA channels. Signed-off-by: Leon Silcott <leon@boasi.io>
Re-lift the Surface Pro 11 QSPI path onto the current GENI SPI driver. Select it only when the Denali machine and qcom,geni-qspi property agree. Leave the common controller path unchanged and preserve the existing GENI tracepoints. Support the paired TX-command/RX-data transaction used by MSHW0485 without exposing the staging branch's laboratory controls or BIOS-reference API. Link: 65ce06c Link: b1075e6 Signed-off-by: Leon Silcott <leon@boasi.io>
Describe the OF-only HID-over-SPI touchscreen used by Microsoft Denali, including its interrupt, reset, power, and SPI requirements. Signed-off-by: Leon Silcott <leon@boasi.io>
Add the direct touch-input core for the HID-over-SPI controller found on Microsoft Surface Pro 11. Bind only to microsoft,mshw0485 on Denali and use the fixed GPIO power/reset sequence described by DT. Keep the experimental policy alternatives fixed in-kernel. Do not expose the staging diagnostic attributes or module parameters. Do not include the separate pen, heat-frame misc device, or HIDRAW interfaces. Link: b1075e6 Signed-off-by: Leon Silcott <leon@boasi.io>
Enable the protocol-9 QSPI engine and GPI DMA channels only on Microsoft Denali, then describe the MSHW0485 touchscreen and its control GPIOs. Link: b1075e6 Signed-off-by: Leon Silcott <leon@boasi.io>
Accept the Surface Pro 11 X1P touchscreen product ID alongside the existing X1E product ID when validating the MSHW0485 device descriptor. Link: 3fc7c52 Signed-off-by: Justin White <kyjus25@gmail.com> Signed-off-by: Leon Silcott <leon@boasi.io>
This was referenced Aug 31, 2026
ooaklee
marked this pull request as ready for review
September 1, 2026 07:27
ooaklee
added a commit
to ooaklee/linux_ms_dev_kit-sp11
that referenced
this pull request
Sep 1, 2026
Record the two opt-in MSHW0485 feature gates in the qcom-x1e annotations. Kconfig still defaults both options to n; this Ubuntu flavour explicitly enables them for Denali, whose device tree must also opt in before either endpoint registers. Link: 4c2356a Depends-on: jglathe#83 Signed-off-by: Leon Silcott <leon@boasi.io>
ooaklee
added a commit
to ooaklee/linux_ms_dev_kit-sp11
that referenced
this pull request
Sep 1, 2026
Integrate jglathe#83 for combined SP11 testing.
The event ring is allocated and published before either QSPI channel reaches ACTIVE_STATE. Using the active-channel predicate for the upper doorbell write therefore publishes only the low half of a 64-bit DMA address and can corrupt the completion stream. Detect a configured Denali QSPI channel for event-ring publication, and cache the root compatible so the SP11 completion workarounds remain gated away from common GPI users. Signed-off-by: Leon Silcott <leon@boasi.io>
ooaklee
added a commit
to ooaklee/linux_ms_dev_kit-sp11
that referenced
this pull request
Sep 2, 2026
Author
|
Follow-up validation for the SP11 7.2.2 retrospective:
This is build/package validation. Touch and pen still require a physical boot/resume test on the Surface Pro 11. |
This was referenced Sep 2, 2026
Closed
jglathe
force-pushed
the
jg/ubuntu-qcom-x1e-7.2.y
branch
from
September 3, 2026 10:32
87bcf07 to
4943ee7
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Dependency and status
Review/merge after #82, the Denali DT baseline topic. This branch is nevertheless based directly on
jg/ubuntu-qcom-x1e-7.2.yat032e174490d2, so the shared-driver diff remains independently reviewable.This is the release-line QSPI/touch extraction planned after the working staging correction in merged #81. It does not replay #81 or the staging branch's complete driver files. The PR remains a draft until this exact re-lift has been installed and tested on Surface Pro 11 hardware.
The default-off pen/HIDRAW/heat-frame work will follow as a separate, explicitly gated topic and is not present here.
Containment
QCOM_GPI_QSPI; the existing SPI, I2C, and UART protocols are unchangedqcom,geni-qspicontroller property and themicrosoft,denaliroot compatiblemicrosoft,mshw0485and rejects non-Denali machines/dev/g6ts-heatThe current release base already contains
DMA_PRIVATEand the GENI SPI tracepoints. This series preserves them and creates no intentional diff for either facility.Provenance
The series keeps original authors where the source has a valid author sign-off:
x1e-nixos <noreply@scug.io>remains author of the QSPI DMA binding and current-tree GPI re-lift, derived from 19bed4c3b6c1Leon signs each rewritten/submitted commit as
Leon Silcott <leon@boasi.io>.Validation
git diff --check 032e174490d2..HEADpython3-ply: no errors or checks; only the generic new-file/MAINTAINERS prompt for the new binding and driver, both already covered by the existingINPUT (KEYBOARD, MOUSE, JOYSTICK, TOUCHSCREEN) DRIVERSentryFILE_PATH_CHANGESwarning suppressed: no errors, warnings, or checksubuntu_x1e_defconfigW=1builds ofdrivers/dma/qcom/gpi.o,drivers/spi/spi-geni-qcom.o, anddrivers/input/touchscreen/mshw0485_touch.oqcom/x1e80100-microsoft-denali-oled.dtbbuilds and passes the selected checksqcom/x1p64100-microsoft-denali.dtbbuilds and passes the selected checksqcom/x1e80100-dell-xps13-9345.dtbbuilds successfullyDMA_PRIVATEand all existing GENI tracepoints remain intactHardware checks still required