[PATCH 0/7] arm64: dts: qcom: IdeaCentre Mini 01Q8X10 Hamoa + Purwa

Jens Glathe via B4 Relay posted 7 patches 2 weeks, 6 days ago
Documentation/devicetree/bindings/arm/qcom.yaml    |   11 +-
arch/arm64/boot/dts/qcom/Makefile                  |    8 +-
.../qcom/hamoa-lenovo-ideacentre-mini-01q8x10.dts  | 1188 +-------------------
.../qcom/purwa-lenovo-ideacentre-mini-01q8x10.dts  |   42 +
.../qcom/x1-lenovo-ideacentre-mini-01q8x10.dtsi    | 1185 +++++++++++++++++++
5 files changed, 1246 insertions(+), 1188 deletions(-)
[PATCH 0/7] arm64: dts: qcom: IdeaCentre Mini 01Q8X10 Hamoa + Purwa
Posted by Jens Glathe via B4 Relay 2 weeks, 6 days ago
The IdeaCentre Mini 01Q8X10 (board 91B6) ships with two SoCs: Hamoa
(X1E80100), already upstream, and Purwa (X1P42100 / X1-26-100). Same
chassis, different silicon. Stubble and the DTB loader need distinct
compatibles.

This series splits the board description into
x1-lenovo-ideacentre-mini-01q8x10.dtsi and adds thin leaves. Each SKU
keeps lenovo,ideacentre-mini-01q8x10 as fallback:

  lenovo,hamoa-ideacentre-mini-01q8x10, lenovo,ideacentre-mini-01q8x10,
  qcom,x1e80100

  lenovo,purwa-ideacentre-mini-01q8x10, lenovo,ideacentre-mini-01q8x10,
  qcom,x1p42100

No qcom_scm change; the fallback is already on the allowlist.

The remaining patches fix the common DTSI for both boxes:

- Build the Hamoa EL2 DTB like the other Hamoa boards.
- Second M.2 3V3 is PMC8380_3 GPIO5, not TLMM18. A 2 s startup delay
  is required or pcie3 fails to probe. always-on is a hack until there
  is a real M.2 power sequencer.
- sound-name-prefix on the three DP ports. Enable lpass_vamacro: no
  onboard mics, but it provides fsgen for tx_macro and rx_macro.
- usb_mp port 1 is not populated (no PTN3222 @ 0x4f). USB-C is
  usb_1_ss0; rear Type-A is usb_mp port 0 behind a Genesys hub.

The Genesys hub is left undescribed.

UCM [1] and AudioReach [2] topology for these devices are online, too.

Tested on:
- IdeaCentre Mini 01Q8X10, Purwa (X1-26-100), 91B6
- Hamoa: compile-tested only

[1]: https://github.com/alsa-project/alsa-ucm-conf/pull/843
[2]: https://github.com/linux-msm/audioreach-topology/pull/74

Assisted-by: Grok 4.5 (xAI)
Signed-off-by: Jens Glathe <jens.glathe@oldschoolsolutions.biz>
---
Jens Glathe (7):
      dt-bindings: arm: qcom: Distinguish IdeaCentre Mini 01Q8X10 SKUs
      arm64: dts: qcom: Split IdeaCentre Mini into a common DTSI
      arm64: dts: qcom: Add Purwa IdeaCentre Mini 01Q8X10
      arm64: dts: qcom: ideacentre-mini: Build the Hamoa EL2 DTB
      arm64: dts: qcom: ideacentre-mini: Fix the second M.2 3V3 rail
      arm64: dts: qcom: ideacentre-mini: Wire up DP sound names and VA macro
      arm64: dts: qcom: ideacentre-mini: Drop the unused USB MP port

 Documentation/devicetree/bindings/arm/qcom.yaml    |   11 +-
 arch/arm64/boot/dts/qcom/Makefile                  |    8 +-
 .../qcom/hamoa-lenovo-ideacentre-mini-01q8x10.dts  | 1188 +-------------------
 .../qcom/purwa-lenovo-ideacentre-mini-01q8x10.dts  |   42 +
 .../qcom/x1-lenovo-ideacentre-mini-01q8x10.dtsi    | 1185 +++++++++++++++++++
 5 files changed, 1246 insertions(+), 1188 deletions(-)
---
base-commit: af5f12805e5cefa4fe68d6127c7e1fb78cd5535c
change-id: 20260905-x1-ideacentre-mini-prettify-a5d349d8954f

Best regards,
-- 
Jens Glathe <jens.glathe@oldschoolsolutions.biz>
Re: [PATCH 0/7] arm64: dts: qcom: IdeaCentre Mini 01Q8X10 Hamoa + Purwa
Posted by Mostafa Saleh 2 weeks, 3 days ago
Hi Jens,

On Sat, Sep 05, 2026 at 11:28:55AM +0200, Jens Glathe via B4 Relay wrote:
> The IdeaCentre Mini 01Q8X10 (board 91B6) ships with two SoCs: Hamoa
> (X1E80100), already upstream, and Purwa (X1P42100 / X1-26-100). Same
> chassis, different silicon. Stubble and the DTB loader need distinct
> compatibles.
> 
> This series splits the board description into
> x1-lenovo-ideacentre-mini-01q8x10.dtsi and adds thin leaves. Each SKU
> keeps lenovo,ideacentre-mini-01q8x10 as fallback:
> 
>   lenovo,hamoa-ideacentre-mini-01q8x10, lenovo,ideacentre-mini-01q8x10,
>   qcom,x1e80100
> 
>   lenovo,purwa-ideacentre-mini-01q8x10, lenovo,ideacentre-mini-01q8x10,
>   qcom,x1p42100
> 
> No qcom_scm change; the fallback is already on the allowlist.
> 
> The remaining patches fix the common DTSI for both boxes:
> 
> - Build the Hamoa EL2 DTB like the other Hamoa boards.
> - Second M.2 3V3 is PMC8380_3 GPIO5, not TLMM18. A 2 s startup delay
>   is required or pcie3 fails to probe. always-on is a hack until there
>   is a real M.2 power sequencer.
> - sound-name-prefix on the three DP ports. Enable lpass_vamacro: no
>   onboard mics, but it provides fsgen for tx_macro and rx_macro.
> - usb_mp port 1 is not populated (no PTN3222 @ 0x4f). USB-C is
>   usb_1_ss0; rear Type-A is usb_mp port 0 behind a Genesys hub.
> 
> The Genesys hub is left undescribed.
> 
> UCM [1] and AudioReach [2] topology for these devices are online, too.
> 
> Tested on:
> - IdeaCentre Mini 01Q8X10, Purwa (X1-26-100), 91B6
> - Hamoa: compile-tested only
> 
> [1]: https://github.com/alsa-project/alsa-ucm-conf/pull/843
> [2]: https://github.com/linux-msm/audioreach-topology/pull/74
> 
> Assisted-by: Grok 4.5 (xAI)
> Signed-off-by: Jens Glathe <jens.glathe@oldschoolsolutions.biz>
> ---
> Jens Glathe (7):
>       dt-bindings: arm: qcom: Distinguish IdeaCentre Mini 01Q8X10 SKUs
>       arm64: dts: qcom: Split IdeaCentre Mini into a common DTSI
>       arm64: dts: qcom: Add Purwa IdeaCentre Mini 01Q8X10
>       arm64: dts: qcom: ideacentre-mini: Build the Hamoa EL2 DTB
>       arm64: dts: qcom: ideacentre-mini: Fix the second M.2 3V3 rail
>       arm64: dts: qcom: ideacentre-mini: Wire up DP sound names and VA macro
>       arm64: dts: qcom: ideacentre-mini: Drop the unused USB MP port
> 
>  Documentation/devicetree/bindings/arm/qcom.yaml    |   11 +-
>  arch/arm64/boot/dts/qcom/Makefile                  |    8 +-
>  .../qcom/hamoa-lenovo-ideacentre-mini-01q8x10.dts  | 1188 +-------------------
>  .../qcom/purwa-lenovo-ideacentre-mini-01q8x10.dts  |   42 +
>  .../qcom/x1-lenovo-ideacentre-mini-01q8x10.dtsi    | 1185 +++++++++++++++++++
>  5 files changed, 1246 insertions(+), 1188 deletions(-)
> ---
> base-commit: af5f12805e5cefa4fe68d6127c7e1fb78cd5535c

This series does not apply to ToT nor I can find this base-commit
in it.

Does that have any dependency?

Thanks,
Mostafa

> change-id: 20260905-x1-ideacentre-mini-prettify-a5d349d8954f
> 
> Best regards,
> -- 
> Jens Glathe <jens.glathe@oldschoolsolutions.biz>
> 
>
Re: [PATCH 0/7] arm64: dts: qcom: IdeaCentre Mini 01Q8X10 Hamoa + Purwa
Posted by Jens Glathe 2 weeks, 3 days ago
Hi Mostafa,

On 9/8/26 11:03, Mostafa Saleh wrote:
> Hi Jens,
>
> On Sat, Sep 05, 2026 at 11:28:55AM +0200, Jens Glathe via B4 Relay wrote:
>> The IdeaCentre Mini 01Q8X10 (board 91B6) ships with two SoCs: Hamoa
>> (X1E80100), already upstream, and Purwa (X1P42100 / X1-26-100). Same
>> chassis, different silicon. Stubble and the DTB loader need distinct
>> compatibles.
>>
[...]
>> This series does not apply to ToT nor I can find this base-commit
>> in it.
>>
>> Does that have any dependency?
>>
>> Thanks,
>> Mostafa

No dependencies. But I test if i can apply to torvalds/master

with best regards

Jens
Re: [PATCH 0/7] arm64: dts: qcom: IdeaCentre Mini 01Q8X10 Hamoa + Purwa
Posted by Mostafa Saleh 2 weeks, 3 days ago
On Tue, Sep 08, 2026 at 11:39:54AM +0200, Jens Glathe wrote:
> Hi Mostafa,
> 
> On 9/8/26 11:03, Mostafa Saleh wrote:
> > Hi Jens,
> > 
> > On Sat, Sep 05, 2026 at 11:28:55AM +0200, Jens Glathe via B4 Relay wrote:
> > > The IdeaCentre Mini 01Q8X10 (board 91B6) ships with two SoCs: Hamoa
> > > (X1E80100), already upstream, and Purwa (X1P42100 / X1-26-100). Same
> > > chassis, different silicon. Stubble and the DTB loader need distinct
> > > compatibles.
> > > 
> [...]
> > > This series does not apply to ToT nor I can find this base-commit
> > > in it.
> > > 
> > > Does that have any dependency?
> > > 
> > > Thanks,
> > > Mostafa
> 
> No dependencies. But I test if i can apply to torvalds/master

