mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH 0/7] arm64: dts: qcom: IdeaCentre Mini 01Q8X10 Hamoa + Purwa
@ 2026-09-05  9:28 Jens Glathe via B4 Relay
  2026-09-05  9:28 ` [PATCH 1/7] dt-bindings: arm: qcom: Distinguish IdeaCentre Mini 01Q8X10 SKUs Jens Glathe via B4 Relay
                   ` (8 more replies)
  0 siblings, 9 replies; 35+ messages in thread
From: Jens Glathe via B4 Relay @ 2026-09-05  9:28 UTC (permalink / raw)
  To: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley
  Cc: linux-arm-msm, devicetree, linux-kernel, Jens Glathe

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>



^ permalink raw reply	[flat|nested] 35+ messages in thread

* [PATCH 1/7] dt-bindings: arm: qcom: Distinguish IdeaCentre Mini 01Q8X10 SKUs
  2026-09-05  9:28 [PATCH 0/7] arm64: dts: qcom: IdeaCentre Mini 01Q8X10 Hamoa + Purwa Jens Glathe via B4 Relay
@ 2026-09-05  9:28 ` Jens Glathe via B4 Relay
  2026-09-08  9:04   ` Krzysztof Kozlowski
  2026-09-05  9:28 ` [PATCH 2/7] arm64: dts: qcom: Split IdeaCentre Mini into a common DTSI Jens Glathe via B4 Relay
                   ` (7 subsequent siblings)
  8 siblings, 1 reply; 35+ messages in thread
From: Jens Glathe via B4 Relay @ 2026-09-05  9:28 UTC (permalink / raw)
  To: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley
  Cc: linux-arm-msm, devicetree, linux-kernel, Jens Glathe

From: Jens Glathe <jens.glathe@oldschoolsolutions.biz>

The Lenovo IdeaCentre Mini 01Q8X10 exists on both X1E80100 (Hamoa) and
X1P42100 (Purwa). A single two-entry compatible cannot tell those
device trees apart.

Move the board out of the generic X1E80100 enum and document two
three-entry lists:

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

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

Assisted-by: Grok 4.5 (xAI)
Signed-off-by: Jens Glathe <jens.glathe@oldschoolsolutions.biz>
---
 Documentation/devicetree/bindings/arm/qcom.yaml | 11 ++++++++++-
 1 file changed, 10 insertions(+), 1 deletion(-)

diff --git a/Documentation/devicetree/bindings/arm/qcom.yaml b/Documentation/devicetree/bindings/arm/qcom.yaml
index 5ccb571520d1d..4d6f561a8cac0 100644
--- a/Documentation/devicetree/bindings/arm/qcom.yaml
+++ b/Documentation/devicetree/bindings/arm/qcom.yaml
@@ -1180,6 +1180,11 @@ properties:
           - const: qcom,x1e001de
           - const: qcom,x1e80100
 
+      - items:
+          - const: lenovo,hamoa-ideacentre-mini-01q8x10
+          - const: lenovo,ideacentre-mini-01q8x10
+          - const: qcom,x1e80100
+
       - items:
           - enum:
               - lenovo,thinkpad-t14s-lcd
@@ -1211,7 +1216,6 @@ properties:
               - honor,magicbook-art-14-snapdragon
               - hp,elitebook-ultra-g1q
               - hp,omnibook-x14
-              - lenovo,ideacentre-mini-01q8x10
               - lenovo,yoga-slim7x
               - microsoft,romulus13
               - microsoft,romulus15
@@ -1230,6 +1234,11 @@ properties:
           - const: microsoft,denali
           - const: qcom,x1e80100
 
+      - items:
+          - const: lenovo,purwa-ideacentre-mini-01q8x10
+          - const: lenovo,ideacentre-mini-01q8x10
+          - const: qcom,x1p42100
+
       - items:
           - const: microsoft,surface-pro-12in
           - const: qcom,x1p42100

-- 
2.53.0



^ permalink raw reply	[flat|nested] 35+ messages in thread

