Devicetree
 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; 39+ 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] 39+ 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; 39+ 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 related	[flat|nested] 39+ 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; 39+ 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 related	[flat|nested] 39+ 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-05  9:42   ` sashiko-bot
  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, 2 replies; 39+ 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 related	[flat|nested] 39+ 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; 39+ 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 related	[flat|nested] 39+ 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-05  9:36   ` sashiko-bot
  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, 2 replies; 39+ 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 related	[flat|nested] 39+ 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; 39+ 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 related	[flat|nested] 39+ 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-05  9:39   ` sashiko-bot
  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, 2 replies; 39+ 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 related	[flat|nested] 39+ 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-05  9:36   ` sashiko-bot
  2026-09-07  8:55   ` Konrad Dybcio
  1 sibling, 0 replies; 39+ messages in thread
From: sashiko-bot @ 2026-09-05  9:36 UTC (permalink / raw)
  To: Jens Glathe; +Cc: conor+dt, devicetree, robh

Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
- [Medium] Encoding a consumer (M.2 NVMe) power-up delay into the provider (regulator) DT node as 'startup-delay-us' violates Device Tree design principles.
--

commit 74fe38037d977753f0083d520b231c28126f164d
Author: Jens Glathe <jens.glathe@oldschoolsolutions.biz>

arm64: dts: qcom: ideacentre-mini: Fix the second M.2 3V3 rail

This commit switches the vreg_nvme2_3p3 regulator to the PMIC GPIO and adds a
2-second startup delay along with an always-on property to work around M.2
probing failures.

> 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
> --- a/arch/arm64/boot/dts/qcom/x1-lenovo-ideacentre-mini-01q8x10.dtsi
> +++ b/arch/arm64/boot/dts/qcom/x1-lenovo-ideacentre-mini-01q8x10.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>;

[Severity: Medium]
Does adding startup-delay-us to the regulator node violate Device Tree design
principles by encoding a software workaround for the consumer's (M.2 NVMe)
initialization time?

Device Tree serves as a hardware description and stable ABI. Encoding a
2,000,000 us (2 seconds) delay here describes the consumer's initialization
time, rather than the physical stabilization time of the regulator hardware.

Once a proper M.2 PCIe power sequencer driver is introduced, will this node
continue to force the regulator framework to needlessly block for 2 seconds
whenever the regulator is enabled?

> +
>  		regulator-boot-on;
> +		regulator-always-on;
>  	};
>  
>  	vreg_v0p9: regulator-v0p9 {

-- 
Sashiko AI review · https://sashiko.dev/#/patchset/20260905-x1-ideacentre-mini-prettify-v1-0-9a87882973bb@oldschoolsolutions.biz?part=5

^ permalink raw reply	[flat|nested] 39+ 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-05  9:39   ` sashiko-bot
  2026-09-07  8:56   ` Konrad Dybcio
  1 sibling, 0 replies; 39+ messages in thread
From: sashiko-bot @ 2026-09-05  9:39 UTC (permalink / raw)
  To: Jens Glathe; +Cc: conor+dt, devicetree, robh

Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
- [Medium] Incomplete removal of the second USB MP port leaves unused interrupts in the device tree, causing dwc3-qcom to incorrectly detect 2 ports.
--

commit 60ea82fd4a9cce2b2f56bfccffd8337ca1f4e46b
Author: Jens Glathe <jens.glathe@oldschoolsolutions.biz>

arm64: dts: qcom: ideacentre-mini: Drop the unused USB MP port

This commit drops the unused USB MP port by removing its repeater, reset
pin, and second MP PHYs from the device tree. It also pins the controller
to only use the first set of PHYs to avoid claiming empty PHYs.

> 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
[ ... ]
> @@ -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";

[Severity: Medium]
Since the dwc3-qcom driver determines the number of active ports by counting
the dp_hs_phy_%d interrupts defined in the device tree, will this incomplete
override cause the driver to still detect two ports?

Because the interrupts-extended and interrupt-names properties inherited from
the base SoC dtsi are not overridden here, dp_hs_phy_2 and the other
second-port interrupts remain present.

During system suspend, could this lead to dwc3_qcom_suspend() polling the
unpopulated PHY and mistakenly enabling wakeup interrupts for the missing
port's floating lines? This might cause spurious wakeups or interrupt storms
that prevent deep sleep. Should the interrupt properties be overridden here
as well to drop the second port's interrupts?

>  };
>  
>  &usb_mp_hsphy0 {
[ ... ]

-- 
Sashiko AI review · https://sashiko.dev/#/patchset/20260905-x1-ideacentre-mini-prettify-v1-0-9a87882973bb@oldschoolsolutions.biz?part=7

^ permalink raw reply	[flat|nested] 39+ 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-05  9:42   ` sashiko-bot
  2026-09-05 10:46     ` Jens Glathe
  2026-09-07  8:49   ` Konrad Dybcio
  1 sibling, 1 reply; 39+ messages in thread