I can't apply it on Linus's tree so I used your next tag + (revert
for the QoS broken patch I mentioned)

The patches doesn't build, I added this for now:
diff --git a/arch/arm64/boot/dts/qcom/Makefile b/arch/arm64/boot/dts/qcom/Makefile
index 0cfbf3018a7b..d282ce5635d8 100644
--- a/arch/arm64/boot/dts/qcom/Makefile
+++ b/arch/arm64/boot/dts/qcom/Makefile
@@ -173,7 +173,6 @@ dtb-$(CONFIG_ARCH_QCOM)     += purwa-iot-evk.dtb
 purwa-lenovo-ideacentre-mini-01q8x10-el2-dtbs := purwa-lenovo-ideacentre-mini-01q8x10.dtb x1-el2.dtbo
 dtb-$(CONFIG_ARCH_QCOM)        += purwa-lenovo-ideacentre-mini-01q8x10.dtb purwa-lenovo-ideacentre-mini-01q8x10-el2.dtb

-dtb-$(CONFIG_ARCH_QCOM)        += purwa-iot-evk-el2.dtb
 dtb-$(CONFIG_ARCH_QCOM)        += qcm6490-fairphone-fp5.dtb
 dtb-$(CONFIG_ARCH_QCOM)        += qcm6490-idp.dtb
 dtb-$(CONFIG_ARCH_QCOM)        += qcm6490-particle-tachyon.dtb


I can't boot in EL2 (with purwa-lenovo-ideacentre-mini-01q8x10-el2.dtb):
[    0.000000] Booting Linux on physical CPU 0x0000000000 [0x512f0011]
[    0.000000] Linux version 7.3.0-rc1-next-20260904-g505bc4a244a7-dirty (smostafa@mostafa1.c.googlers.com) (Debian clang version 21.1.8 (3), Debian LLD 21.1.8) #2 SMP
PREEMPT Tue Sep  8 10:10:35 UTC 2026
[    0.000000] KASLR enabled
[    0.000000] Machine model: Lenovo IdeaCentre Mini 01Q8X10 (Purwa)
[    0.000000] earlycon: qcom_geni0 MMIO:0x0000000000894000 (options '')
[    0.000000] printk: legacy bootconsole [qcom_geni0] enabled
[    0.000000] CPU features: SYS_ID_AA64MMFR0_EL1[63:60]: forced to 1
[    0.000000] arch_timer: [Firmware Bug]: VHE-capable CPU without EL2 virtual timer interrupt
[    0.191075] qcom_scm firmware:scm: qseecom: scm call failed with error -22
[    0.198139] qcom_qseecom qcom_qseecom: probe with driver qcom_qseecom failed with error -22
[    0.227426] arm-smmu 15000000.iommu: Unhandled context fault: fsr=0x402, iova=0x86cd79c0, fsynr=0x400010, cbfrsynra=0x1000, cb=4
[    0.291862] arm-smmu 15000000.iommu: FSR    = 00000402 [Format=2 TF], SID=0x1000
[    0.299508] arm-smmu 15000000.iommu: FSYNR0 = 00400010 [S1CBNDX=64 WNR PLVL=0]
[    0.307018] arm-smmu 15000000.iommu: Unhandled context fault: fsr=0x402, iova=0x86b020c0, fsynr=0x400040, cbfrsynra=0x1000, cb=4
[    0.318879] arm-smmu 15000000.iommu: FSR    = 00000402 [Format=2 TF], SID=0x1000
[    0.326462] arm-smmu 15000000.iommu: FSYNR0 = 00400040 [S1CBNDX=64 IND PLVL=0]
[    0.333884] arm-smmu 15000000.iommu: Unhandled context fault: fsr=0x402, iova=0x86b020c0, fsynr=0x400040, cbfrsynra=0x1000, cb=4
[a lot more of SMMU errors]

And with in EL1 (with purwa-lenovo-ideacentre-mini-01q8x10.dtb)
[    0.000000] Booting Linux on physical CPU 0x0000000000 [0x512f0011]
[    0.000000] Linux version 7.3.0-rc1-next-20260904-g505bc4a244a7-dirty (smostafa@mostafa1.c.googlers.com) (Debian clang version 21.1.8 (3), Debian LLD 21.1.8) #2 SMP
PREEMPT Tue Sep  8 10:10:35 UTC 2026
[    0.000000] KASLR enabled
[    0.000000] Machine model: Lenovo IdeaCentre Mini 01Q8X10 (Purwa)
[    0.000000] earlycon: qcom_geni0 MMIO:0x0000000000894000 (options '')
[    0.000000] printk: legacy bootconsole [qcom_geni0] enabled
[    0.000000] CPU features: SYS_ID_AA64MMFR0_EL1[63:60]: forced to 1
[    0.000000] ITS@0x0000000017040000: Devices Table too large, reduce ids 32->19
[    0.000000] ITS@0x0000000017040000: Devices too large, reduce ITS pages 1024->256
[    0.223762] remoteproc remoteproc0: Direct firmware load for qcom/x1p42100/LENOVO/91B6/qcadsp8380.mbn failed with error -2
[    0.235468] remoteproc remoteproc0: Direct firmware load for qcom/x1p42100/LENOVO/91B6/qcadsp8380.mbn failed with error -2
[    0.246800] remoteproc remoteproc0: request_firmware failed: -2
[    0.252897] remoteproc remoteproc1: Direct firmware load for qcom/x1p42100/LENOVO/91B6/qccdsp8380.mbn failed with error -2
[    0.261226] qcom-pcie 1bf8000.pcie: supply vdda not found, using dummy regulator
[    0.261707] qcom-pcie 1c00000.pcie: supply vdda not found, using dummy regulator
[    0.261729] qcom-pcie 1c00000.pcie: supply vddpe-3v3 not found, using dummy regulator
[    0.261871] qcom-pcie 1c08000.pcie: supply vdda not found, using dummy regulator
[    0.261889] qcom-pcie 1c08000.pcie: supply vddpe-3v3 not found, using dummy regulator
[    0.279415] remoteproc remoteproc1: Direct firmware load for qcom/x1p42100/LENOVO/91B6/qccdsp8380.mbn failed with error -2
[    0.295042] remoteproc remoteproc1: request_firmware failed: -2
[    0.332189] qcom_pmic_glink pmic-glink: Failed to create device link (0x180) with supplier a600000.usb for /pmic-glink/connector@0
[    0.346753] qcom-pcie 1c08000.pcie: supply vdda not found, using dummy regulator
[    0.349142] ------------[ cut here ]------------
[    0.354378] qcom-pcie 1c08000.pcie: supply vddpe-3v3 not found, using dummy regulator
[    0.359106] disp_cc_mdss_dptx1_link_clk_src: rcg didn't update its configuration.
[    0.367176] WARNING: drivers/clk/qcom/clk-rcg2.c:136 at update_config+0xd4/0xe8, CPU#2: kworker/u33:0/56
[    0.384583] Modules linked in:
[    0.387723] CPU: 2 UID: 0 PID: 56 Comm: kworker/u33:0 Not tainted 7.3.0-rc1-next-20260904-g505bc4a244a7-dirty #2 PREEMPT
[    0.398963] Hardware name: LENOVO 91B6CTO1WW/3796, BIOS O6NKT3BA 05/02/2025
[    0.406111] Workqueue: events_unbound deferred_probe_work_func
[    0.412095] pstate: 61400005 (nZCv daif +PAN -UAO -TCO +DIT -SSBS BTYPE=--)
[    0.419240] pc : update_config+0xd4/0xe8
[    0.423267] lr : update_config+0xd0/0xe8
[    0.427295] sp : ffff80008027b980
[    0.430703] x29: ffff80008027b990 x28: ffff000802f813c0 x27: ffffc1572aad6000
[    0.438024] x26: ffffc1572a4df03f x25: ffffc1572a639ff6 x24: ffffc1572a61b412
[    0.438026] x23: 0000000000000000 x22: 0000000000000002 x21: 0000000000000001
[    0.438028] x20: ffffc1572a4bb085 x19: ffffc1572acfc020 x18: 0000000000000000
[    0.459979] x17: 0000000006af4b93 x16: 0000000000000094 x15: 0000000000100000
[    0.467302] x14: 00000000000066a7 x13: 000000000199e0a9 x12: 00000000000000a5
[    0.474624] x11: 00000000000000c0 x10: 0cf36ad3ab101c53 x9 : a7b4a80d3a726d00
[    0.481946] x8 : a7b4a80d3a726d00 x7 : 0000000000000000 x6 : 000000000000003f
[    0.489268] x5 : 0000000000000040 x4 : 0000000000000000 x3 : 0000000000000001
[    0.496588] x2 : 0000000000100000 x1 : ffff000800c8b000 x0 : 00000000fffffff0
[    0.503913] Call trace:
[    0.506433]  update_config+0xd4/0xe8 (P)
[    0.510464]  clk_rcg2_set_parent+0x58/0x68
[    0.514666]  __clk_set_parent+0x50/0x214
[    0.518696]  clk_core_set_parent_nolock+0xe8/0x1b4
[    0.523611]  clk_set_parent+0xa4/0x13c
[    0.527458]  of_clk_set_defaults+0x2f0/0x644
[    0.531847]  platform_probe+0x38/0x9c
[Many more of those also]

However, booting with the hacked device tree I am using [1]:

[root@alarm ~]# lsusb
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 002: ID 05e3:0610 Genesys Logic, Inc. Hub
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 004 Device 002: ID 05e3:0625 Genesys Logic, Inc. USB3.2 Hub
Bus 004 Device 003: ID 0781:5591 SanDisk Corp. Ultra Flair

[root@alarm ~]# lspci
0004:00:00.0 PCI bridge: Qualcomm Technologies, Inc SC8380XP PCIe Root Complex [Snapdragon X / X Plus / X Elite]
0004:01:00.0 Network controller: Qualcomm Technologies, Inc WCN785x Wi-Fi 7(802.11be) 320MHz 2x2 [FastConnect 7800] (rev 01)
0005:00:00.0 PCI bridge: Qualcomm Technologies, Inc SC8380XP PCIe Root Complex [Snapdragon X / X Plus / X Elite]
0005:01:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8211/8411 PCI Express Gigabit Ethernet Controller (rev 1b)
0006:00:00.0 PCI bridge: Qualcomm Technologies, Inc SC8380XP PCIe Root Complex [Snapdragon X / X Plus / X Elite]
0006:01:00.0 Non-Volatile memory controller: SK hynix Platinum P41/PC801 NVMe Solid State Drive