* [PATCH 2/7] arm64: dts: qcom: Split IdeaCentre Mini into a common DTSI
  2026-09-05  9:28 [PATCH 0/7] arm64: dts: qcom: IdeaCentre Mini 01Q8X10 Hamoa + Purwa Jens Glathe via B4 Relay
  2026-09-05  9:28 ` [PATCH 1/7] dt-bindings: arm: qcom: Distinguish IdeaCentre Mini 01Q8X10 SKUs Jens Glathe via B4 Relay
@ 2026-09-05  9:28 ` Jens Glathe via B4 Relay
  2026-09-07  8:49   ` Konrad Dybcio
  2026-09-05  9:28 ` [PATCH 3/7] arm64: dts: qcom: Add Purwa IdeaCentre Mini 01Q8X10 Jens Glathe via B4 Relay
                   ` (6 subsequent siblings)
  8 siblings, 1 reply; 35+ messages in thread
From: Jens Glathe via B4 Relay @ 2026-09-05  9:28 UTC (permalink / raw)
  To: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley
  Cc: linux-arm-msm, devicetree, linux-kernel, Jens Glathe

From: Jens Glathe <jens.glathe@oldschoolsolutions.biz>

The IdeaCentre Mini 01Q8X10 chassis is shared by Hamoa (X1E80100) and
Purwa (X1P42100) SKUs. Move the board description into
x1-lenovo-ideacentre-mini-01q8x10.dtsi and leave
hamoa-lenovo-ideacentre-mini-01q8x10.dts as a thin wrapper that includes
the SoC DTSI and the common board file.

Assisted-by: Grok 4.5 (xAI)
Signed-off-by: Jens Glathe <jens.glathe@oldschoolsolutions.biz>
---
 .../qcom/hamoa-lenovo-ideacentre-mini-01q8x10.dts  | 1260 +-------------------
 ....dts => x1-lenovo-ideacentre-mini-01q8x10.dtsi} |   29 -
 2 files changed, 39 insertions(+), 1250 deletions(-)

diff --git a/arch/arm64/boot/dts/qcom/hamoa-lenovo-ideacentre-mini-01q8x10.dts b/arch/arm64/boot/dts/qcom/hamoa-lenovo-ideacentre-mini-01q8x10.dts
dissimilarity index 97%
index 75ce8b0c94d2a..2c030c2d99685 100644
--- a/arch/arm64/boot/dts/qcom/hamoa-lenovo-ideacentre-mini-01q8x10.dts
+++ b/arch/arm64/boot/dts/qcom/hamoa-lenovo-ideacentre-mini-01q8x10.dts
@@ -1,1221 +1,39 @@
-// SPDX-License-Identifier: BSD-3-Clause
-/*
- * Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.
- */
-
-/dts-v1/;
-
-#include <dt-bindings/gpio/gpio.h>
-#include <dt-bindings/regulator/qcom,rpmh-regulator.h>
-
-#include "hamoa.dtsi"
-#include "hamoa-pmics.dtsi"
-
-/ {
-	model = "Lenovo IdeaCentre Mini 01Q8X10";
-	compatible = "lenovo,ideacentre-mini-01q8x10", "qcom,x1e80100";
-	chassis-type = "desktop";
-
-	aliases {
-		serial0 = &uart14;
-	};
-
-	wcd938x: audio-codec {
-		compatible = "qcom,wcd9385-codec";
-
-		pinctrl-0 = <&wcd_default>;
-		pinctrl-names = "default";
-
-		qcom,micbias1-microvolt = <1800000>;
-		qcom,micbias2-microvolt = <1800000>;
-		qcom,micbias3-microvolt = <1800000>;
-		qcom,micbias4-microvolt = <1800000>;
-		qcom,mbhc-buttons-vthreshold-microvolt = <75000 150000 237000 500000 500000 500000 500000 500000>;
-		qcom,mbhc-headset-vthreshold-microvolt = <1700000>;
-		qcom,mbhc-headphone-vthreshold-microvolt = <50000>;
-		qcom,rx-device = <&wcd_rx>;
-		qcom,tx-device = <&wcd_tx>;
-
-		reset-gpios = <&tlmm 191 GPIO_ACTIVE_LOW>;
-		mux-controls = <&us_euro_mux_ctrl>;
-
-		vdd-buck-supply = <&vreg_l15b>;
-		vdd-rxtx-supply = <&vreg_l15b>;
-		vdd-io-supply = <&vreg_l15b>;
-		vdd-mic-bias-supply = <&vreg_bob1>;
-
-		#sound-dai-cells = <1>;
-	};
-
-	dp-connector {
-		compatible = "dp-connector";
-		type = "full-size";
-
-		pinctrl-0 = <&usb1_dp_hot_plug_detect>;
-		pinctrl-names = "default";
-
-		port {
-			dp_port_in: endpoint {
-				remote-endpoint = <&usb_1_ss1_qmpphy_out_dp>;
-			};
-		};
-	};
-
-	hdmi-bridge {
-		compatible = "parade,ps185hdm";
-
-		pinctrl-0 = <&usb2_dp_hot_plug_detect>;
-		pinctrl-names = "default";
-
-		ports {
-			#address-cells = <1>;
-			#size-cells = <0>;
-
-			port@0 {
-				reg = <0>;
-
-				hdmi_bridge_in: endpoint {
-					remote-endpoint = <&usb_1_ss2_qmpphy_out_dp>;
-				};
-			};
-
-			port@1 {
-				reg = <1>;
-
-				hdmi_bridge_out: endpoint {
-					remote-endpoint = <&hdmi_con>;
-				};
-			};
-		};
-	};
-
-	hdmi-connector {
-		compatible = "hdmi-connector";
-		type = "a";
-
-		port {
-			hdmi_con: endpoint {
-				remote-endpoint = <&hdmi_bridge_out>;
-			};
-		};
-	};
-
-	us_euro_mux_ctrl: mux-controller {
-		compatible = "gpio-mux";
-		pinctrl-0 = <&us_euro_hs_sel>;
-		pinctrl-names = "default";
-		mux-supply = <&vreg_l16b>;
-		#mux-control-cells = <0>;
-		mux-gpios = <&tlmm 68 GPIO_ACTIVE_HIGH>;
-	};
-
-	pmic-glink {
-		compatible = "qcom,x1e80100-pmic-glink",
-			     "qcom,sm8550-pmic-glink",
-			     "qcom,pmic-glink";
-		orientation-gpios = <&tlmm 121 GPIO_ACTIVE_HIGH>;
-
-		#address-cells = <1>;
-		#size-cells = <0>;
-
-		connector@0 {
-			compatible = "usb-c-connector";
-			reg = <0>;
-			power-role = "dual";
-			data-role = "dual";
-
-			ports {
-				#address-cells = <1>;
-				#size-cells = <0>;
-
-				port@0 {
-					reg = <0>;
-
-					pmic_glink_port0_hs_in: endpoint {
-						remote-endpoint = <&usb_1_ss0_dwc3_hs>;
-					};
-				};
-
-				port@1 {
-					reg = <1>;
-
-					pmic_glink_port0_ss_in: endpoint {
-						remote-endpoint = <&usb0_retimer_out>;
-					};
-				};
-
-				port@2 {
-					reg = <2>;
-
-					pmic_glink_port0_sbu_in: endpoint {
-						remote-endpoint = <&usb0_retimer_sbu_out>;
-					};
-				};
-			};
-		};
-	};
-
-	vreg_nvme1_3p3: regulator-nvme1-3p3 {
-		compatible = "regulator-fixed";
-
-		regulator-name = "VREG_NVME1_3P3";
-		regulator-min-microvolt = <3300000>;
-		regulator-max-microvolt = <3300000>;
-
-		gpio = <&tlmm 18 GPIO_ACTIVE_HIGH>;
-		enable-active-high;
-
-		pinctrl-0 = <&nvme_reg_en>;
-		pinctrl-names = "default";
-
-		regulator-boot-on;
-	};
-
-	vreg_nvme2_3p3: regulator-nvme2-3p3 {
-		compatible = "regulator-fixed";
-
-		regulator-name = "VREG_NVME2_3P3";
-		regulator-min-microvolt = <3300000>;
-		regulator-max-microvolt = <3300000>;
-
-		gpio = <&tlmm 18 GPIO_ACTIVE_HIGH>;
-		enable-active-high;
-
-		pinctrl-0 = <&nvme_reg_en>;
-		pinctrl-names = "default";
-
-		regulator-boot-on;
-	};
-
-	vreg_v0p9: regulator-v0p9 {
-		compatible = "regulator-fixed";
-
-		regulator-name = "V0P9";
-		regulator-min-microvolt = <906000>;
-		regulator-max-microvolt = <906000>;
-
-		gpio = <&pmc8380_5_gpios 8 GPIO_ACTIVE_HIGH>;
-		enable-active-high;
-
-		pinctrl-0 = <&usb0_pwr_1p15_reg_en>;
-		pinctrl-names = "default";
-
-		regulator-boot-on;
-	};
-
-	vreg_vdd1v8: regulator-vdd1v8 {
-		compatible = "regulator-fixed";
-
-		regulator-name = "VDD1V8";
-		regulator-min-microvolt = <1800000>;
-		regulator-max-microvolt = <1800000>;
-
-		vin-supply = <&vreg_l15b>;
-
-		gpio = <&pm8550ve_9_gpios 8 GPIO_ACTIVE_HIGH>;
-		enable-active-high;
-
-		pinctrl-0 = <&usb0_1p8_reg_en>;
-		pinctrl-names = "default";
-
-		regulator-boot-on;
-	};
-
-	vreg_vdd33_rtmr: regulator-vdd33-rtmr {
-		compatible = "regulator-fixed";
-
-		regulator-name = "VDD33_RTMR";
-		regulator-min-microvolt = <3300000>;
-		regulator-max-microvolt = <3300000>;
-
-		gpio = <&pm8550_gpios 11 GPIO_ACTIVE_HIGH>;
-		enable-active-high;
-
-		pinctrl-0 = <&usb0_3p3_reg_en>;
-		pinctrl-names = "default";
-
-		regulator-boot-on;
-	};
-
-	vreg_wcn_0p95: regulator-wcn-0p95 {
-		compatible = "regulator-fixed";
-
-		regulator-name = "VREG_WCN_0P95";
-		regulator-min-microvolt = <950000>;
-		regulator-max-microvolt = <950000>;
-
-		vin-supply = <&vreg_wifi_3v3>;
-	};
-
-	vreg_wifi_3v3: regulator-wcn-3p3 {
-		compatible = "regulator-fixed";
-
-		regulator-name = "WIFI_3V3";
-		regulator-min-microvolt = <3300000>;
-		regulator-max-microvolt = <3300000>;
-
-		gpio = <&tlmm 214 GPIO_ACTIVE_HIGH>;
-		enable-active-high;
-
-		pinctrl-0 = <&wcn_sw_en>;
-		pinctrl-names = "default";
-	};
-
-	vreg_wifi_1v8: regulator-wifi-1v8 {
-		compatible = "regulator-fixed";
-
-		regulator-name = "WIFI_1V8";
-		regulator-min-microvolt = <1800000>;
-		regulator-max-microvolt = <1800000>;
-
-		vin-supply = <&vreg_l15b>;
-	};
-
-	reserved-memory {
-		linux,cma {
-			compatible = "shared-dma-pool";
-			size = <0x0 0x8000000>;
-			reusable;
-			linux,cma-default;
-		};
-	};
-
-	sound {
-		compatible = "qcom,x1e80100-sndcard";
-		model = "X1E80100-LENOVO-IdeaCentre-Mini";
-		audio-routing = "IN1_HPHL", "HPHL_OUT",
-				"IN2_HPHR", "HPHR_OUT",
-				"AMIC2", "MIC BIAS2",
-				"TX SWR_INPUT1", "ADC2_OUTPUT";
-
-		wcd-playback-dai-link {
-			link-name = "WCD Playback";
-
-			cpu {
-				sound-dai = <&q6apmbedai RX_CODEC_DMA_RX_0>;
-			};
-
-			codec {
-				sound-dai = <&wcd938x 0>, <&swr1 0>, <&lpass_rxmacro 0>;
-			};
-
-			platform {
-				sound-dai = <&q6apm>;
-			};
-		};
-
-		wcd-capture-dai-link {
-			link-name = "WCD Capture";
-
-			cpu {
-				sound-dai = <&q6apmbedai TX_CODEC_DMA_TX_3>;
-			};
-
-			codec {
-				sound-dai = <&wcd938x 1>, <&swr2 1>, <&lpass_txmacro 0>;
-			};
-
-			platform {
-				sound-dai = <&q6apm>;
-			};
-		};
-
-		displayport-0-dai-link {
-			link-name = "DisplayPort0 Playback";
-
-			codec {
-				sound-dai = <&mdss_dp0>;
-			};
-
-			cpu {
-				sound-dai = <&q6apmbedai DISPLAY_PORT_RX_0>;
-			};
-
-			platform {
-				sound-dai = <&q6apm>;
-			};
-		};
-
-		displayport-1-dai-link {
-			link-name = "DisplayPort1 Playback";
-
-			codec {
-				sound-dai = <&mdss_dp1>;
-			};
-
-			cpu {
-				sound-dai = <&q6apmbedai DISPLAY_PORT_RX_1>;
-			};
-
-			platform {
-				sound-dai = <&q6apm>;
-			};
-		};
-
-		displayport-2-dai-link {
-			link-name = "DisplayPort2 Playback";
-
-			codec {
-				sound-dai = <&mdss_dp2>;
-			};
-
-			cpu {
-				sound-dai = <&q6apmbedai DISPLAY_PORT_RX_2>;
-			};
-
-			platform {
-				sound-dai = <&q6apm>;
-			};
-		};
-	};
-
-	wcn7850-pmu {
-		compatible = "qcom,wcn7850-pmu";
-
-		vdd-supply = <&vreg_wcn_0p95>;
-		vddio-supply = <&vreg_l15b>;
-		vddaon-supply = <&vreg_wcn_0p95>;
-		vdddig-supply = <&vreg_wcn_0p95>;
-		vddrfa1p2-supply = <&vreg_wifi_1v8>;
-		vddrfa1p8-supply = <&vreg_wifi_1v8>;
-
-		wlan-enable-gpios = <&tlmm 117 GPIO_ACTIVE_HIGH>;
-		bt-enable-gpios = <&tlmm 116 GPIO_ACTIVE_HIGH>;
-
-		pinctrl-0 = <&wcn_wlan_bt_en>;
-		pinctrl-names = "default";
-
-		regulators {
-			vreg_pmu_rfa_cmn: ldo0 {
-				regulator-name = "vreg_pmu_rfa_cmn";
-			};
-
-			vreg_pmu_aon_0p59: ldo1 {
-				regulator-name = "vreg_pmu_aon_0p59";
-			};
-
-			vreg_pmu_wlcx_0p8: ldo2 {
-				regulator-name = "vreg_pmu_wlcx_0p8";
-			};
-
-			vreg_pmu_wlmx_0p85: ldo3 {
-				regulator-name = "vreg_pmu_wlmx_0p85";
-			};
-
-			vreg_pmu_btcmx_0p85: ldo4 {
-				regulator-name = "vreg_pmu_btcmx_0p85";
-			};
-
-			vreg_pmu_rfa_0p8: ldo5 {
-				regulator-name = "vreg_pmu_rfa_0p8";
-			};
-
-			vreg_pmu_rfa_1p2: ldo6 {
-				regulator-name = "vreg_pmu_rfa_1p2";
-			};
-
-			vreg_pmu_rfa_1p8: ldo7 {
-				regulator-name = "vreg_pmu_rfa_1p8";
-			};
-
-			vreg_pmu_pcie_0p9: ldo8 {
-				regulator-name = "vreg_pmu_pcie_0p9";
-			};
-
-			vreg_pmu_pcie_1p8: ldo9 {
-				regulator-name = "vreg_pmu_pcie_1p8";
-			};
-		};
-	};
-};
-
-&apps_rsc {
-	regulators-0 {
-		compatible = "qcom,pm8550-rpmh-regulators";
-		qcom,pmic-id = "b";
-
-		vreg_bob1: bob1 {
-			regulator-name = "vreg_bob1";
-			regulator-min-microvolt = <3008000>;
-			regulator-max-microvolt = <3960000>;
-			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
-		};
-
-		vreg_l2b: ldo2 {
-			regulator-name = "VREG_L2B";
-			regulator-min-microvolt = <3072000>;
-			regulator-max-microvolt = <3072000>;
-			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
-		};
-
-		vreg_l4b: ldo4 {
-			regulator-name = "VREG_L4B";
-			regulator-min-microvolt = <1800000>;
-			regulator-max-microvolt = <1800000>;
-			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
-		};
-
-		vreg_l13b: ldo13 {
-			regulator-name = "VREG_L13B";
-			regulator-min-microvolt = <3072000>;
-			regulator-max-microvolt = <3072000>;
-			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
-		};
-
-		vreg_l15b: ldo15 {
-			regulator-name = "VREG_L15B";
-			regulator-min-microvolt = <1800000>;
-			regulator-max-microvolt = <1800000>;
-			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
-			regulator-always-on;
-		};
-
-		vreg_l16b: ldo16 {
-			regulator-name = "VREG_L16B";
-			regulator-min-microvolt = <2504000>;
-			regulator-max-microvolt = <2504000>;
-			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
-		};
-
-	};
-
-	regulators-1 {
-		compatible = "qcom,pm8550ve-rpmh-regulators";
-		qcom,pmic-id = "c";
-
-		vreg_l3c: ldo3 {
-			regulator-name = "VREG_L3C";
-			regulator-min-microvolt = <912000>;
-			regulator-max-microvolt = <912000>;
-			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
-		};
-	};
-
-	regulators-2 {
-		compatible = "qcom,pmc8380-rpmh-regulators";
-		qcom,pmic-id = "d";
-
-		vreg_l1d: ldo1 {
-			regulator-name = "VREG_L1D";
-			regulator-min-microvolt = <880000>;
-			regulator-max-microvolt = <920000>;
-			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
-		};
-
-		vreg_l2d: ldo2 {
-			regulator-name = "VREG_L2D";
-			regulator-min-microvolt = <912000>;
-			regulator-max-microvolt = <912000>;
-			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
-		};
-
-		vreg_l3d: ldo3 {
-			regulator-name = "VREG_L3D";
-			regulator-min-microvolt = <1800000>;
-			regulator-max-microvolt = <1800000>;
-			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
-		};
-	};
-
-	regulators-3 {
-		compatible = "qcom,pmc8380-rpmh-regulators";
-		qcom,pmic-id = "e";
-
-		vreg_l2e: ldo2 {
-			regulator-name = "VREG_L2E";
-			regulator-min-microvolt = <880000>;
-			regulator-max-microvolt = <880000>;
-			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
-		};
-
-		vreg_l3e: ldo3 {
-			regulator-name = "VREG_L3E";
-			regulator-min-microvolt = <1200000>;
-			regulator-max-microvolt = <1200000>;
-			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
-		};
-	};
-
-	regulators-4 {
-		compatible = "qcom,pm8550ve-rpmh-regulators";
-		qcom,pmic-id = "i";
-
-		vreg_l3i: ldo3 {
-			regulator-name = "VREG_L3I";
-			regulator-min-microvolt = <880000>;
-			regulator-max-microvolt = <920000>;
-			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
-		};
-	};
-
-	regulators-5 {
-		compatible = "qcom,pm8550ve-rpmh-regulators";
-		qcom,pmic-id = "j";
-
-		vreg_l1j: ldo1 {
-			regulator-name = "VREG_L1J";
-			regulator-min-microvolt = <912000>;
-			regulator-max-microvolt = <912000>;
-			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
-		};
-
-		vreg_l2j: ldo2 {
-			regulator-name = "VREG_L2J";
-			regulator-min-microvolt = <1256000>;
-			regulator-max-microvolt = <1256000>;
-			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
-		};
-
-		vreg_l3j: ldo3 {
-			regulator-name = "VREG_L3J";
-			regulator-min-microvolt = <880000>;
-			regulator-max-microvolt = <880000>;
-			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
-		};
-	};
-};
-
-&i2c3 {
-	clock-frequency = <400000>;
-
-	status = "okay";
-
-	typec-mux@8 {
-		compatible = "parade,ps8833", "parade,ps8830";
-		reg = <0x08>;
-
-		clocks = <&rpmhcc RPMH_RF_CLK3>;
-
-		vdd-supply = <&vreg_v0p9>;
-		vdd33-supply = <&vreg_vdd33_rtmr>;
-		vdd33-cap-supply = <&vreg_vdd33_rtmr>;
-		vddar-supply = <&vreg_v0p9>;
-		vddat-supply = <&vreg_v0p9>;
-		vddio-supply = <&vreg_vdd1v8>;
-
-		reset-gpios = <&pm8550_gpios 10 GPIO_ACTIVE_LOW>;
-
-		pinctrl-0 = <&usb0_reset_n>;
-		pinctrl-names = "default";
-
-		retimer-switch;
-		orientation-switch;
-
-		ports {
-			#address-cells = <1>;
-			#size-cells = <0>;
-
-			port@0 {
-				reg = <0>;
-
-				usb0_retimer_out: endpoint {
-					remote-endpoint = <&pmic_glink_port0_ss_in>;
-				};
-			};
-
-			port@1 {
-				reg = <1>;
-
-				usb0_retimer_in: endpoint {
-					remote-endpoint = <&usb_1_ss0_qmpphy_out>;
-				};
-			};
-
-			port@2 {
-				reg = <2>;
-
-				usb0_retimer_sbu_out: endpoint {
-					remote-endpoint = <&pmic_glink_port0_sbu_in>;
-				};
-			};
-		};
-	};
-};
-
-&i2c5 {
-	clock-frequency = <400000>;
-
-	status = "okay";
-
-	eusb3_repeater: redriver@47 {
-		compatible = "nxp,ptn3222";
-		reg = <0x47>;
-		#phy-cells = <0>;
-
-		vdd3v3-supply = <&vreg_l13b>;
-		vdd1v8-supply = <&vreg_l4b>;
-
-		reset-gpios = <&tlmm 6 GPIO_ACTIVE_LOW>;
-
-		pinctrl-0 = <&eusb3_reset_n>;
-		pinctrl-names = "default";
-	};
-
-	eusb6_repeater: redriver@4f {
-		compatible = "nxp,ptn3222";
-		reg = <0x4f>;
-		#phy-cells = <0>;
-
-		vdd3v3-supply = <&vreg_l13b>;
-		vdd1v8-supply = <&vreg_l4b>;
-
-		reset-gpios = <&tlmm 184 GPIO_ACTIVE_LOW>;
-
-		pinctrl-0 = <&eusb6_reset_n>;
-		pinctrl-names = "default";
-	};
-};
-
-&iris {
-	firmware-name = "qcom/x1e80100/LENOVO/91B6/qcvss8380.mbn";
-
-	status = "okay";
-};
-
-&gpu {
-	status = "okay";
-};
-
-&gpu_zap_shader {
-	firmware-name = "qcom/x1e80100/LENOVO/91B6/qcdxkmsuc8380.mbn";
-};
-
-&mdss {
-	status = "okay";
-};
-
-&mdss_dp0 {
-	status = "okay";
-};
-
-&mdss_dp0_out {
-	link-frequencies = /bits/ 64 <1620000000 2700000000 5400000000 8100000000>;
-};
-
-&mdss_dp1 {
-	status = "okay";
-};
-
-&mdss_dp1_out {
-	link-frequencies = /bits/ 64 <1620000000 2700000000 5400000000 8100000000>;
-};
-
-&mdss_dp2 {
-	status = "okay";
-};
-
-&mdss_dp2_out {
-	link-frequencies = /bits/ 64 <1620000000 2700000000 5400000000 8100000000>;
-};
-
-&pcie3 {
-	pinctrl-0 = <&pcie3_default>;
-	pinctrl-names = "default";
-
-	vddpe-3v3-supply = <&vreg_nvme2_3p3>;
-
-	status = "okay";
-};
-
-&pcie3_phy {
-	vdda-phy-supply = <&vreg_l3c>;
-	vdda-pll-supply = <&vreg_l3e>;
-
-	status = "okay";
-};
-
-&pcie3_port0 {
-	reset-gpios = <&tlmm 143 GPIO_ACTIVE_LOW>;
-	wake-gpios = <&tlmm 145 GPIO_ACTIVE_LOW>;
-};
-
-&pcie4 {
-	pinctrl-0 = <&pcie4_default>;
-	pinctrl-names = "default";
-
-	status = "okay";
-};
-
-&pcie4_phy {
-	vdda-phy-supply = <&vreg_l3i>;
-	vdda-pll-supply = <&vreg_l3e>;
-
-	status = "okay";
-};
-
-&pcie4_port0 {
-	reset-gpios = <&tlmm 146 GPIO_ACTIVE_LOW>;
-	wake-gpios = <&tlmm 148 GPIO_ACTIVE_LOW>;
-
-	wifi@0 {
-		compatible = "pci17cb,1107";
-		reg = <0x10000 0x0 0x0 0x0 0x0>;
-
-		vddaon-supply = <&vreg_pmu_aon_0p59>;
-		vddwlcx-supply = <&vreg_pmu_wlcx_0p8>;
-		vddwlmx-supply = <&vreg_pmu_wlmx_0p85>;
-		vddrfacmn-supply = <&vreg_pmu_rfa_cmn>;
-		vddrfa0p8-supply = <&vreg_pmu_rfa_0p8>;
-		vddrfa1p2-supply = <&vreg_pmu_rfa_1p2>;
-		vddrfa1p8-supply = <&vreg_pmu_rfa_1p8>;
-		vddpcie0p9-supply = <&vreg_pmu_pcie_0p9>;
-		vddpcie1p8-supply = <&vreg_pmu_pcie_1p8>;
-	};
-};
-
-&pcie5 {
-	pinctrl-0 = <&pcie5_default>;
-	pinctrl-names = "default";
-
-	status = "okay";
-};
-
-&pcie5_phy {
-	vdda-phy-supply = <&vreg_l3i>;
-	vdda-pll-supply = <&vreg_l3e>;
-
-	status = "okay";
-};
-
-&pcie5_port0 {
-	reset-gpios = <&tlmm 149 GPIO_ACTIVE_LOW>;
-	wake-gpios = <&tlmm 151 GPIO_ACTIVE_LOW>;
-};
-
-&pcie6a {
-	vddpe-3v3-supply = <&vreg_nvme1_3p3>;
-
-	pinctrl-0 = <&pcie6a_default>;
-	pinctrl-names = "default";
-
-	status = "okay";
-};
-
-&pcie6a_phy {
-	vdda-phy-supply = <&vreg_l1d>;
-	vdda-pll-supply = <&vreg_l2j>;
-
-	status = "okay";
-};
-
-&pcie6a_port0 {
-	reset-gpios = <&tlmm 152 GPIO_ACTIVE_LOW>;
-	wake-gpios = <&tlmm 154 GPIO_ACTIVE_LOW>;
-};
-
-&pmc8380_5_gpios {
-	usb0_pwr_1p15_reg_en: usb0-pwr-1p15-reg-en-state {
-		pins = "gpio8";
-		function = "normal";
-		power-source = <1>;
-		bias-disable;
-		input-disable;
-		output-enable;
-	};
-};
-
-&pm8550_gpios {
-	usb0_reset_n: usb0-reset-n-state {
-		pins = "gpio10";
-		function = "normal";
-		power-source = <1>;
-		bias-disable;
-		input-disable;
-		output-enable;
-	};
-
-	usb0_3p3_reg_en: usb0-3p3-reg-en-state {
-		pins = "gpio11";
-		function = "normal";
-		power-source = <1>;
-		bias-disable;
-		input-disable;
-		output-enable;
-	};
-};
-
-&pm8550ve_9_gpios {
-	usb0_1p8_reg_en: usb0-1p8-reg-en-state {
-		pins = "gpio8";
-		function = "normal";
-		power-source = <1>;
-		bias-disable;
-		input-disable;
-		output-enable;
-	};
-};
-
-&qupv3_0 {
-	status = "okay";
-};
-
-&qupv3_1 {
-	status = "okay";
-};
-
-&qupv3_2 {
-	status = "okay";
-};
-
-&remoteproc_adsp {
-	firmware-name = "qcom/x1e80100/LENOVO/91B6/qcadsp8380.mbn",
-			"qcom/x1e80100/LENOVO/91B6/adsp_dtbs.elf";
-
-	status = "okay";
-};
-
-&remoteproc_cdsp {
-	firmware-name = "qcom/x1e80100/LENOVO/91B6/qccdsp8380.mbn",
-			"qcom/x1e80100/LENOVO/91B6/cdsp_dtbs.elf";
-
-	status = "okay";
-};
-
-&smb2360_0 {
-	status = "okay";
-};
-
-&smb2360_0_eusb2_repeater {
-	vdd18-supply = <&vreg_l3d>;
-	vdd3-supply = <&vreg_l2b>;
-};
-
-&swr1 {
-	status = "okay";
-
-	/* WCD9385 RX */
-	wcd_rx: codec@0,4 {
-		compatible = "sdw20217010d00";
-		reg = <0 4>;
-		qcom,rx-port-mapping = <1 2 3 4 5>;
-	};
-};
-
-&swr2 {
-	status = "okay";
-
-	/* WCD9385 TX */
-	wcd_tx: codec@0,3 {
-		compatible = "sdw20217010d00";
-		reg = <0 3>;
-		qcom,tx-port-mapping = <2 2 3 4>;
-	};
-};
-
-&tcsr {
-	vdda-qrefrpt0-0p9-supply = <&vreg_l3c>;
-	vdda-qrefrpt1-0p9-supply = <&vreg_l3i>;
-	vdda-qrefrpt2-0p9-supply = <&vreg_l3i>;
-	vdda-qrefrpt3-0p9-supply = <&vreg_l3j>;
-	vdda-qrefrpt4-0p9-supply = <&vreg_l1d>;
-	vdda-qrefrx0-0p9-supply = <&vreg_l3c>;
-	vdda-qrefrx1-0p9-supply = <&vreg_l3i>;
-	vdda-qrefrx2-0p9-supply = <&vreg_l3i>;
-	vdda-qrefrx3-0p9-supply = <&vreg_l3j>;
-	vdda-qrefrx4-0p9-supply = <&vreg_l1d>;
-	vdda-qreftx0-0p9-supply = <&vreg_l3j>;
-	vdda-qreftx0-1p2-supply = <&vreg_l2j>;
-	vdda-qreftx1-0p9-supply = <&vreg_l3j>;
-	vdda-qreftx1-1p2-supply = <&vreg_l3e>;
-	vdda-refgen0-0p9-supply = <&vreg_l3i>;
-	vdda-refgen0-1p2-supply = <&vreg_l3e>;
-	vdda-refgen2-0p9-supply = <&vreg_l3j>;
-	vdda-refgen2-1p2-supply = <&vreg_l2j>;
-};
-
-&tlmm {
-	gpio-reserved-ranges = <44 4>,  /* SPI11 (TPM) */
-			       <76 4>,  /* SPI19 (TZ Protected) */
-			       <238 1>; /* UFS Reset */
-
-	eusb3_reset_n: eusb3-reset-n-state {
-		pins = "gpio6";
-		function = "gpio";
-		drive-strength = <2>;
-		bias-disable;
-		output-low;
-	};
-
-	nvme_reg_en: nvme-reg-en-state {
-		pins = "gpio18";
-		function = "gpio";
-		drive-strength = <2>;
-		bias-disable;
-	};
-
-	us_euro_hs_sel: us-euro-hs-sel-state {
-		pins = "gpio68";
-		function = "gpio";
-		bias-pull-down;
-		drive-strength = <2>;
-	};
-
-	wcn_wlan_bt_en: wcn-wlan-bt-en-state {
-		pins = "gpio116", "gpio117";
-		function = "gpio";
-		drive-strength = <2>;
-		bias-disable;
-	};
-
-	usb1_dp_hot_plug_detect: ub1-dp-hot-plug-detect-state {
-		pins = "gpio124";
-		function = "usb1_dp";
-		bias-disable;
-	};
-
-	usb2_dp_hot_plug_detect: usb2-dp-hot-plug-detect-state {
-		pins = "gpio126";
-		function = "usb2_dp";
-		bias-disable;
-	};
-
-	pcie3_default: pcie3-default-state {
-		clkreq-n-pins {
-			pins = "gpio144";
-			function = "pcie3_clk";
-			drive-strength = <2>;
-			bias-pull-up;
-		};
-
-		perst-n-pins {
-			pins = "gpio143";
-			function = "gpio";
-			drive-strength = <2>;
-			bias-pull-down;
-		};
-
-		wake-n-pins {
-			pins = "gpio145";
-			function = "gpio";
-			drive-strength = <2>;
-			bias-pull-up;
-		};
-	};
-
-	pcie4_default: pcie4-default-state {
-		clkreq-n-pins {
-			pins = "gpio147";
-			function = "pcie4_clk";
-			drive-strength = <2>;
-			bias-pull-up;
-		};
-
-		perst-n-pins {
-			pins = "gpio146";
-			function = "gpio";
-			drive-strength = <2>;
-			bias-disable;
-		};
-
-		wake-n-pins {
-			pins = "gpio148";
-			function = "gpio";
-			drive-strength = <2>;
-			bias-pull-up;
-		};
-	};
-
-	pcie5_default: pcie5-default-state {
-		clkreq-n-pins {
-			pins = "gpio150";
-			function = "pcie5_clk";
-			drive-strength = <2>;
-			bias-pull-up;
-		};
-
-		perst-n-pins {
-			pins = "gpio149";
-			function = "gpio";
-			drive-strength = <2>;
-			bias-disable;
-		};
-
-		wake-n-pins {
-			pins = "gpio151";
-			function = "gpio";
-			drive-strength = <2>;
-			bias-pull-up;
-		};
-	};
-
-	pcie6a_default: pcie6a-default-state {
-		clkreq-n-pins {
-			pins = "gpio153";
-			function = "pcie6a_clk";
-			drive-strength = <2>;
-			bias-pull-up;
-		};
-
-		perst-n-pins {
-			pins = "gpio152";
-			function = "gpio";
-			drive-strength = <2>;
-			bias-disable;
-		};
-
-		wake-n-pins {
-			pins = "gpio154";
-			function = "gpio";
-			drive-strength = <2>;
-			bias-pull-up;
-		};
-	};
-
-	eusb6_reset_n: eusb6-reset-n-state {
-		pins = "gpio184";
-		function = "gpio";
-		drive-strength = <2>;
-		bias-disable;
-		output-low;
-	};
-
-	wcd_default: wcd-reset-n-active-state {
-		pins = "gpio191";
-		function = "gpio";
-		drive-strength = <16>;
-		bias-disable;
-		output-low;
-	};
-
-	wcn_sw_en: wcn-sw-en-state {
-		pins = "gpio214";
-		function = "gpio";
-		drive-strength = <2>;
-		bias-disable;
-	};
-};
-
-&uart14 {
-	status = "okay";
-
-	bluetooth {
-		compatible = "qcom,wcn7850-bt";
-		max-speed = <3200000>;
-
-		vddaon-supply = <&vreg_pmu_aon_0p59>;
-		vddwlcx-supply = <&vreg_pmu_wlcx_0p8>;
-		vddwlmx-supply = <&vreg_pmu_wlmx_0p85>;
-		vddrfacmn-supply = <&vreg_pmu_rfa_cmn>;
-		vddrfa0p8-supply = <&vreg_pmu_rfa_0p8>;
-		vddrfa1p2-supply = <&vreg_pmu_rfa_1p2>;
-		vddrfa1p8-supply = <&vreg_pmu_rfa_1p8>;
-	};
-};
-
-&usb_1_ss0 {
-	dr_mode = "host";
-
-	status = "okay";
-};
-
-&usb_1_ss0_dwc3_hs {
-	remote-endpoint = <&pmic_glink_port0_hs_in>;
-};
-
-&usb_1_ss0_hsphy {
-	vdd-supply = <&vreg_l3j>;
-	vdda12-supply = <&vreg_l2j>;
-
-	phys = <&smb2360_0_eusb2_repeater>;
-
-	status = "okay";
-};
-
-&usb_1_ss0_qmpphy {
-	vdda-phy-supply = <&vreg_l1j>;
-	vdda-pll-supply = <&vreg_l2j>;
-
-	status = "okay";
-};
-
-&usb_1_ss0_qmpphy_out {
-	remote-endpoint = <&usb0_retimer_in>;
-};
-
-&usb_1_ss1_qmpphy {
-	vdda-phy-supply = <&vreg_l2d>;
-	vdda-pll-supply = <&vreg_l2j>;
-
-	/delete-property/ mode-switch;
-	/delete-property/ orientation-switch;
-
-	status = "okay";
-
-	ports {
-		port@0 {
-			#address-cells = <1>;
-			#size-cells = <0>;
-
-			/delete-node/ endpoint;
-
-			usb_1_ss1_qmpphy_out_dp: endpoint@0 {
-				reg = <0>;
-
-				data-lanes = <3 2 1 0>;
-				remote-endpoint = <&dp_port_in>;
-			};
-		};
-	};
-};
-
-&usb_1_ss2_qmpphy {
-	vdda-phy-supply = <&vreg_l2d>;
-	vdda-pll-supply = <&vreg_l2j>;
-
-	/delete-property/ mode-switch;
-	/delete-property/ orientation-switch;
-
-	status = "okay";
-
-	ports {
-		port@0 {
-			#address-cells = <1>;
-			#size-cells = <0>;
-
-			/delete-node/ endpoint;
-
-			usb_1_ss2_qmpphy_out_dp: endpoint@0 {
-				reg = <0>;
-
-				data-lanes = <3 2 1 0>;
-				remote-endpoint = <&hdmi_bridge_in>;
-			};
-		};
-	};
-};
-
-&usb_mp {
-	status = "okay";
-};
-
-&usb_mp_hsphy0 {
-	vdd-supply = <&vreg_l2e>;
-	vdda12-supply = <&vreg_l3e>;
-
-	phys = <&eusb3_repeater>;
-
-	status = "okay";
-};
-
-&usb_mp_hsphy1 {
-	vdd-supply = <&vreg_l2e>;
-	vdda12-supply = <&vreg_l3e>;
-
-	phys = <&eusb6_repeater>;
-
-	status = "okay";
-};
-
-&usb_mp_qmpphy0 {
-	vdda-phy-supply = <&vreg_l3c>;
-	vdda-pll-supply = <&vreg_l3e>;
-
-	status = "okay";
-};
-
-&usb_mp_qmpphy1 {
-	vdda-phy-supply = <&vreg_l3c>;
-	vdda-pll-supply = <&vreg_l3e>;
-
-	status = "okay";
-};
+// SPDX-License-Identifier: BSD-3-Clause
+/*
+ * Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.
+ */
+
+/dts-v1/;
+
+#include "hamoa.dtsi"
+#include "x1-lenovo-ideacentre-mini-01q8x10.dtsi"
+
+/ {
+	model = "Lenovo IdeaCentre Mini 01Q8X10 (Hamoa)";
+	compatible = "lenovo,hamoa-ideacentre-mini-01q8x10", "lenovo,ideacentre-mini-01q8x10", "qcom,x1e80100";
+};
+
+&iris {
+	firmware-name = "qcom/x1e80100/LENOVO/91B6/qcvss8380.mbn";
+
+	status = "okay";
+};
+
+&gpu_zap_shader {
+	firmware-name = "qcom/x1e80100/LENOVO/91B6/qcdxkmsuc8380.mbn";
+};
+
+&remoteproc_adsp {
+	firmware-name = "qcom/x1e80100/LENOVO/91B6/qcadsp8380.mbn",
+			"qcom/x1e80100/LENOVO/91B6/adsp_dtbs.elf";
+
+	status = "okay";
+};
+
+&remoteproc_cdsp {
+	firmware-name = "qcom/x1e80100/LENOVO/91B6/qccdsp8380.mbn",
+			"qcom/x1e80100/LENOVO/91B6/cdsp_dtbs.elf";
+
+	status = "okay";
+};
+
diff --git a/arch/arm64/boot/dts/qcom/hamoa-lenovo-ideacentre-mini-01q8x10.dts b/arch/arm64/boot/dts/qcom/x1-lenovo-ideacentre-mini-01q8x10.dtsi
similarity index 97%
copy from arch/arm64/boot/dts/qcom/hamoa-lenovo-ideacentre-mini-01q8x10.dts
copy to arch/arm64/boot/dts/qcom/x1-lenovo-ideacentre-mini-01q8x10.dtsi
index 75ce8b0c94d2a..1af97c5f86fd3 100644
--- a/arch/arm64/boot/dts/qcom/hamoa-lenovo-ideacentre-mini-01q8x10.dts
+++ b/arch/arm64/boot/dts/qcom/x1-lenovo-ideacentre-mini-01q8x10.dtsi
@@ -3,17 +3,12 @@
  * Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.
  */
 
-/dts-v1/;
-
 #include <dt-bindings/gpio/gpio.h>
 #include <dt-bindings/regulator/qcom,rpmh-regulator.h>
 
-#include "hamoa.dtsi"
 #include "hamoa-pmics.dtsi"
 
 / {
-	model = "Lenovo IdeaCentre Mini 01Q8X10";
-	compatible = "lenovo,ideacentre-mini-01q8x10", "qcom,x1e80100";
 	chassis-type = "desktop";
 
 	aliases {
@@ -666,20 +661,10 @@ eusb6_repeater: redriver@4f {
 	};
 };
 
-&iris {
-	firmware-name = "qcom/x1e80100/LENOVO/91B6/qcvss8380.mbn";
-
-	status = "okay";
-};
-
 &gpu {
 	status = "okay";
 };
 
-&gpu_zap_shader {
-	firmware-name = "qcom/x1e80100/LENOVO/91B6/qcdxkmsuc8380.mbn";
-};
-
 &mdss {
 	status = "okay";
 };
@@ -857,20 +842,6 @@ &qupv3_2 {
 	status = "okay";
 };
 
-&remoteproc_adsp {
-	firmware-name = "qcom/x1e80100/LENOVO/91B6/qcadsp8380.mbn",
-			"qcom/x1e80100/LENOVO/91B6/adsp_dtbs.elf";
-
-	status = "okay";
-};
-
-&remoteproc_cdsp {
-	firmware-name = "qcom/x1e80100/LENOVO/91B6/qccdsp8380.mbn",
-			"qcom/x1e80100/LENOVO/91B6/cdsp_dtbs.elf";
-
-	status = "okay";
-};
-
 &smb2360_0 {
 	status = "okay";
 };

-- 
2.53.0



^ permalink raw reply	[flat|nested] 35+ messages in thread

* [PATCH 3/7] arm64: dts: qcom: Add Purwa IdeaCentre Mini 01Q8X10
  2026-09-05  9:28 [PATCH 0/7] arm64: dts: qcom: IdeaCentre Mini 01Q8X10 Hamoa + Purwa Jens Glathe via B4 Relay
  2026-09-05  9:28 ` [PATCH 1/7] dt-bindings: arm: qcom: Distinguish IdeaCentre Mini 01Q8X10 SKUs Jens Glathe via B4 Relay
  2026-09-05  9:28 ` [PATCH 2/7] arm64: dts: qcom: Split IdeaCentre Mini into a common DTSI Jens Glathe via B4 Relay
@ 2026-09-05  9:28 ` Jens Glathe via B4 Relay
  2026-09-07  8:49   ` Konrad Dybcio
  2026-09-05  9:28 ` [PATCH 4/7] arm64: dts: qcom: ideacentre-mini: Build the Hamoa EL2 DTB Jens Glathe via B4 Relay
                   ` (5 subsequent siblings)
  8 siblings, 1 reply; 35+ messages in thread
From: Jens Glathe via B4 Relay @ 2026-09-05  9:28 UTC (permalink / raw)
  To: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley
  Cc: linux-arm-msm, devicetree, linux-kernel, Jens Glathe

From: Jens Glathe <jens.glathe@oldschoolsolutions.biz>

Add the Purwa SKU of the Lenovo IdeaCentre Mini 01Q8X10. The chassis is
the common x1-lenovo-ideacentre-mini-01q8x10DTSI; this file supplies the
Purwa SoC include, firmware paths, and the PMC8380_6 nodes that are
absent on this board.

Assisted-by: Grok 4.5 (xAI)
Signed-off-by: Jens Glathe <jens.glathe@oldschoolsolutions.biz>
---
 arch/arm64/boot/dts/qcom/Makefile                  |  3 +-
 .../qcom/purwa-lenovo-ideacentre-mini-01q8x10.dts  | 42 ++++++++++++++++++++++
 2 files changed, 44 insertions(+), 1 deletion(-)

diff --git a/arch/arm64/boot/dts/qcom/Makefile b/arch/arm64/boot/dts/qcom/Makefile
index 6c2ac11133ca7..e6105e5790954 100644
--- a/arch/arm64/boot/dts/qcom/Makefile
+++ b/arch/arm64/boot/dts/qcom/Makefile
@@ -167,7 +167,8 @@ dtb-$(CONFIG_ARCH_QCOM)	+= msm8998-sony-xperia-yoshino-poplar.dtb
 dtb-$(CONFIG_ARCH_QCOM)	+= msm8998-xiaomi-sagit.dtb
 dtb-$(CONFIG_ARCH_QCOM)	+= purwa-iot-evk.dtb
 
-purwa-iot-evk-el2-dtbs	:= purwa-iot-evk.dtb x1-el2.dtbo
+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
diff --git a/arch/arm64/boot/dts/qcom/purwa-lenovo-ideacentre-mini-01q8x10.dts b/arch/arm64/boot/dts/qcom/purwa-lenovo-ideacentre-mini-01q8x10.dts
new file mode 100644
index 0000000000000..9813a570cf690
--- /dev/null
+++ b/arch/arm64/boot/dts/qcom/purwa-lenovo-ideacentre-mini-01q8x10.dts
@@ -0,0 +1,42 @@
+// SPDX-License-Identifier: BSD-3-Clause
+/*
+ * Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.
+ * Copyright (c) Jens Glathe
+ */
+
+/dts-v1/;
+
+#include "purwa.dtsi"
+#include "x1-lenovo-ideacentre-mini-01q8x10.dtsi"
+
+/delete-node/ &pmc8380_6;
+/delete-node/ &pmc8380_6_thermal;
+
+/ {
+	model = "Lenovo IdeaCentre Mini 01Q8X10 (Purwa)";
+	compatible = "lenovo,purwa-ideacentre-mini-01q8x10", "lenovo,ideacentre-mini-01q8x10", "qcom,x1p42100";
+};
+
+&iris {
+	firmware-name = "qcom/x1p42100/LENOVO/91B6/qcvss8380_pa.mbn";
+
+	status = "okay";
+};
+
+&gpu_zap_shader {
+	firmware-name = "qcom/x1p42100/LENOVO/91B6/qcdxkmsucpurwa.mbn";
+};
+
+&remoteproc_adsp {
+	firmware-name = "qcom/x1p42100/LENOVO/91B6/qcadsp8380.mbn",
+			"qcom/x1p42100/LENOVO/91B6/adsp_dtbs.elf";
+
+	status = "okay";
+};
+
+&remoteproc_cdsp {
+	firmware-name = "qcom/x1p42100/LENOVO/91B6/qccdsp8380.mbn",
+			"qcom/x1p42100/LENOVO/91B6/cdsp_dtbs.elf";
+
+	status = "okay";
+};

-- 
2.53.0



^ permalink raw reply	[flat|nested] 35+ messages in thread

* [PATCH 4/7] arm64: dts: qcom: ideacentre-mini: Build the Hamoa EL2 DTB
  2026-09-05  9:28 [PATCH 0/7] arm64: dts: qcom: IdeaCentre Mini 01Q8X10 Hamoa + Purwa Jens Glathe via B4 Relay
                   ` (2 preceding siblings ...)
  2026-09-05  9:28 ` [PATCH 3/7] arm64: dts: qcom: Add Purwa IdeaCentre Mini 01Q8X10 Jens Glathe via B4 Relay
@ 2026-09-05  9:28 ` Jens Glathe via B4 Relay
  2026-09-07  8:49   ` Konrad Dybcio
  2026-09-05  9:29 ` [PATCH 5/7] arm64: dts: qcom: ideacentre-mini: Fix the second M.2 3V3 rail Jens Glathe via B4 Relay
                   ` (4 subsequent siblings)
  8 siblings, 1 reply; 35+ messages in thread
From: Jens Glathe via B4 Relay @ 2026-09-05  9:28 UTC (permalink / raw)
  To: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley
  Cc: linux-arm-msm, devicetree, linux-kernel, Jens Glathe

From: Jens Glathe <jens.glathe@oldschoolsolutions.biz>

Other Hamoa boards combine the board DTB with x1-el2.dtbo. Do the same
for the IdeaCentre Mini so the EL2 overlay is produced alongside the
normal image.

Assisted-by: Grok 4.5 (xAI)
Signed-off-by: Jens Glathe <jens.glathe@oldschoolsolutions.biz>
---
 arch/arm64/boot/dts/qcom/Makefile | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/arch/arm64/boot/dts/qcom/Makefile b/arch/arm64/boot/dts/qcom/Makefile
index e6105e5790954..0cfbf3018a7be 100644
--- a/arch/arm64/boot/dts/qcom/Makefile
+++ b/arch/arm64/boot/dts/qcom/Makefile
@@ -24,7 +24,10 @@ dtb-$(CONFIG_ARCH_QCOM)	+= hamoa-iot-evk.dtb
 hamoa-iot-evk-el2-dtbs	:= hamoa-iot-evk.dtb x1-el2.dtbo
 
 dtb-$(CONFIG_ARCH_QCOM)	+= hamoa-iot-evk-el2.dtb
-dtb-$(CONFIG_ARCH_QCOM)	+= hamoa-lenovo-ideacentre-mini-01q8x10.dtb
+
+hamoa-lenovo-ideacentre-mini-01q8x10-el2-dtbs := hamoa-lenovo-ideacentre-mini-01q8x10.dtb x1-el2.dtbo
+dtb-$(CONFIG_ARCH_QCOM)	+= hamoa-lenovo-ideacentre-mini-01q8x10.dtb hamoa-lenovo-ideacentre-mini-01q8x10-el2.dtb
+
 dtb-$(CONFIG_ARCH_QCOM)	+= ipq5018-rdp432-c2.dtb
 dtb-$(CONFIG_ARCH_QCOM)	+= ipq5018-tplink-archer-ax55-v1.dtb
 dtb-$(CONFIG_ARCH_QCOM)	+= ipq5210-rdp504.dtb

-- 
2.53.0



^ permalink raw reply	[flat|nested] 35+ messages in thread

* [PATCH 5/7] arm64: dts: qcom: ideacentre-mini: Fix the second M.2 3V3 rail
  2026-09-05  9:28 [PATCH 0/7] arm64: dts: qcom: IdeaCentre Mini 01Q8X10 Hamoa + Purwa Jens Glathe via B4 Relay
                   ` (3 preceding siblings ...)
  2026-09-05  9:28 ` [PATCH 4/7] arm64: dts: qcom: ideacentre-mini: Build the Hamoa EL2 DTB Jens Glathe via B4 Relay
@ 2026-09-05  9:29 ` Jens Glathe via B4 Relay
  2026-09-07  8:55   ` Konrad Dybcio
  2026-09-05  9:29 ` [PATCH 6/7] arm64: dts: qcom: ideacentre-mini: Wire up DP sound names and VA macro Jens Glathe via B4 Relay
                   ` (3 subsequent siblings)
  8 siblings, 1 reply; 35+ messages in thread
From: Jens Glathe via B4 Relay @ 2026-09-05  9:29 UTC (permalink / raw)
  To: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley
  Cc: linux-arm-msm, devicetree, linux-kernel, Jens Glathe

From: Jens Glathe <jens.glathe@oldschoolsolutions.biz>

TLMM18 only enables M.2-1 on pcie6a. The second slot (pcie3) is gated
by PMC8380_3 GPIO5; both regulators previously pointed at the same
TLMM pin, so the DT had no effect on that rail.

Switch vreg_nvme2_3p3 to the PMIC GPIO, add its pinctrl state, and
keep a 2 s startup delay plus always-on. Without the delay the pcie3
slot fails to probe; always-on is a stand-in until an M.2 power
sequencer exists. Both slots work on Purwa with NVMe SSDs.

Tested-on: IdeaCentre Mini 01Q8X10, Purwa (X1-26-100)

Assisted-by: Grok 4.5 (xAI)
Signed-off-by: Jens Glathe <jens.glathe@oldschoolsolutions.biz>
---
 .../dts/qcom/x1-lenovo-ideacentre-mini-01q8x10.dtsi | 21 +++++++++++++++++++--
 1 file changed, 19 insertions(+), 2 deletions(-)

diff --git a/arch/arm64/boot/dts/qcom/x1-lenovo-ideacentre-mini-01q8x10.dtsi b/arch/arm64/boot/dts/qcom/x1-lenovo-ideacentre-mini-01q8x10.dtsi
index 1af97c5f86fd3..76a9f745b279d 100644
--- a/arch/arm64/boot/dts/qcom/x1-lenovo-ideacentre-mini-01q8x10.dtsi
+++ b/arch/arm64/boot/dts/qcom/x1-lenovo-ideacentre-mini-01q8x10.dtsi
@@ -4,6 +4,7 @@
  */
 
 #include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/pinctrl/qcom,pmic-gpio.h>
 #include <dt-bindings/regulator/qcom,rpmh-regulator.h>
 
 #include "hamoa-pmics.dtsi"
@@ -173,13 +174,16 @@ vreg_nvme2_3p3: regulator-nvme2-3p3 {
 		regulator-min-microvolt = <3300000>;
 		regulator-max-microvolt = <3300000>;
 
-		gpio = <&tlmm 18 GPIO_ACTIVE_HIGH>;
+		gpio = <&pmc8380_3_gpios 5 GPIO_ACTIVE_HIGH>;
 		enable-active-high;
 
-		pinctrl-0 = <&nvme_reg_en>;
+		pinctrl-0 = <&nvme2_reg_en>;
 		pinctrl-names = "default";
 
+		startup-delay-us = <2000000>;
+
 		regulator-boot-on;
+		regulator-always-on;
 	};
 
 	vreg_v0p9: regulator-v0p9 {
@@ -788,6 +792,19 @@ &pcie6a_port0 {
 	wake-gpios = <&tlmm 154 GPIO_ACTIVE_LOW>;
 };
 
+&pmc8380_3_gpios {
+	nvme2_reg_en: nvme2-reg-en-state {
+		pins = "gpio5";
+		function = "normal";
+		power-source = <0>;
+		input-disable;
+		output-enable;
+		drive-push-pull;
+		bias-disable;
+		qcom,drive-strength = <PMIC_GPIO_STRENGTH_LOW>;
+	};
+};
+
 &pmc8380_5_gpios {
 	usb0_pwr_1p15_reg_en: usb0-pwr-1p15-reg-en-state {
 		pins = "gpio8";

-- 
2.53.0



^ permalink raw reply	[flat|nested] 35+ messages in thread

* [PATCH 6/7] arm64: dts: qcom: ideacentre-mini: Wire up DP sound names and VA macro
  2026-09-05  9:28 [PATCH 0/7] arm64: dts: qcom: IdeaCentre Mini 01Q8X10 Hamoa + Purwa Jens Glathe via B4 Relay
                   ` (4 preceding siblings ...)
  2026-09-05  9:29 ` [PATCH 5/7] arm64: dts: qcom: ideacentre-mini: Fix the second M.2 3V3 rail Jens Glathe via B4 Relay
@ 2026-09-05  9:29 ` Jens Glathe via B4 Relay
  2026-09-07  8:55   ` Konrad Dybcio
  2026-09-05  9:29 ` [PATCH 7/7] arm64: dts: qcom: ideacentre-mini: Drop the unused USB MP port Jens Glathe via B4 Relay
                   ` (2 subsequent siblings)
  8 siblings, 1 reply; 35+ messages in thread
From: Jens Glathe via B4 Relay @ 2026-09-05  9:29 UTC (permalink / raw)
  To: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley
  Cc: linux-arm-msm, devicetree, linux-kernel, Jens Glathe

From: Jens Glathe <jens.glathe@oldschoolsolutions.biz>

mdss_dp0/1/2 had no sound-name-prefix, so the three DisplayPort
backends were not distinct DAIs on the card. Add the prefixes.

Enable the LPASS VA macro with the 2.4 MHz rate. This chassis has no
onboard DMICs; the node still provides the fsgen clock to tx_macro and
rx_macro. Without it both codecs fail to probe (-ENOENT).

Tested-on: IdeaCentre Mini 01Q8X10, Purwa (X1-26-100)

Assisted-by: Grok 4.5 (xAI)
Signed-off-by: Jens Glathe <jens.glathe@oldschoolsolutions.biz>
---
 .../arm64/boot/dts/qcom/x1-lenovo-ideacentre-mini-01q8x10.dtsi | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/arch/arm64/boot/dts/qcom/x1-lenovo-ideacentre-mini-01q8x10.dtsi b/arch/arm64/boot/dts/qcom/x1-lenovo-ideacentre-mini-01q8x10.dtsi
index 76a9f745b279d..5a2db91d5e587 100644
--- a/arch/arm64/boot/dts/qcom/x1-lenovo-ideacentre-mini-01q8x10.dtsi
+++ b/arch/arm64/boot/dts/qcom/x1-lenovo-ideacentre-mini-01q8x10.dtsi
@@ -665,6 +665,10 @@ eusb6_repeater: redriver@4f {
 	};
 };
 
+&lpass_vamacro {
+	qcom,dmic-sample-rate = <2400000>;
+};
+
 &gpu {
 	status = "okay";
 };
@@ -674,6 +678,8 @@ &mdss {
 };
 
 &mdss_dp0 {
+	sound-name-prefix = "DisplayPort0";
+
 	status = "okay";
 };
 
@@ -682,6 +688,8 @@ &mdss_dp0_out {
 };
 
 &mdss_dp1 {
+	sound-name-prefix = "DisplayPort1";
+
 	status = "okay";
 };
 
@@ -690,6 +698,8 @@ &mdss_dp1_out {
 };
 
 &mdss_dp2 {
+	sound-name-prefix = "DisplayPort2";
+
 	status = "okay";
 };
 

-- 
2.53.0



^ permalink raw reply	[flat|nested] 35+ messages in thread

* [PATCH 7/7] arm64: dts: qcom: ideacentre-mini: Drop the unused USB MP port
  2026-09-05  9:28 [PATCH 0/7] arm64: dts: qcom: IdeaCentre Mini 01Q8X10 Hamoa + Purwa Jens Glathe via B4 Relay
                   ` (5 preceding siblings ...)
  2026-09-05  9:29 ` [PATCH 6/7] arm64: dts: qcom: ideacentre-mini: Wire up DP sound names and VA macro Jens Glathe via B4 Relay
@ 2026-09-05  9:29 ` Jens Glathe via B4 Relay
  2026-09-07  8:56   ` Konrad Dybcio
  2026-09-07  8:57 ` [PATCH 0/7] arm64: dts: qcom: IdeaCentre Mini 01Q8X10 Hamoa + Purwa Konrad Dybcio
  2026-09-08  9:03 ` Mostafa Saleh
  8 siblings, 1 reply; 35+ messages in thread
From: Jens Glathe via B4 Relay @ 2026-09-05  9:29 UTC (permalink / raw)
  To: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley
  Cc: linux-arm-msm, devicetree, linux-kernel, Jens Glathe

From: Jens Glathe <jens.glathe@oldschoolsolutions.biz>

usb_mp port 1 (hsphy1, qmpphy1, PTN3222 @ 0x4f, TLMM 184) is not
populated. lsusb only shows two xHCI controllers: USB-C on usb_1_ss0
and the rear ports behind a Genesys hub on usb_mp port 0.

Remove that repeater, its reset pin, and the second MP PHYs. Pin
usb_mp to usb2-0 / usb3-0 so the controller does not claim empty
PHYs.

Tested-on: IdeaCentre Mini 01Q8X10, Purwa (X1-26-100)

Assisted-by: Grok 4.5 (xAI)
Signed-off-by: Jens Glathe <jens.glathe@oldschoolsolutions.biz>
---
 .../qcom/x1-lenovo-ideacentre-mini-01q8x10.dtsi    | 40 ++--------------------
 1 file changed, 3 insertions(+), 37 deletions(-)

diff --git a/arch/arm64/boot/dts/qcom/x1-lenovo-ideacentre-mini-01q8x10.dtsi b/arch/arm64/boot/dts/qcom/x1-lenovo-ideacentre-mini-01q8x10.dtsi
index 5a2db91d5e587..b720622c5d90e 100644
--- a/arch/arm64/boot/dts/qcom/x1-lenovo-ideacentre-mini-01q8x10.dtsi
+++ b/arch/arm64/boot/dts/qcom/x1-lenovo-ideacentre-mini-01q8x10.dtsi
@@ -650,19 +650,6 @@ eusb3_repeater: redriver@47 {
 		pinctrl-names = "default";
 	};
 
-	eusb6_repeater: redriver@4f {
-		compatible = "nxp,ptn3222";
-		reg = <0x4f>;
-		#phy-cells = <0>;
-
-		vdd3v3-supply = <&vreg_l13b>;
-		vdd1v8-supply = <&vreg_l4b>;
-
-		reset-gpios = <&tlmm 184 GPIO_ACTIVE_LOW>;
-
-		pinctrl-0 = <&eusb6_reset_n>;
-		pinctrl-names = "default";
-	};
 };
 
 &lpass_vamacro {
@@ -1059,14 +1046,6 @@ wake-n-pins {
 		};
 	};
 
-	eusb6_reset_n: eusb6-reset-n-state {
-		pins = "gpio184";
-		function = "gpio";
-		drive-strength = <2>;
-		bias-disable;
-		output-low;
-	};
-
 	wcd_default: wcd-reset-n-active-state {
 		pins = "gpio191";
 		function = "gpio";
@@ -1184,6 +1163,9 @@ usb_1_ss2_qmpphy_out_dp: endpoint@0 {
 
 &usb_mp {
 	status = "okay";
+
+	phys = <&usb_mp_hsphy0>, <&usb_mp_qmpphy0>;
+	phy-names = "usb2-0", "usb3-0";
 };
 
 &usb_mp_hsphy0 {
@@ -1195,25 +1177,9 @@ &usb_mp_hsphy0 {
 	status = "okay";
 };
 
-&usb_mp_hsphy1 {
-	vdd-supply = <&vreg_l2e>;
-	vdda12-supply = <&vreg_l3e>;
-
-	phys = <&eusb6_repeater>;
-
-	status = "okay";
-};
-
 &usb_mp_qmpphy0 {
 	vdda-phy-supply = <&vreg_l3c>;
 	vdda-pll-supply = <&vreg_l3e>;
 
 	status = "okay";
 };
-
-&usb_mp_qmpphy1 {
-	vdda-phy-supply = <&vreg_l3c>;
-	vdda-pll-supply = <&vreg_l3e>;
-
-	status = "okay";
-};

-- 
2.53.0



^ permalink raw reply	[flat|nested] 35+ messages in thread

* Re: [PATCH 2/7] arm64: dts: qcom: Split IdeaCentre Mini into a common DTSI
  2026-09-05  9:28 ` [PATCH 2/7] arm64: dts: qcom: Split IdeaCentre Mini into a common DTSI Jens Glathe via B4 Relay
