Skip to contentSkip to conversation

arm64: dts: qcom: Add HP OmniBook X 16-cp1

PATCH Superseded Jeff Roach 1 participant 3 messages Oct 28

Subsystems (3)

v3 of 5 Superseded Latest is v5 →

lore
Share & tools
lore

Jeff Roach

author
#0 lore raw

v3 cover arm64: dts: qcom: Add HP OmniBook X 16-cp1

This adds a device tree for the HP OmniBook X 16-cp1 (board 8F46), a 16" laptop with the 12-core Snapdragon X2 Elite (Mahua).

Tested with Ubuntu's 7.3-based linux-qcom-x1e kernel. Everything listed in patch 2 works there, including suspend (s2idle).

Notes:
- DisplayPort at HBR2 needs "phy: qualcomm: qmp-combo: update DP PHY PLL programming on Glymur" v6 [1] (tested with v5). Without it the stream runs at half rate and the monitor shows no picture. With it, about 1 in 4 plug-ins still gives no picture; replugging fixes it.
- The GPU is disabled. It works with "drm/msm: Mahua GPU support" [2] applied; I'll send a follow-up to enable it once that lands.
- Audio needs a topology and UCM config for the "HP-OmniBook-X16" model, which are not upstream yet. The headphone jack (SDCA) is not described.
- I hit one hard lockup while plugging USB-C devices during testing and could not reproduce it in later plug/unplug cycles.

This series was written with the help of an AI coding assistant (Claude): the device tree started from glymur-hp-elitebook-x-g2q.dts and the laptop's ACPI tables. I went through the regulators against the ACPI power votes for v3. I reviewed it and tested it on the laptop.

Earlier bring-up report: [3]

Changes in v3:
- Set vreg_l1f_e1 to 904 mV (was 880 mV, copied from the EliteBook) to match the ACPI power votes on this laptop, rename it to vreg_l1f_e1_0p9 (Konrad)
- Add Acked-by to patch 1 (Krzysztof)
- Link to v2: https://lore.kernel.org/r/[email protected]

Changes in v2:
- Add static data-lanes to usb_2_qmpphy so the PHY uses USB3-only mode (reported by Sashiko)
- Drop the Assisted-by tag, describe the tool use in the changelog instead (Krzysztof)
- Link to v1: https://lore.kernel.org/r/[email protected]

[1] https://lore.kernel.org/all/[email protected]/
[2] https://lore.kernel.org/all/[email protected]/
[3] https://lore.kernel.org/all/CAAnD8Rb4ZZrHFWMJayabioB_8bOHh1mqZ5LCXZz0jTNGMA7UZQ@mail.gmail.com/

Jeff Roach (2):
dt-bindings: arm: qcom: Add HP OmniBook X 16-cp1
arm64: dts: qcom: Add HP OmniBook X 16-cp1

 .../devicetree/bindings/arm/qcom.yaml         |   1 +
 arch/arm64/boot/dts/qcom/Makefile             |   1 +
 .../boot/dts/qcom/mahua-hp-omnibook-x16.dts   | 855 ++++++++++++++++++
 3 files changed, 857 insertions(+)
 create mode 100644 arch/arm64/boot/dts/qcom/mahua-hp-omnibook-x16.dts

base-commit: f5672a3dff0291d6a45eb0c258b9d2baeb4dc577

Signature · 1 line
2.55.0
author
#1 lore raw

PATCH v3 1/2 dt-bindings: arm: qcom: Add HP OmniBook X 16-cp1

Document the HP OmniBook X 16-cp1 laptop, based on the Qualcomm Mahua (Snapdragon X2 Elite, 12 cores) SoC.

---
 Documentation/devicetree/bindings/arm/qcom.yaml | 1 +
 1 file changed, 1 insertion(+)
Documentation/devicetree/bindings/arm/qcom.yaml +1 -0
index 121ca557ce..4dd57e8663 100644
@@ -191,6 +191,7 @@ properties:
 
       - items:
           - enum:
+              - hp,omnibook-x16-cp1
               - qcom,mahua-crd
           - const: qcom,mahua
 
Signature · 1 line
2.55.0
author
#2 lore raw

PATCH v3 2/2 arm64: dts: qcom: Add HP OmniBook X 16-cp1

In reply to Jeff Roach

Add a device tree for the HP OmniBook X 16-cp1 laptop, based on the Qualcomm Mahua (Snapdragon X2 Elite, 12 cores) SoC.

Supported and tested:
- Keyboard, touchpad and touchscreen over I2C HID
- Lid switch
- NVMe SSD (PCIe 5)
- Qualcomm QCC2072 Wi-Fi (PCIe 4, M.2 key E slot)
- Two USB-C ports with orientation switching, USB PD and battery reporting through pmic-glink
- USB-A port (usb_2)
- Webcam on the internal USB 2.0 host
- eDP OLED panel with DP AUX backlight
- DisplayPort alt mode on both USB-C ports
- ADSP and CDSP remoteprocs
- Two speakers (WSA8845) and two digital microphones

The GPU is left disabled until Mahua's Adreno X2-85 is supported.

This device tree was written with the help of an AI coding assistant (Claude), starting from glymur-hp-elitebook-x-g2q.dts and the laptop's ACPI tables. The regulator voltages were checked against the power votes in the ACPI tables, where they are listed. I reviewed it and tested every feature listed above on the laptop.

---
 arch/arm64/boot/dts/qcom/Makefile             |   1 +
 .../boot/dts/qcom/mahua-hp-omnibook-x16.dts   | 855 ++++++++++++++++++
 2 files changed, 856 insertions(+)
 create mode 100644 arch/arm64/boot/dts/qcom/mahua-hp-omnibook-x16.dts
arch/arm64/boot/dts/qcom/Makefile +1 -0
index 88230c4e00..a3ba955451 100644
@@ -64,6 +64,7 @@ dtb-$(CONFIG_ARCH_QCOM)	+= lemans-evk-el2.dtb
 lemans-evk-ifp-mezzanine-dtbs	:= lemans-evk.dtb lemans-evk-ifp-mezzanine.dtbo
 dtb-$(CONFIG_ARCH_QCOM)	+= lemans-evk-ifp-mezzanine.dtb
 dtb-$(CONFIG_ARCH_QCOM)	+= mahua-crd.dtb
+dtb-$(CONFIG_ARCH_QCOM)	+= mahua-hp-omnibook-x16.dtb
 dtb-$(CONFIG_ARCH_QCOM)	+= mahua-lenovo-thinkpad-t14s-gen7-lcd.dtb
 dtb-$(CONFIG_ARCH_QCOM)	+= milos-fairphone-fp6.dtb
 dtb-$(CONFIG_ARCH_QCOM)	+= milos-nothing-asteroids.dtb
arch/arm64/boot/dts/qcom/mahua-hp-omnibook-x16.dts new file +855 -0

855 lines not on this page · raw message

Signature · 1 line
2.55.0