[root@alarm ~]# fastfetch
                  -`                     root@alarm
                 .o+`                    ----------
                `ooo/                    OS: Arch Linux ARM aarch64
               `+oooo:                   Host: 91B6CTO1WW (IdeaCentre Mini 01Q8X10)
              `+oooooo:                  Kernel: Linux 7.3.0-rc1-next-20260904-g505bc4a244a7-dirty
              -+oooooo+:                 Uptime: 3 mins
            `/:-:++oooo+:                Packages: 204 (pacman)
           `/++++/+++++++:               Shell: bash 5.3.15
          `/++++++++++++++:              Terminal: vt220
         `/+++ooooooooooooo/`            CPU: Qualcomm Snapdragon X Elite 1P42100 (8) @ 2.96 GHz
        ./ooosssso++osssssso+`           Memory: 501.91 MiB / 30.74 GiB (2%)
       .oossssso-````/ossssss+`          Swap: Disabled
      -osssssso.      :ssssssso.         Disk (/): 8.77 GiB / 468.38 GiB (2%) - ext4
     :osssssss/        osssso+++.        Locale: C
    /ossssssss/        +ssssooo/-
  `/ossssso+/:-        -:/+osssso+-
 `+sso+:-`                 `.-/+oso:
`++:.                           `-/+/
.`                                 `/


[1] https://lore.kernel.org/all/20260429141815.827157-1-smostafa@google.com/

Thanks,
Mostafa

> 
> with best regards
> 
> Jens
> 
>
Re: [PATCH 0/7] arm64: dts: qcom: IdeaCentre Mini 01Q8X10 Hamoa + Purwa
Posted by Jens Glathe 2 weeks, 3 days ago
Hi Mostafa,

On 9/8/26 13:00, Mostafa Saleh wrote:
> On Tue, Sep 08, 2026 at 11:39:54AM +0200, Jens Glathe wrote:
>> No dependencies. But I test if i can apply to torvalds/master
> I can't apply it on Linus's tree so I used your next tag + (revert
> for the QoS broken patch I mentioned)
>
> The patches doesn't build, I added this for now:
> diff --git a/arch/arm64/boot/dts/qcom/Makefile b/arch/arm64/boot/dts/qcom/Makefile
> index 0cfbf3018a7b..d282ce5635d8 100644
> --- a/arch/arm64/boot/dts/qcom/Makefile
> +++ b/arch/arm64/boot/dts/qcom/Makefile
> @@ -173,7 +173,6 @@ dtb-$(CONFIG_ARCH_QCOM)     += purwa-iot-evk.dtb
>   purwa-lenovo-ideacentre-mini-01q8x10-el2-dtbs := purwa-lenovo-ideacentre-mini-01q8x10.dtb x1-el2.dtbo
>   dtb-$(CONFIG_ARCH_QCOM)        += purwa-lenovo-ideacentre-mini-01q8x10.dtb purwa-lenovo-ideacentre-mini-01q8x10-el2.dtb
>
> -dtb-$(CONFIG_ARCH_QCOM)        += purwa-iot-evk-el2.dtb
>   dtb-$(CONFIG_ARCH_QCOM)        += qcm6490-fairphone-fp5.dtb
>   dtb-$(CONFIG_ARCH_QCOM)        += qcm6490-idp.dtb
>   dtb-$(CONFIG_ARCH_QCOM)        += qcm6490-particle-tachyon.dtb

Yes that's true. Will be fixed in V2.

> I can't boot in EL2 (with purwa-lenovo-ideacentre-mini-01q8x10-el2.dtb):
> [    0.000000] Booting Linux on physical CPU 0x0000000000 [0x512f0011]
> [    0.000000] Linux version 7.3.0-rc1-next-20260904-g505bc4a244a7-dirty (smostafa@mostafa1.c.googlers.com) (Debian clang version 21.1.8 (3), Debian LLD 21.1.8) #2 SMP
> PREEMPT Tue Sep  8 10:10:35 UTC 2026
> [    0.000000] KASLR enabled
> [    0.000000] Machine model: Lenovo IdeaCentre Mini 01Q8X10 (Purwa)
> [    0.000000] earlycon: qcom_geni0 MMIO:0x0000000000894000 (options '')
> [    0.000000] printk: legacy bootconsole [qcom_geni0] enabled
> [    0.000000] CPU features: SYS_ID_AA64MMFR0_EL1[63:60]: forced to 1
> [    0.000000] arch_timer: [Firmware Bug]: VHE-capable CPU without EL2 virtual timer interrupt
> [    0.191075] qcom_scm firmware:scm: qseecom: scm call failed with error -22
> [    0.198139] qcom_qseecom qcom_qseecom: probe with driver qcom_qseecom failed with error -22
> [    0.227426] arm-smmu 15000000.iommu: Unhandled context fault: fsr=0x402, iova=0x86cd79c0, fsynr=0x400010, cbfrsynra=0x1000, cb=4
> [    0.291862] arm-smmu 15000000.iommu: FSR    = 00000402 [Format=2 TF], SID=0x1000
> [    0.299508] arm-smmu 15000000.iommu: FSYNR0 = 00400010 [S1CBNDX=64 WNR PLVL=0]
> [    0.307018] arm-smmu 15000000.iommu: Unhandled context fault: fsr=0x402, iova=0x86b020c0, fsynr=0x400040, cbfrsynra=0x1000, cb=4
> [    0.318879] arm-smmu 15000000.iommu: FSR    = 00000402 [Format=2 TF], SID=0x1000
> [    0.326462] arm-smmu 15000000.iommu: FSYNR0 = 00400040 [S1CBNDX=64 IND PLVL=0]
> [    0.333884] arm-smmu 15000000.iommu: Unhandled context fault: fsr=0x402, iova=0x86b020c0, fsynr=0x400040, cbfrsynra=0x1000, cb=4
> [a lot more of SMMU errors]

Well that's true, too. I prepared but never sent a patch for the EL2 PAS 
use case.

https://github.com/jglathe/linux_ms_dev_kit/tree/b4/x1-el2-unfuck

My mini-x is up on EL2, too.

> And with in EL1 (with purwa-lenovo-ideacentre-mini-01q8x10.dtb)
> [    0.000000] Booting Linux on physical CPU 0x0000000000 [0x512f0011]
> [    0.000000] Linux version 7.3.0-rc1-next-20260904-g505bc4a244a7-dirty (smostafa@mostafa1.c.googlers.com) (Debian clang version 21.1.8 (3), Debian LLD 21.1.8) #2 SMP
> PREEMPT Tue Sep  8 10:10:35 UTC 2026
> [    0.000000] KASLR enabled
> [    0.000000] Machine model: Lenovo IdeaCentre Mini 01Q8X10 (Purwa)
> [    0.000000] earlycon: qcom_geni0 MMIO:0x0000000000894000 (options '')
> [    0.000000] printk: legacy bootconsole [qcom_geni0] enabled
> [    0.000000] CPU features: SYS_ID_AA64MMFR0_EL1[63:60]: forced to 1
> [    0.000000] ITS@0x0000000017040000: Devices Table too large, reduce ids 32->19
> [    0.000000] ITS@0x0000000017040000: Devices too large, reduce ITS pages 1024->256
> [    0.223762] remoteproc remoteproc0: Direct firmware load for qcom/x1p42100/LENOVO/91B6/qcadsp8380.mbn failed with error -2
> [    0.235468] remoteproc remoteproc0: Direct firmware load for qcom/x1p42100/LENOVO/91B6/qcadsp8380.mbn failed with error -2
> [    0.246800] remoteproc remoteproc0: request_firmware failed: -2
> [    0.252897] remoteproc remoteproc1: Direct firmware load for qcom/x1p42100/LENOVO/91B6/qccdsp8380.mbn failed with error -2
> [    0.261226] qcom-pcie 1bf8000.pcie: supply vdda not found, using dummy regulator
> [    0.261707] qcom-pcie 1c00000.pcie: supply vdda not found, using dummy regulator
> [    0.261729] qcom-pcie 1c00000.pcie: supply vddpe-3v3 not found, using dummy regulator
> [    0.261871] qcom-pcie 1c08000.pcie: supply vdda not found, using dummy regulator
> [    0.261889] qcom-pcie 1c08000.pcie: supply vddpe-3v3 not found, using dummy regulator
> [    0.279415] remoteproc remoteproc1: Direct firmware load for qcom/x1p42100/LENOVO/91B6/qccdsp8380.mbn failed with error -2
> [    0.295042] remoteproc remoteproc1: request_firmware failed: -2
> [    0.332189] qcom_pmic_glink pmic-glink: Failed to create device link (0x180) with supplier a600000.usb for /pmic-glink/connector@0
> [    0.346753] qcom-pcie 1c08000.pcie: supply vdda not found, using dummy regulator
> [    0.349142] ------------[ cut here ]------------
> [    0.354378] qcom-pcie 1c08000.pcie: supply vddpe-3v3 not found, using dummy regulator
> [    0.359106] disp_cc_mdss_dptx1_link_clk_src: rcg didn't update its configuration.
> [    0.367176] WARNING: drivers/clk/qcom/clk-rcg2.c:136 at update_config+0xd4/0xe8, CPU#2: kworker/u33:0/56
> [    0.384583] Modules linked in:
> [    0.387723] CPU: 2 UID: 0 PID: 56 Comm: kworker/u33:0 Not tainted 7.3.0-rc1-next-20260904-g505bc4a244a7-dirty #2 PREEMPT
> [    0.398963] Hardware name: LENOVO 91B6CTO1WW/3796, BIOS O6NKT3BA 05/02/2025
> [    0.406111] Workqueue: events_unbound deferred_probe_work_func
> [    0.412095] pstate: 61400005 (nZCv daif +PAN -UAO -TCO +DIT -SSBS BTYPE=--)
> [    0.419240] pc : update_config+0xd4/0xe8
> [    0.423267] lr : update_config+0xd0/0xe8
> [    0.427295] sp : ffff80008027b980
> [    0.430703] x29: ffff80008027b990 x28: ffff000802f813c0 x27: ffffc1572aad6000
> [    0.438024] x26: ffffc1572a4df03f x25: ffffc1572a639ff6 x24: ffffc1572a61b412
> [    0.438026] x23: 0000000000000000 x22: 0000000000000002 x21: 0000000000000001
> [    0.438028] x20: ffffc1572a4bb085 x19: ffffc1572acfc020 x18: 0000000000000000
> [    0.459979] x17: 0000000006af4b93 x16: 0000000000000094 x15: 0000000000100000
> [    0.467302] x14: 00000000000066a7 x13: 000000000199e0a9 x12: 00000000000000a5
> [    0.474624] x11: 00000000000000c0 x10: 0cf36ad3ab101c53 x9 : a7b4a80d3a726d00
> [    0.481946] x8 : a7b4a80d3a726d00 x7 : 0000000000000000 x6 : 000000000000003f
> [    0.489268] x5 : 0000000000000040 x4 : 0000000000000000 x3 : 0000000000000001
> [    0.496588] x2 : 0000000000100000 x1 : ffff000800c8b000 x0 : 00000000fffffff0
> [    0.503913] Call trace:
> [    0.506433]  update_config+0xd4/0xe8 (P)
> [    0.510464]  clk_rcg2_set_parent+0x58/0x68
> [    0.514666]  __clk_set_parent+0x50/0x214
> [    0.518696]  clk_core_set_parent_nolock+0xe8/0x1b4
> [    0.523611]  clk_set_parent+0xa4/0x13c
> [    0.527458]  of_clk_set_defaults+0x2f0/0x644
> [    0.531847]  platform_probe+0x38/0x9c
> [Many more of those also]