@ 2026-09-07  8:49   ` Konrad Dybcio
  0 siblings, 0 replies; 35+ messages in thread
From: Konrad Dybcio @ 2026-09-07  8:49 UTC (permalink / raw)
  To: jens.glathe, Bjorn Andersson, Konrad Dybcio, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley
  Cc: linux-arm-msm, devicetree, linux-kernel

On 9/5/26 11:28 AM, Jens Glathe via B4 Relay wrote:
> From: Jens Glathe <jens.glathe@oldschoolsolutions.biz>
> 
> The IdeaCentre Mini 01Q8X10 chassis is shared by Hamoa (X1E80100) and
> Purwa (X1P42100) SKUs. Move the board description into
> x1-lenovo-ideacentre-mini-01q8x10.dtsi and leave
> hamoa-lenovo-ideacentre-mini-01q8x10.dts as a thin wrapper that includes
> the SoC DTSI and the common board file.
> 
> Assisted-by: Grok 4.5 (xAI)
> Signed-off-by: Jens Glathe <jens.glathe@oldschoolsolutions.biz>
> ---

Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>

Konrad

^ permalink raw reply	[flat|nested] 35+ messages in thread

* Re: [PATCH 3/7] arm64: dts: qcom: Add Purwa IdeaCentre Mini 01Q8X10
  2026-09-05  9:28 ` [PATCH 3/7] arm64: dts: qcom: Add Purwa IdeaCentre Mini 01Q8X10 Jens Glathe via B4 Relay
