mbox series

[v4,0/3] X1E Dell XPS 9345 support

Message ID 20241003211139.9296-1-alex.vinarskis@gmail.com (mailing list archive)
Headers show
Series X1E Dell XPS 9345 support | expand

Message

Aleksandrs Vinarskis Oct. 3, 2024, 9:10 p.m. UTC
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. 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

--------

Changes to V3:
* Rename device from `tributo-13` to `xps13-9345`
* Update commit description - identify EC over i2c, likely camera model
* Update cover letter - no hacks needed when build on top of linux-next
* v3 link: https://lore.kernel.org/all/20240927094544.6966-1-alex.vinarskis@gmail.com/

--------

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
* v2 link: https://lore.kernel.org/all/20240921163455.12577-1-alex.vinarskis@gmail.com/

--------

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
* v1 link: https://lore.kernel.org/all/20240919170018.13672-1-alex.vinarskis@gmail.com/

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-xps13-9345.dts     | 863 ++++++++++++++++++
 drivers/firmware/qcom/qcom_scm.c              |   1 +
 4 files changed, 866 insertions(+)
 create mode 100644 arch/arm64/boot/dts/qcom/x1e80100-dell-xps13-9345.dts

Comments

Rob Herring Oct. 5, 2024, 12:45 a.m. UTC | #1
On Thu, 03 Oct 2024 23:10:06 +0200, Aleksandrs Vinarskis wrote:
> 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. 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
> 
> --------
> 
> Changes to V3:
> * Rename device from `tributo-13` to `xps13-9345`
> * Update commit description - identify EC over i2c, likely camera model
> * Update cover letter - no hacks needed when build on top of linux-next
> * v3 link: https://lore.kernel.org/all/20240927094544.6966-1-alex.vinarskis@gmail.com/
> 
> --------
> 
> 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
> * v2 link: https://lore.kernel.org/all/20240921163455.12577-1-alex.vinarskis@gmail.com/
> 
> --------
> 
> 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
> * v1 link: https://lore.kernel.org/all/20240919170018.13672-1-alex.vinarskis@gmail.com/
> 
> 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-xps13-9345.dts     | 863 ++++++++++++++++++
>  drivers/firmware/qcom/qcom_scm.c              |   1 +
>  4 files changed, 866 insertions(+)
>  create mode 100644 arch/arm64/boot/dts/qcom/x1e80100-dell-xps13-9345.dts
> 
> --
> 2.43.0
> 
> 
> 


My bot found new DTB warnings on the .dts files added or changed in this
series.

Some warnings may be from an existing SoC .dtsi. Or perhaps the warnings
are fixed by another series. Ultimately, it is up to the platform
maintainer whether these warnings are acceptable or not. No need to reply
unless the platform maintainer has comments.

If you already ran DT checks and didn't see these error(s), then
make sure dt-schema is up to date:

  pip3 install dtschema --upgrade


New warnings running 'make CHECK_DTBS=y qcom/x1e80100-dell-xps13-9345.dtb' for 20241003211139.9296-1-alex.vinarskis@gmail.com:

arch/arm64/boot/dts/qcom/x1e80100-dell-xps13-9345.dtb: domain-idle-states: cluster-sleep-0: 'idle-state-name' does not match any of the regexes: 'pinctrl-[0-9]+'
	from schema $id: http://devicetree.org/schemas/power/domain-idle-state.yaml#
arch/arm64/boot/dts/qcom/x1e80100-dell-xps13-9345.dtb: domain-idle-states: cluster-sleep-1: 'idle-state-name' does not match any of the regexes: 'pinctrl-[0-9]+'
	from schema $id: http://devicetree.org/schemas/power/domain-idle-state.yaml#
arch/arm64/boot/dts/qcom/x1e80100-dell-xps13-9345.dtb: usb@a2f8800: interrupt-names: ['pwr_event', 'dp_hs_phy_irq', 'dm_hs_phy_irq'] is too short
	from schema $id: http://devicetree.org/schemas/usb/qcom,dwc3.yaml#
Bjorn Andersson Oct. 16, 2024, 3:32 p.m. UTC | #2
On Thu, 03 Oct 2024 23:10:06 +0200, Aleksandrs Vinarskis wrote:
> 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.
> 
> [...]

Applied, thanks!

[1/3] dt-bindings: arm: qcom: Add Dell XPS 13 9345
      commit: 1aa50217d7fd1b9932d3552a20c2f7fd58d77cfa
[3/3] arm64: dts: qcom: Add support for X1-based Dell XPS 13 9345
      commit: f5b788d0e8cdaac7df6ec9a24926672965d87dfc

Best regards,