This sounds odd. I have tested all three possible DP outs (just to make 
sure, added a real DP cable to a display and have screen on 2 displays) 
and it boots well here. No dptx_ errors. Although, with both displays in 
(HDMI, DP) the box doesn't want to boot... like, even start the uefi 
boot entry. But that's a different and non-Linux issue. Add a third 
type-c display and it boots again and all three displays come up.

jglathe@mini-x-jg:~$ fastfetch
                              ....              jglathe@mini-x-jg
               .',:clooo:  .:looooo:.           -----------------
            .;looooooooc  .oooooooooo'          OS: Ubuntu 26.04.1 LTS 
(Resolute Raccoon) aarch64
         .;looooool:,''.  :ooooooooooc          Host: 91B6001CUK 
(IdeaCentre Mini 01Q8X10)
        ;looool;.         'oooooooooo,          Kernel: Linux 
7.1.12-jg-0-qcom-x1e
       ;clool'             .cooooooc.  ,,       Uptime: 12 mins
          ...                ......  .:oo,      Packages: 2198 (dpkg), 
12 (snap)
   .;clol:,.                        .loooo'     Shell: bash 5.3.9
  :ooooooooo,                        'ooool     Display (LG Electronics 
23"): 1920x1080 in 23", 60 Hz [External] *
'ooooooooooo.                        loooo.    Display (PL2792QN): 
2560x1440 in 27", 60 Hz [External]
'ooooooooool                         coooo.    Display (Type-c): 
3840x2160 @ 2x in 15", 60 Hz [External]
  ,loooooooc.                        .loooo.    DE: GNOME 50.1
    .,;;;'.                          ;ooooc     WM: Mutter (Wayland)
        ...                         ,ooool.     WM Theme: Adwaita
     .cooooc.              ..',,'.  .cooo.      Theme: Adwaita [GTK2/3/4]
       ;ooooo:.           ;oooooooc.  :l.       Icons: Yaru [GTK2/3/4]
        .coooooc,..      coooooooooo.           Font: Adwaita Sans 
(11pt) [GTK2/3/4]
          .:ooooooolc:. .ooooooooooo'           Cursor: Adwaita (24px)
            .':loooooo;  ,oooooooooc            Terminal: /dev/pts/2
                ..';::c'  .;loooo:'             CPU: Qualcomm Snapdragon 
X Elite 1E80100 (8) @ 2.96 GHz
                                                GPU: Qualcomm Adreno 
X1-45 [Integrated]
                                                Memory: 3.08 GiB / 30.72 
GiB (10%)
                                                Swap: 0 B / 8.00 GiB (0%)
                                                Disk (/): 58.09 GiB / 
255.62 GiB (23%) - ext4
                                                Disk (/minipool): 128.00 
KiB / 1.71 TiB (0%) - zfs
                                                Local IP (br0): 
192.168.0.58/24
                                                Locale: en_US.UTF-8

> However, booting with the hacked device tree I am using [1]:
[...]
> [1] https://lore.kernel.org/all/20260429141815.827157-1-smostafa@google.com/
>
I briefly compared the device trees. Quite some differences :) I will go 
to the ToT and see if mine boots up then.

with best regards

Jens
Re: [PATCH 0/7] arm64: dts: qcom: IdeaCentre Mini 01Q8X10 Hamoa + Purwa
Posted by Mostafa Saleh 2 weeks, 3 days ago
On Tue, Sep 08, 2026 at 02:00:45PM +0200, Jens Glathe wrote:
> Hi Mostafa,
> 
> On 9/8/26 13:00, Mostafa Saleh wrote:
> > On Tue, Sep 08, 2026 at 11:39:54AM +0200, Jens Glathe wrote:
> > > No dependencies. But I test if i can apply to torvalds/master
> > I can't apply it on Linus's tree so I used your next tag + (revert
> > for the QoS broken patch I mentioned)
> > 
> > The patches doesn't build, I added this for now:
> > diff --git a/arch/arm64/boot/dts/qcom/Makefile b/arch/arm64/boot/dts/qcom/Makefile
> > index 0cfbf3018a7b..d282ce5635d8 100644
> > --- a/arch/arm64/boot/dts/qcom/Makefile
> > +++ b/arch/arm64/boot/dts/qcom/Makefile
> > @@ -173,7 +173,6 @@ dtb-$(CONFIG_ARCH_QCOM)     += purwa-iot-evk.dtb
> >   purwa-lenovo-ideacentre-mini-01q8x10-el2-dtbs := purwa-lenovo-ideacentre-mini-01q8x10.dtb x1-el2.dtbo
> >   dtb-$(CONFIG_ARCH_QCOM)        += purwa-lenovo-ideacentre-mini-01q8x10.dtb purwa-lenovo-ideacentre-mini-01q8x10-el2.dtb
> > 
> > -dtb-$(CONFIG_ARCH_QCOM)        += purwa-iot-evk-el2.dtb
> >   dtb-$(CONFIG_ARCH_QCOM)        += qcm6490-fairphone-fp5.dtb
> >   dtb-$(CONFIG_ARCH_QCOM)        += qcm6490-idp.dtb
> >   dtb-$(CONFIG_ARCH_QCOM)        += qcm6490-particle-tachyon.dtb
> 
> Yes that's true. Will be fixed in V2.
> 
> > I can't boot in EL2 (with purwa-lenovo-ideacentre-mini-01q8x10-el2.dtb):
> > [    0.000000] Booting Linux on physical CPU 0x0000000000 [0x512f0011]
> > [    0.000000] Linux version 7.3.0-rc1-next-20260904-g505bc4a244a7-dirty (smostafa@mostafa1.c.googlers.com) (Debian clang version 21.1.8 (3), Debian LLD 21.1.8) #2 SMP
> > PREEMPT Tue Sep  8 10:10:35 UTC 2026
> > [    0.000000] KASLR enabled
> > [    0.000000] Machine model: Lenovo IdeaCentre Mini 01Q8X10 (Purwa)
> > [    0.000000] earlycon: qcom_geni0 MMIO:0x0000000000894000 (options '')
> > [    0.000000] printk: legacy bootconsole [qcom_geni0] enabled
> > [    0.000000] CPU features: SYS_ID_AA64MMFR0_EL1[63:60]: forced to 1
> > [    0.000000] arch_timer: [Firmware Bug]: VHE-capable CPU without EL2 virtual timer interrupt
> > [    0.191075] qcom_scm firmware:scm: qseecom: scm call failed with error -22
> > [    0.198139] qcom_qseecom qcom_qseecom: probe with driver qcom_qseecom failed with error -22
> > [    0.227426] arm-smmu 15000000.iommu: Unhandled context fault: fsr=0x402, iova=0x86cd79c0, fsynr=0x400010, cbfrsynra=0x1000, cb=4
> > [    0.291862] arm-smmu 15000000.iommu: FSR    = 00000402 [Format=2 TF], SID=0x1000
> > [    0.299508] arm-smmu 15000000.iommu: FSYNR0 = 00400010 [S1CBNDX=64 WNR PLVL=0]
> > [    0.307018] arm-smmu 15000000.iommu: Unhandled context fault: fsr=0x402, iova=0x86b020c0, fsynr=0x400040, cbfrsynra=0x1000, cb=4
> > [    0.318879] arm-smmu 15000000.iommu: FSR    = 00000402 [Format=2 TF], SID=0x1000
> > [    0.326462] arm-smmu 15000000.iommu: FSYNR0 = 00400040 [S1CBNDX=64 IND PLVL=0]
> > [    0.333884] arm-smmu 15000000.iommu: Unhandled context fault: fsr=0x402, iova=0x86b020c0, fsynr=0x400040, cbfrsynra=0x1000, cb=4
> > [a lot more of SMMU errors]
> 
> Well that's true, too. I prepared but never sent a patch for the EL2 PAS use
> case.
> 
> https://github.com/jglathe/linux_ms_dev_kit/tree/b4/x1-el2-unfuck
> 
> My mini-x is up on EL2, too.
> 
> > And with in EL1 (with purwa-lenovo-ideacentre-mini-01q8x10.dtb)
> > [    0.000000] Booting Linux on physical CPU 0x0000000000 [0x512f0011]
> > [    0.000000] Linux version 7.3.0-rc1-next-20260904-g505bc4a244a7-dirty (smostafa@mostafa1.c.googlers.com) (Debian clang version 21.1.8 (3), Debian LLD 21.1.8) #2 SMP
> > PREEMPT Tue Sep  8 10:10:35 UTC 2026
> > [    0.000000] KASLR enabled
> > [    0.000000] Machine model: Lenovo IdeaCentre Mini 01Q8X10 (Purwa)
> > [    0.000000] earlycon: qcom_geni0 MMIO:0x0000000000894000 (options '')
> > [    0.000000] printk: legacy bootconsole [qcom_geni0] enabled
> > [    0.000000] CPU features: SYS_ID_AA64MMFR0_EL1[63:60]: forced to 1
> > [    0.000000] ITS@0x0000000017040000: Devices Table too large, reduce ids 32->19
> > [    0.000000] ITS@0x0000000017040000: Devices too large, reduce ITS pages 1024->256
> > [    0.223762] remoteproc remoteproc0: Direct firmware load for qcom/x1p42100/LENOVO/91B6/qcadsp8380.mbn failed with error -2
> > [    0.235468] remoteproc remoteproc0: Direct firmware load for qcom/x1p42100/LENOVO/91B6/qcadsp8380.mbn failed with error -2
> > [    0.246800] remoteproc remoteproc0: request_firmware failed: -2
> > [    0.252897] remoteproc remoteproc1: Direct firmware load for qcom/x1p42100/LENOVO/91B6/qccdsp8380.mbn failed with error -2
> > [    0.261226] qcom-pcie 1bf8000.pcie: supply vdda not found, using dummy regulator
> > [    0.261707] qcom-pcie 1c00000.pcie: supply vdda not found, using dummy regulator
> > [    0.261729] qcom-pcie 1c00000.pcie: supply vddpe-3v3 not found, using dummy regulator
> > [    0.261871] qcom-pcie 1c08000.pcie: supply vdda not found, using dummy regulator
> > [    0.261889] qcom-pcie 1c08000.pcie: supply vddpe-3v3 not found, using dummy regulator
> > [    0.279415] remoteproc remoteproc1: Direct firmware load for qcom/x1p42100/LENOVO/91B6/qccdsp8380.mbn failed with error -2
> > [    0.295042] remoteproc remoteproc1: request_firmware failed: -2
> > [    0.332189] qcom_pmic_glink pmic-glink: Failed to create device link (0x180) with supplier a600000.usb for /pmic-glink/connector@0
> > [    0.346753] qcom-pcie 1c08000.pcie: supply vdda not found, using dummy regulator
> > [    0.349142] ------------[ cut here ]------------
> > [    0.354378] qcom-pcie 1c08000.pcie: supply vddpe-3v3 not found, using dummy regulator
> > [    0.359106] disp_cc_mdss_dptx1_link_clk_src: rcg didn't update its configuration.
> > [    0.367176] WARNING: drivers/clk/qcom/clk-rcg2.c:136 at update_config+0xd4/0xe8, CPU#2: kworker/u33:0/56
> > [    0.384583] Modules linked in:
> > [    0.387723] CPU: 2 UID: 0 PID: 56 Comm: kworker/u33:0 Not tainted 7.3.0-rc1-next-20260904-g505bc4a244a7-dirty #2 PREEMPT
> > [    0.398963] Hardware name: LENOVO 91B6CTO1WW/3796, BIOS O6NKT3BA 05/02/2025
> > [    0.406111] Workqueue: events_unbound deferred_probe_work_func
> > [    0.412095] pstate: 61400005 (nZCv daif +PAN -UAO -TCO +DIT -SSBS BTYPE=--)
> > [    0.419240] pc : update_config+0xd4/0xe8
> > [    0.423267] lr : update_config+0xd0/0xe8
> > [    0.427295] sp : ffff80008027b980
> > [    0.430703] x29: ffff80008027b990 x28: ffff000802f813c0 x27: ffffc1572aad6000
> > [    0.438024] x26: ffffc1572a4df03f x25: ffffc1572a639ff6 x24: ffffc1572a61b412
> > [    0.438026] x23: 0000000000000000 x22: 0000000000000002 x21: 0000000000000001
> > [    0.438028] x20: ffffc1572a4bb085 x19: ffffc1572acfc020 x18: 0000000000000000
> > [    0.459979] x17: 0000000006af4b93 x16: 0000000000000094 x15: 0000000000100000
> > [    0.467302] x14: 00000000000066a7 x13: 000000000199e0a9 x12: 00000000000000a5
> > [    0.474624] x11: 00000000000000c0 x10: 0cf36ad3ab101c53 x9 : a7b4a80d3a726d00
> > [    0.481946] x8 : a7b4a80d3a726d00 x7 : 0000000000000000 x6 : 000000000000003f
> > [    0.489268] x5 : 0000000000000040 x4 : 0000000000000000 x3 : 0000000000000001
> > [    0.496588] x2 : 0000000000100000 x1 : ffff000800c8b000 x0 : 00000000fffffff0
> > [    0.503913] Call trace:
> > [    0.506433]  update_config+0xd4/0xe8 (P)
> > [    0.510464]  clk_rcg2_set_parent+0x58/0x68
> > [    0.514666]  __clk_set_parent+0x50/0x214
> > [    0.518696]  clk_core_set_parent_nolock+0xe8/0x1b4
> > [    0.523611]  clk_set_parent+0xa4/0x13c
> > [    0.527458]  of_clk_set_defaults+0x2f0/0x644
> > [    0.531847]  platform_probe+0x38/0x9c
> > [Many more of those also]
> 
> This sounds odd. I have tested all three possible DP outs (just to make
> sure, added a real DP cable to a display and have screen on 2 displays) and
> it boots well here. No dptx_ errors. Although, with both displays in (HDMI,
> DP) the box doesn't want to boot... like, even start the uefi boot entry.
> But that's a different and non-Linux issue. Add a third type-c display and
> it boots again and all three displays come up.