@ 2026-09-07  8:49   ` Konrad Dybcio
  0 siblings, 0 replies; 35+ messages in thread
From: Konrad Dybcio @ 2026-09-07  8:49 UTC (permalink / raw)
  To: jens.glathe, Bjorn Andersson, Konrad Dybcio, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley
  Cc: linux-arm-msm, devicetree, linux-kernel

On 9/5/26 11:28 AM, Jens Glathe via B4 Relay wrote:
> From: Jens Glathe <jens.glathe@oldschoolsolutions.biz>
> 
> Add the Purwa SKU of the Lenovo IdeaCentre Mini 01Q8X10. The chassis is
> the common x1-lenovo-ideacentre-mini-01q8x10DTSI; this file supplies the
> Purwa SoC include, firmware paths, and the PMC8380_6 nodes that are
> absent on this board.
> 
> Assisted-by: Grok 4.5 (xAI)
> Signed-off-by: Jens Glathe <jens.glathe@oldschoolsolutions.biz>
> ---

Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>

Konrad

^ permalink raw reply	[flat|nested] 35+ messages in thread

* Re: [PATCH 4/7] arm64: dts: qcom: ideacentre-mini: Build the Hamoa EL2 DTB
  2026-09-05  9:28 ` [PATCH 4/7] arm64: dts: qcom: ideacentre-mini: Build the Hamoa EL2 DTB Jens Glathe via B4 Relay
