Repository navigation
Conversation
QMP Combo PHYs default to USB3DP lane routing, which can break static setups like
DP-to-HDMI bridges by misallocating lanes to USB3.
Revive the optional "qcom,combo-initial-mode" DT property [1] to explicitly
set the initial mode ("usb3dp", "dp", "usb3"). In static configs (no mode-switch
or orientation-switch props), honor it and skip lane inference to avoid overrides.
This simplifies HDMI enablement on undocumented Snapdragon X laptops while
preserving dynamic Type-C behavior.
[1]: https://lore.kernel.org/r/20250821-topic-x1e80100-hdmi-v1-2-f14ad9430e88@linaro.org
Signed-off-by: Jens Glathe <jens.glathe@oldschoolsolutions.biz>
Signed-off-by: Jens Glathe <jens.glathe@oldschoolsolutions.biz>
Microsoft Surface Pro 12 is using this (well, my definition of it), changed to Stephan Gerhold's one. Remove the edp0_hpd_default reference from Thinkbook 16 as TLMM 119 is used by the HDMI bridge as enable pin. Link: https://lore.kernel.org/r/20250822-x1e80100-add-edp-hpd-v2-1-6310176239a6@linaro.org Signed-off-by: Jens Glathe <jens.glathe@oldschoolsolutions.biz>
…to dp controller, fix backlight" now duplicate template, therefore remove it Link: https://lore.kernel.org/r/20250822-x1e80100-add-edp-hpd-v2-1-6310176239a6@linaro.org This reverts commit 22f5ffacc9cd4f5a5074b863223f80bc0f0d6b33.
…lt pinctrl seems to be needed Signed-off-by: Jens Glathe <jens.glathe@oldschoolsolutions.biz>
Relates-to commit 8c0b058. Signed-off-by: James Addison <jay@jp-hosting.net>
adding the remaining commits of 20251101-asus_usbc_dp-v1-0-9fd4eb9935e8@hotmail.com ... but on the generalized x1-asus-vivobook-s15.dtsi Signed-off-by: Jens Glathe <jens.glathe@oldschoolsolutions.biz>
this works with Ubuntu kernel builds that don't know the SPRCHRGD in QSEECOM Signed-off-by: Jens Glathe <jens.glathe@oldschoolsolutions.biz>
Signed-off-by: Jens Glathe <jens.glathe@oldschoolsolutions.biz>
found in Lenovo Ideapad Slim 3 15Q8X10 raw EDID: 00 ff ff ff ff ff ff 00 09 e5 ea 0c 00 00 00 00 0c 22 01 04 a5 21 15 78 03 af e5 97 5e 58 92 28 1f 50 54 00 00 00 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 9c 3e 80 c8 70 b0 3c 40 30 20 36 00 49 ce 10 00 00 1a 00 00 00 fd 00 28 3c 4c 4c 10 01 0a 20 20 20 20 20 20 00 00 00 fe 00 42 4f 45 20 43 51 0a 20 20 20 20 20 20 00 00 00 fc 00 4e 56 31 35 33 57 55 4d 2d 4e 34 31 0a 01 63 70 20 79 02 00 81 00 15 74 1a 00 00 03 01 28 3c 00 00 53 4a 53 4a 3c 00 00 00 00 80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 e3 90 Detailed Timing Descriptors: DTD 1: 1920x1200 60.002995 Hz 16:10 75.604 kHz 160.280000 MHz (329 mm x 206 mm) Hfront 48 Hsync 32 Hback 120 Hpol P Vfront 3 Vsync 6 Vback 51 Vpol N Signed-off-by: Jens Glathe <jens.glathe@oldschoolsolutions.biz>
…iants LCD: Panel is CMN N140JCE-EL1, selecting the odd backlight PWM like on ThinkBook 16 G7 QOY Signed-off-by: Jens Glathe <jens.glathe@oldschoolsolutions.biz>
like on Thinkbook 16 and Ideapad 5 Signed-off-by: Jens Glathe <jens.glathe@oldschoolsolutions.biz>
seem to be problematic Signed-off-by: Jens Glathe <jens.glathe@oldschoolsolutions.biz>
as tested out by Anthony Ruhier and Val Packett [1] [1]: https://lore.kernel.org/all/a5efb372-1a2a-4262-abc8-49bbeffa6961@packett.cool/ Signed-off-by: Jens Glathe <jens.glathe@oldschoolsolutions.biz>
name change from x1e80100 and x1p42100 Signed-off-by: Jens Glathe <jens.glathe@oldschoolsolutions.biz>
There is a small window where the device can suspend after pm_runtime_enable() and before pm_runtime_forbid(), causing an unnecessary suspend/resume cycle while the PHY is not yet registered. Move pm_runtime_forbid() before pm_runtime_enable() to eliminate this race. Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com> Reviewed-by: Abel Vesa <abel.vesa@oss.qualcomm.com> Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com> Signed-off-by: Loic Poulain <loic.poulain@oss.qualcomm.com>
add Purwa-specific dts Signed-off-by: Jens Glathe <jens.glathe@oldschoolsolutions.biz>
Put the firmware paths into the separate dts also correct the gpu firmware path to consistent naming. Signed-off-by: Jens Glathe <jens.glathe@oldschoolsolutions.biz>
…ible for older kernels Add this compatible to get efivars on kernels that are not aware of the sp11 in scm. Signed-off-by: Jens Glathe <jens.glathe@oldschoolsolutions.biz>
rfkill should be disabled according to the Surface Pro 11's DSDT. https://lore.kernel.org/all/20250113074810.29729-3-quic_lingbok@quicinc.com/ has added support to read the ACPI bitflag when ACPI is supported. Document the disable-rfkill property to expose one specific feature (DISABLE_RFKILL_BIT) for devices described with a DT, so that the feature can be disabled. Signed-off-by: Jérôme de Bretagne <jerome.debretagne@gmail.com> Signed-off-by: Dale Whinham <daleyo@gmail.com>
Some devices (e.g. Microsoft Surface Pro 11) indicate that the rfkill feature should be disabled by means of an ACPI bitflag. If ACPI is not being used (i.e. booting using a devicetree) then this property will not be read and therefore rfkill may be enabled and the ath12k will be hard-blocked with no way to disable it. Add a devicetree property that allows us to disable the rfkill feature. Tested-by: Jérôme de Bretagne <jerome.debretagne@gmail.com> Signed-off-by: Dale Whinham <daleyo@gmail.com>
Disable rfkill as it is supposed to be according to the ath12k feature flags in the Microsoft Surface Pro 11 ACPI DSDT. Signed-off-by: Dale Whinham <daleyo@gmail.com> Signed-off-by: Jérôme de Bretagne <jerome.debretagne@gmail.com>
Allows MAC address setting via dtbloader.
define PCI_VENDOR_ID_HP_BOGUS 0xffff Qualcomm FastConnect 6900 Wi-Fi 6E Dual Band Simultaneous (DBS) WiFiCx Network Adapter Signed-off-by: Jens Glathe <jens.glathe@oldschoolsolutions.biz>
For some devices, Wi-Fi is entirely hard blocked by default making the Wi-Fi radio unusable, except if rfkill is disabled as expected on those models. Commit c6a7c0b ("wifi: ath12k: Add Support for enabling or disabling specific features based on ACPI bitflag") added a way to support features set via ACPI, including the DISABLE_RFKILL bit. Add a disable-rfkill property to expose the DISABLE_RFKILL bit equivalent for devices described by a Devicetree instead of ACPI. Signed-off-by: Jérôme de Bretagne <jerome.debretagne@gmail.com>
Reference the ieee80211.yaml schema to allow disable-rfkill to be used for models that need to disable the rfkill feature, otherwise the Wi-Fi radio is unusable. This is required by the Surface Pro 11 with WCN7850. Signed-off-by: Jérôme de Bretagne <jerome.debretagne@gmail.com>
in the spirit of sp12 Signed-off-by: Jens Glathe <jens.glathe@oldschoolsolutions.biz>
add rfkill, mac addresses, pcie4 pinctrl Signed-off-by: Jens Glathe <jens.glathe@oldschoolsolutions.biz>
previously was /usr/lib/, /usr/share/ Signed-off-by: Jens Glathe <jens.glathe@oldschoolsolutions.biz>
|
When you do changes in drivers that are not exclusively written for the SP11 (and usually have a hardware /firmware detection in probe()), you need to gate your changes against the "common" use case, as you did in the qspi code for gpi DMA. The gating is easiest with check agaunst the dt, of_ compatible=microsoft,denali. The of_ structure is also in the device descriptor or can be easily reached. |
|
All current open PRs are drafts. That qspi patch is a big one, I don't have hardware that uses the spi at all (to my knowledge). Maybe a public call for testing on Ubuntu Discourse helps to verify the changes. There are quite a few people with Dell Laptops, they could help, probably. The sp11v21 pre-compiled package would be a good start. A bit of a testing dilemma. |
|
Also, I have set up a Matrix room for sp11/12 bringup: https://matrix.to/#/#sp11_12_linux:matrix.org |
|
@jglathe, it doesn't seem like I can join; I've tried the web and desktop. What account did you invite? Do you have Discord? If so, add me there, please:
|
The majority are ready to go; I only put them in draft to make sure we follow the order we agreed on
That's a shout; I'll make |
|
Do you have a user name on Matrix? I need this to invite you. Mine is @jglathe:matrix.org |
|
@jglathe, I've also made |
4943ee7 to
6407d62
Compare
68e1550 to
e57ec29
Compare
October 4: retire old submission versions; keep this coordination threadThe repaired combined source is now We are withdrawing older submission versions #83–#91 rather than leaving obsolete 7.2.2 heads as active merge requests. Their branches, commits, contributor credit, source links and discussions remain intact. This PR stays open, as requested, as the original coordination/provenance thread—not a proposal to merge the whole integration branch. Current fork review: ooaklee/linux_ms_dev_kit-sp11#51 carries the refreshed inherited Denali/touch/pen/sensor/C-PHY/graph prerequisites; ooaklee/linux_ms_dev_kit-sp11#56 covers additional CAMSS parity, ooaklee/linux_ms_dev_kit-sp11#57 TX, ooaklee/linux_ms_dev_kit-sp11#58 playback, ooaklee/linux_ms_dev_kit-sp11#59 battery, ooaklee/linux_ms_dev_kit-sp11#60 native profiles, and ooaklee/linux_ms_dev_kit-sp11#61 additional GPI ordering. These are not upstream-ready successor submissions. The two additional deferred GPI corrections remain explicitly deferred without changing tested v8 source. After exact combined acceptance, supporting provenance and appropriate shared-driver checks, we will reconstruct focused author-preserving upstream topics against the then-current release tip. TX precedes playback; battery precedes profiles. The requested non-SP11 X1E boot check remains necessary before shared audio reaches the release line. Fork-only integration scripts/workflows and repository policy will never be included in those submissions. No merge or default-branch promotion is implied by this cleanup. |
October 4: bounded combined v8 camera/audio follow-upCombined fork review #68 now records the successful This closes that bounded check, not every camera mode, physical speaker |
|
Adding a small historical source-preservation handoff to this coordination thread, not proposing a branch merge. I've released my abandoned X1E80100 OLED/Wi-Fi research at https://github.com/lain3d/surface-pro-11-research and the experimental kernel at https://github.com/lain3d/surface-pro-11-kernel. The default The platform material that may be useful is the ADSP/USB-C external-root investigation. In our August experiment, retaining UCSI registration across This work builds on your kernel and denisix's platform contributions; the 2.4 MHz DMIC and baseline SPI work were prior art, not my discoveries. Your newer integration has moved substantially beyond the old baseline. The release is unmaintained and experimental, with no request to merge the old WIP branches or claim they satisfy current shared-device acceptance. |
e57ec29 to
48021d4
Compare
Summary
Integrates the downstream Surface Pro 11 kernel and Ubuntu 7.2.x line for both supported Denali variants:
045e:0c83045e:0c80The branch now brings together SP11 device-tree, driver, packaging, configuration, and CI work for direct touch, iptsd-backed pen input, volume buttons, native audio and microphone capture, platform power profiles, battery-provider selection, and the IMX681 front camera.
This is intentionally a broad downstream integration line rather than an upstream-ready subsystem patch series.
Highlights
Touch, pen, and buttons
iptsdv3.1.0 stylus processing./dev/g6ts-heatexport for diagnostics; pressure, tilt, and button events use the DFT/iptsd path.Audio and microphones
microsoft,denali.Power and battery
platform_profileavailable on the DT-only SP11 through a non-ACPI kobject fallback while preserving the legacy sysfs path expected by power-profiles-daemon.FREQ_QOS_MAXCPU caps, late cpufreq-policy handling, and an SP11 low-power boot default.battmgrremains authoritative for both variants.Front camera
CCI1.1 -> CSIPHY2 -> CSID0 -> VFE0 RDI0and describes MCLK4, power rails, reset, and the privacy LED.Platform integration
jg/ubuntu-qcom-x1e-7.2.ykernel line, so the comparison also contains inherited QCOM arm64, DRM, media, networking, platform-driver, and core-kernel work.Additions after the original recorded tip
The previous description's validation section stopped at
5cf0b8835858. The current head adds the following SP11 integration work:b6ca0e494a9b537d1ac612253fc7c5249f4a58e36b1acb04d915d679423e2cbd1ec3e2daThat range contains 18 commits touching 61 files, with 8,520 insertions and 878 deletions.
Validation status
2cbd1ec3e2da385e7bd91fd65c63ba5a8fb5b865.7.2.0-jg-0sp11v19-qcom-x1e; hover, contact, pressure, tilt, barrel button, and concurrent one-/two-/three-finger touch worked with no transport errors, recovery failures, daemon restarts, or kernel taint in the acceptance run. X1P uses the same promoted profile, but separate X1P pen qualification remains outstanding.045e:0c80; descriptor validation and physical touch completed successfully.git diff --checkpassed in the constituent PR; Linux hardware capture and regression testing were still outstanding there.Integration state
The target and integration branches have advanced independently since this PR opened, and GitHub currently reports merge conflicts. The large comparison includes inherited kernel and Ubuntu history and is not a count of SP11-authored patches. The branch must be synchronized with the current target before merge.
Links