I don't have a display connected (never managed/bothered to enable it).

Can you please share your .config, I can test with it, just to eliminate
the possibility it's causing the issue.

Thanks,
Mostafa

> 
> jglathe@mini-x-jg:~$ fastfetch
>                              ....              jglathe@mini-x-jg
>               .',:clooo:  .:looooo:.           -----------------
>            .;looooooooc  .oooooooooo'          OS: Ubuntu 26.04.1 LTS
> (Resolute Raccoon) aarch64
>         .;looooool:,''.  :ooooooooooc          Host: 91B6001CUK (IdeaCentre
> Mini 01Q8X10)
>        ;looool;.         'oooooooooo,          Kernel: Linux
> 7.1.12-jg-0-qcom-x1e
>       ;clool'             .cooooooc.  ,,       Uptime: 12 mins
>          ...                ......  .:oo,      Packages: 2198 (dpkg), 12
> (snap)
>   .;clol:,.                        .loooo'     Shell: bash 5.3.9
>  :ooooooooo,                        'ooool     Display (LG Electronics 23"):
> 1920x1080 in 23", 60 Hz [External] *
> 'ooooooooooo.                        loooo.    Display (PL2792QN): 2560x1440
> in 27", 60 Hz [External]
> 'ooooooooool                         coooo.    Display (Type-c): 3840x2160 @
> 2x in 15", 60 Hz [External]
>  ,loooooooc.                        .loooo.    DE: GNOME 50.1
>    .,;;;'.                          ;ooooc     WM: Mutter (Wayland)
>        ...                         ,ooool.     WM Theme: Adwaita
>     .cooooc.              ..',,'.  .cooo.      Theme: Adwaita [GTK2/3/4]
>       ;ooooo:.           ;oooooooc.  :l.       Icons: Yaru [GTK2/3/4]
>        .coooooc,..      coooooooooo.           Font: Adwaita Sans (11pt)
> [GTK2/3/4]
>          .:ooooooolc:. .ooooooooooo'           Cursor: Adwaita (24px)
>            .':loooooo;  ,oooooooooc            Terminal: /dev/pts/2
>                ..';::c'  .;loooo:'             CPU: Qualcomm Snapdragon X
> Elite 1E80100 (8) @ 2.96 GHz
>                                                GPU: Qualcomm Adreno X1-45
> [Integrated]
>                                                Memory: 3.08 GiB / 30.72 GiB
> (10%)
>                                                Swap: 0 B / 8.00 GiB (0%)
>                                                Disk (/): 58.09 GiB / 255.62
> GiB (23%) - ext4
>                                                Disk (/minipool): 128.00 KiB
> / 1.71 TiB (0%) - zfs
>                                                Local IP (br0):
> 192.168.0.58/24
>                                                Locale: en_US.UTF-8
> 
> > However, booting with the hacked device tree I am using [1]:
> [...]
> > [1] https://lore.kernel.org/all/20260429141815.827157-1-smostafa@google.com/
> > 
> I briefly compared the device trees. Quite some differences :) I will go to
> the ToT and see if mine boots up then.
> 
> with best regards
> 
> Jens
> 
> 
Re: [PATCH 0/7] arm64: dts: qcom: IdeaCentre Mini 01Q8X10 Hamoa + Purwa
Posted by Jens Glathe 2 weeks, 3 days ago
Hi Mostafa,

On 9/8/26 14:09, Mostafa Saleh wrote:
> I don't have a display connected (never managed/bothered to enable it).
>
> Can you please share your .config, I can test with it, just to eliminate
> the possibility it's causing the issue.
>
> Thanks,
> Mostafa

This is my .config [1].

[1]: https://pastebin.com/QhDizqCB

with best regards

Jens
Re: [PATCH 0/7] arm64: dts: qcom: IdeaCentre Mini 01Q8X10 Hamoa + Purwa
Posted by Mostafa Saleh 2 weeks, 3 days ago
On Tue, Sep 08, 2026 at 05:04:44PM +0200, Jens Glathe wrote:
> Hi Mostafa,
> 
> On 9/8/26 14:09, Mostafa Saleh wrote:
> > I don't have a display connected (never managed/bothered to enable it).
> > 
> > Can you please share your .config, I can test with it, just to eliminate
> > the possibility it's causing the issue.
> > 
> > Thanks,
> > Mostafa
> 
> This is my .config [1].
> 
> [1]: https://pastebin.com/QhDizqCB

Thanks! I tested with your config plus
- CONFIG_EFI_ARMSTUB_DTB_LOADER=y otherwise I can't load my device
  tree from UEFI shell
- CONFIG_SERIAL_QCOM_GENI=y, otherwise I can't see the console.

Booting in EL2 is similar to before with SMMUv2 errors.