@ 2026-09-07  8:49   ` Konrad Dybcio
  0 siblings, 0 replies; 35+ messages in thread
From: Konrad Dybcio @ 2026-09-07  8:49 UTC (permalink / raw)
  To: jens.glathe, Bjorn Andersson, Konrad Dybcio, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley
  Cc: linux-arm-msm, devicetree, linux-kernel

On 9/5/26 11:28 AM, Jens Glathe via B4 Relay wrote:
> From: Jens Glathe <jens.glathe@oldschoolsolutions.biz>
> 
> Other Hamoa boards combine the board DTB with x1-el2.dtbo. Do the same
> for the IdeaCentre Mini so the EL2 overlay is produced alongside the
> normal image.
> 
> Assisted-by: Grok 4.5 (xAI)
> Signed-off-by: Jens Glathe <jens.glathe@oldschoolsolutions.biz>
> ---

Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>

Konrad

^ permalink raw reply	[flat|nested] 35+ messages in thread

* Re: [PATCH 5/7] arm64: dts: qcom: ideacentre-mini: Fix the second M.2 3V3 rail
  2026-09-05  9:29 ` [PATCH 5/7] arm64: dts: qcom: ideacentre-mini: Fix the second M.2 3V3 rail Jens Glathe via B4 Relay
@ 2026-09-07  8:55   ` Konrad Dybcio
  0 siblings, 0 replies; 35+ messages in thread
From: Konrad Dybcio @ 2026-09-07  8:55 UTC (permalink / raw)
  To: jens.glathe, Bjorn Andersson, Konrad Dybcio, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley
  Cc: linux-arm-msm, devicetree, linux-kernel

On 9/5/26 11:29 AM, Jens Glathe via B4 Relay wrote:
> From: Jens Glathe <jens.glathe@oldschoolsolutions.biz>
> 
> TLMM18 only enables M.2-1 on pcie6a. The second slot (pcie3) is gated
> by PMC8380_3 GPIO5; both regulators previously pointed at the same
> TLMM pin, so the DT had no effect on that rail.
> 
> Switch vreg_nvme2_3p3 to the PMIC GPIO, add its pinctrl state, and
> keep a 2 s startup delay plus always-on.Without the delay the pcie3
> slot fails to probe;

This is really strange..

> always-on is a stand-in until an M.2 power
> sequencer exists. Both slots work on Purwa with NVMe SSDs.

I suppose we have the "pcie-m2-m-connector" compatible, but it's
not bound by default

> 
> Tested-on: IdeaCentre Mini 01Q8X10, Purwa (X1-26-100)

This is not a standard tag, which checkpatch should warn about

Konrad

^ permalink raw reply	[flat|nested] 35+ messages in thread

* Re: [PATCH 6/7] arm64: dts: qcom: ideacentre-mini: Wire up DP sound names and VA macro
  2026-09-05  9:29 ` [PATCH 6/7] arm64: dts: qcom: ideacentre-mini: Wire up DP sound names and VA macro Jens Glathe via B4 Relay
