Skip to contentSkip to conversation

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

PATCH Superseded Jeff Roach 2 participants 4 messages Nov 10

Subsystems (3)

v4 of 5 Superseded Latest is v5 →

lore
Share & tools
lore

Jeff Roach

author
#0 lore raw

v4 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).

v4 is rebased on qcom for-next, which now has the common Glymur/Mahua regulator settings. 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.

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 v4:
- Rebase on qcom for-next: drop the PMIC includes, &apps_rsc, &tcsr, the SMB2370 repeaters and the phy supplies that mahua.dtsi and glymur-cob.dtsi now provide, and use the new regulator labels
- vreg_l2f0 is now 944 mV from the common file (was 936 mV); tested
- Keep refgen-supply = <&vreg_l1c1> on usb_2_qmpphy, which matches the ACPI power votes on this laptop
- Move the pcie4 endpoint under &pcie4_port0, since glymur.dtsi no longer has pcie4_port0_ep
- Link to v3: https://lore.kernel.org/r/[email protected]

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   | 657 ++++++++++++++++++
 3 files changed, 659 insertions(+)
 create mode 100644 arch/arm64/boot/dts/qcom/mahua-hp-omnibook-x16.dts

base-commit: 14825c9204bad7f4e0bd3a528cbf4a7e24e757d0

Signature · 1 line
2.55.0
author
#1 lore raw

PATCH v4 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 7ffa4f6998..c3b6014ad6 100644
@@ -212,6 +212,7 @@ properties:
 
       - items:
           - enum:
+              - hp,omnibook-x16-cp1
               - microsoft,surface-laptop-8-13p8
               - qcom,mahua-crd
               - qcom,mahua-qcb
Signature · 1 line
2.55.0
author
#2 lore raw

PATCH v4 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   | 657 ++++++++++++++++++
 2 files changed, 658 insertions(+)
 create mode 100644 arch/arm64/boot/dts/qcom/mahua-hp-omnibook-x16.dts
arch/arm64/boot/dts/qcom/Makefile +1 -0
index 8329c06b60..e84836e5c5 100644
@@ -74,6 +74,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)	+= mahua-qcb.dtb
 dtb-$(CONFIG_ARCH_QCOM)	+= milos-fairphone-fp6.dtb
arch/arm64/boot/dts/qcom/mahua-hp-omnibook-x16.dts new file +657 -0

657 lines not on this page · raw message

Signature · 1 line
2.55.0
#3 lore raw
Thank you for your contribution! Sashiko AI review found 2 potential issues to consider: - [Medium] arm64: dts: qcom: mahua-hp-omnibook-x16 needlessly disables supported GPU - [Low] arm64: dts…

Thank you for your contribution! Sashiko AI review found 2 potential issues to consider:
- [Medium] arm64: dts: qcom: mahua-hp-omnibook-x16 needlessly disables supported GPU
- [Low] arm64: dts: qcom: mahua-hp-omnibook-x16 overrides CoB usb_2_qmpphy refgen
--

commit 3e113b861ffbde20b418ef1c9fd0df962bea91d4
Author: Jeff Roach <[email protected]>

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

This commit adds the Device Tree for the HP OmniBook X 16-cp1 laptop based on the Qualcomm Mahua SoC.

Quoted 5 lines
arch/arm64/boot/dts/qcom/mahua-hp-omnibook-x16.dts new file +0 -0
new file mode 100644
index 0000000000000..1d30dff7d293e

[ ... ]

arch/arm64/boot/dts/qcom/mahua-hp-omnibook-x16.dts line 246

Quoted 7 lines

+&gmu {

arch/arm64/boot/dts/qcom/mahua-hp-omnibook-x16.dts new file +6 -0
+	status = "disabled";
+};
+
+&gpu {
+	status = "disabled";
+};

[Severity: Medium]
Should these status = "disabled" overrides and the corresponding commit message note be dropped so &gpu and &gmu remain enabled as inherited from mahua.dtsi?

Adreno X2-85 support was added in commit dbd5d59091f2 ("arm64: dts: qcom:
mahua: Support GPU and GMU"), which configures the qcom,adreno-gmu-x285.0 and qcom,adreno-44060000 compatibles in mahua.dtsi and already carries a Tested-by for this laptop.

[ ... ]

arch/arm64/boot/dts/qcom/mahua-hp-omnibook-x16.dts line 630

Quoted 7 lines

+&usb_2_qmpphy {

arch/arm64/boot/dts/qcom/mahua-hp-omnibook-x16.dts new file +6 -0
+	refgen-supply = <&vreg_l1c1>;
+
+	/delete-property/ mode-switch;
+	/delete-property/ orientation-switch;
+
+	status = "okay";

[Severity: Low]
Should refgen-supply = <&vreg_l1c1> be dropped here so &usb_2_qmpphy inherits refgen-supply = <&vreg_l4f1> from glymur-cob.dtsi?

Commit 6fdce1f4a17b ("arm64: dts: qcom: Consolidate Glymur CoB power grid") moved the common Chip-on-Board PMIC regulators and PHY supplies into glymur-cob.dtsi with refgen-supply = <&vreg_l4f1> (1.2 V) rather than vreg_l1c1 (0.912 V). Also, the commit message still mentions checking regulator voltages against ACPI power votes, even though the RPMH regulator nodes are no longer defined in this board DT.

Signature · 1 line
Sashiko AI review · https://sashiko.dev/#/patchset/[email protected]?part=2