X1E Dell XPS 9345 support
v3 cover X1E Dell XPS 9345 support
Introduce support for the mentioned laptop.
Very similar to other X1E laptops, device tree was derived by analyzing dtsi of existing models and ACPI tables of this laptop [1]. Most notable difference were
* TZ protected SPI19.
* Keyboard only working after suspend/resume sequence, will do a follow up patch to i2c-hid.
* Lots of small deviations in LDOs voltages.
Successfully tested with Debian 12 and Gnome, although this required additional patches, namely harcode GPU chipid, apply [2] and _revert_ [3] - same as in Abel Vesa's branches. Without last two the boot process is terminated by TZ. Firmware for GPU/aDSP/cDSP was extracted from Windows, WiFi firmware from upstream linux-firmware.
Quite a few things alraedy work, details in patches, quite a few still in WIP or TODOs. Since fixing these may take me a while due to lack of documentation, sending current progress as its very much usable.
[1] https://github.com/aarch64-laptops/build/blob/master/misc/dell-xps-9345/acpi/DSDT.dsl
[2] https://lore.kernel.org/all/[email protected]/
[3] https://lore.kernel.org/all/[email protected]/
--------
Changes to V2:
* Fix uart21 missing alias
* Fix redundant mdss_dp3 defines
* Fix touchscreen i2c address
* Update commit description - OLED panel reported working
* Update commit description - touchscreen reported working
* Update commit description - battery info reported working
* Update commit description - add keyboard patches link
--------
Changes to V1:
* Fix misalignments due to wrong tab/space conversion
* Fix regulator namings
* Fix reasonable warnings from scripts/checkpatch.pl
* Restructure all (sub)nodes alphabetically
Aleksandrs Vinarskis (3):
dt-bindings: arm: qcom: Add Dell XPS 13 9345
firmware: qcom: scm: Allow QSEECOM on Dell XPS 13 9345
arm64: dts: qcom: Add support for X1-based Dell XPS 13 9345
.../devicetree/bindings/arm/qcom.yaml | 1 + arch/arm64/boot/dts/qcom/Makefile | 1 + .../dts/qcom/x1e80100-dell-tributo-13.dts | 863 ++++++++++++++++++ drivers/firmware/qcom/qcom_scm.c | 1 + 4 files changed, 866 insertions(+) create mode 100644 arch/arm64/boot/dts/qcom/x1e80100-dell-tributo-13.dts
Signature · 1 line
2.43.0
PATCH v3 1/3 dt-bindings: arm: qcom: Add Dell XPS 13 9345
Document the X1E80100-based Dell XPS 9345 laptop, platform codenamed 'Tributo'/'Tributo R'.
--- Documentation/devicetree/bindings/arm/qcom.yaml | 1 + 1 file changed, 1 insertion(+)
Documentation/devicetree/bindings/arm/qcom.yaml +1 -0
@@ -1058,6 +1058,7 @@ properties: - items: - enum: - asus,vivobook-s15 + - dell,tributo-13 - lenovo,yoga-slim7x - microsoft,romulus13 - microsoft,romulus15
Signature · 1 line
2.43.0
PATCH v3 2/3 firmware: qcom: scm: Allow QSEECOM on Dell XPS 13 9345
In reply to Aleksandrs VinarskisAllow particular machine accessing eg. efivars.
--- drivers/firmware/qcom/qcom_scm.c | 1 + 1 file changed, 1 insertion(+)
drivers/firmware/qcom/qcom_scm.c +1 -0
@@ -1731,6 +1731,7 @@ EXPORT_SYMBOL_GPL(qcom_scm_qseecom_app_send);+ any potential issues with this, only allow validated machines for now. */ static const struct of_device_id qcom_scm_qseecom_allowlist[]__maybe_unused = { + { .compatible ="dell,tributo-13" }, { .compatible ="lenovo,flex-5g" }, { .compatible ="lenovo,thinkpad-t14s" }, { .compatible ="lenovo,thinkpad-x13s" , },
Signature · 1 line
2.43.0
PATCH v3 3/3 arm64: dts: qcom: Add support for X1-based Dell XPS 13 9345
In reply to Aleksandrs VinarskisInitial support for Dell XPS 9345 13" 2024 (Tributo) based on X1E80100.
Working:
* Touchpad
* Keyboard (only post suspend&resume, i2c-hid patch required [1])
* Touchscreen
* eDP (low-res IPS, OLED) with brightness control
* NVME
* USB Type-C ports in USB2/USB3 (one orientation)
* WiFi
* GPU/aDSP/cDSP firmware loading (requires binaries from Windows)
* Lid switch
* Sleep/suspend, nothing visibly broken on resume
Not working:
* Speakers (WIP, pin guessing, x4 WSA8845)
* Microphones (WIP, pin guessing)
* Fingerprint Reader (WIP, USB MP with ptn3222)
* USB as DP/USB3 (WIP, PS8830 based)
* Camera
Should be working, but cannot be tested due to lack of hw:
* higher res IPS panel
[1] https://lore.kernel.org/all/[email protected]/
--- arch/arm64/boot/dts/qcom/Makefile | 1 + .../dts/qcom/x1e80100-dell-tributo-13.dts | 863 ++++++++++++++++++ 2 files changed, 864 insertions(+) create mode 100644 arch/arm64/boot/dts/qcom/x1e80100-dell-tributo-13.dts
arch/arm64/boot/dts/qcom/Makefile +1 -0
@@ -271,6 +271,7 @@ dtb-$(CONFIG_ARCH_QCOM) += sm8650-qrd.dtb dtb-$(CONFIG_ARCH_QCOM) += x1e78100-lenovo-thinkpad-t14s.dtb dtb-$(CONFIG_ARCH_QCOM) += x1e80100-asus-vivobook-s15.dtb dtb-$(CONFIG_ARCH_QCOM) += x1e80100-crd.dtb +dtb-$(CONFIG_ARCH_QCOM) += x1e80100-dell-tributo-13.dtb dtb-$(CONFIG_ARCH_QCOM) += x1e80100-lenovo-yoga-slim7x.dtb dtb-$(CONFIG_ARCH_QCOM) += x1e80100-microsoft-romulus13.dtb dtb-$(CONFIG_ARCH_QCOM) += x1e80100-microsoft-romulus15.dtb
arch/arm64/boot/dts/qcom/x1e80100-dell-tributo-13.dts new file +863 -0
863 lines not on this page · raw message
Signature · 1 line
2.43.0