@ 2026-09-07  8:55   ` Konrad Dybcio
  2026-09-08  5:09     ` Jens Glathe
  0 siblings, 1 reply; 35+ messages in thread
From: Konrad Dybcio @ 2026-09-07  8:55 UTC (permalink / raw)
  To: jens.glathe, Bjorn Andersson, Konrad Dybcio, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley
  Cc: linux-arm-msm, devicetree, linux-kernel

On 9/5/26 11:29 AM, Jens Glathe via B4 Relay wrote:
> From: Jens Glathe <jens.glathe@oldschoolsolutions.biz>
> 
> mdss_dp0/1/2 had no sound-name-prefix, so the three DisplayPort
> backends were not distinct DAIs on the card. Add the prefixes.

That's now part of the SoC DTSI

Konrad

^ permalink raw reply	[flat|nested] 35+ messages in thread

* Re: [PATCH 7/7] arm64: dts: qcom: ideacentre-mini: Drop the unused USB MP port
  2026-09-05  9:29 ` [PATCH 7/7] arm64: dts: qcom: ideacentre-mini: Drop the unused USB MP port Jens Glathe via B4 Relay
@ 2026-09-07  8:56   ` Konrad Dybcio
  0 siblings, 0 replies; 35+ messages in thread
From: Konrad Dybcio @ 2026-09-07  8:56 UTC (permalink / raw)
  To: jens.glathe, Bjorn Andersson, Konrad Dybcio, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley
  Cc: linux-arm-msm, devicetree, linux-kernel

On 9/5/26 11:29 AM, Jens Glathe via B4 Relay wrote:
> From: Jens Glathe <jens.glathe@oldschoolsolutions.biz>
> 
> usb_mp port 1 (hsphy1, qmpphy1, PTN3222 @ 0x4f, TLMM 184) is not
> populated. lsusb only shows two xHCI controllers: USB-C on usb_1_ss0
> and the rear ports behind a Genesys hub on usb_mp port 0.
> 
> Remove that repeater, its reset pin, and the second MP PHYs. Pin
> usb_mp to usb2-0 / usb3-0 so the controller does not claim empty
> PHYs.
> 
> Tested-on: IdeaCentre Mini 01Q8X10, Purwa (X1-26-100)
> 
> Assisted-by: Grok 4.5 (xAI)
> Signed-off-by: Jens Glathe <jens.glathe@oldschoolsolutions.biz>
> ---

So does the repeater exist on board, or not? Can you try to poke
it via i2cget?

[...]

> -&usb_mp_hsphy1 {
> -	vdd-supply = <&vreg_l2e>;
> -	vdda12-supply = <&vreg_l3e>;
> -
> -	phys = <&eusb6_repeater>;
> -
> -	status = "okay";
> -};