Booting in EL1 hangs with timeouts and missing suppliers:
[    0.000000] Booting Linux on physical CPU 0x0000000000 [0x512f0011]
[    0.000000] Linux version 7.3.0-rc1-next-20260904+ (smostafa@mostafa1.c.googlers.com) (Debian clang version 21.1.8 (3), Debian LLD 21.1.8) #2 SMP PREEMPT_DYNAMIC Tu6
[    0.000000] KASLR enabled
[    0.000000] Machine model: Lenovo IdeaCentre Mini 01Q8X10 (Purwa)
[    0.000000] earlycon: qcom_geni0 MMIO:0x0000000000894000 (options '')
[    0.000000] printk: legacy bootconsole [qcom_geni0] enabled
[    0.000000] CPU features: SYS_ID_AA64MMFR0_EL1[63:60]: forced to 1
[    0.000000] ITS@0x0000000017040000: Devices Table too large, reduce ids 32->19
[    0.000000] ITS@0x0000000017040000: Devices too large, reduce ITS pages 1024->256
[    0.163152] qcom-pcie 1c00000.pcie: supply vdda not found, using dummy regulator
[    0.163313] qcom-pcie 1c08000.pcie: supply vdda not found, using dummy regulator
[    0.168334] clk: Not disabling unused clocks
[    0.168336] PM: genpd: Not disabling unused power domains
[    0.170770] qcom-pcie 1c00000.pcie: supply vddpe-3v3 not found, using dummy regulator
[    0.178347] qcom-pcie 1c08000.pcie: supply vddpe-3v3 not found, using dummy regulator
[    0.184718] qcom-pcie 1c00000.pcie: supply vdda not found, using dummy regulator
[    0.211932] Warning: unable to open an initial console.
[    0.212057] qcom-pcie 1c00000.pcie: supply vddpe-3v3 not found, using dummy regulator
[    0.213907] qcom-pcie 1c08000.pcie: supply vdda not found, using dummy regulator
[    0.213928] qcom-pcie 1c08000.pcie: supply vddpe-3v3 not found, using dummy regulator
[    0.244210] qcom-pcie 1c08000.pcie: supply vdda not found, using dummy regulator
[    0.244275] qcom-pcie 1c00000.pcie: supply vdda not found, using dummy regulator
[    0.251833] qcom-pcie 1c08000.pcie: supply vddpe-3v3 not found, using dummy regulator
[    0.259418] qcom-pcie 1c00000.pcie: supply vddpe-3v3 not found, using dummy regulator
[   10.213618] qcom-pcie 1bf8000.pcie: supply vdda not found, using dummy regulator
[   10.214873] arm-smmu 3da0000.iommu: deferred probe timeout, ignoring dependency
[   10.228713] arm-smmu 3da0000.iommu: probe with driver arm-smmu failed with error -110

With that config my device tree doesn't boot also and hangs similar
to above.

I believe we are testing on different SoCs from your fastfetch:
CPU: Qualcomm Snapdragon X Elite 1E80100 (8) @ 2.96 GHz

While mine:
CPU: Qualcomm Snapdragon X Elite 1P42100 (8) @ 2.96 GHz

I enabled CONFIG_QCOM_SOCINFO which shows:
[root@alarm ~]# cat /sys/devices/soc0/soc_id
635 # which does not exist in qcom,ids.h
[root@alarm ~]# cat /sys/devices/soc0/revision
1.0

Thanks,
Mostafa

> 
> with best regards
> 
> Jens
>
Re: [PATCH 0/7] arm64: dts: qcom: IdeaCentre Mini 01Q8X10 Hamoa + Purwa
Posted by Konrad Dybcio 2 weeks, 2 days ago
On 9/8/26 7:47 PM, Mostafa Saleh wrote:
> On Tue, Sep 08, 2026 at 05:04:44PM +0200, Jens Glathe wrote:
>> Hi Mostafa,
>>
>> On 9/8/26 14:09, Mostafa Saleh wrote:
>>> I don't have a display connected (never managed/bothered to enable it).
>>>
>>> Can you please share your .config, I can test with it, just to eliminate
>>> the possibility it's causing the issue.

[...]

> Booting in EL1 hangs with timeouts and missing suppliers:
> [    0.000000] Booting Linux on physical CPU 0x0000000000 [0x512f0011]
> [    0.000000] Linux version 7.3.0-rc1-next-20260904+ (smostafa@mostafa1.c.googlers.com) (Debian clang version 21.1.8 (3), Debian LLD 21.1.8) #2 SMP PREEMPT_DYNAMIC Tu6
> [    0.000000] KASLR enabled
> [    0.000000] Machine model: Lenovo IdeaCentre Mini 01Q8X10 (Purwa)
> [    0.000000] earlycon: qcom_geni0 MMIO:0x0000000000894000 (options '')
> [    0.000000] printk: legacy bootconsole [qcom_geni0] enabled
> [    0.000000] CPU features: SYS_ID_AA64MMFR0_EL1[63:60]: forced to 1
> [    0.000000] ITS@0x0000000017040000: Devices Table too large, reduce ids 32->19
> [    0.000000] ITS@0x0000000017040000: Devices too large, reduce ITS pages 1024->256
> [    0.163152] qcom-pcie 1c00000.pcie: supply vdda not found, using dummy regulator
> [    0.163313] qcom-pcie 1c08000.pcie: supply vdda not found, using dummy regulator
> [    0.168334] clk: Not disabling unused clocks
> [    0.168336] PM: genpd: Not disabling unused power domains
> [    0.170770] qcom-pcie 1c00000.pcie: supply vddpe-3v3 not found, using dummy regulator
> [    0.178347] qcom-pcie 1c08000.pcie: supply vddpe-3v3 not found, using dummy regulator
> [    0.184718] qcom-pcie 1c00000.pcie: supply vdda not found, using dummy regulator
> [    0.211932] Warning: unable to open an initial console.
> [    0.212057] qcom-pcie 1c00000.pcie: supply vddpe-3v3 not found, using dummy regulator
> [    0.213907] qcom-pcie 1c08000.pcie: supply vdda not found, using dummy regulator
> [    0.213928] qcom-pcie 1c08000.pcie: supply vddpe-3v3 not found, using dummy regulator
> [    0.244210] qcom-pcie 1c08000.pcie: supply vdda not found, using dummy regulator
> [    0.244275] qcom-pcie 1c00000.pcie: supply vdda not found, using dummy regulator
> [    0.251833] qcom-pcie 1c08000.pcie: supply vddpe-3v3 not found, using dummy regulator
> [    0.259418] qcom-pcie 1c00000.pcie: supply vddpe-3v3 not found, using dummy regulator
> [   10.213618] qcom-pcie 1bf8000.pcie: supply vdda not found, using dummy regulator
> [   10.214873] arm-smmu 3da0000.iommu: deferred probe timeout, ignoring dependency
> [   10.228713] arm-smmu 3da0000.iommu: probe with driver arm-smmu failed with error -110

If I had to take a guess, your initramfs it missing some(many?) modules

Konrad
Re: [PATCH 0/7] arm64: dts: qcom: IdeaCentre Mini 01Q8X10 Hamoa + Purwa
Posted by Mostafa Saleh 2 weeks, 2 days ago
On Wed, Sep 09, 2026 at 01:31:53PM +0200, Konrad Dybcio wrote:
> On 9/8/26 7:47 PM, Mostafa Saleh wrote:
> > On Tue, Sep 08, 2026 at 05:04:44PM +0200, Jens Glathe wrote:
> >> Hi Mostafa,
> >>
> >> On 9/8/26 14:09, Mostafa Saleh wrote:
> >>> I don't have a display connected (never managed/bothered to enable it).
> >>>
> >>> Can you please share your .config, I can test with it, just to eliminate
> >>> the possibility it's causing the issue.
> 
> [...]
> 
> > Booting in EL1 hangs with timeouts and missing suppliers:
> > [    0.000000] Booting Linux on physical CPU 0x0000000000 [0x512f0011]
> > [    0.000000] Linux version 7.3.0-rc1-next-20260904+ (smostafa@mostafa1.c.googlers.com) (Debian clang version 21.1.8 (3), Debian LLD 21.1.8) #2 SMP PREEMPT_DYNAMIC Tu6
> > [    0.000000] KASLR enabled
> > [    0.000000] Machine model: Lenovo IdeaCentre Mini 01Q8X10 (Purwa)
> > [    0.000000] earlycon: qcom_geni0 MMIO:0x0000000000894000 (options '')
> > [    0.000000] printk: legacy bootconsole [qcom_geni0] enabled
> > [    0.000000] CPU features: SYS_ID_AA64MMFR0_EL1[63:60]: forced to 1
> > [    0.000000] ITS@0x0000000017040000: Devices Table too large, reduce ids 32->19
> > [    0.000000] ITS@0x0000000017040000: Devices too large, reduce ITS pages 1024->256
> > [    0.163152] qcom-pcie 1c00000.pcie: supply vdda not found, using dummy regulator
> > [    0.163313] qcom-pcie 1c08000.pcie: supply vdda not found, using dummy regulator
> > [    0.168334] clk: Not disabling unused clocks
> > [    0.168336] PM: genpd: Not disabling unused power domains
> > [    0.170770] qcom-pcie 1c00000.pcie: supply vddpe-3v3 not found, using dummy regulator
> > [    0.178347] qcom-pcie 1c08000.pcie: supply vddpe-3v3 not found, using dummy regulator
> > [    0.184718] qcom-pcie 1c00000.pcie: supply vdda not found, using dummy regulator
> > [    0.211932] Warning: unable to open an initial console.
> > [    0.212057] qcom-pcie 1c00000.pcie: supply vddpe-3v3 not found, using dummy regulator
> > [    0.213907] qcom-pcie 1c08000.pcie: supply vdda not found, using dummy regulator
> > [    0.213928] qcom-pcie 1c08000.pcie: supply vddpe-3v3 not found, using dummy regulator
> > [    0.244210] qcom-pcie 1c08000.pcie: supply vdda not found, using dummy regulator
> > [    0.244275] qcom-pcie 1c00000.pcie: supply vdda not found, using dummy regulator
> > [    0.251833] qcom-pcie 1c08000.pcie: supply vddpe-3v3 not found, using dummy regulator
> > [    0.259418] qcom-pcie 1c00000.pcie: supply vddpe-3v3 not found, using dummy regulator
> > [   10.213618] qcom-pcie 1bf8000.pcie: supply vdda not found, using dummy regulator
> > [   10.214873] arm-smmu 3da0000.iommu: deferred probe timeout, ignoring dependency
> > [   10.228713] arm-smmu 3da0000.iommu: probe with driver arm-smmu failed with error -110
> 
> If I had to take a guess, your initramfs it missing some(many?) modules

I am not using initramfs or modules, everything is builtin in my config,
so re-using the .config will not work, but I'd expect that just using
the device tree with my setup should work, I am currently investigating
that and will post an update soon.

Thanks,
Mostafa