From: sashiko-bot @ 2026-09-05  9:42 UTC (permalink / raw)
  To: Jens Glathe; +Cc: devicetree, conor+dt, robh

Thank you for your contribution! Sashiko AI review found 2 potential issue(s) to consider:
- [Medium] The device tree leaves the `pmc8380_6_die_temp` ADC channel enabled despite physically removing the corresponding `pmc8380_6` PMIC.
- [Low] The patch inadvertently replaces the composite dtbs rule for `purwa-iot-evk-el2-dtbs` instead of adding the new board's rule alongside it, causing a build failure.
--

commit a1fbbf4379b4719283a1891d22cc069dc0b2dda9
Author: Jens Glathe <jens.glathe@oldschoolsolutions.biz>

arm64: dts: qcom: Add Purwa IdeaCentre Mini 01Q8X10

This patch adds the Purwa SKU of the Lenovo IdeaCentre Mini 01Q8X10. It
provides the Purwa SoC include, firmware paths, and removes the pmc8380_6
nodes that are not physically present on this board.

> 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

[Severity: Low]
Does this unintentionally remove the composite rule for the existing
purwa-iot-evk-el2 board?

Kbuild will fail with a 'No rule to make target' error when building because
dtb-$(CONFIG_ARCH_QCOM) += purwa-iot-evk-el2.dtb remains slightly further down
in this Makefile, but its underlying composite dtbs definition has been
overwritten here instead of being preserved.

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

[Severity: Medium]
Since the physical pmc8380_6 PMIC is declared absent and its main nodes are
deleted, does the associated ADC channel pmc8380_6_die_temp also need to be
deleted here?

If the SPMI ADC driver (qcom-spmi-adc5) probes the pre-defined channel and
tries to configure it on a non-existent PMIC, it can lead to SPMI bus
communication timeouts and invalid hwmon reads. Should there be a
/delete-node/ &pmc8380_6_die_temp; added to this block?

[ ... ]

-- 
Sashiko AI review · https://sashiko.dev/#/patchset/20260905-x1-ideacentre-mini-prettify-v1-0-9a87882973bb@oldschoolsolutions.biz?part=3

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

* Re: [PATCH 3/7] arm64: dts: qcom: Add Purwa IdeaCentre Mini 01Q8X10
  2026-09-05  9:42   ` sashiko-bot
@ 2026-09-05 10:46     ` Jens Glathe
  0 siblings, 0 replies; 39+ messages in thread
From: Jens Glathe @ 2026-09-05 10:46 UTC (permalink / raw)
  To: sashiko-reviews; +Cc: devicetree, conor+dt, robh

Hi Sashiko-bot,

On 05.09.26 11:42, sashiko-bot@kernel.org wrote:
>> 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
> [Severity: Low]
> Does this unintentionally remove the composite rule for the existing
> purwa-iot-evk-el2 board?
>
> Kbuild will fail with a 'No rule to make target' error when building because
> dtb-$(CONFIG_ARCH_QCOM) += purwa-iot-evk-el2.dtb remains slightly further down
> in this Makefile, but its underlying composite dtbs definition has been
> overwritten here instead of being preserved.
>
Oops, that was not intended. Will be fixed in v2.

with best regards,

Jens


^ permalink raw reply	[flat|nested] 39+ 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; 39+ 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] 39+ 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-05  9:42   ` sashiko-bot
@ 2026-09-07  8:49   ` Konrad Dybcio
  1 sibling, 0 replies; 39+ 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] 39+ 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; 39+ 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] 39+ 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-05  9:36   ` sashiko-bot
@ 2026-09-07  8:55   ` Konrad Dybcio
  1 sibling, 0 replies; 39+ 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] 39+ 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; 39+ 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] 39+ 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-05  9:39   ` sashiko-bot
@ 2026-09-07  8:56   ` Konrad Dybcio
  1 sibling, 0 replies; 39+ 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] 39+ 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; 39+ 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] 39+ 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; 39+ 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] 39+ 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; 39+ 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] 39+ 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; 39+ 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] 39+ 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; 39+ 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] 39+ 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; 39+ 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] 39+ 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; 39+ 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] 39+ 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; 39+ 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] 39+ 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; 39+ 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] 39+ 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; 39+ 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] 39+ 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; 39+ 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 related	[flat|nested] 39+ 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; 39+ 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] 39+ 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; 39+ 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] 39+ 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; 39+ 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] 39+ 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; 39+ 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] 39+ 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; 39+ 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] 39+ 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; 39+ 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] 39+ 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; 39+ 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] 39+ 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; 39+ 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] 39+ 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; 39+ 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] 39+ 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; 39+ 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 related	[flat|nested] 39+ messages in thread

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

Thread overview: 39+ 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-05  9:42   ` sashiko-bot
2026-09-05 10:46     ` Jens Glathe
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-05  9:36   ` sashiko-bot
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-05  9:39   ` sashiko-bot
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