The PHYs can stay here, so Linux will safely park them

Konrad

> -
>  &usb_mp_qmpphy0 {
>  	vdda-phy-supply = <&vreg_l3c>;
>  	vdda-pll-supply = <&vreg_l3e>;
>  
>  	status = "okay";
>  };
> -
> -&usb_mp_qmpphy1 {
> -	vdda-phy-supply = <&vreg_l3c>;
> -	vdda-pll-supply = <&vreg_l3e>;
> -
> -	status = "okay";
> -};
> 

^ permalink raw reply	[flat|nested] 35+ messages in thread

* Re: [PATCH 0/7] arm64: dts: qcom: IdeaCentre Mini 01Q8X10 Hamoa + Purwa
  2026-09-05  9:28 [PATCH 0/7] arm64: dts: qcom: IdeaCentre Mini 01Q8X10 Hamoa + Purwa Jens Glathe via B4 Relay
                   ` (6 preceding siblings ...)
  2026-09-05  9:29 ` [PATCH 7/7] arm64: dts: qcom: ideacentre-mini: Drop the unused USB MP port Jens Glathe via B4 Relay
@ 2026-09-07  8:57 ` Konrad Dybcio
  2026-09-07  9:51   ` Mostafa Saleh
  2026-09-08  9:03 ` Mostafa Saleh
  8 siblings, 1 reply; 35+ messages in thread
From: Konrad Dybcio @ 2026-09-07  8:57 UTC (permalink / raw)
  To: jens.glathe, Bjorn Andersson, Konrad Dybcio, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley, Mostafa Saleh
  Cc: linux-arm-msm, devicetree, linux-kernel

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

^ permalink raw reply	[flat|nested] 35+ messages in thread

* Re: [PATCH 0/7] arm64: dts: qcom: IdeaCentre Mini 01Q8X10 Hamoa + Purwa
  2026-09-07  8:57 ` [PATCH 0/7] arm64: dts: qcom: IdeaCentre Mini 01Q8X10 Hamoa + Purwa Konrad Dybcio
@ 2026-09-07  9:51   ` Mostafa Saleh
  0 siblings, 0 replies; 35+ messages in thread
From: Mostafa Saleh @ 2026-09-07  9:51 UTC (permalink / raw)
  To: Konrad Dybcio
  Cc: jens.glathe, Bjorn Andersson, Konrad Dybcio, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley, linux-arm-msm, devicetree,
	linux-kernel

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

^ permalink raw reply	[flat|nested] 35+ messages in thread

* Re: [PATCH 6/7] arm64: dts: qcom: ideacentre-mini: Wire up DP sound names and VA macro
  2026-09-07  8:55   ` Konrad Dybcio
@ 2026-09-08  5:09     ` Jens Glathe
  0 siblings, 0 replies; 35+ messages in thread
From: Jens Glathe @ 2026-09-08  5:09 UTC (permalink / raw)
  To: Konrad Dybcio, Bjorn Andersson, Konrad Dybcio, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley
  Cc: linux-arm-msm, devicetree, linux-kernel

Hi Konrad,

On 07.09.26 10:55, Konrad Dybcio wrote:
> On 9/5/26 11:29 AM, Jens Glathe via B4 Relay wrote:
>> From: Jens Glathe <jens.glathe@oldschoolsolutions.biz>
>>
>> mdss_dp0/1/2 had no sound-name-prefix, so the three DisplayPort
>> backends were not distinct DAIs on the card. Add the prefixes.
> That's now part of the SoC DTSI
>
> Konrad

Yep. Will be reduced to vamacro only in V2.

with best regards

Jens


^ permalink raw reply	[flat|nested] 35+ messages in thread

* Re: [PATCH 0/7] arm64: dts: qcom: IdeaCentre Mini 01Q8X10 Hamoa + Purwa
  2026-09-05  9:28 [PATCH 0/7] arm64: dts: qcom: IdeaCentre Mini 01Q8X10 Hamoa + Purwa Jens Glathe via B4 Relay
                   ` (7 preceding siblings ...)
  2026-09-07  8:57 ` [PATCH 0/7] arm64: dts: qcom: IdeaCentre Mini 01Q8X10 Hamoa + Purwa Konrad Dybcio
@ 2026-09-08  9:03 ` Mostafa Saleh
  2026-09-08  9:05   ` Krzysztof Kozlowski
  2026-09-08  9:39   ` Jens Glathe
  8 siblings, 2 replies; 35+ messages in thread
From: Mostafa Saleh @ 2026-09-08  9:03 UTC (permalink / raw)
  To: jens.glathe
  Cc: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley, linux-arm-msm, devicetree, linux-kernel

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>
> 
> 

^ permalink raw reply	[flat|nested] 35+ messages in thread

* Re: [PATCH 1/7] dt-bindings: arm: qcom: Distinguish IdeaCentre Mini 01Q8X10 SKUs
  2026-09-05  9:28 ` [PATCH 1/7] dt-bindings: arm: qcom: Distinguish IdeaCentre Mini 01Q8X10 SKUs Jens Glathe via B4 Relay
@ 2026-09-08  9:04   ` Krzysztof Kozlowski
  0 siblings, 0 replies; 35+ messages in thread
From: Krzysztof Kozlowski @ 2026-09-08  9:04 UTC (permalink / raw)
  To: jens.glathe, Bjorn Andersson, Konrad Dybcio, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley
  Cc: linux-arm-msm, devicetree, linux-kernel

On 05/09/2026 11:28, Jens Glathe via B4 Relay wrote:
> From: Jens Glathe <jens.glathe@oldschoolsolutions.biz>
> 
> The Lenovo IdeaCentre Mini 01Q8X10 exists on both X1E80100 (Hamoa) and
> X1P42100 (Purwa). A single two-entry compatible cannot tell those
> device trees apart.
> 
> Move the board out of the generic X1E80100 enum and document two
> three-entry lists:
> 
>   lenovo,hamoa-ideacentre-mini-01q8x10, lenovo,ideacentre-mini-01q8x10,
>   qcom,x1e80100
> 
>   lenovo,purwa-ideacentre-mini-01q8x10, lenovo,ideacentre-mini-01q8x10,
>   qcom,x1p42100
> 
> Assisted-by: Grok 4.5 (xAI)
> Signed-off-by: Jens Glathe <jens.glathe@oldschoolsolutions.biz>
> ---


Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com>

Best regards,
Krzysztof

^ permalink raw reply	[flat|nested] 35+ messages in thread

* Re: [PATCH 0/7] arm64: dts: qcom: IdeaCentre Mini 01Q8X10 Hamoa + Purwa
  2026-09-08  9:03 ` Mostafa Saleh
@ 2026-09-08  9:05   ` Krzysztof Kozlowski
  2026-09-08  9:11     ` Mostafa Saleh
  2026-09-08  9:34     ` Jens Glathe
  2026-09-08  9:39   ` Jens Glathe
  1 sibling, 2 replies; 35+ messages in thread
From: Krzysztof Kozlowski @ 2026-09-08  9:05 UTC (permalink / raw)
  To: Mostafa Saleh, jens.glathe
  Cc: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley, linux-arm-msm, devicetree, linux-kernel

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

^ permalink raw reply	[flat|nested] 35+ messages in thread

* Re: [PATCH 0/7] arm64: dts: qcom: IdeaCentre Mini 01Q8X10 Hamoa + Purwa
  2026-09-08  9:05   ` Krzysztof Kozlowski
@ 2026-09-08  9:11     ` Mostafa Saleh
  2026-09-08  9:57       ` Konrad Dybcio
  2026-09-08  9:34     ` Jens Glathe
  1 sibling, 1 reply; 35+ messages in thread
From: Mostafa Saleh @ 2026-09-08  9:11 UTC (permalink / raw)
  To: Krzysztof Kozlowski
  Cc: jens.glathe, Bjorn Andersson, Konrad Dybcio, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley, linux-arm-msm, devicetree,
	linux-kernel

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

^ permalink raw reply	[flat|nested] 35+ messages in thread

* Re: [PATCH 0/7] arm64: dts: qcom: IdeaCentre Mini 01Q8X10 Hamoa + Purwa
  2026-09-08  9:05   ` Krzysztof Kozlowski
  2026-09-08  9:11     ` Mostafa Saleh
@ 2026-09-08  9:34     ` Jens Glathe
  1 sibling, 0 replies; 35+ messages in thread
From: Jens Glathe @ 2026-09-08  9:34 UTC (permalink / raw)
  To: Krzysztof Kozlowski, Mostafa Saleh
  Cc: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley, linux-arm-msm, devicetree, linux-kernel

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


^ permalink raw reply	[flat|nested] 35+ messages in thread

* Re: [PATCH 0/7] arm64: dts: qcom: IdeaCentre Mini 01Q8X10 Hamoa + Purwa
  2026-09-08  9:03 ` Mostafa Saleh
  2026-09-08  9:05   ` Krzysztof Kozlowski
@ 2026-09-08  9:39   ` Jens Glathe
  2026-09-08 11:00     ` Mostafa Saleh
  1 sibling, 1 reply; 35+ messages in thread
From: Jens Glathe @ 2026-09-08  9:39 UTC (permalink / raw)
  To: Mostafa Saleh
  Cc: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley, linux-arm-msm, devicetree, linux-kernel

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



^ permalink raw reply	[flat|nested] 35+ messages in thread

* Re: [PATCH 0/7] arm64: dts: qcom: IdeaCentre Mini 01Q8X10 Hamoa + Purwa
  2026-09-08  9:11     ` Mostafa Saleh
@ 2026-09-08  9:57       ` Konrad Dybcio
  2026-09-08 11:02         ` Mostafa Saleh
  0 siblings, 1 reply; 35+ messages in thread
From: Konrad Dybcio @ 2026-09-08  9:57 UTC (permalink / raw)
  To: Mostafa Saleh, Krzysztof Kozlowski
  Cc: jens.glathe, Bjorn Andersson, Konrad Dybcio, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley, linux-arm-msm, devicetree,
	linux-kernel

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

^ permalink raw reply	[flat|nested] 35+ messages in thread

* Re: [PATCH 0/7] arm64: dts: qcom: IdeaCentre Mini 01Q8X10 Hamoa + Purwa
  2026-09-08  9:39   ` Jens Glathe
@ 2026-09-08 11:00     ` Mostafa Saleh
  2026-09-08 12:00       ` Jens Glathe
  0 siblings, 1 reply; 35+ messages in thread
From: Mostafa Saleh @ 2026-09-08 11:00 UTC (permalink / raw)
  To: Jens Glathe
  Cc: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley, linux-arm-msm, devicetree, linux-kernel

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
> 
> 

^ permalink raw reply	[flat|nested] 35+ messages in thread

* Re: [PATCH 0/7] arm64: dts: qcom: IdeaCentre Mini 01Q8X10 Hamoa + Purwa
  2026-09-08  9:57       ` Konrad Dybcio
@ 2026-09-08 11:02         ` Mostafa Saleh
  2026-09-08 12:00           ` Krzysztof Kozlowski
  0 siblings, 1 reply; 35+ messages in thread
From: Mostafa Saleh @ 2026-09-08 11:02 UTC (permalink / raw)
  To: Konrad Dybcio
  Cc: Krzysztof Kozlowski, jens.glathe, Bjorn Andersson, Konrad Dybcio,
	Rob Herring, Krzysztof Kozlowski, Conor Dooley, linux-arm-msm,
	devicetree, linux-kernel

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

^ permalink raw reply	[flat|nested] 35+ messages in thread

* Re: [PATCH 0/7] arm64: dts: qcom: IdeaCentre Mini 01Q8X10 Hamoa + Purwa
  2026-09-08 11:02         ` Mostafa Saleh
@ 2026-09-08 12:00           ` Krzysztof Kozlowski
  0 siblings, 0 replies; 35+ messages in thread
From: Krzysztof Kozlowski @ 2026-09-08 12:00 UTC (permalink / raw)
  To: Mostafa Saleh, Konrad Dybcio
  Cc: jens.glathe, Bjorn Andersson, Konrad Dybcio, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley, linux-arm-msm, devicetree,
	linux-kernel

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

^ permalink raw reply	[flat|nested] 35+ messages in thread

* Re: [PATCH 0/7] arm64: dts: qcom: IdeaCentre Mini 01Q8X10 Hamoa + Purwa
  2026-09-08 11:00     ` Mostafa Saleh
@ 2026-09-08 12:00       ` Jens Glathe
  2026-09-08 12:09         ` Mostafa Saleh
  0 siblings, 1 reply; 35+ messages in thread
From: Jens Glathe @ 2026-09-08 12:00 UTC (permalink / raw)
  To: Mostafa Saleh
  Cc: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley, linux-arm-msm, devicetree, linux-kernel

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