> 
> Konrad
Re: [PATCH 0/7] arm64: dts: qcom: IdeaCentre Mini 01Q8X10 Hamoa + Purwa
Posted by Krzysztof Kozlowski 2 weeks, 3 days ago
On 08/09/2026 11:03, Mostafa Saleh wrote:
> Hi Jens,
> 
> On Sat, Sep 05, 2026 at 11:28:55AM +0200, Jens Glathe via B4 Relay wrote:
>> The IdeaCentre Mini 01Q8X10 (board 91B6) ships with two SoCs: Hamoa
>> (X1E80100), already upstream, and Purwa (X1P42100 / X1-26-100). Same
>> chassis, different silicon. Stubble and the DTB loader need distinct
>> compatibles.
>>
>> This series splits the board description into
>> x1-lenovo-ideacentre-mini-01q8x10.dtsi and adds thin leaves. Each SKU
>> keeps lenovo,ideacentre-mini-01q8x10 as fallback:
>>
>>   lenovo,hamoa-ideacentre-mini-01q8x10, lenovo,ideacentre-mini-01q8x10,
>>   qcom,x1e80100
>>
>>   lenovo,purwa-ideacentre-mini-01q8x10, lenovo,ideacentre-mini-01q8x10,
>>   qcom,x1p42100
>>
>> No qcom_scm change; the fallback is already on the allowlist.
>>
>> The remaining patches fix the common DTSI for both boxes:
>>
>> - Build the Hamoa EL2 DTB like the other Hamoa boards.
>> - Second M.2 3V3 is PMC8380_3 GPIO5, not TLMM18. A 2 s startup delay
>>   is required or pcie3 fails to probe. always-on is a hack until there
>>   is a real M.2 power sequencer.
>> - sound-name-prefix on the three DP ports. Enable lpass_vamacro: no
>>   onboard mics, but it provides fsgen for tx_macro and rx_macro.
>> - usb_mp port 1 is not populated (no PTN3222 @ 0x4f). USB-C is
>>   usb_1_ss0; rear Type-A is usb_mp port 0 behind a Genesys hub.
>>
>> The Genesys hub is left undescribed.
>>
>> UCM [1] and AudioReach [2] topology for these devices are online, too.
>>
>> Tested on:
>> - IdeaCentre Mini 01Q8X10, Purwa (X1-26-100), 91B6
>> - Hamoa: compile-tested only
>>
>> [1]: https://github.com/alsa-project/alsa-ucm-conf/pull/843
>> [2]: https://github.com/linux-msm/audioreach-topology/pull/74
>>
>> Assisted-by: Grok 4.5 (xAI)
>> Signed-off-by: Jens Glathe <jens.glathe@oldschoolsolutions.biz>
>> ---
>> Jens Glathe (7):
>>       dt-bindings: arm: qcom: Distinguish IdeaCentre Mini 01Q8X10 SKUs
>>       arm64: dts: qcom: Split IdeaCentre Mini into a common DTSI
>>       arm64: dts: qcom: Add Purwa IdeaCentre Mini 01Q8X10
>>       arm64: dts: qcom: ideacentre-mini: Build the Hamoa EL2 DTB
>>       arm64: dts: qcom: ideacentre-mini: Fix the second M.2 3V3 rail
>>       arm64: dts: qcom: ideacentre-mini: Wire up DP sound names and VA macro
>>       arm64: dts: qcom: ideacentre-mini: Drop the unused USB MP port
>>
>>  Documentation/devicetree/bindings/arm/qcom.yaml    |   11 +-
>>  arch/arm64/boot/dts/qcom/Makefile                  |    8 +-
>>  .../qcom/hamoa-lenovo-ideacentre-mini-01q8x10.dts  | 1188 +-------------------
>>  .../qcom/purwa-lenovo-ideacentre-mini-01q8x10.dts  |   42 +
>>  .../qcom/x1-lenovo-ideacentre-mini-01q8x10.dtsi    | 1185 +++++++++++++++++++
>>  5 files changed, 1246 insertions(+), 1188 deletions(-)
>> ---
>> base-commit: af5f12805e5cefa4fe68d6127c7e1fb78cd5535c
> 
> This series does not apply to ToT nor I can find this base-commit
> in it.

It's a public/standard commit, next.

What is ToT in upstream development?

Best regards,
Krzysztof
Re: [PATCH 0/7] arm64: dts: qcom: IdeaCentre Mini 01Q8X10 Hamoa + Purwa
Posted by Jens Glathe 2 weeks, 3 days ago
Hi,

On 9/8/26 11:05, Krzysztof Kozlowski wrote:
> On 08/09/2026 11:03, Mostafa Saleh wrote:
>> Hi Jens,
>>
>> On Sat, Sep 05, 2026 at 11:28:55AM +0200, Jens Glathe via B4 Relay wrote:
[...]
>>> ---
>>> base-commit: af5f12805e5cefa4fe68d6127c7e1fb78cd5535c
>> This series does not apply to ToT nor I can find this base-commit
>> in it.
> It's a public/standard commit, next.
>
> What is ToT in upstream development?

Tip of Tree (of torvalds/master) would be my guess. I have used 
linux-next/2026-09-04.

with best regards

Jens
Re: [PATCH 0/7] arm64: dts: qcom: IdeaCentre Mini 01Q8X10 Hamoa + Purwa
Posted by Mostafa Saleh 2 weeks, 3 days ago
On Tue, Sep 08, 2026 at 11:05:34AM +0200, Krzysztof Kozlowski wrote:
> On 08/09/2026 11:03, Mostafa Saleh wrote:
> > Hi Jens,
> > 
> > On Sat, Sep 05, 2026 at 11:28:55AM +0200, Jens Glathe via B4 Relay wrote:
> >> The IdeaCentre Mini 01Q8X10 (board 91B6) ships with two SoCs: Hamoa
> >> (X1E80100), already upstream, and Purwa (X1P42100 / X1-26-100). Same
> >> chassis, different silicon. Stubble and the DTB loader need distinct
> >> compatibles.
> >>
> >> This series splits the board description into
> >> x1-lenovo-ideacentre-mini-01q8x10.dtsi and adds thin leaves. Each SKU
> >> keeps lenovo,ideacentre-mini-01q8x10 as fallback:
> >>
> >>   lenovo,hamoa-ideacentre-mini-01q8x10, lenovo,ideacentre-mini-01q8x10,
> >>   qcom,x1e80100
> >>
> >>   lenovo,purwa-ideacentre-mini-01q8x10, lenovo,ideacentre-mini-01q8x10,
> >>   qcom,x1p42100
> >>
> >> No qcom_scm change; the fallback is already on the allowlist.
> >>
> >> The remaining patches fix the common DTSI for both boxes:
> >>
> >> - Build the Hamoa EL2 DTB like the other Hamoa boards.
> >> - Second M.2 3V3 is PMC8380_3 GPIO5, not TLMM18. A 2 s startup delay
> >>   is required or pcie3 fails to probe. always-on is a hack until there
> >>   is a real M.2 power sequencer.
> >> - sound-name-prefix on the three DP ports. Enable lpass_vamacro: no
> >>   onboard mics, but it provides fsgen for tx_macro and rx_macro.
> >> - usb_mp port 1 is not populated (no PTN3222 @ 0x4f). USB-C is
> >>   usb_1_ss0; rear Type-A is usb_mp port 0 behind a Genesys hub.
> >>
> >> The Genesys hub is left undescribed.
> >>
> >> UCM [1] and AudioReach [2] topology for these devices are online, too.
> >>
> >> Tested on:
> >> - IdeaCentre Mini 01Q8X10, Purwa (X1-26-100), 91B6
> >> - Hamoa: compile-tested only
> >>
> >> [1]: https://github.com/alsa-project/alsa-ucm-conf/pull/843
> >> [2]: https://github.com/linux-msm/audioreach-topology/pull/74
> >>
> >> Assisted-by: Grok 4.5 (xAI)
> >> Signed-off-by: Jens Glathe <jens.glathe@oldschoolsolutions.biz>
> >> ---
> >> Jens Glathe (7):
> >>       dt-bindings: arm: qcom: Distinguish IdeaCentre Mini 01Q8X10 SKUs
> >>       arm64: dts: qcom: Split IdeaCentre Mini into a common DTSI
> >>       arm64: dts: qcom: Add Purwa IdeaCentre Mini 01Q8X10
> >>       arm64: dts: qcom: ideacentre-mini: Build the Hamoa EL2 DTB
> >>       arm64: dts: qcom: ideacentre-mini: Fix the second M.2 3V3 rail
> >>       arm64: dts: qcom: ideacentre-mini: Wire up DP sound names and VA macro
> >>       arm64: dts: qcom: ideacentre-mini: Drop the unused USB MP port
> >>
> >>  Documentation/devicetree/bindings/arm/qcom.yaml    |   11 +-
> >>  arch/arm64/boot/dts/qcom/Makefile                  |    8 +-
> >>  .../qcom/hamoa-lenovo-ideacentre-mini-01q8x10.dts  | 1188 +-------------------
> >>  .../qcom/purwa-lenovo-ideacentre-mini-01q8x10.dts  |   42 +
> >>  .../qcom/x1-lenovo-ideacentre-mini-01q8x10.dtsi    | 1185 +++++++++++++++++++
> >>  5 files changed, 1246 insertions(+), 1188 deletions(-)
> >> ---
> >> base-commit: af5f12805e5cefa4fe68d6127c7e1fb78cd5535c
> > 
> > This series does not apply to ToT nor I can find this base-commit
> > in it.
> 
> It's a public/standard commit, next.
> 
> What is ToT in upstream development?

I am using Linus's Tree:
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/log/

Thanks,
Mostafa

> 
> Best regards,
> Krzysztof
Re: [PATCH 0/7] arm64: dts: qcom: IdeaCentre Mini 01Q8X10 Hamoa + Purwa
Posted by Konrad Dybcio 2 weeks, 3 days ago
On 9/8/26 11:11 AM, Mostafa Saleh wrote:
> On Tue, Sep 08, 2026 at 11:05:34AM +0200, Krzysztof Kozlowski wrote:
>> On 08/09/2026 11:03, Mostafa Saleh wrote:
>>> Hi Jens,
>>>
>>> On Sat, Sep 05, 2026 at 11:28:55AM +0200, Jens Glathe via B4 Relay wrote:
>>>> The IdeaCentre Mini 01Q8X10 (board 91B6) ships with two SoCs: Hamoa
>>>> (X1E80100), already upstream, and Purwa (X1P42100 / X1-26-100). Same
>>>> chassis, different silicon. Stubble and the DTB loader need distinct
>>>> compatibles.

[...]

>>>> base-commit: af5f12805e5cefa4fe68d6127c7e1fb78cd5535c
>>>
>>> This series does not apply to ToT nor I can find this base-commit
>>> in it.
>>
>> It's a public/standard commit, next.
>>
>> What is ToT in upstream development?
> 
> I am using Linus's Tree:
> https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/log/

This tree contains the latest release/rc tags, linux-next is an
aggreagation of each submaintainers' branches, effectively "what is
the next release going to look like" so essentially that's where the
development happens

Konrad
Re: [PATCH 0/7] arm64: dts: qcom: IdeaCentre Mini 01Q8X10 Hamoa + Purwa
Posted by Mostafa Saleh 2 weeks, 3 days ago
On Tue, Sep 08, 2026 at 11:57:33AM +0200, Konrad Dybcio wrote:
> On 9/8/26 11:11 AM, Mostafa Saleh wrote:
> > On Tue, Sep 08, 2026 at 11:05:34AM +0200, Krzysztof Kozlowski wrote:
> >> On 08/09/2026 11:03, Mostafa Saleh wrote:
> >>> Hi Jens,
> >>>
> >>> On Sat, Sep 05, 2026 at 11:28:55AM +0200, Jens Glathe via B4 Relay wrote:
> >>>> The IdeaCentre Mini 01Q8X10 (board 91B6) ships with two SoCs: Hamoa
> >>>> (X1E80100), already upstream, and Purwa (X1P42100 / X1-26-100). Same
> >>>> chassis, different silicon. Stubble and the DTB loader need distinct
> >>>> compatibles.
> 
> [...]
> 
> >>>> base-commit: af5f12805e5cefa4fe68d6127c7e1fb78cd5535c
> >>>
> >>> This series does not apply to ToT nor I can find this base-commit
> >>> in it.
> >>
> >> It's a public/standard commit, next.
> >>
> >> What is ToT in upstream development?
> > 
> > I am using Linus's Tree:
> > https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/log/
> 
> This tree contains the latest release/rc tags, linux-next is an
> aggreagation of each submaintainers' branches, effectively "what is
> the next release going to look like" so essentially that's where the
> development happens

AFAIU, linux-next is useful to get a view of the next release. However,
it shouldn't be used for developement. It should be either Linus's tree
or the maintainer's tree (as mentioned in process/submitting-patches)

Thanks,
Mostafa

> 
> Konrad
Re: [PATCH 0/7] arm64: dts: qcom: IdeaCentre Mini 01Q8X10 Hamoa + Purwa
Posted by Bjorn Andersson 1 week, 2 days ago
On Tue, Sep 08, 2026 at 11:02:40AM +0000, Mostafa Saleh wrote:
> On Tue, Sep 08, 2026 at 11:57:33AM +0200, Konrad Dybcio wrote:
> > On 9/8/26 11:11 AM, Mostafa Saleh wrote:
> > > On Tue, Sep 08, 2026 at 11:05:34AM +0200, Krzysztof Kozlowski wrote:
> > >> On 08/09/2026 11:03, Mostafa Saleh wrote:
> > >>> Hi Jens,
> > >>>
> > >>> On Sat, Sep 05, 2026 at 11:28:55AM +0200, Jens Glathe via B4 Relay wrote:
> > >>>> The IdeaCentre Mini 01Q8X10 (board 91B6) ships with two SoCs: Hamoa
> > >>>> (X1E80100), already upstream, and Purwa (X1P42100 / X1-26-100). Same
> > >>>> chassis, different silicon. Stubble and the DTB loader need distinct
> > >>>> compatibles.
> > 
> > [...]
> > 
> > >>>> base-commit: af5f12805e5cefa4fe68d6127c7e1fb78cd5535c
> > >>>
> > >>> This series does not apply to ToT nor I can find this base-commit
> > >>> in it.
> > >>
> > >> It's a public/standard commit, next.
> > >>
> > >> What is ToT in upstream development?
> > > 
> > > I am using Linus's Tree:
> > > https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/log/
> > 
> > This tree contains the latest release/rc tags, linux-next is an
> > aggreagation of each submaintainers' branches, effectively "what is
> > the next release going to look like" so essentially that's where the
> > development happens
> 
> AFAIU, linux-next is useful to get a view of the next release.

That's exactly the reason why you should develop on linux-next, it gives
you the view of how your patches fits together with the other changes
staged for that next release - before we try to merge them.

> However,
> it shouldn't be used for developement. It should be either Linus's tree
> or the maintainer's tree (as mentioned in process/submitting-patches)
> 

Please develop and test on linux-next.

Regards,
Bjorn

> Thanks,
> Mostafa
> 
> > 
> > Konrad
Re: [PATCH 0/7] arm64: dts: qcom: IdeaCentre Mini 01Q8X10 Hamoa + Purwa
Posted by Krzysztof Kozlowski 2 weeks, 3 days ago
On 08/09/2026 13:02, Mostafa Saleh wrote:
> On Tue, Sep 08, 2026 at 11:57:33AM +0200, Konrad Dybcio wrote:
>> On 9/8/26 11:11 AM, Mostafa Saleh wrote:
>>> On Tue, Sep 08, 2026 at 11:05:34AM +0200, Krzysztof Kozlowski wrote:
>>>> On 08/09/2026 11:03, Mostafa Saleh wrote:
>>>>> Hi Jens,
>>>>>
>>>>> On Sat, Sep 05, 2026 at 11:28:55AM +0200, Jens Glathe via B4 Relay wrote:
>>>>>> The IdeaCentre Mini 01Q8X10 (board 91B6) ships with two SoCs: Hamoa
>>>>>> (X1E80100), already upstream, and Purwa (X1P42100 / X1-26-100). Same
>>>>>> chassis, different silicon. Stubble and the DTB loader need distinct
>>>>>> compatibles.
>>
>> [...]
>>
>>>>>> base-commit: af5f12805e5cefa4fe68d6127c7e1fb78cd5535c
>>>>>
>>>>> This series does not apply to ToT nor I can find this base-commit
>>>>> in it.
>>>>
>>>> It's a public/standard commit, next.
>>>>
>>>> What is ToT in upstream development?
>>>
>>> I am using Linus's Tree:
>>> https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/log/
>>
>> This tree contains the latest release/rc tags, linux-next is an
>> aggreagation of each submaintainers' branches, effectively "what is
>> the next release going to look like" so essentially that's where the
>> development happens
> 
> AFAIU, linux-next is useful to get a view of the next release. However,
> it shouldn't be used for developement. It should be either Linus's tree
> or the maintainer's tree (as mentioned in process/submitting-patches)

So every developer gets it wrong, damn it...

Best regards,
Krzysztof
Re: [PATCH 0/7] arm64: dts: qcom: IdeaCentre Mini 01Q8X10 Hamoa + Purwa
Posted by Konrad Dybcio 2 weeks, 4 days ago
On 9/5/26 11:28 AM, Jens Glathe via B4 Relay wrote:
> The IdeaCentre Mini 01Q8X10 (board 91B6) ships with two SoCs: Hamoa
> (X1E80100), already upstream, and Purwa (X1P42100 / X1-26-100). Same
> chassis, different silicon. Stubble and the DTB loader need distinct
> compatibles.
> 
> This series splits the board description into
> x1-lenovo-ideacentre-mini-01q8x10.dtsi and adds thin leaves. Each SKU
> keeps lenovo,ideacentre-mini-01q8x10 as fallback:
> 
>   lenovo,hamoa-ideacentre-mini-01q8x10, lenovo,ideacentre-mini-01q8x10,
>   qcom,x1e80100
> 
>   lenovo,purwa-ideacentre-mini-01q8x10, lenovo,ideacentre-mini-01q8x10,
>   qcom,x1p42100
> 
> No qcom_scm change; the fallback is already on the allowlist.
> 
> The remaining patches fix the common DTSI for both boxes:
> 
> - Build the Hamoa EL2 DTB like the other Hamoa boards.
> - Second M.2 3V3 is PMC8380_3 GPIO5, not TLMM18. A 2 s startup delay
>   is required or pcie3 fails to probe. always-on is a hack until there
>   is a real M.2 power sequencer.
> - sound-name-prefix on the three DP ports. Enable lpass_vamacro: no
>   onboard mics, but it provides fsgen for tx_macro and rx_macro.
> - usb_mp port 1 is not populated (no PTN3222 @ 0x4f). USB-C is
>   usb_1_ss0; rear Type-A is usb_mp port 0 behind a Genesys hub.
> 
> The Genesys hub is left undescribed.
> 
> UCM [1] and AudioReach [2] topology for these devices are online, too.
> 
> Tested on:
> - IdeaCentre Mini 01Q8X10, Purwa (X1-26-100), 91B6

+Mostafa - is that the board you previously poked at?

Konrad
Re: [PATCH 0/7] arm64: dts: qcom: IdeaCentre Mini 01Q8X10 Hamoa + Purwa
Posted by Mostafa Saleh 2 weeks, 4 days ago
On Mon, Sep 07, 2026 at 10:57:42AM +0200, Konrad Dybcio wrote:
> On 9/5/26 11:28 AM, Jens Glathe via B4 Relay wrote:
> > The IdeaCentre Mini 01Q8X10 (board 91B6) ships with two SoCs: Hamoa
> > (X1E80100), already upstream, and Purwa (X1P42100 / X1-26-100). Same
> > chassis, different silicon. Stubble and the DTB loader need distinct
> > compatibles.
> > 
> > This series splits the board description into
> > x1-lenovo-ideacentre-mini-01q8x10.dtsi and adds thin leaves. Each SKU
> > keeps lenovo,ideacentre-mini-01q8x10 as fallback:
> > 
> >   lenovo,hamoa-ideacentre-mini-01q8x10, lenovo,ideacentre-mini-01q8x10,
> >   qcom,x1e80100
> > 
> >   lenovo,purwa-ideacentre-mini-01q8x10, lenovo,ideacentre-mini-01q8x10,
> >   qcom,x1p42100
> > 
> > No qcom_scm change; the fallback is already on the allowlist.
> > 
> > The remaining patches fix the common DTSI for both boxes:
> > 
> > - Build the Hamoa EL2 DTB like the other Hamoa boards.
> > - Second M.2 3V3 is PMC8380_3 GPIO5, not TLMM18. A 2 s startup delay
> >   is required or pcie3 fails to probe. always-on is a hack until there
> >   is a real M.2 power sequencer.
> > - sound-name-prefix on the three DP ports. Enable lpass_vamacro: no
> >   onboard mics, but it provides fsgen for tx_macro and rx_macro.
> > - usb_mp port 1 is not populated (no PTN3222 @ 0x4f). USB-C is
> >   usb_1_ss0; rear Type-A is usb_mp port 0 behind a Genesys hub.
> > 
> > The Genesys hub is left undescribed.
> > 
> > UCM [1] and AudioReach [2] topology for these devices are online, too.
> > 
> > Tested on:
> > - IdeaCentre Mini 01Q8X10, Purwa (X1-26-100), 91B6
> 
> +Mostafa - is that the board you previously poked at?

Yes, thanks for pointing that, I can test this tomorrow.

However, at the moment there is a problem with the ToT booting it:
https://lore.kernel.org/all/apgeBNSiP01YfNcs@google.com/

Thanks,
Mostafa

> 
> Konrad