^ permalink raw reply	[flat|nested] 35+ messages in thread

* Re: [PATCH 0/7] arm64: dts: qcom: IdeaCentre Mini 01Q8X10 Hamoa + Purwa
  2026-09-08 12:00       ` Jens Glathe
@ 2026-09-08 12:09         ` Mostafa Saleh
  2026-09-08 15:04           ` Jens Glathe
  0 siblings, 1 reply; 35+ messages in thread
From: Mostafa Saleh @ 2026-09-08 12:09 UTC (permalink / raw)
  To: Jens Glathe
  Cc: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley, linux-arm-msm, devicetree, linux-kernel

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
> 
> 

^ permalink raw reply	[flat|nested] 35+ messages in thread

* Re: [PATCH 0/7] arm64: dts: qcom: IdeaCentre Mini 01Q8X10 Hamoa + Purwa
  2026-09-08 12:09         ` Mostafa Saleh
@ 2026-09-08 15:04           ` Jens Glathe
  2026-09-08 17:47             ` Mostafa Saleh
  0 siblings, 1 reply; 35+ messages in thread
From: Jens Glathe @ 2026-09-08 15:04 UTC (permalink / raw)
  To: Mostafa Saleh
  Cc: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley, linux-arm-msm, devicetree, linux-kernel

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


^ permalink raw reply	[flat|nested] 35+ messages in thread

* Re: [PATCH 0/7] arm64: dts: qcom: IdeaCentre Mini 01Q8X10 Hamoa + Purwa
  2026-09-08 15:04           ` Jens Glathe
@ 2026-09-08 17:47             ` Mostafa Saleh
  2026-09-08 18:15               ` Jens Glathe
  2026-09-09 11:31               ` Konrad Dybcio
  0 siblings, 2 replies; 35+ messages in thread
From: Mostafa Saleh @ 2026-09-08 17:47 UTC (permalink / raw)
  To: Jens Glathe
  Cc: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley, linux-arm-msm, devicetree, linux-kernel

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
> 

^ permalink raw reply	[flat|nested] 35+ messages in thread

* Re: [PATCH 0/7] arm64: dts: qcom: IdeaCentre Mini 01Q8X10 Hamoa + Purwa
  2026-09-08 17:47             ` Mostafa Saleh
@ 2026-09-08 18:15               ` Jens Glathe
  2026-09-09 12:47                 ` Mostafa Saleh
  2026-09-09 11:31               ` Konrad Dybcio
  1 sibling, 1 reply; 35+ messages in thread
From: Jens Glathe @ 2026-09-08 18:15 UTC (permalink / raw)
  To: Mostafa Saleh
  Cc: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley, linux-arm-msm, devicetree, linux-kernel

Hi Mostafa,

On 08.09.26 19:47, Mostafa Saleh wrote:
> On Tue, Sep 08, 2026 at 05:04:44PM +0200, Jens Glathe wrote:
>> Hi 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.

For that you would need the patch as listed before: [2]

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

This should give you boot on EL2.

> 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

Since you don't load firmwares, maybe try these? However, I was able to 
boot and install with the Ubuntu Resolute ISO by providing the dtb, 
without the firmwares. Odd.

> 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
Looks like nope:

root@mini-x-jg:~# cat /sys/devices/soc0/soc_id
635
root@mini-x-jg:~# cat /sys/devices/soc0/revision
1.0

We have the same SoC, maybe different binning. You could try to boot up 
with the extended Resolute ISO to boot without firmwares [3]. It 
contains the same dtb.

[3]: 
https://drive.google.com/drive/folders/1sc_CpqOMTJNljfvRyLG-xdwB0yduje_O

with best regards

Jens


^ permalink raw reply	[flat|nested] 35+ messages in thread

* Re: [PATCH 0/7] arm64: dts: qcom: IdeaCentre Mini 01Q8X10 Hamoa + Purwa
  2026-09-08 17:47             ` Mostafa Saleh
  2026-09-08 18:15               ` Jens Glathe
@ 2026-09-09 11:31               ` Konrad Dybcio
  2026-09-09 12:14                 ` Mostafa Saleh
  1 sibling, 1 reply; 35+ messages in thread
From: Konrad Dybcio @ 2026-09-09 11:31 UTC (permalink / raw)
  To: Mostafa Saleh, Jens Glathe
  Cc: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley, linux-arm-msm, devicetree, linux-kernel

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

^ permalink raw reply	[flat|nested] 35+ messages in thread

* Re: [PATCH 0/7] arm64: dts: qcom: IdeaCentre Mini 01Q8X10 Hamoa + Purwa
  2026-09-09 11:31               ` Konrad Dybcio
@ 2026-09-09 12:14                 ` Mostafa Saleh
  0 siblings, 0 replies; 35+ messages in thread
From: Mostafa Saleh @ 2026-09-09 12:14 UTC (permalink / raw)
  To: Konrad Dybcio
  Cc: Jens Glathe, Bjorn Andersson, Konrad Dybcio, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley, linux-arm-msm, devicetree,
	linux-kernel

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

^ permalink raw reply	[flat|nested] 35+ messages in thread

* Re: [PATCH 0/7] arm64: dts: qcom: IdeaCentre Mini 01Q8X10 Hamoa + Purwa
  2026-09-08 18:15               ` Jens Glathe
@ 2026-09-09 12:47                 ` Mostafa Saleh
  0 siblings, 0 replies; 35+ messages in thread
From: Mostafa Saleh @ 2026-09-09 12:47 UTC (permalink / raw)
  To: Jens Glathe
  Cc: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley, linux-arm-msm, devicetree, linux-kernel

On Tue, Sep 08, 2026 at 08:15:27PM +0200, Jens Glathe wrote:
> Hi Mostafa,
> 
> On 08.09.26 19:47, Mostafa Saleh wrote:
> > On Tue, Sep 08, 2026 at 05:04:44PM +0200, Jens Glathe wrote:
> > > Hi 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.
> 
> For that you would need the patch as listed before: [2]
> 
> [2]: https://github.com/jglathe/linux_ms_dev_kit/tree/b4/x1-el2-unfuck
> 
> This should give you boot on EL2.
> 
> > 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
> 
> Since you don't load firmwares, maybe try these? However, I was able to boot
> and install with the Ubuntu Resolute ISO by providing the dtb, without the
> firmwares. Odd.
> 
> > 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
> Looks like nope:
> 
> root@mini-x-jg:~# cat /sys/devices/soc0/soc_id
> 635
> root@mini-x-jg:~# cat /sys/devices/soc0/revision
> 1.0
> 
> We have the same SoC, maybe different binning. You could try to boot up with
> the extended Resolute ISO to boot without firmwares [3]. It contains the
> same dtb.
> 
> [3]:
> https://drive.google.com/drive/folders/1sc_CpqOMTJNljfvRyLG-xdwB0yduje_O
> 

Thanks! I can boot ubuntu with:
resolute-desktop-arm64+x1e-20260831_extended_jg.iso

I figured out the issue, the problem is that I am using the console
which is missing. And all the warnings in the logs were just a red
herring.

With that patch on top of your device tree I can fully boot:
diff --git a/arch/arm64/boot/dts/qcom/x1-lenovo-ideacentre-mini-01q8x10.dtsi b/arch/arm64/boot/dts/qcom/x1-lenovo-ideacentre-mini-01q8x10.dtsi
index b720622c5d90..973e603bbb6a 100644
--- a/arch/arm64/boot/dts/qcom/x1-lenovo-ideacentre-mini-01q8x10.dtsi
+++ b/arch/arm64/boot/dts/qcom/x1-lenovo-ideacentre-mini-01q8x10.dtsi
@@ -13,7 +13,7 @@ / {
 	chassis-type = "desktop";
 
 	aliases {
-		serial0 = &uart14;
+		serial0 = &uart21;
 	};
 
 	wcd938x: audio-codec {
@@ -1183,3 +1183,8 @@ &usb_mp_qmpphy0 {
 
 	status = "okay";
 };
+
+&uart21 {
+	compatible = "qcom,geni-debug-uart";
+	status = "okay";
+};

However, the kernel logs are extremely verbose (I have 39 warnings)

Disabling MDSS makes it cleaner:
diff --git a/arch/arm64/boot/dts/qcom/purwa-lenovo-ideacentre-mini-01q8x10.dts b/arch/arm64/boot/dts/qcom/purwa-lenovo-ideacentre-mini-01q8x10.dts
index 9813a570cf69..8dc038566f93 100644
--- a/arch/arm64/boot/dts/qcom/purwa-lenovo-ideacentre-mini-01q8x10.dts
+++ b/arch/arm64/boot/dts/qcom/purwa-lenovo-ideacentre-mini-01q8x10.dts
@@ -40,3 +40,34 @@ &remoteproc_cdsp {
 
 	status = "okay";
 };
+
+
+&mdss {
+	status = "disabled";
+};
+
+&mdss_dp0 {
+	status = "disabled";
+
+};
+
+&mdss_dp0_out {
+	status = "disabled";
+};
+
+&mdss_dp1 {
+	status = "disabled";
+
+};
+
+&mdss_dp1_out {
+	status = "disabled";
+};
+
+&mdss_dp2 {
+	status = "disabled";
+};
+
+&mdss_dp2_out {
+	status = "disabled";
+};

I do not have any media attached nor drivers enabled, but that
shouldn't make the logs that verbose, I can dig more into it.

One other problem, is that there is a missing a PCI bus with the WIFI
card:

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


Compared to with my device tree:
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

Thanks,
Mostafa

> with best regards
> 
> Jens
> 

^ permalink raw reply	[flat|nested] 35+ messages in thread

end of thread, other threads:[~2026-09-09 12:47 UTC | newest]

Thread overview: 35+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-09-05  9:28 [PATCH 0/7] arm64: dts: qcom: IdeaCentre Mini 01Q8X10 Hamoa + Purwa Jens Glathe via B4 Relay
2026-09-05  9:28 ` [PATCH 1/7] dt-bindings: arm: qcom: Distinguish IdeaCentre Mini 01Q8X10 SKUs Jens Glathe via B4 Relay
2026-09-08  9:04   ` Krzysztof Kozlowski
2026-09-05  9:28 ` [PATCH 2/7] arm64: dts: qcom: Split IdeaCentre Mini into a common DTSI Jens Glathe via B4 Relay
2026-09-07  8:49   ` Konrad Dybcio
2026-09-05  9:28 ` [PATCH 3/7] arm64: dts: qcom: Add Purwa IdeaCentre Mini 01Q8X10 Jens Glathe via B4 Relay
2026-09-07  8:49   ` Konrad Dybcio
2026-09-05  9:28 ` [PATCH 4/7] arm64: dts: qcom: ideacentre-mini: Build the Hamoa EL2 DTB Jens Glathe via B4 Relay
2026-09-07  8:49   ` Konrad Dybcio
2026-09-05  9:29 ` [PATCH 5/7] arm64: dts: qcom: ideacentre-mini: Fix the second M.2 3V3 rail Jens Glathe via B4 Relay
2026-09-07  8:55   ` Konrad Dybcio
2026-09-05  9:29 ` [PATCH 6/7] arm64: dts: qcom: ideacentre-mini: Wire up DP sound names and VA macro Jens Glathe via B4 Relay
2026-09-07  8:55   ` Konrad Dybcio
2026-09-08  5:09     ` Jens Glathe
2026-09-05  9:29 ` [PATCH 7/7] arm64: dts: qcom: ideacentre-mini: Drop the unused USB MP port Jens Glathe via B4 Relay
2026-09-07  8:56   ` Konrad Dybcio
2026-09-07  8:57 ` [PATCH 0/7] arm64: dts: qcom: IdeaCentre Mini 01Q8X10 Hamoa + Purwa Konrad Dybcio
2026-09-07  9:51   ` Mostafa Saleh
2026-09-08  9:03 ` Mostafa Saleh
2026-09-08  9:05   ` Krzysztof Kozlowski
2026-09-08  9:11     ` Mostafa Saleh
2026-09-08  9:57       ` Konrad Dybcio
2026-09-08 11:02         ` Mostafa Saleh
2026-09-08 12:00           ` Krzysztof Kozlowski
2026-09-08  9:34     ` Jens Glathe
2026-09-08  9:39   ` Jens Glathe
2026-09-08 11:00     ` Mostafa Saleh
2026-09-08 12:00       ` Jens Glathe
2026-09-08 12:09         ` Mostafa Saleh
2026-09-08 15:04           ` Jens Glathe
2026-09-08 17:47             ` Mostafa Saleh
2026-09-08 18:15               ` Jens Glathe
2026-09-09 12:47                 ` Mostafa Saleh
2026-09-09 11:31               ` Konrad Dybcio
2026-09-09 12:14                 ` Mostafa Saleh

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®