* [PATCH 0/7] arm64: dts: qcom: IdeaCentre Mini 01Q8X10 Hamoa + Purwa
@ 2026-09-05 9:28 Jens Glathe via B4 Relay
2026-09-05 9:28 ` [PATCH 1/7] dt-bindings: arm: qcom: Distinguish IdeaCentre Mini 01Q8X10 SKUs Jens Glathe via B4 Relay
` (8 more replies)
0 siblings, 9 replies; 35+ messages in thread
From: Jens Glathe via B4 Relay @ 2026-09-05 9:28 UTC (permalink / raw)
To: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
Conor Dooley
Cc: linux-arm-msm, devicetree, linux-kernel, Jens Glathe
The IdeaCentre Mini 01Q8X10 (board 91B6) ships with two SoCs: Hamoa
(X1E80100), already upstream, and Purwa (X1P42100 / X1-26-100). Same
chassis, different silicon. Stubble and the DTB loader need distinct
compatibles.
This series splits the board description into
x1-lenovo-ideacentre-mini-01q8x10.dtsi and adds thin leaves. Each SKU
keeps lenovo,ideacentre-mini-01q8x10 as fallback:
lenovo,hamoa-ideacentre-mini-01q8x10, lenovo,ideacentre-mini-01q8x10,
qcom,x1e80100
lenovo,purwa-ideacentre-mini-01q8x10, lenovo,ideacentre-mini-01q8x10,
qcom,x1p42100
No qcom_scm change; the fallback is already on the allowlist.
The remaining patches fix the common DTSI for both boxes:
- Build the Hamoa EL2 DTB like the other Hamoa boards.
- Second M.2 3V3 is PMC8380_3 GPIO5, not TLMM18. A 2 s startup delay
is required or pcie3 fails to probe. always-on is a hack until there
is a real M.2 power sequencer.
- sound-name-prefix on the three DP ports. Enable lpass_vamacro: no
onboard mics, but it provides fsgen for tx_macro and rx_macro.
- usb_mp port 1 is not populated (no PTN3222 @ 0x4f). USB-C is
usb_1_ss0; rear Type-A is usb_mp port 0 behind a Genesys hub.
The Genesys hub is left undescribed.
UCM [1] and AudioReach [2] topology for these devices are online, too.
Tested on:
- IdeaCentre Mini 01Q8X10, Purwa (X1-26-100), 91B6
- Hamoa: compile-tested only
[1]: https://github.com/alsa-project/alsa-ucm-conf/pull/843
[2]: https://github.com/linux-msm/audioreach-topology/pull/74
Assisted-by: Grok 4.5 (xAI)
Signed-off-by: Jens Glathe <jens.glathe@oldschoolsolutions.biz>
---
Jens Glathe (7):
dt-bindings: arm: qcom: Distinguish IdeaCentre Mini 01Q8X10 SKUs
arm64: dts: qcom: Split IdeaCentre Mini into a common DTSI
arm64: dts: qcom: Add Purwa IdeaCentre Mini 01Q8X10
arm64: dts: qcom: ideacentre-mini: Build the Hamoa EL2 DTB
arm64: dts: qcom: ideacentre-mini: Fix the second M.2 3V3 rail
arm64: dts: qcom: ideacentre-mini: Wire up DP sound names and VA macro
arm64: dts: qcom: ideacentre-mini: Drop the unused USB MP port
Documentation/devicetree/bindings/arm/qcom.yaml | 11 +-
arch/arm64/boot/dts/qcom/Makefile | 8 +-
.../qcom/hamoa-lenovo-ideacentre-mini-01q8x10.dts | 1188 +-------------------
.../qcom/purwa-lenovo-ideacentre-mini-01q8x10.dts | 42 +
.../qcom/x1-lenovo-ideacentre-mini-01q8x10.dtsi | 1185 +++++++++++++++++++
5 files changed, 1246 insertions(+), 1188 deletions(-)
---
base-commit: af5f12805e5cefa4fe68d6127c7e1fb78cd5535c
change-id: 20260905-x1-ideacentre-mini-prettify-a5d349d8954f
Best regards,
--
Jens Glathe <jens.glathe@oldschoolsolutions.biz>
^ permalink raw reply [flat|nested] 35+ messages in thread
* [PATCH 1/7] dt-bindings: arm: qcom: Distinguish IdeaCentre Mini 01Q8X10 SKUs
2026-09-05 9:28 [PATCH 0/7] arm64: dts: qcom: IdeaCentre Mini 01Q8X10 Hamoa + Purwa Jens Glathe via B4 Relay
@ 2026-09-05 9:28 ` Jens Glathe via B4 Relay
2026-09-08 9:04 ` Krzysztof Kozlowski
2026-09-05 9:28 ` [PATCH 2/7] arm64: dts: qcom: Split IdeaCentre Mini into a common DTSI Jens Glathe via B4 Relay
` (7 subsequent siblings)
8 siblings, 1 reply; 35+ messages in thread
From: Jens Glathe via B4 Relay @ 2026-09-05 9:28 UTC (permalink / raw)
To: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
Conor Dooley
Cc: linux-arm-msm, devicetree, linux-kernel, Jens Glathe
From: Jens Glathe <jens.glathe@oldschoolsolutions.biz>
The Lenovo IdeaCentre Mini 01Q8X10 exists on both X1E80100 (Hamoa) and
X1P42100 (Purwa). A single two-entry compatible cannot tell those
device trees apart.
Move the board out of the generic X1E80100 enum and document two
three-entry lists:
lenovo,hamoa-ideacentre-mini-01q8x10, lenovo,ideacentre-mini-01q8x10,
qcom,x1e80100
lenovo,purwa-ideacentre-mini-01q8x10, lenovo,ideacentre-mini-01q8x10,
qcom,x1p42100
Assisted-by: Grok 4.5 (xAI)
Signed-off-by: Jens Glathe <jens.glathe@oldschoolsolutions.biz>
---
Documentation/devicetree/bindings/arm/qcom.yaml | 11 ++++++++++-
1 file changed, 10 insertions(+), 1 deletion(-)
diff --git a/Documentation/devicetree/bindings/arm/qcom.yaml b/Documentation/devicetree/bindings/arm/qcom.yaml
index 5ccb571520d1d..4d6f561a8cac0 100644
--- a/Documentation/devicetree/bindings/arm/qcom.yaml
+++ b/Documentation/devicetree/bindings/arm/qcom.yaml
@@ -1180,6 +1180,11 @@ properties:
- const: qcom,x1e001de
- const: qcom,x1e80100
+ - items:
+ - const: lenovo,hamoa-ideacentre-mini-01q8x10
+ - const: lenovo,ideacentre-mini-01q8x10
+ - const: qcom,x1e80100
+
- items:
- enum:
- lenovo,thinkpad-t14s-lcd
@@ -1211,7 +1216,6 @@ properties:
- honor,magicbook-art-14-snapdragon
- hp,elitebook-ultra-g1q
- hp,omnibook-x14
- - lenovo,ideacentre-mini-01q8x10
- lenovo,yoga-slim7x
- microsoft,romulus13
- microsoft,romulus15
@@ -1230,6 +1234,11 @@ properties:
- const: microsoft,denali
- const: qcom,x1e80100
+ - items:
+ - const: lenovo,purwa-ideacentre-mini-01q8x10
+ - const: lenovo,ideacentre-mini-01q8x10
+ - const: qcom,x1p42100
+
- items:
- const: microsoft,surface-pro-12in
- const: qcom,x1p42100
--
2.53.0
^ permalink raw reply [flat|nested] 35+ messages in thread
* [PATCH 2/7] arm64: dts: qcom: Split IdeaCentre Mini into a common DTSI
2026-09-05 9:28 [PATCH 0/7] arm64: dts: qcom: IdeaCentre Mini 01Q8X10 Hamoa + Purwa Jens Glathe via B4 Relay
2026-09-05 9:28 ` [PATCH 1/7] dt-bindings: arm: qcom: Distinguish IdeaCentre Mini 01Q8X10 SKUs Jens Glathe via B4 Relay
@ 2026-09-05 9:28 ` Jens Glathe via B4 Relay
2026-09-07 8:49 ` Konrad Dybcio
2026-09-05 9:28 ` [PATCH 3/7] arm64: dts: qcom: Add Purwa IdeaCentre Mini 01Q8X10 Jens Glathe via B4 Relay
` (6 subsequent siblings)
8 siblings, 1 reply; 35+ messages in thread
From: Jens Glathe via B4 Relay @ 2026-09-05 9:28 UTC (permalink / raw)
To: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
Conor Dooley
Cc: linux-arm-msm, devicetree, linux-kernel, Jens Glathe
From: Jens Glathe <jens.glathe@oldschoolsolutions.biz>
The IdeaCentre Mini 01Q8X10 chassis is shared by Hamoa (X1E80100) and
Purwa (X1P42100) SKUs. Move the board description into
x1-lenovo-ideacentre-mini-01q8x10.dtsi and leave
hamoa-lenovo-ideacentre-mini-01q8x10.dts as a thin wrapper that includes
the SoC DTSI and the common board file.
Assisted-by: Grok 4.5 (xAI)
Signed-off-by: Jens Glathe <jens.glathe@oldschoolsolutions.biz>
---
.../qcom/hamoa-lenovo-ideacentre-mini-01q8x10.dts | 1260 +-------------------
....dts => x1-lenovo-ideacentre-mini-01q8x10.dtsi} | 29 -
2 files changed, 39 insertions(+), 1250 deletions(-)
diff --git a/arch/arm64/boot/dts/qcom/hamoa-lenovo-ideacentre-mini-01q8x10.dts b/arch/arm64/boot/dts/qcom/hamoa-lenovo-ideacentre-mini-01q8x10.dts
dissimilarity index 97%
index 75ce8b0c94d2a..2c030c2d99685 100644
--- a/arch/arm64/boot/dts/qcom/hamoa-lenovo-ideacentre-mini-01q8x10.dts
+++ b/arch/arm64/boot/dts/qcom/hamoa-lenovo-ideacentre-mini-01q8x10.dts
@@ -1,1221 +1,39 @@
-// SPDX-License-Identifier: BSD-3-Clause
-/*
- * Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.
- */
-
-/dts-v1/;
-
-#include <dt-bindings/gpio/gpio.h>
-#include <dt-bindings/regulator/qcom,rpmh-regulator.h>
-
-#include "hamoa.dtsi"
-#include "hamoa-pmics.dtsi"
-
-/ {
- model = "Lenovo IdeaCentre Mini 01Q8X10";
- compatible = "lenovo,ideacentre-mini-01q8x10", "qcom,x1e80100";
- chassis-type = "desktop";
-
- aliases {
- serial0 = &uart14;
- };
-
- wcd938x: audio-codec {
- compatible = "qcom,wcd9385-codec";
-
- pinctrl-0 = <&wcd_default>;
- pinctrl-names = "default";
-
- qcom,micbias1-microvolt = <1800000>;
- qcom,micbias2-microvolt = <1800000>;
- qcom,micbias3-microvolt = <1800000>;
- qcom,micbias4-microvolt = <1800000>;
- qcom,mbhc-buttons-vthreshold-microvolt = <75000 150000 237000 500000 500000 500000 500000 500000>;
- qcom,mbhc-headset-vthreshold-microvolt = <1700000>;
- qcom,mbhc-headphone-vthreshold-microvolt = <50000>;
- qcom,rx-device = <&wcd_rx>;
- qcom,tx-device = <&wcd_tx>;
-
- reset-gpios = <&tlmm 191 GPIO_ACTIVE_LOW>;
- mux-controls = <&us_euro_mux_ctrl>;
-
- vdd-buck-supply = <&vreg_l15b>;
- vdd-rxtx-supply = <&vreg_l15b>;
- vdd-io-supply = <&vreg_l15b>;
- vdd-mic-bias-supply = <&vreg_bob1>;
-
- #sound-dai-cells = <1>;
- };
-
- dp-connector {
- compatible = "dp-connector";
- type = "full-size";
-
- pinctrl-0 = <&usb1_dp_hot_plug_detect>;
- pinctrl-names = "default";
-
- port {
- dp_port_in: endpoint {
- remote-endpoint = <&usb_1_ss1_qmpphy_out_dp>;
- };
- };
- };
-
- hdmi-bridge {
- compatible = "parade,ps185hdm";
-
- pinctrl-0 = <&usb2_dp_hot_plug_detect>;
- pinctrl-names = "default";
-
- ports {
- #address-cells = <1>;
- #size-cells = <0>;
-
- port@0 {
- reg = <0>;
-
- hdmi_bridge_in: endpoint {
- remote-endpoint = <&usb_1_ss2_qmpphy_out_dp>;
- };
- };
-
- port@1 {
- reg = <1>;
-
- hdmi_bridge_out: endpoint {
- remote-endpoint = <&hdmi_con>;
- };
- };
- };
- };
-
- hdmi-connector {
- compatible = "hdmi-connector";
- type = "a";
-
- port {
- hdmi_con: endpoint {
- remote-endpoint = <&hdmi_bridge_out>;
- };
- };
- };
-
- us_euro_mux_ctrl: mux-controller {
- compatible = "gpio-mux";
- pinctrl-0 = <&us_euro_hs_sel>;
- pinctrl-names = "default";
- mux-supply = <&vreg_l16b>;
- #mux-control-cells = <0>;
- mux-gpios = <&tlmm 68 GPIO_ACTIVE_HIGH>;
- };
-
- pmic-glink {
- compatible = "qcom,x1e80100-pmic-glink",
- "qcom,sm8550-pmic-glink",
- "qcom,pmic-glink";
- orientation-gpios = <&tlmm 121 GPIO_ACTIVE_HIGH>;
-
- #address-cells = <1>;
- #size-cells = <0>;
-
- connector@0 {
- compatible = "usb-c-connector";
- reg = <0>;
- power-role = "dual";
- data-role = "dual";
-
- ports {
- #address-cells = <1>;
- #size-cells = <0>;
-
- port@0 {
- reg = <0>;
-
- pmic_glink_port0_hs_in: endpoint {
- remote-endpoint = <&usb_1_ss0_dwc3_hs>;
- };
- };
-
- port@1 {
- reg = <1>;
-
- pmic_glink_port0_ss_in: endpoint {
- remote-endpoint = <&usb0_retimer_out>;
- };
- };
-
- port@2 {
- reg = <2>;
-
- pmic_glink_port0_sbu_in: endpoint {
- remote-endpoint = <&usb0_retimer_sbu_out>;
- };
- };
- };
- };
- };
-
- vreg_nvme1_3p3: regulator-nvme1-3p3 {
- compatible = "regulator-fixed";
-
- regulator-name = "VREG_NVME1_3P3";
- regulator-min-microvolt = <3300000>;
- regulator-max-microvolt = <3300000>;
-
- gpio = <&tlmm 18 GPIO_ACTIVE_HIGH>;
- enable-active-high;
-
- pinctrl-0 = <&nvme_reg_en>;
- pinctrl-names = "default";
-
- regulator-boot-on;
- };
-
- vreg_nvme2_3p3: regulator-nvme2-3p3 {
- compatible = "regulator-fixed";
-
- regulator-name = "VREG_NVME2_3P3";
- regulator-min-microvolt = <3300000>;
- regulator-max-microvolt = <3300000>;
-
- gpio = <&tlmm 18 GPIO_ACTIVE_HIGH>;
- enable-active-high;
-
- pinctrl-0 = <&nvme_reg_en>;
- pinctrl-names = "default";
-
- regulator-boot-on;
- };
-
- vreg_v0p9: regulator-v0p9 {
- compatible = "regulator-fixed";
-
- regulator-name = "V0P9";
- regulator-min-microvolt = <906000>;
- regulator-max-microvolt = <906000>;
-
- gpio = <&pmc8380_5_gpios 8 GPIO_ACTIVE_HIGH>;
- enable-active-high;
-
- pinctrl-0 = <&usb0_pwr_1p15_reg_en>;
- pinctrl-names = "default";
-
- regulator-boot-on;
- };
-
- vreg_vdd1v8: regulator-vdd1v8 {
- compatible = "regulator-fixed";
-
- regulator-name = "VDD1V8";
- regulator-min-microvolt = <1800000>;
- regulator-max-microvolt = <1800000>;
-
- vin-supply = <&vreg_l15b>;
-
- gpio = <&pm8550ve_9_gpios 8 GPIO_ACTIVE_HIGH>;
- enable-active-high;
-
- pinctrl-0 = <&usb0_1p8_reg_en>;
- pinctrl-names = "default";
-
- regulator-boot-on;
- };
-
- vreg_vdd33_rtmr: regulator-vdd33-rtmr {
- compatible = "regulator-fixed";
-
- regulator-name = "VDD33_RTMR";
- regulator-min-microvolt = <3300000>;
- regulator-max-microvolt = <3300000>;
-
- gpio = <&pm8550_gpios 11 GPIO_ACTIVE_HIGH>;
- enable-active-high;
-
- pinctrl-0 = <&usb0_3p3_reg_en>;
- pinctrl-names = "default";
-
- regulator-boot-on;
- };
-
- vreg_wcn_0p95: regulator-wcn-0p95 {
- compatible = "regulator-fixed";
-
- regulator-name = "VREG_WCN_0P95";
- regulator-min-microvolt = <950000>;
- regulator-max-microvolt = <950000>;
-
- vin-supply = <&vreg_wifi_3v3>;
- };
-
- vreg_wifi_3v3: regulator-wcn-3p3 {
- compatible = "regulator-fixed";
-
- regulator-name = "WIFI_3V3";
- regulator-min-microvolt = <3300000>;
- regulator-max-microvolt = <3300000>;
-
- gpio = <&tlmm 214 GPIO_ACTIVE_HIGH>;
- enable-active-high;
-
- pinctrl-0 = <&wcn_sw_en>;
- pinctrl-names = "default";
- };
-
- vreg_wifi_1v8: regulator-wifi-1v8 {
- compatible = "regulator-fixed";
-
- regulator-name = "WIFI_1V8";
- regulator-min-microvolt = <1800000>;
- regulator-max-microvolt = <1800000>;
-
- vin-supply = <&vreg_l15b>;
- };
-
- reserved-memory {
- linux,cma {
- compatible = "shared-dma-pool";
- size = <0x0 0x8000000>;
- reusable;
- linux,cma-default;
- };
- };
-
- sound {
- compatible = "qcom,x1e80100-sndcard";
- model = "X1E80100-LENOVO-IdeaCentre-Mini";
- audio-routing = "IN1_HPHL", "HPHL_OUT",
- "IN2_HPHR", "HPHR_OUT",
- "AMIC2", "MIC BIAS2",
- "TX SWR_INPUT1", "ADC2_OUTPUT";
-
- wcd-playback-dai-link {
- link-name = "WCD Playback";
-
- cpu {
- sound-dai = <&q6apmbedai RX_CODEC_DMA_RX_0>;
- };
-
- codec {
- sound-dai = <&wcd938x 0>, <&swr1 0>, <&lpass_rxmacro 0>;
- };
-
- platform {
- sound-dai = <&q6apm>;
- };
- };
-
- wcd-capture-dai-link {
- link-name = "WCD Capture";
-
- cpu {
- sound-dai = <&q6apmbedai TX_CODEC_DMA_TX_3>;
- };
-
- codec {
- sound-dai = <&wcd938x 1>, <&swr2 1>, <&lpass_txmacro 0>;
- };
-
- platform {
- sound-dai = <&q6apm>;
- };
- };
-
- displayport-0-dai-link {
- link-name = "DisplayPort0 Playback";
-
- codec {
- sound-dai = <&mdss_dp0>;
- };
-
- cpu {
- sound-dai = <&q6apmbedai DISPLAY_PORT_RX_0>;
- };
-
- platform {
- sound-dai = <&q6apm>;
- };
- };
-
- displayport-1-dai-link {
- link-name = "DisplayPort1 Playback";
-
- codec {
- sound-dai = <&mdss_dp1>;
- };
-
- cpu {
- sound-dai = <&q6apmbedai DISPLAY_PORT_RX_1>;
- };
-
- platform {
- sound-dai = <&q6apm>;
- };
- };
-
- displayport-2-dai-link {
- link-name = "DisplayPort2 Playback";
-
- codec {
- sound-dai = <&mdss_dp2>;
- };
-
- cpu {
- sound-dai = <&q6apmbedai DISPLAY_PORT_RX_2>;
- };
-
- platform {
- sound-dai = <&q6apm>;
- };
- };
- };
-
- wcn7850-pmu {
- compatible = "qcom,wcn7850-pmu";
-
- vdd-supply = <&vreg_wcn_0p95>;
- vddio-supply = <&vreg_l15b>;
- vddaon-supply = <&vreg_wcn_0p95>;
- vdddig-supply = <&vreg_wcn_0p95>;
- vddrfa1p2-supply = <&vreg_wifi_1v8>;
- vddrfa1p8-supply = <&vreg_wifi_1v8>;
-
- wlan-enable-gpios = <&tlmm 117 GPIO_ACTIVE_HIGH>;
- bt-enable-gpios = <&tlmm 116 GPIO_ACTIVE_HIGH>;
-
- pinctrl-0 = <&wcn_wlan_bt_en>;
- pinctrl-names = "default";
-
- regulators {
- vreg_pmu_rfa_cmn: ldo0 {
- regulator-name = "vreg_pmu_rfa_cmn";
- };
-
- vreg_pmu_aon_0p59: ldo1 {
- regulator-name = "vreg_pmu_aon_0p59";
- };
-
- vreg_pmu_wlcx_0p8: ldo2 {
- regulator-name = "vreg_pmu_wlcx_0p8";
- };
-
- vreg_pmu_wlmx_0p85: ldo3 {
- regulator-name = "vreg_pmu_wlmx_0p85";
- };
-
- vreg_pmu_btcmx_0p85: ldo4 {
- regulator-name = "vreg_pmu_btcmx_0p85";
- };
-
- vreg_pmu_rfa_0p8: ldo5 {
- regulator-name = "vreg_pmu_rfa_0p8";
- };
-
- vreg_pmu_rfa_1p2: ldo6 {
- regulator-name = "vreg_pmu_rfa_1p2";
- };
-
- vreg_pmu_rfa_1p8: ldo7 {
- regulator-name = "vreg_pmu_rfa_1p8";
- };
-
- vreg_pmu_pcie_0p9: ldo8 {
- regulator-name = "vreg_pmu_pcie_0p9";
- };
-
- vreg_pmu_pcie_1p8: ldo9 {
- regulator-name = "vreg_pmu_pcie_1p8";
- };
- };
- };
-};
-
-&apps_rsc {
- regulators-0 {
- compatible = "qcom,pm8550-rpmh-regulators";
- qcom,pmic-id = "b";
-
- vreg_bob1: bob1 {
- regulator-name = "vreg_bob1";
- regulator-min-microvolt = <3008000>;
- regulator-max-microvolt = <3960000>;
- regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
- };
-
- vreg_l2b: ldo2 {
- regulator-name = "VREG_L2B";
- regulator-min-microvolt = <3072000>;
- regulator-max-microvolt = <3072000>;
- regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
- };
-
- vreg_l4b: ldo4 {
- regulator-name = "VREG_L4B";
- regulator-min-microvolt = <1800000>;
- regulator-max-microvolt = <1800000>;
- regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
- };
-
- vreg_l13b: ldo13 {
- regulator-name = "VREG_L13B";
- regulator-min-microvolt = <3072000>;
- regulator-max-microvolt = <3072000>;
- regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
- };
-
- vreg_l15b: ldo15 {
- regulator-name = "VREG_L15B";
- regulator-min-microvolt = <1800000>;
- regulator-max-microvolt = <1800000>;
- regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
- regulator-always-on;
- };
-
- vreg_l16b: ldo16 {
- regulator-name = "VREG_L16B";
- regulator-min-microvolt = <2504000>;
- regulator-max-microvolt = <2504000>;
- regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
- };
-
- };
-
- regulators-1 {
- compatible = "qcom,pm8550ve-rpmh-regulators";
- qcom,pmic-id = "c";
-
- vreg_l3c: ldo3 {
- regulator-name = "VREG_L3C";
- regulator-min-microvolt = <912000>;
- regulator-max-microvolt = <912000>;
- regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
- };
- };
-
- regulators-2 {
- compatible = "qcom,pmc8380-rpmh-regulators";
- qcom,pmic-id = "d";
-
- vreg_l1d: ldo1 {
- regulator-name = "VREG_L1D";
- regulator-min-microvolt = <880000>;
- regulator-max-microvolt = <920000>;
- regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
- };
-
- vreg_l2d: ldo2 {
- regulator-name = "VREG_L2D";
- regulator-min-microvolt = <912000>;
- regulator-max-microvolt = <912000>;
- regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
- };
-
- vreg_l3d: ldo3 {
- regulator-name = "VREG_L3D";
- regulator-min-microvolt = <1800000>;
- regulator-max-microvolt = <1800000>;
- regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
- };
- };
-
- regulators-3 {
- compatible = "qcom,pmc8380-rpmh-regulators";
- qcom,pmic-id = "e";
-
- vreg_l2e: ldo2 {
- regulator-name = "VREG_L2E";
- regulator-min-microvolt = <880000>;
- regulator-max-microvolt = <880000>;
- regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
- };
-
- vreg_l3e: ldo3 {
- regulator-name = "VREG_L3E";
- regulator-min-microvolt = <1200000>;
- regulator-max-microvolt = <1200000>;
- regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
- };
- };
-
- regulators-4 {
- compatible = "qcom,pm8550ve-rpmh-regulators";
- qcom,pmic-id = "i";
-
- vreg_l3i: ldo3 {
- regulator-name = "VREG_L3I";
- regulator-min-microvolt = <880000>;
- regulator-max-microvolt = <920000>;
- regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
- };
- };
-
- regulators-5 {
- compatible = "qcom,pm8550ve-rpmh-regulators";
- qcom,pmic-id = "j";
-
- vreg_l1j: ldo1 {
- regulator-name = "VREG_L1J";
- regulator-min-microvolt = <912000>;
- regulator-max-microvolt = <912000>;
- regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
- };
-
- vreg_l2j: ldo2 {
- regulator-name = "VREG_L2J";
- regulator-min-microvolt = <1256000>;
- regulator-max-microvolt = <1256000>;
- regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
- };
-
- vreg_l3j: ldo3 {
- regulator-name = "VREG_L3J";
- regulator-min-microvolt = <880000>;
- regulator-max-microvolt = <880000>;
- regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
- };
- };
-};
-
-&i2c3 {
- clock-frequency = <400000>;
-
- status = "okay";
-
- typec-mux@8 {
- compatible = "parade,ps8833", "parade,ps8830";
- reg = <0x08>;
-
- clocks = <&rpmhcc RPMH_RF_CLK3>;
-
- vdd-supply = <&vreg_v0p9>;
- vdd33-supply = <&vreg_vdd33_rtmr>;
- vdd33-cap-supply = <&vreg_vdd33_rtmr>;
- vddar-supply = <&vreg_v0p9>;
- vddat-supply = <&vreg_v0p9>;
- vddio-supply = <&vreg_vdd1v8>;
-
- reset-gpios = <&pm8550_gpios 10 GPIO_ACTIVE_LOW>;
-
- pinctrl-0 = <&usb0_reset_n>;
- pinctrl-names = "default";
-
- retimer-switch;
- orientation-switch;
-
- ports {
- #address-cells = <1>;
- #size-cells = <0>;
-
- port@0 {
- reg = <0>;
-
- usb0_retimer_out: endpoint {
- remote-endpoint = <&pmic_glink_port0_ss_in>;
- };
- };
-
- port@1 {
- reg = <1>;
-
- usb0_retimer_in: endpoint {
- remote-endpoint = <&usb_1_ss0_qmpphy_out>;
- };
- };
-
- port@2 {
- reg = <2>;
-
- usb0_retimer_sbu_out: endpoint {
- remote-endpoint = <&pmic_glink_port0_sbu_in>;
- };
- };
- };
- };
-};
-
-&i2c5 {
- clock-frequency = <400000>;
-
- status = "okay";
-
- eusb3_repeater: redriver@47 {
- compatible = "nxp,ptn3222";
- reg = <0x47>;
- #phy-cells = <0>;
-
- vdd3v3-supply = <&vreg_l13b>;
- vdd1v8-supply = <&vreg_l4b>;
-
- reset-gpios = <&tlmm 6 GPIO_ACTIVE_LOW>;
-
- pinctrl-0 = <&eusb3_reset_n>;
- pinctrl-names = "default";
- };
-
- eusb6_repeater: redriver@4f {
- compatible = "nxp,ptn3222";
- reg = <0x4f>;
- #phy-cells = <0>;
-
- vdd3v3-supply = <&vreg_l13b>;
- vdd1v8-supply = <&vreg_l4b>;
-
- reset-gpios = <&tlmm 184 GPIO_ACTIVE_LOW>;
-
- pinctrl-0 = <&eusb6_reset_n>;
- pinctrl-names = "default";
- };
-};
-
-&iris {
- firmware-name = "qcom/x1e80100/LENOVO/91B6/qcvss8380.mbn";
-
- status = "okay";
-};
-
-&gpu {
- status = "okay";
-};
-
-&gpu_zap_shader {
- firmware-name = "qcom/x1e80100/LENOVO/91B6/qcdxkmsuc8380.mbn";
-};
-
-&mdss {
- status = "okay";
-};
-
-&mdss_dp0 {
- status = "okay";
-};
-
-&mdss_dp0_out {
- link-frequencies = /bits/ 64 <1620000000 2700000000 5400000000 8100000000>;
-};
-
-&mdss_dp1 {
- status = "okay";
-};
-
-&mdss_dp1_out {
- link-frequencies = /bits/ 64 <1620000000 2700000000 5400000000 8100000000>;
-};
-
-&mdss_dp2 {
- status = "okay";
-};
-
-&mdss_dp2_out {
- link-frequencies = /bits/ 64 <1620000000 2700000000 5400000000 8100000000>;
-};
-
-&pcie3 {
- pinctrl-0 = <&pcie3_default>;
- pinctrl-names = "default";
-
- vddpe-3v3-supply = <&vreg_nvme2_3p3>;
-
- status = "okay";
-};
-
-&pcie3_phy {
- vdda-phy-supply = <&vreg_l3c>;
- vdda-pll-supply = <&vreg_l3e>;
-
- status = "okay";
-};
-
-&pcie3_port0 {
- reset-gpios = <&tlmm 143 GPIO_ACTIVE_LOW>;
- wake-gpios = <&tlmm 145 GPIO_ACTIVE_LOW>;
-};
-
-&pcie4 {
- pinctrl-0 = <&pcie4_default>;
- pinctrl-names = "default";
-
- status = "okay";
-};
-
-&pcie4_phy {
- vdda-phy-supply = <&vreg_l3i>;
- vdda-pll-supply = <&vreg_l3e>;
-
- status = "okay";
-};
-
-&pcie4_port0 {
- reset-gpios = <&tlmm 146 GPIO_ACTIVE_LOW>;
- wake-gpios = <&tlmm 148 GPIO_ACTIVE_LOW>;
-
- wifi@0 {
- compatible = "pci17cb,1107";
- reg = <0x10000 0x0 0x0 0x0 0x0>;
-
- vddaon-supply = <&vreg_pmu_aon_0p59>;
- vddwlcx-supply = <&vreg_pmu_wlcx_0p8>;
- vddwlmx-supply = <&vreg_pmu_wlmx_0p85>;
- vddrfacmn-supply = <&vreg_pmu_rfa_cmn>;
- vddrfa0p8-supply = <&vreg_pmu_rfa_0p8>;
- vddrfa1p2-supply = <&vreg_pmu_rfa_1p2>;
- vddrfa1p8-supply = <&vreg_pmu_rfa_1p8>;
- vddpcie0p9-supply = <&vreg_pmu_pcie_0p9>;
- vddpcie1p8-supply = <&vreg_pmu_pcie_1p8>;
- };
-};
-
-&pcie5 {
- pinctrl-0 = <&pcie5_default>;
- pinctrl-names = "default";
-
- status = "okay";
-};
-
-&pcie5_phy {
- vdda-phy-supply = <&vreg_l3i>;
- vdda-pll-supply = <&vreg_l3e>;
-
- status = "okay";
-};
-
-&pcie5_port0 {
- reset-gpios = <&tlmm 149 GPIO_ACTIVE_LOW>;
- wake-gpios = <&tlmm 151 GPIO_ACTIVE_LOW>;
-};
-
-&pcie6a {
- vddpe-3v3-supply = <&vreg_nvme1_3p3>;
-
- pinctrl-0 = <&pcie6a_default>;
- pinctrl-names = "default";
-
- status = "okay";
-};
-
-&pcie6a_phy {
- vdda-phy-supply = <&vreg_l1d>;
- vdda-pll-supply = <&vreg_l2j>;
-
- status = "okay";
-};
-
-&pcie6a_port0 {
- reset-gpios = <&tlmm 152 GPIO_ACTIVE_LOW>;
- wake-gpios = <&tlmm 154 GPIO_ACTIVE_LOW>;
-};
-
-&pmc8380_5_gpios {
- usb0_pwr_1p15_reg_en: usb0-pwr-1p15-reg-en-state {
- pins = "gpio8";
- function = "normal";
- power-source = <1>;
- bias-disable;
- input-disable;
- output-enable;
- };
-};
-
-&pm8550_gpios {
- usb0_reset_n: usb0-reset-n-state {
- pins = "gpio10";
- function = "normal";
- power-source = <1>;
- bias-disable;
- input-disable;
- output-enable;
- };
-
- usb0_3p3_reg_en: usb0-3p3-reg-en-state {
- pins = "gpio11";
- function = "normal";
- power-source = <1>;
- bias-disable;
- input-disable;
- output-enable;
- };
-};
-
-&pm8550ve_9_gpios {
- usb0_1p8_reg_en: usb0-1p8-reg-en-state {
- pins = "gpio8";
- function = "normal";
- power-source = <1>;
- bias-disable;
- input-disable;
- output-enable;
- };
-};
-
-&qupv3_0 {
- status = "okay";
-};
-
-&qupv3_1 {
- status = "okay";
-};
-
-&qupv3_2 {
- status = "okay";
-};
-
-&remoteproc_adsp {
- firmware-name = "qcom/x1e80100/LENOVO/91B6/qcadsp8380.mbn",
- "qcom/x1e80100/LENOVO/91B6/adsp_dtbs.elf";
-
- status = "okay";
-};
-
-&remoteproc_cdsp {
- firmware-name = "qcom/x1e80100/LENOVO/91B6/qccdsp8380.mbn",
- "qcom/x1e80100/LENOVO/91B6/cdsp_dtbs.elf";
-
- status = "okay";
-};
-
-&smb2360_0 {
- status = "okay";
-};
-
-&smb2360_0_eusb2_repeater {
- vdd18-supply = <&vreg_l3d>;
- vdd3-supply = <&vreg_l2b>;
-};
-
-&swr1 {
- status = "okay";
-
- /* WCD9385 RX */
- wcd_rx: codec@0,4 {
- compatible = "sdw20217010d00";
- reg = <0 4>;
- qcom,rx-port-mapping = <1 2 3 4 5>;
- };
-};
-
-&swr2 {
- status = "okay";
-
- /* WCD9385 TX */
- wcd_tx: codec@0,3 {
- compatible = "sdw20217010d00";
- reg = <0 3>;
- qcom,tx-port-mapping = <2 2 3 4>;
- };
-};
-
-&tcsr {
- vdda-qrefrpt0-0p9-supply = <&vreg_l3c>;
- vdda-qrefrpt1-0p9-supply = <&vreg_l3i>;
- vdda-qrefrpt2-0p9-supply = <&vreg_l3i>;
- vdda-qrefrpt3-0p9-supply = <&vreg_l3j>;
- vdda-qrefrpt4-0p9-supply = <&vreg_l1d>;
- vdda-qrefrx0-0p9-supply = <&vreg_l3c>;
- vdda-qrefrx1-0p9-supply = <&vreg_l3i>;
- vdda-qrefrx2-0p9-supply = <&vreg_l3i>;
- vdda-qrefrx3-0p9-supply = <&vreg_l3j>;
- vdda-qrefrx4-0p9-supply = <&vreg_l1d>;
- vdda-qreftx0-0p9-supply = <&vreg_l3j>;
- vdda-qreftx0-1p2-supply = <&vreg_l2j>;
- vdda-qreftx1-0p9-supply = <&vreg_l3j>;
- vdda-qreftx1-1p2-supply = <&vreg_l3e>;
- vdda-refgen0-0p9-supply = <&vreg_l3i>;
- vdda-refgen0-1p2-supply = <&vreg_l3e>;
- vdda-refgen2-0p9-supply = <&vreg_l3j>;
- vdda-refgen2-1p2-supply = <&vreg_l2j>;
-};
-
-&tlmm {
- gpio-reserved-ranges = <44 4>, /* SPI11 (TPM) */
- <76 4>, /* SPI19 (TZ Protected) */
- <238 1>; /* UFS Reset */
-
- eusb3_reset_n: eusb3-reset-n-state {
- pins = "gpio6";
- function = "gpio";
- drive-strength = <2>;
- bias-disable;
- output-low;
- };
-
- nvme_reg_en: nvme-reg-en-state {
- pins = "gpio18";
- function = "gpio";
- drive-strength = <2>;
- bias-disable;
- };
-
- us_euro_hs_sel: us-euro-hs-sel-state {
- pins = "gpio68";
- function = "gpio";
- bias-pull-down;
- drive-strength = <2>;
- };
-
- wcn_wlan_bt_en: wcn-wlan-bt-en-state {
- pins = "gpio116", "gpio117";
- function = "gpio";
- drive-strength = <2>;
- bias-disable;
- };
-
- usb1_dp_hot_plug_detect: ub1-dp-hot-plug-detect-state {
- pins = "gpio124";
- function = "usb1_dp";
- bias-disable;
- };
-
- usb2_dp_hot_plug_detect: usb2-dp-hot-plug-detect-state {
- pins = "gpio126";
- function = "usb2_dp";
- bias-disable;
- };
-
- pcie3_default: pcie3-default-state {
- clkreq-n-pins {
- pins = "gpio144";
- function = "pcie3_clk";
- drive-strength = <2>;
- bias-pull-up;
- };
-
- perst-n-pins {
- pins = "gpio143";
- function = "gpio";
- drive-strength = <2>;
- bias-pull-down;
- };
-
- wake-n-pins {
- pins = "gpio145";
- function = "gpio";
- drive-strength = <2>;
- bias-pull-up;
- };
- };
-
- pcie4_default: pcie4-default-state {
- clkreq-n-pins {
- pins = "gpio147";
- function = "pcie4_clk";
- drive-strength = <2>;
- bias-pull-up;
- };
-
- perst-n-pins {
- pins = "gpio146";
- function = "gpio";
- drive-strength = <2>;
- bias-disable;
- };
-
- wake-n-pins {
- pins = "gpio148";
- function = "gpio";
- drive-strength = <2>;
- bias-pull-up;
- };
- };
-
- pcie5_default: pcie5-default-state {
- clkreq-n-pins {
- pins = "gpio150";
- function = "pcie5_clk";
- drive-strength = <2>;
- bias-pull-up;
- };
-
- perst-n-pins {
- pins = "gpio149";
- function = "gpio";
- drive-strength = <2>;
- bias-disable;
- };
-
- wake-n-pins {
- pins = "gpio151";
- function = "gpio";
- drive-strength = <2>;
- bias-pull-up;
- };
- };
-
- pcie6a_default: pcie6a-default-state {
- clkreq-n-pins {
- pins = "gpio153";
- function = "pcie6a_clk";
- drive-strength = <2>;
- bias-pull-up;
- };
-
- perst-n-pins {
- pins = "gpio152";
- function = "gpio";
- drive-strength = <2>;
- bias-disable;
- };
-
- wake-n-pins {
- pins = "gpio154";
- function = "gpio";
- drive-strength = <2>;
- bias-pull-up;
- };
- };
-
- eusb6_reset_n: eusb6-reset-n-state {
- pins = "gpio184";
- function = "gpio";
- drive-strength = <2>;
- bias-disable;
- output-low;
- };
-
- wcd_default: wcd-reset-n-active-state {
- pins = "gpio191";
- function = "gpio";
- drive-strength = <16>;
- bias-disable;
- output-low;
- };
-
- wcn_sw_en: wcn-sw-en-state {
- pins = "gpio214";
- function = "gpio";
- drive-strength = <2>;
- bias-disable;
- };
-};
-
-&uart14 {
- status = "okay";
-
- bluetooth {
- compatible = "qcom,wcn7850-bt";
- max-speed = <3200000>;
-
- vddaon-supply = <&vreg_pmu_aon_0p59>;
- vddwlcx-supply = <&vreg_pmu_wlcx_0p8>;
- vddwlmx-supply = <&vreg_pmu_wlmx_0p85>;
- vddrfacmn-supply = <&vreg_pmu_rfa_cmn>;
- vddrfa0p8-supply = <&vreg_pmu_rfa_0p8>;
- vddrfa1p2-supply = <&vreg_pmu_rfa_1p2>;
- vddrfa1p8-supply = <&vreg_pmu_rfa_1p8>;
- };
-};
-
-&usb_1_ss0 {
- dr_mode = "host";
-
- status = "okay";
-};
-
-&usb_1_ss0_dwc3_hs {
- remote-endpoint = <&pmic_glink_port0_hs_in>;
-};
-
-&usb_1_ss0_hsphy {
- vdd-supply = <&vreg_l3j>;
- vdda12-supply = <&vreg_l2j>;
-
- phys = <&smb2360_0_eusb2_repeater>;
-
- status = "okay";
-};
-
-&usb_1_ss0_qmpphy {
- vdda-phy-supply = <&vreg_l1j>;
- vdda-pll-supply = <&vreg_l2j>;
-
- status = "okay";
-};
-
-&usb_1_ss0_qmpphy_out {
- remote-endpoint = <&usb0_retimer_in>;
-};
-
-&usb_1_ss1_qmpphy {
- vdda-phy-supply = <&vreg_l2d>;
- vdda-pll-supply = <&vreg_l2j>;
-
- /delete-property/ mode-switch;
- /delete-property/ orientation-switch;
-
- status = "okay";
-
- ports {
- port@0 {
- #address-cells = <1>;
- #size-cells = <0>;
-
- /delete-node/ endpoint;
-
- usb_1_ss1_qmpphy_out_dp: endpoint@0 {
- reg = <0>;
-
- data-lanes = <3 2 1 0>;
- remote-endpoint = <&dp_port_in>;
- };
- };
- };
-};
-
-&usb_1_ss2_qmpphy {
- vdda-phy-supply = <&vreg_l2d>;
- vdda-pll-supply = <&vreg_l2j>;
-
- /delete-property/ mode-switch;
- /delete-property/ orientation-switch;
-
- status = "okay";
-
- ports {
- port@0 {
- #address-cells = <1>;
- #size-cells = <0>;
-
- /delete-node/ endpoint;
-
- usb_1_ss2_qmpphy_out_dp: endpoint@0 {
- reg = <0>;
-
- data-lanes = <3 2 1 0>;
- remote-endpoint = <&hdmi_bridge_in>;
- };
- };
- };
-};
-
-&usb_mp {
- status = "okay";
-};
-
-&usb_mp_hsphy0 {
- vdd-supply = <&vreg_l2e>;
- vdda12-supply = <&vreg_l3e>;
-
- phys = <&eusb3_repeater>;
-
- status = "okay";
-};
-
-&usb_mp_hsphy1 {
- vdd-supply = <&vreg_l2e>;
- vdda12-supply = <&vreg_l3e>;
-
- phys = <&eusb6_repeater>;
-
- status = "okay";
-};
-
-&usb_mp_qmpphy0 {
- vdda-phy-supply = <&vreg_l3c>;
- vdda-pll-supply = <&vreg_l3e>;
-
- status = "okay";
-};
-
-&usb_mp_qmpphy1 {
- vdda-phy-supply = <&vreg_l3c>;
- vdda-pll-supply = <&vreg_l3e>;
-
- status = "okay";
-};
+// SPDX-License-Identifier: BSD-3-Clause
+/*
+ * Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.
+ */
+
+/dts-v1/;
+
+#include "hamoa.dtsi"
+#include "x1-lenovo-ideacentre-mini-01q8x10.dtsi"
+
+/ {
+ model = "Lenovo IdeaCentre Mini 01Q8X10 (Hamoa)";
+ compatible = "lenovo,hamoa-ideacentre-mini-01q8x10", "lenovo,ideacentre-mini-01q8x10", "qcom,x1e80100";
+};
+
+&iris {
+ firmware-name = "qcom/x1e80100/LENOVO/91B6/qcvss8380.mbn";
+
+ status = "okay";
+};
+
+&gpu_zap_shader {
+ firmware-name = "qcom/x1e80100/LENOVO/91B6/qcdxkmsuc8380.mbn";
+};
+
+&remoteproc_adsp {
+ firmware-name = "qcom/x1e80100/LENOVO/91B6/qcadsp8380.mbn",
+ "qcom/x1e80100/LENOVO/91B6/adsp_dtbs.elf";
+
+ status = "okay";
+};
+
+&remoteproc_cdsp {
+ firmware-name = "qcom/x1e80100/LENOVO/91B6/qccdsp8380.mbn",
+ "qcom/x1e80100/LENOVO/91B6/cdsp_dtbs.elf";
+
+ status = "okay";
+};
+
diff --git a/arch/arm64/boot/dts/qcom/hamoa-lenovo-ideacentre-mini-01q8x10.dts b/arch/arm64/boot/dts/qcom/x1-lenovo-ideacentre-mini-01q8x10.dtsi
similarity index 97%
copy from arch/arm64/boot/dts/qcom/hamoa-lenovo-ideacentre-mini-01q8x10.dts
copy to arch/arm64/boot/dts/qcom/x1-lenovo-ideacentre-mini-01q8x10.dtsi
index 75ce8b0c94d2a..1af97c5f86fd3 100644
--- a/arch/arm64/boot/dts/qcom/hamoa-lenovo-ideacentre-mini-01q8x10.dts
+++ b/arch/arm64/boot/dts/qcom/x1-lenovo-ideacentre-mini-01q8x10.dtsi
@@ -3,17 +3,12 @@
* Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.
*/
-/dts-v1/;
-
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/regulator/qcom,rpmh-regulator.h>
-#include "hamoa.dtsi"
#include "hamoa-pmics.dtsi"
/ {
- model = "Lenovo IdeaCentre Mini 01Q8X10";
- compatible = "lenovo,ideacentre-mini-01q8x10", "qcom,x1e80100";
chassis-type = "desktop";
aliases {
@@ -666,20 +661,10 @@ eusb6_repeater: redriver@4f {
};
};
-&iris {
- firmware-name = "qcom/x1e80100/LENOVO/91B6/qcvss8380.mbn";
-
- status = "okay";
-};
-
&gpu {
status = "okay";
};
-&gpu_zap_shader {
- firmware-name = "qcom/x1e80100/LENOVO/91B6/qcdxkmsuc8380.mbn";
-};
-
&mdss {
status = "okay";
};
@@ -857,20 +842,6 @@ &qupv3_2 {
status = "okay";
};
-&remoteproc_adsp {
- firmware-name = "qcom/x1e80100/LENOVO/91B6/qcadsp8380.mbn",
- "qcom/x1e80100/LENOVO/91B6/adsp_dtbs.elf";
-
- status = "okay";
-};
-
-&remoteproc_cdsp {
- firmware-name = "qcom/x1e80100/LENOVO/91B6/qccdsp8380.mbn",
- "qcom/x1e80100/LENOVO/91B6/cdsp_dtbs.elf";
-
- status = "okay";
-};
-
&smb2360_0 {
status = "okay";
};
--
2.53.0
^ permalink raw reply [flat|nested] 35+ messages in thread
* [PATCH 3/7] arm64: dts: qcom: Add Purwa IdeaCentre Mini 01Q8X10
2026-09-05 9:28 [PATCH 0/7] arm64: dts: qcom: IdeaCentre Mini 01Q8X10 Hamoa + Purwa Jens Glathe via B4 Relay
2026-09-05 9:28 ` [PATCH 1/7] dt-bindings: arm: qcom: Distinguish IdeaCentre Mini 01Q8X10 SKUs Jens Glathe via B4 Relay
2026-09-05 9:28 ` [PATCH 2/7] arm64: dts: qcom: Split IdeaCentre Mini into a common DTSI Jens Glathe via B4 Relay
@ 2026-09-05 9:28 ` Jens Glathe via B4 Relay
2026-09-07 8:49 ` Konrad Dybcio
2026-09-05 9:28 ` [PATCH 4/7] arm64: dts: qcom: ideacentre-mini: Build the Hamoa EL2 DTB Jens Glathe via B4 Relay
` (5 subsequent siblings)
8 siblings, 1 reply; 35+ messages in thread
From: Jens Glathe via B4 Relay @ 2026-09-05 9:28 UTC (permalink / raw)
To: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
Conor Dooley
Cc: linux-arm-msm, devicetree, linux-kernel, Jens Glathe
From: Jens Glathe <jens.glathe@oldschoolsolutions.biz>
Add the Purwa SKU of the Lenovo IdeaCentre Mini 01Q8X10. The chassis is
the common x1-lenovo-ideacentre-mini-01q8x10DTSI; this file supplies the
Purwa SoC include, firmware paths, and the PMC8380_6 nodes that are
absent on this board.
Assisted-by: Grok 4.5 (xAI)
Signed-off-by: Jens Glathe <jens.glathe@oldschoolsolutions.biz>
---
arch/arm64/boot/dts/qcom/Makefile | 3 +-
.../qcom/purwa-lenovo-ideacentre-mini-01q8x10.dts | 42 ++++++++++++++++++++++
2 files changed, 44 insertions(+), 1 deletion(-)
diff --git a/arch/arm64/boot/dts/qcom/Makefile b/arch/arm64/boot/dts/qcom/Makefile
index 6c2ac11133ca7..e6105e5790954 100644
--- a/arch/arm64/boot/dts/qcom/Makefile
+++ b/arch/arm64/boot/dts/qcom/Makefile
@@ -167,7 +167,8 @@ dtb-$(CONFIG_ARCH_QCOM) += msm8998-sony-xperia-yoshino-poplar.dtb
dtb-$(CONFIG_ARCH_QCOM) += msm8998-xiaomi-sagit.dtb
dtb-$(CONFIG_ARCH_QCOM) += purwa-iot-evk.dtb
-purwa-iot-evk-el2-dtbs := purwa-iot-evk.dtb x1-el2.dtbo
+purwa-lenovo-ideacentre-mini-01q8x10-el2-dtbs := purwa-lenovo-ideacentre-mini-01q8x10.dtb x1-el2.dtbo
+dtb-$(CONFIG_ARCH_QCOM) += purwa-lenovo-ideacentre-mini-01q8x10.dtb purwa-lenovo-ideacentre-mini-01q8x10-el2.dtb
dtb-$(CONFIG_ARCH_QCOM) += purwa-iot-evk-el2.dtb
dtb-$(CONFIG_ARCH_QCOM) += qcm6490-fairphone-fp5.dtb
diff --git a/arch/arm64/boot/dts/qcom/purwa-lenovo-ideacentre-mini-01q8x10.dts b/arch/arm64/boot/dts/qcom/purwa-lenovo-ideacentre-mini-01q8x10.dts
new file mode 100644
index 0000000000000..9813a570cf690
--- /dev/null
+++ b/arch/arm64/boot/dts/qcom/purwa-lenovo-ideacentre-mini-01q8x10.dts
@@ -0,0 +1,42 @@
+// SPDX-License-Identifier: BSD-3-Clause
+/*
+ * Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.
+ * Copyright (c) Jens Glathe
+ */
+
+/dts-v1/;
+
+#include "purwa.dtsi"
+#include "x1-lenovo-ideacentre-mini-01q8x10.dtsi"
+
+/delete-node/ &pmc8380_6;
+/delete-node/ &pmc8380_6_thermal;
+
+/ {
+ model = "Lenovo IdeaCentre Mini 01Q8X10 (Purwa)";
+ compatible = "lenovo,purwa-ideacentre-mini-01q8x10", "lenovo,ideacentre-mini-01q8x10", "qcom,x1p42100";
+};
+
+&iris {
+ firmware-name = "qcom/x1p42100/LENOVO/91B6/qcvss8380_pa.mbn";
+
+ status = "okay";
+};
+
+&gpu_zap_shader {
+ firmware-name = "qcom/x1p42100/LENOVO/91B6/qcdxkmsucpurwa.mbn";
+};
+
+&remoteproc_adsp {
+ firmware-name = "qcom/x1p42100/LENOVO/91B6/qcadsp8380.mbn",
+ "qcom/x1p42100/LENOVO/91B6/adsp_dtbs.elf";
+
+ status = "okay";
+};
+
+&remoteproc_cdsp {
+ firmware-name = "qcom/x1p42100/LENOVO/91B6/qccdsp8380.mbn",
+ "qcom/x1p42100/LENOVO/91B6/cdsp_dtbs.elf";
+
+ status = "okay";
+};
--
2.53.0
^ permalink raw reply [flat|nested] 35+ messages in thread
* [PATCH 4/7] arm64: dts: qcom: ideacentre-mini: Build the Hamoa EL2 DTB
2026-09-05 9:28 [PATCH 0/7] arm64: dts: qcom: IdeaCentre Mini 01Q8X10 Hamoa + Purwa Jens Glathe via B4 Relay
` (2 preceding siblings ...)
2026-09-05 9:28 ` [PATCH 3/7] arm64: dts: qcom: Add Purwa IdeaCentre Mini 01Q8X10 Jens Glathe via B4 Relay
@ 2026-09-05 9:28 ` Jens Glathe via B4 Relay
2026-09-07 8:49 ` Konrad Dybcio
2026-09-05 9:29 ` [PATCH 5/7] arm64: dts: qcom: ideacentre-mini: Fix the second M.2 3V3 rail Jens Glathe via B4 Relay
` (4 subsequent siblings)
8 siblings, 1 reply; 35+ messages in thread
From: Jens Glathe via B4 Relay @ 2026-09-05 9:28 UTC (permalink / raw)
To: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
Conor Dooley
Cc: linux-arm-msm, devicetree, linux-kernel, Jens Glathe
From: Jens Glathe <jens.glathe@oldschoolsolutions.biz>
Other Hamoa boards combine the board DTB with x1-el2.dtbo. Do the same
for the IdeaCentre Mini so the EL2 overlay is produced alongside the
normal image.
Assisted-by: Grok 4.5 (xAI)
Signed-off-by: Jens Glathe <jens.glathe@oldschoolsolutions.biz>
---
arch/arm64/boot/dts/qcom/Makefile | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/arch/arm64/boot/dts/qcom/Makefile b/arch/arm64/boot/dts/qcom/Makefile
index e6105e5790954..0cfbf3018a7be 100644
--- a/arch/arm64/boot/dts/qcom/Makefile
+++ b/arch/arm64/boot/dts/qcom/Makefile
@@ -24,7 +24,10 @@ dtb-$(CONFIG_ARCH_QCOM) += hamoa-iot-evk.dtb
hamoa-iot-evk-el2-dtbs := hamoa-iot-evk.dtb x1-el2.dtbo
dtb-$(CONFIG_ARCH_QCOM) += hamoa-iot-evk-el2.dtb
-dtb-$(CONFIG_ARCH_QCOM) += hamoa-lenovo-ideacentre-mini-01q8x10.dtb
+
+hamoa-lenovo-ideacentre-mini-01q8x10-el2-dtbs := hamoa-lenovo-ideacentre-mini-01q8x10.dtb x1-el2.dtbo
+dtb-$(CONFIG_ARCH_QCOM) += hamoa-lenovo-ideacentre-mini-01q8x10.dtb hamoa-lenovo-ideacentre-mini-01q8x10-el2.dtb
+
dtb-$(CONFIG_ARCH_QCOM) += ipq5018-rdp432-c2.dtb
dtb-$(CONFIG_ARCH_QCOM) += ipq5018-tplink-archer-ax55-v1.dtb
dtb-$(CONFIG_ARCH_QCOM) += ipq5210-rdp504.dtb
--
2.53.0
^ permalink raw reply [flat|nested] 35+ messages in thread
* [PATCH 5/7] arm64: dts: qcom: ideacentre-mini: Fix the second M.2 3V3 rail
2026-09-05 9:28 [PATCH 0/7] arm64: dts: qcom: IdeaCentre Mini 01Q8X10 Hamoa + Purwa Jens Glathe via B4 Relay
` (3 preceding siblings ...)
2026-09-05 9:28 ` [PATCH 4/7] arm64: dts: qcom: ideacentre-mini: Build the Hamoa EL2 DTB Jens Glathe via B4 Relay
@ 2026-09-05 9:29 ` Jens Glathe via B4 Relay
2026-09-07 8:55 ` Konrad Dybcio
2026-09-05 9:29 ` [PATCH 6/7] arm64: dts: qcom: ideacentre-mini: Wire up DP sound names and VA macro Jens Glathe via B4 Relay
` (3 subsequent siblings)
8 siblings, 1 reply; 35+ messages in thread
From: Jens Glathe via B4 Relay @ 2026-09-05 9:29 UTC (permalink / raw)
To: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
Conor Dooley
Cc: linux-arm-msm, devicetree, linux-kernel, Jens Glathe
From: Jens Glathe <jens.glathe@oldschoolsolutions.biz>
TLMM18 only enables M.2-1 on pcie6a. The second slot (pcie3) is gated
by PMC8380_3 GPIO5; both regulators previously pointed at the same
TLMM pin, so the DT had no effect on that rail.
Switch vreg_nvme2_3p3 to the PMIC GPIO, add its pinctrl state, and
keep a 2 s startup delay plus always-on. Without the delay the pcie3
slot fails to probe; always-on is a stand-in until an M.2 power
sequencer exists. Both slots work on Purwa with NVMe SSDs.
Tested-on: IdeaCentre Mini 01Q8X10, Purwa (X1-26-100)
Assisted-by: Grok 4.5 (xAI)
Signed-off-by: Jens Glathe <jens.glathe@oldschoolsolutions.biz>
---
.../dts/qcom/x1-lenovo-ideacentre-mini-01q8x10.dtsi | 21 +++++++++++++++++++--
1 file changed, 19 insertions(+), 2 deletions(-)
diff --git a/arch/arm64/boot/dts/qcom/x1-lenovo-ideacentre-mini-01q8x10.dtsi b/arch/arm64/boot/dts/qcom/x1-lenovo-ideacentre-mini-01q8x10.dtsi
index 1af97c5f86fd3..76a9f745b279d 100644
--- a/arch/arm64/boot/dts/qcom/x1-lenovo-ideacentre-mini-01q8x10.dtsi
+++ b/arch/arm64/boot/dts/qcom/x1-lenovo-ideacentre-mini-01q8x10.dtsi
@@ -4,6 +4,7 @@
*/
#include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/pinctrl/qcom,pmic-gpio.h>
#include <dt-bindings/regulator/qcom,rpmh-regulator.h>
#include "hamoa-pmics.dtsi"
@@ -173,13 +174,16 @@ vreg_nvme2_3p3: regulator-nvme2-3p3 {
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
- gpio = <&tlmm 18 GPIO_ACTIVE_HIGH>;
+ gpio = <&pmc8380_3_gpios 5 GPIO_ACTIVE_HIGH>;
enable-active-high;
- pinctrl-0 = <&nvme_reg_en>;
+ pinctrl-0 = <&nvme2_reg_en>;
pinctrl-names = "default";
+ startup-delay-us = <2000000>;
+
regulator-boot-on;
+ regulator-always-on;
};
vreg_v0p9: regulator-v0p9 {
@@ -788,6 +792,19 @@ &pcie6a_port0 {
wake-gpios = <&tlmm 154 GPIO_ACTIVE_LOW>;
};
+&pmc8380_3_gpios {
+ nvme2_reg_en: nvme2-reg-en-state {
+ pins = "gpio5";
+ function = "normal";
+ power-source = <0>;
+ input-disable;
+ output-enable;
+ drive-push-pull;
+ bias-disable;
+ qcom,drive-strength = <PMIC_GPIO_STRENGTH_LOW>;
+ };
+};
+
&pmc8380_5_gpios {
usb0_pwr_1p15_reg_en: usb0-pwr-1p15-reg-en-state {
pins = "gpio8";
--
2.53.0
^ permalink raw reply [flat|nested] 35+ messages in thread
* [PATCH 6/7] arm64: dts: qcom: ideacentre-mini: Wire up DP sound names and VA macro
2026-09-05 9:28 [PATCH 0/7] arm64: dts: qcom: IdeaCentre Mini 01Q8X10 Hamoa + Purwa Jens Glathe via B4 Relay
` (4 preceding siblings ...)
2026-09-05 9:29 ` [PATCH 5/7] arm64: dts: qcom: ideacentre-mini: Fix the second M.2 3V3 rail Jens Glathe via B4 Relay
@ 2026-09-05 9:29 ` Jens Glathe via B4 Relay
2026-09-07 8:55 ` Konrad Dybcio
2026-09-05 9:29 ` [PATCH 7/7] arm64: dts: qcom: ideacentre-mini: Drop the unused USB MP port Jens Glathe via B4 Relay
` (2 subsequent siblings)
8 siblings, 1 reply; 35+ messages in thread
From: Jens Glathe via B4 Relay @ 2026-09-05 9:29 UTC (permalink / raw)
To: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
Conor Dooley
Cc: linux-arm-msm, devicetree, linux-kernel, Jens Glathe
From: Jens Glathe <jens.glathe@oldschoolsolutions.biz>
mdss_dp0/1/2 had no sound-name-prefix, so the three DisplayPort
backends were not distinct DAIs on the card. Add the prefixes.
Enable the LPASS VA macro with the 2.4 MHz rate. This chassis has no
onboard DMICs; the node still provides the fsgen clock to tx_macro and
rx_macro. Without it both codecs fail to probe (-ENOENT).
Tested-on: IdeaCentre Mini 01Q8X10, Purwa (X1-26-100)
Assisted-by: Grok 4.5 (xAI)
Signed-off-by: Jens Glathe <jens.glathe@oldschoolsolutions.biz>
---
.../arm64/boot/dts/qcom/x1-lenovo-ideacentre-mini-01q8x10.dtsi | 10 ++++++++++
1 file changed, 10 insertions(+)
diff --git a/arch/arm64/boot/dts/qcom/x1-lenovo-ideacentre-mini-01q8x10.dtsi b/arch/arm64/boot/dts/qcom/x1-lenovo-ideacentre-mini-01q8x10.dtsi
index 76a9f745b279d..5a2db91d5e587 100644
--- a/arch/arm64/boot/dts/qcom/x1-lenovo-ideacentre-mini-01q8x10.dtsi
+++ b/arch/arm64/boot/dts/qcom/x1-lenovo-ideacentre-mini-01q8x10.dtsi
@@ -665,6 +665,10 @@ eusb6_repeater: redriver@4f {
};
};
+&lpass_vamacro {
+ qcom,dmic-sample-rate = <2400000>;
+};
+
&gpu {
status = "okay";
};
@@ -674,6 +678,8 @@ &mdss {
};
&mdss_dp0 {
+ sound-name-prefix = "DisplayPort0";
+
status = "okay";
};
@@ -682,6 +688,8 @@ &mdss_dp0_out {
};
&mdss_dp1 {
+ sound-name-prefix = "DisplayPort1";
+
status = "okay";
};
@@ -690,6 +698,8 @@ &mdss_dp1_out {
};
&mdss_dp2 {
+ sound-name-prefix = "DisplayPort2";
+
status = "okay";
};
--
2.53.0
^ permalink raw reply [flat|nested] 35+ messages in thread
* [PATCH 7/7] arm64: dts: qcom: ideacentre-mini: Drop the unused USB MP port
2026-09-05 9:28 [PATCH 0/7] arm64: dts: qcom: IdeaCentre Mini 01Q8X10 Hamoa + Purwa Jens Glathe via B4 Relay
` (5 preceding siblings ...)
2026-09-05 9:29 ` [PATCH 6/7] arm64: dts: qcom: ideacentre-mini: Wire up DP sound names and VA macro Jens Glathe via B4 Relay
@ 2026-09-05 9:29 ` Jens Glathe via B4 Relay
2026-09-07 8:56 ` Konrad Dybcio
2026-09-07 8:57 ` [PATCH 0/7] arm64: dts: qcom: IdeaCentre Mini 01Q8X10 Hamoa + Purwa Konrad Dybcio
2026-09-08 9:03 ` Mostafa Saleh
8 siblings, 1 reply; 35+ messages in thread
From: Jens Glathe via B4 Relay @ 2026-09-05 9:29 UTC (permalink / raw)
To: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
Conor Dooley
Cc: linux-arm-msm, devicetree, linux-kernel, Jens Glathe
From: Jens Glathe <jens.glathe@oldschoolsolutions.biz>
usb_mp port 1 (hsphy1, qmpphy1, PTN3222 @ 0x4f, TLMM 184) is not
populated. lsusb only shows two xHCI controllers: USB-C on usb_1_ss0
and the rear ports behind a Genesys hub on usb_mp port 0.
Remove that repeater, its reset pin, and the second MP PHYs. Pin
usb_mp to usb2-0 / usb3-0 so the controller does not claim empty
PHYs.
Tested-on: IdeaCentre Mini 01Q8X10, Purwa (X1-26-100)
Assisted-by: Grok 4.5 (xAI)
Signed-off-by: Jens Glathe <jens.glathe@oldschoolsolutions.biz>
---
.../qcom/x1-lenovo-ideacentre-mini-01q8x10.dtsi | 40 ++--------------------
1 file changed, 3 insertions(+), 37 deletions(-)
diff --git a/arch/arm64/boot/dts/qcom/x1-lenovo-ideacentre-mini-01q8x10.dtsi b/arch/arm64/boot/dts/qcom/x1-lenovo-ideacentre-mini-01q8x10.dtsi
index 5a2db91d5e587..b720622c5d90e 100644
--- a/arch/arm64/boot/dts/qcom/x1-lenovo-ideacentre-mini-01q8x10.dtsi
+++ b/arch/arm64/boot/dts/qcom/x1-lenovo-ideacentre-mini-01q8x10.dtsi
@@ -650,19 +650,6 @@ eusb3_repeater: redriver@47 {
pinctrl-names = "default";
};
- eusb6_repeater: redriver@4f {
- compatible = "nxp,ptn3222";
- reg = <0x4f>;
- #phy-cells = <0>;
-
- vdd3v3-supply = <&vreg_l13b>;
- vdd1v8-supply = <&vreg_l4b>;
-
- reset-gpios = <&tlmm 184 GPIO_ACTIVE_LOW>;
-
- pinctrl-0 = <&eusb6_reset_n>;
- pinctrl-names = "default";
- };
};
&lpass_vamacro {
@@ -1059,14 +1046,6 @@ wake-n-pins {
};
};
- eusb6_reset_n: eusb6-reset-n-state {
- pins = "gpio184";
- function = "gpio";
- drive-strength = <2>;
- bias-disable;
- output-low;
- };
-
wcd_default: wcd-reset-n-active-state {
pins = "gpio191";
function = "gpio";
@@ -1184,6 +1163,9 @@ usb_1_ss2_qmpphy_out_dp: endpoint@0 {
&usb_mp {
status = "okay";
+
+ phys = <&usb_mp_hsphy0>, <&usb_mp_qmpphy0>;
+ phy-names = "usb2-0", "usb3-0";
};
&usb_mp_hsphy0 {
@@ -1195,25 +1177,9 @@ &usb_mp_hsphy0 {
status = "okay";
};
-&usb_mp_hsphy1 {
- vdd-supply = <&vreg_l2e>;
- vdda12-supply = <&vreg_l3e>;
-
- phys = <&eusb6_repeater>;
-
- status = "okay";
-};
-
&usb_mp_qmpphy0 {
vdda-phy-supply = <&vreg_l3c>;
vdda-pll-supply = <&vreg_l3e>;
status = "okay";
};
-
-&usb_mp_qmpphy1 {
- vdda-phy-supply = <&vreg_l3c>;
- vdda-pll-supply = <&vreg_l3e>;
-
- status = "okay";
-};
--
2.53.0
^ permalink raw reply [flat|nested] 35+ messages in thread
* Re: [PATCH 2/7] arm64: dts: qcom: Split IdeaCentre Mini into a common DTSI
2026-09-05 9:28 ` [PATCH 2/7] arm64: dts: qcom: Split IdeaCentre Mini into a common DTSI Jens Glathe via B4 Relay
@ 2026-09-07 8:49 ` Konrad Dybcio
0 siblings, 0 replies; 35+ messages in thread
From: Konrad Dybcio @ 2026-09-07 8:49 UTC (permalink / raw)
To: jens.glathe, Bjorn Andersson, Konrad Dybcio, Rob Herring,
Krzysztof Kozlowski, Conor Dooley
Cc: linux-arm-msm, devicetree, linux-kernel
On 9/5/26 11:28 AM, Jens Glathe via B4 Relay wrote:
> From: Jens Glathe <jens.glathe@oldschoolsolutions.biz>
>
> The IdeaCentre Mini 01Q8X10 chassis is shared by Hamoa (X1E80100) and
> Purwa (X1P42100) SKUs. Move the board description into
> x1-lenovo-ideacentre-mini-01q8x10.dtsi and leave
> hamoa-lenovo-ideacentre-mini-01q8x10.dts as a thin wrapper that includes
> the SoC DTSI and the common board file.
>
> Assisted-by: Grok 4.5 (xAI)
> Signed-off-by: Jens Glathe <jens.glathe@oldschoolsolutions.biz>
> ---
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Konrad
^ permalink raw reply [flat|nested] 35+ messages in thread
* Re: [PATCH 3/7] arm64: dts: qcom: Add Purwa IdeaCentre Mini 01Q8X10
2026-09-05 9:28 ` [PATCH 3/7] arm64: dts: qcom: Add Purwa IdeaCentre Mini 01Q8X10 Jens Glathe via B4 Relay
@ 2026-09-07 8:49 ` Konrad Dybcio
0 siblings, 0 replies; 35+ messages in thread
From: Konrad Dybcio @ 2026-09-07 8:49 UTC (permalink / raw)
To: jens.glathe, Bjorn Andersson, Konrad Dybcio, Rob Herring,
Krzysztof Kozlowski, Conor Dooley
Cc: linux-arm-msm, devicetree, linux-kernel
On 9/5/26 11:28 AM, Jens Glathe via B4 Relay wrote:
> From: Jens Glathe <jens.glathe@oldschoolsolutions.biz>
>
> Add the Purwa SKU of the Lenovo IdeaCentre Mini 01Q8X10. The chassis is
> the common x1-lenovo-ideacentre-mini-01q8x10DTSI; this file supplies the
> Purwa SoC include, firmware paths, and the PMC8380_6 nodes that are
> absent on this board.
>
> Assisted-by: Grok 4.5 (xAI)
> Signed-off-by: Jens Glathe <jens.glathe@oldschoolsolutions.biz>
> ---
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Konrad
^ permalink raw reply [flat|nested] 35+ messages in thread
* Re: [PATCH 4/7] arm64: dts: qcom: ideacentre-mini: Build the Hamoa EL2 DTB
2026-09-05 9:28 ` [PATCH 4/7] arm64: dts: qcom: ideacentre-mini: Build the Hamoa EL2 DTB Jens Glathe via B4 Relay
@ 2026-09-07 8:49 ` Konrad Dybcio
0 siblings, 0 replies; 35+ messages in thread
From: Konrad Dybcio @ 2026-09-07 8:49 UTC (permalink / raw)
To: jens.glathe, Bjorn Andersson, Konrad Dybcio, Rob Herring,
Krzysztof Kozlowski, Conor Dooley
Cc: linux-arm-msm, devicetree, linux-kernel
On 9/5/26 11:28 AM, Jens Glathe via B4 Relay wrote:
> From: Jens Glathe <jens.glathe@oldschoolsolutions.biz>
>
> Other Hamoa boards combine the board DTB with x1-el2.dtbo. Do the same
> for the IdeaCentre Mini so the EL2 overlay is produced alongside the
> normal image.
>
> Assisted-by: Grok 4.5 (xAI)
> Signed-off-by: Jens Glathe <jens.glathe@oldschoolsolutions.biz>
> ---
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Konrad
^ permalink raw reply [flat|nested] 35+ messages in thread
* Re: [PATCH 5/7] arm64: dts: qcom: ideacentre-mini: Fix the second M.2 3V3 rail
2026-09-05 9:29 ` [PATCH 5/7] arm64: dts: qcom: ideacentre-mini: Fix the second M.2 3V3 rail Jens Glathe via B4 Relay
@ 2026-09-07 8:55 ` Konrad Dybcio
0 siblings, 0 replies; 35+ messages in thread
From: Konrad Dybcio @ 2026-09-07 8:55 UTC (permalink / raw)
To: jens.glathe, Bjorn Andersson, Konrad Dybcio, Rob Herring,
Krzysztof Kozlowski, Conor Dooley
Cc: linux-arm-msm, devicetree, linux-kernel
On 9/5/26 11:29 AM, Jens Glathe via B4 Relay wrote:
> From: Jens Glathe <jens.glathe@oldschoolsolutions.biz>
>
> TLMM18 only enables M.2-1 on pcie6a. The second slot (pcie3) is gated
> by PMC8380_3 GPIO5; both regulators previously pointed at the same
> TLMM pin, so the DT had no effect on that rail.
>
> Switch vreg_nvme2_3p3 to the PMIC GPIO, add its pinctrl state, and
> keep a 2 s startup delay plus always-on.Without the delay the pcie3
> slot fails to probe;
This is really strange..
> always-on is a stand-in until an M.2 power
> sequencer exists. Both slots work on Purwa with NVMe SSDs.
I suppose we have the "pcie-m2-m-connector" compatible, but it's
not bound by default
>
> Tested-on: IdeaCentre Mini 01Q8X10, Purwa (X1-26-100)
This is not a standard tag, which checkpatch should warn about
Konrad
^ permalink raw reply [flat|nested] 35+ messages in thread
* Re: [PATCH 6/7] arm64: dts: qcom: ideacentre-mini: Wire up DP sound names and VA macro
2026-09-05 9:29 ` [PATCH 6/7] arm64: dts: qcom: ideacentre-mini: Wire up DP sound names and VA macro Jens Glathe via B4 Relay
@ 2026-09-07 8:55 ` Konrad Dybcio
2026-09-08 5:09 ` Jens Glathe
0 siblings, 1 reply; 35+ messages in thread
From: Konrad Dybcio @ 2026-09-07 8:55 UTC (permalink / raw)
To: jens.glathe, Bjorn Andersson, Konrad Dybcio, Rob Herring,
Krzysztof Kozlowski, Conor Dooley
Cc: linux-arm-msm, devicetree, linux-kernel
On 9/5/26 11:29 AM, Jens Glathe via B4 Relay wrote:
> From: Jens Glathe <jens.glathe@oldschoolsolutions.biz>
>
> mdss_dp0/1/2 had no sound-name-prefix, so the three DisplayPort
> backends were not distinct DAIs on the card. Add the prefixes.
That's now part of the SoC DTSI
Konrad
^ permalink raw reply [flat|nested] 35+ messages in thread
* Re: [PATCH 7/7] arm64: dts: qcom: ideacentre-mini: Drop the unused USB MP port
2026-09-05 9:29 ` [PATCH 7/7] arm64: dts: qcom: ideacentre-mini: Drop the unused USB MP port Jens Glathe via B4 Relay
@ 2026-09-07 8:56 ` Konrad Dybcio
0 siblings, 0 replies; 35+ messages in thread
From: Konrad Dybcio @ 2026-09-07 8:56 UTC (permalink / raw)
To: jens.glathe, Bjorn Andersson, Konrad Dybcio, Rob Herring,
Krzysztof Kozlowski, Conor Dooley
Cc: linux-arm-msm, devicetree, linux-kernel
On 9/5/26 11:29 AM, Jens Glathe via B4 Relay wrote:
> From: Jens Glathe <jens.glathe@oldschoolsolutions.biz>
>
> usb_mp port 1 (hsphy1, qmpphy1, PTN3222 @ 0x4f, TLMM 184) is not
> populated. lsusb only shows two xHCI controllers: USB-C on usb_1_ss0
> and the rear ports behind a Genesys hub on usb_mp port 0.
>
> Remove that repeater, its reset pin, and the second MP PHYs. Pin
> usb_mp to usb2-0 / usb3-0 so the controller does not claim empty
> PHYs.
>
> Tested-on: IdeaCentre Mini 01Q8X10, Purwa (X1-26-100)
>
> Assisted-by: Grok 4.5 (xAI)
> Signed-off-by: Jens Glathe <jens.glathe@oldschoolsolutions.biz>
> ---
So does the repeater exist on board, or not? Can you try to poke
it via i2cget?
[...]
> -&usb_mp_hsphy1 {
> - vdd-supply = <&vreg_l2e>;
> - vdda12-supply = <&vreg_l3e>;
> -
> - phys = <&eusb6_repeater>;
> -
> - status = "okay";
> -};
The PHYs can stay here, so Linux will safely park them
Konrad
> -
> &usb_mp_qmpphy0 {
> vdda-phy-supply = <&vreg_l3c>;
> vdda-pll-supply = <&vreg_l3e>;
>
> status = "okay";
> };
> -
> -&usb_mp_qmpphy1 {
> - vdda-phy-supply = <&vreg_l3c>;
> - vdda-pll-supply = <&vreg_l3e>;
> -
> - status = "okay";
> -};
>
^ permalink raw reply [flat|nested] 35+ messages in thread
* Re: [PATCH 0/7] arm64: dts: qcom: IdeaCentre Mini 01Q8X10 Hamoa + Purwa
2026-09-05 9:28 [PATCH 0/7] arm64: dts: qcom: IdeaCentre Mini 01Q8X10 Hamoa + Purwa Jens Glathe via B4 Relay
` (6 preceding siblings ...)
2026-09-05 9:29 ` [PATCH 7/7] arm64: dts: qcom: ideacentre-mini: Drop the unused USB MP port Jens Glathe via B4 Relay
@ 2026-09-07 8:57 ` Konrad Dybcio
2026-09-07 9:51 ` Mostafa Saleh
2026-09-08 9:03 ` Mostafa Saleh
8 siblings, 1 reply; 35+ messages in thread
From: Konrad Dybcio @ 2026-09-07 8:57 UTC (permalink / raw)
To: jens.glathe, Bjorn Andersson, Konrad Dybcio, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Mostafa Saleh
Cc: linux-arm-msm, devicetree, linux-kernel
On 9/5/26 11:28 AM, Jens Glathe via B4 Relay wrote:
> The IdeaCentre Mini 01Q8X10 (board 91B6) ships with two SoCs: Hamoa
> (X1E80100), already upstream, and Purwa (X1P42100 / X1-26-100). Same
> chassis, different silicon. Stubble and the DTB loader need distinct
> compatibles.
>
> This series splits the board description into
> x1-lenovo-ideacentre-mini-01q8x10.dtsi and adds thin leaves. Each SKU
> keeps lenovo,ideacentre-mini-01q8x10 as fallback:
>
> lenovo,hamoa-ideacentre-mini-01q8x10, lenovo,ideacentre-mini-01q8x10,
> qcom,x1e80100
>
> lenovo,purwa-ideacentre-mini-01q8x10, lenovo,ideacentre-mini-01q8x10,
> qcom,x1p42100
>
> No qcom_scm change; the fallback is already on the allowlist.
>
> The remaining patches fix the common DTSI for both boxes:
>
> - Build the Hamoa EL2 DTB like the other Hamoa boards.
> - Second M.2 3V3 is PMC8380_3 GPIO5, not TLMM18. A 2 s startup delay
> is required or pcie3 fails to probe. always-on is a hack until there
> is a real M.2 power sequencer.
> - sound-name-prefix on the three DP ports. Enable lpass_vamacro: no
> onboard mics, but it provides fsgen for tx_macro and rx_macro.
> - usb_mp port 1 is not populated (no PTN3222 @ 0x4f). USB-C is
> usb_1_ss0; rear Type-A is usb_mp port 0 behind a Genesys hub.
>
> The Genesys hub is left undescribed.
>
> UCM [1] and AudioReach [2] topology for these devices are online, too.
>
> Tested on:
> - IdeaCentre Mini 01Q8X10, Purwa (X1-26-100), 91B6
+Mostafa - is that the board you previously poked at?
Konrad
^ permalink raw reply [flat|nested] 35+ messages in thread
* Re: [PATCH 0/7] arm64: dts: qcom: IdeaCentre Mini 01Q8X10 Hamoa + Purwa
2026-09-07 8:57 ` [PATCH 0/7] arm64: dts: qcom: IdeaCentre Mini 01Q8X10 Hamoa + Purwa Konrad Dybcio
@ 2026-09-07 9:51 ` Mostafa Saleh
0 siblings, 0 replies; 35+ messages in thread
From: Mostafa Saleh @ 2026-09-07 9:51 UTC (permalink / raw)
To: Konrad Dybcio
Cc: jens.glathe, Bjorn Andersson, Konrad Dybcio, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, linux-arm-msm, devicetree,
linux-kernel
On Mon, Sep 07, 2026 at 10:57:42AM +0200, Konrad Dybcio wrote:
> On 9/5/26 11:28 AM, Jens Glathe via B4 Relay wrote:
> > The IdeaCentre Mini 01Q8X10 (board 91B6) ships with two SoCs: Hamoa
> > (X1E80100), already upstream, and Purwa (X1P42100 / X1-26-100). Same
> > chassis, different silicon. Stubble and the DTB loader need distinct
> > compatibles.
> >
> > This series splits the board description into
> > x1-lenovo-ideacentre-mini-01q8x10.dtsi and adds thin leaves. Each SKU
> > keeps lenovo,ideacentre-mini-01q8x10 as fallback:
> >
> > lenovo,hamoa-ideacentre-mini-01q8x10, lenovo,ideacentre-mini-01q8x10,
> > qcom,x1e80100
> >
> > lenovo,purwa-ideacentre-mini-01q8x10, lenovo,ideacentre-mini-01q8x10,
> > qcom,x1p42100
> >
> > No qcom_scm change; the fallback is already on the allowlist.
> >
> > The remaining patches fix the common DTSI for both boxes:
> >
> > - Build the Hamoa EL2 DTB like the other Hamoa boards.
> > - Second M.2 3V3 is PMC8380_3 GPIO5, not TLMM18. A 2 s startup delay
> > is required or pcie3 fails to probe. always-on is a hack until there
> > is a real M.2 power sequencer.
> > - sound-name-prefix on the three DP ports. Enable lpass_vamacro: no
> > onboard mics, but it provides fsgen for tx_macro and rx_macro.
> > - usb_mp port 1 is not populated (no PTN3222 @ 0x4f). USB-C is
> > usb_1_ss0; rear Type-A is usb_mp port 0 behind a Genesys hub.
> >
> > The Genesys hub is left undescribed.
> >
> > UCM [1] and AudioReach [2] topology for these devices are online, too.
> >
> > Tested on:
> > - IdeaCentre Mini 01Q8X10, Purwa (X1-26-100), 91B6
>
> +Mostafa - is that the board you previously poked at?
Yes, thanks for pointing that, I can test this tomorrow.
However, at the moment there is a problem with the ToT booting it:
https://lore.kernel.org/all/apgeBNSiP01YfNcs@google.com/
Thanks,
Mostafa
>
> Konrad
^ permalink raw reply [flat|nested] 35+ messages in thread
* Re: [PATCH 6/7] arm64: dts: qcom: ideacentre-mini: Wire up DP sound names and VA macro
2026-09-07 8:55 ` Konrad Dybcio
@ 2026-09-08 5:09 ` Jens Glathe
0 siblings, 0 replies; 35+ messages in thread
From: Jens Glathe @ 2026-09-08 5:09 UTC (permalink / raw)
To: Konrad Dybcio, Bjorn Andersson, Konrad Dybcio, Rob Herring,
Krzysztof Kozlowski, Conor Dooley
Cc: linux-arm-msm, devicetree, linux-kernel
Hi Konrad,
On 07.09.26 10:55, Konrad Dybcio wrote:
> On 9/5/26 11:29 AM, Jens Glathe via B4 Relay wrote:
>> From: Jens Glathe <jens.glathe@oldschoolsolutions.biz>
>>
>> mdss_dp0/1/2 had no sound-name-prefix, so the three DisplayPort
>> backends were not distinct DAIs on the card. Add the prefixes.
> That's now part of the SoC DTSI
>
> Konrad
Yep. Will be reduced to vamacro only in V2.
with best regards
Jens
^ permalink raw reply [flat|nested] 35+ messages in thread
* Re: [PATCH 0/7] arm64: dts: qcom: IdeaCentre Mini 01Q8X10 Hamoa + Purwa
2026-09-05 9:28 [PATCH 0/7] arm64: dts: qcom: IdeaCentre Mini 01Q8X10 Hamoa + Purwa Jens Glathe via B4 Relay
` (7 preceding siblings ...)
2026-09-07 8:57 ` [PATCH 0/7] arm64: dts: qcom: IdeaCentre Mini 01Q8X10 Hamoa + Purwa Konrad Dybcio
@ 2026-09-08 9:03 ` Mostafa Saleh
2026-09-08 9:05 ` Krzysztof Kozlowski
2026-09-08 9:39 ` Jens Glathe
8 siblings, 2 replies; 35+ messages in thread
From: Mostafa Saleh @ 2026-09-08 9:03 UTC (permalink / raw)
To: jens.glathe
Cc: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, linux-arm-msm, devicetree, linux-kernel
Hi Jens,
On Sat, Sep 05, 2026 at 11:28:55AM +0200, Jens Glathe via B4 Relay wrote:
> The IdeaCentre Mini 01Q8X10 (board 91B6) ships with two SoCs: Hamoa
> (X1E80100), already upstream, and Purwa (X1P42100 / X1-26-100). Same
> chassis, different silicon. Stubble and the DTB loader need distinct
> compatibles.
>
> This series splits the board description into
> x1-lenovo-ideacentre-mini-01q8x10.dtsi and adds thin leaves. Each SKU
> keeps lenovo,ideacentre-mini-01q8x10 as fallback:
>
> lenovo,hamoa-ideacentre-mini-01q8x10, lenovo,ideacentre-mini-01q8x10,
> qcom,x1e80100
>
> lenovo,purwa-ideacentre-mini-01q8x10, lenovo,ideacentre-mini-01q8x10,
> qcom,x1p42100
>
> No qcom_scm change; the fallback is already on the allowlist.
>
> The remaining patches fix the common DTSI for both boxes:
>
> - Build the Hamoa EL2 DTB like the other Hamoa boards.
> - Second M.2 3V3 is PMC8380_3 GPIO5, not TLMM18. A 2 s startup delay
> is required or pcie3 fails to probe. always-on is a hack until there
> is a real M.2 power sequencer.
> - sound-name-prefix on the three DP ports. Enable lpass_vamacro: no
> onboard mics, but it provides fsgen for tx_macro and rx_macro.
> - usb_mp port 1 is not populated (no PTN3222 @ 0x4f). USB-C is
> usb_1_ss0; rear Type-A is usb_mp port 0 behind a Genesys hub.
>
> The Genesys hub is left undescribed.
>
> UCM [1] and AudioReach [2] topology for these devices are online, too.
>
> Tested on:
> - IdeaCentre Mini 01Q8X10, Purwa (X1-26-100), 91B6
> - Hamoa: compile-tested only
>
> [1]: https://github.com/alsa-project/alsa-ucm-conf/pull/843
> [2]: https://github.com/linux-msm/audioreach-topology/pull/74
>
> Assisted-by: Grok 4.5 (xAI)
> Signed-off-by: Jens Glathe <jens.glathe@oldschoolsolutions.biz>
> ---
> Jens Glathe (7):
> dt-bindings: arm: qcom: Distinguish IdeaCentre Mini 01Q8X10 SKUs
> arm64: dts: qcom: Split IdeaCentre Mini into a common DTSI
> arm64: dts: qcom: Add Purwa IdeaCentre Mini 01Q8X10
> arm64: dts: qcom: ideacentre-mini: Build the Hamoa EL2 DTB
> arm64: dts: qcom: ideacentre-mini: Fix the second M.2 3V3 rail
> arm64: dts: qcom: ideacentre-mini: Wire up DP sound names and VA macro
> arm64: dts: qcom: ideacentre-mini: Drop the unused USB MP port
>
> Documentation/devicetree/bindings/arm/qcom.yaml | 11 +-
> arch/arm64/boot/dts/qcom/Makefile | 8 +-
> .../qcom/hamoa-lenovo-ideacentre-mini-01q8x10.dts | 1188 +-------------------
> .../qcom/purwa-lenovo-ideacentre-mini-01q8x10.dts | 42 +
> .../qcom/x1-lenovo-ideacentre-mini-01q8x10.dtsi | 1185 +++++++++++++++++++
> 5 files changed, 1246 insertions(+), 1188 deletions(-)
> ---
> base-commit: af5f12805e5cefa4fe68d6127c7e1fb78cd5535c
This series does not apply to ToT nor I can find this base-commit
in it.
Does that have any dependency?
Thanks,
Mostafa
> change-id: 20260905-x1-ideacentre-mini-prettify-a5d349d8954f
>
> Best regards,
> --
> Jens Glathe <jens.glathe@oldschoolsolutions.biz>
>
>
^ permalink raw reply [flat|nested] 35+ messages in thread
* Re: [PATCH 1/7] dt-bindings: arm: qcom: Distinguish IdeaCentre Mini 01Q8X10 SKUs
2026-09-05 9:28 ` [PATCH 1/7] dt-bindings: arm: qcom: Distinguish IdeaCentre Mini 01Q8X10 SKUs Jens Glathe via B4 Relay
@ 2026-09-08 9:04 ` Krzysztof Kozlowski
0 siblings, 0 replies; 35+ messages in thread
From: Krzysztof Kozlowski @ 2026-09-08 9:04 UTC (permalink / raw)
To: jens.glathe, Bjorn Andersson, Konrad Dybcio, Rob Herring,
Krzysztof Kozlowski, Conor Dooley
Cc: linux-arm-msm, devicetree, linux-kernel
On 05/09/2026 11:28, Jens Glathe via B4 Relay wrote:
> From: Jens Glathe <jens.glathe@oldschoolsolutions.biz>
>
> The Lenovo IdeaCentre Mini 01Q8X10 exists on both X1E80100 (Hamoa) and
> X1P42100 (Purwa). A single two-entry compatible cannot tell those
> device trees apart.
>
> Move the board out of the generic X1E80100 enum and document two
> three-entry lists:
>
> lenovo,hamoa-ideacentre-mini-01q8x10, lenovo,ideacentre-mini-01q8x10,
> qcom,x1e80100
>
> lenovo,purwa-ideacentre-mini-01q8x10, lenovo,ideacentre-mini-01q8x10,
> qcom,x1p42100
>
> Assisted-by: Grok 4.5 (xAI)
> Signed-off-by: Jens Glathe <jens.glathe@oldschoolsolutions.biz>
> ---
Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com>
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 35+ messages in thread
* Re: [PATCH 0/7] arm64: dts: qcom: IdeaCentre Mini 01Q8X10 Hamoa + Purwa
2026-09-08 9:03 ` Mostafa Saleh
@ 2026-09-08 9:05 ` Krzysztof Kozlowski
2026-09-08 9:11 ` Mostafa Saleh
2026-09-08 9:34 ` Jens Glathe
2026-09-08 9:39 ` Jens Glathe
1 sibling, 2 replies; 35+ messages in thread
From: Krzysztof Kozlowski @ 2026-09-08 9:05 UTC (permalink / raw)
To: Mostafa Saleh, jens.glathe
Cc: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, linux-arm-msm, devicetree, linux-kernel
On 08/09/2026 11:03, Mostafa Saleh wrote:
> Hi Jens,
>
> On Sat, Sep 05, 2026 at 11:28:55AM +0200, Jens Glathe via B4 Relay wrote:
>> The IdeaCentre Mini 01Q8X10 (board 91B6) ships with two SoCs: Hamoa
>> (X1E80100), already upstream, and Purwa (X1P42100 / X1-26-100). Same
>> chassis, different silicon. Stubble and the DTB loader need distinct
>> compatibles.
>>
>> This series splits the board description into
>> x1-lenovo-ideacentre-mini-01q8x10.dtsi and adds thin leaves. Each SKU
>> keeps lenovo,ideacentre-mini-01q8x10 as fallback:
>>
>> lenovo,hamoa-ideacentre-mini-01q8x10, lenovo,ideacentre-mini-01q8x10,
>> qcom,x1e80100
>>
>> lenovo,purwa-ideacentre-mini-01q8x10, lenovo,ideacentre-mini-01q8x10,
>> qcom,x1p42100
>>
>> No qcom_scm change; the fallback is already on the allowlist.
>>
>> The remaining patches fix the common DTSI for both boxes:
>>
>> - Build the Hamoa EL2 DTB like the other Hamoa boards.
>> - Second M.2 3V3 is PMC8380_3 GPIO5, not TLMM18. A 2 s startup delay
>> is required or pcie3 fails to probe. always-on is a hack until there
>> is a real M.2 power sequencer.
>> - sound-name-prefix on the three DP ports. Enable lpass_vamacro: no
>> onboard mics, but it provides fsgen for tx_macro and rx_macro.
>> - usb_mp port 1 is not populated (no PTN3222 @ 0x4f). USB-C is
>> usb_1_ss0; rear Type-A is usb_mp port 0 behind a Genesys hub.
>>
>> The Genesys hub is left undescribed.
>>
>> UCM [1] and AudioReach [2] topology for these devices are online, too.
>>
>> Tested on:
>> - IdeaCentre Mini 01Q8X10, Purwa (X1-26-100), 91B6
>> - Hamoa: compile-tested only
>>
>> [1]: https://github.com/alsa-project/alsa-ucm-conf/pull/843
>> [2]: https://github.com/linux-msm/audioreach-topology/pull/74
>>
>> Assisted-by: Grok 4.5 (xAI)
>> Signed-off-by: Jens Glathe <jens.glathe@oldschoolsolutions.biz>
>> ---
>> Jens Glathe (7):
>> dt-bindings: arm: qcom: Distinguish IdeaCentre Mini 01Q8X10 SKUs
>> arm64: dts: qcom: Split IdeaCentre Mini into a common DTSI
>> arm64: dts: qcom: Add Purwa IdeaCentre Mini 01Q8X10
>> arm64: dts: qcom: ideacentre-mini: Build the Hamoa EL2 DTB
>> arm64: dts: qcom: ideacentre-mini: Fix the second M.2 3V3 rail
>> arm64: dts: qcom: ideacentre-mini: Wire up DP sound names and VA macro
>> arm64: dts: qcom: ideacentre-mini: Drop the unused USB MP port
>>
>> Documentation/devicetree/bindings/arm/qcom.yaml | 11 +-
>> arch/arm64/boot/dts/qcom/Makefile | 8 +-
>> .../qcom/hamoa-lenovo-ideacentre-mini-01q8x10.dts | 1188 +-------------------
>> .../qcom/purwa-lenovo-ideacentre-mini-01q8x10.dts | 42 +
>> .../qcom/x1-lenovo-ideacentre-mini-01q8x10.dtsi | 1185 +++++++++++++++++++
>> 5 files changed, 1246 insertions(+), 1188 deletions(-)
>> ---
>> base-commit: af5f12805e5cefa4fe68d6127c7e1fb78cd5535c
>
> This series does not apply to ToT nor I can find this base-commit
> in it.
It's a public/standard commit, next.
What is ToT in upstream development?
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 35+ messages in thread
* Re: [PATCH 0/7] arm64: dts: qcom: IdeaCentre Mini 01Q8X10 Hamoa + Purwa
2026-09-08 9:05 ` Krzysztof Kozlowski
@ 2026-09-08 9:11 ` Mostafa Saleh
2026-09-08 9:57 ` Konrad Dybcio
2026-09-08 9:34 ` Jens Glathe
1 sibling, 1 reply; 35+ messages in thread
From: Mostafa Saleh @ 2026-09-08 9:11 UTC (permalink / raw)
To: Krzysztof Kozlowski
Cc: jens.glathe, Bjorn Andersson, Konrad Dybcio, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, linux-arm-msm, devicetree,
linux-kernel
On Tue, Sep 08, 2026 at 11:05:34AM +0200, Krzysztof Kozlowski wrote:
> On 08/09/2026 11:03, Mostafa Saleh wrote:
> > Hi Jens,
> >
> > On Sat, Sep 05, 2026 at 11:28:55AM +0200, Jens Glathe via B4 Relay wrote:
> >> The IdeaCentre Mini 01Q8X10 (board 91B6) ships with two SoCs: Hamoa
> >> (X1E80100), already upstream, and Purwa (X1P42100 / X1-26-100). Same
> >> chassis, different silicon. Stubble and the DTB loader need distinct
> >> compatibles.
> >>
> >> This series splits the board description into
> >> x1-lenovo-ideacentre-mini-01q8x10.dtsi and adds thin leaves. Each SKU
> >> keeps lenovo,ideacentre-mini-01q8x10 as fallback:
> >>
> >> lenovo,hamoa-ideacentre-mini-01q8x10, lenovo,ideacentre-mini-01q8x10,
> >> qcom,x1e80100
> >>
> >> lenovo,purwa-ideacentre-mini-01q8x10, lenovo,ideacentre-mini-01q8x10,
> >> qcom,x1p42100
> >>
> >> No qcom_scm change; the fallback is already on the allowlist.
> >>
> >> The remaining patches fix the common DTSI for both boxes:
> >>
> >> - Build the Hamoa EL2 DTB like the other Hamoa boards.
> >> - Second M.2 3V3 is PMC8380_3 GPIO5, not TLMM18. A 2 s startup delay
> >> is required or pcie3 fails to probe. always-on is a hack until there
> >> is a real M.2 power sequencer.
> >> - sound-name-prefix on the three DP ports. Enable lpass_vamacro: no
> >> onboard mics, but it provides fsgen for tx_macro and rx_macro.
> >> - usb_mp port 1 is not populated (no PTN3222 @ 0x4f). USB-C is
> >> usb_1_ss0; rear Type-A is usb_mp port 0 behind a Genesys hub.
> >>
> >> The Genesys hub is left undescribed.
> >>
> >> UCM [1] and AudioReach [2] topology for these devices are online, too.
> >>
> >> Tested on:
> >> - IdeaCentre Mini 01Q8X10, Purwa (X1-26-100), 91B6
> >> - Hamoa: compile-tested only
> >>
> >> [1]: https://github.com/alsa-project/alsa-ucm-conf/pull/843
> >> [2]: https://github.com/linux-msm/audioreach-topology/pull/74
> >>
> >> Assisted-by: Grok 4.5 (xAI)
> >> Signed-off-by: Jens Glathe <jens.glathe@oldschoolsolutions.biz>
> >> ---
> >> Jens Glathe (7):
> >> dt-bindings: arm: qcom: Distinguish IdeaCentre Mini 01Q8X10 SKUs
> >> arm64: dts: qcom: Split IdeaCentre Mini into a common DTSI
> >> arm64: dts: qcom: Add Purwa IdeaCentre Mini 01Q8X10
> >> arm64: dts: qcom: ideacentre-mini: Build the Hamoa EL2 DTB
> >> arm64: dts: qcom: ideacentre-mini: Fix the second M.2 3V3 rail
> >> arm64: dts: qcom: ideacentre-mini: Wire up DP sound names and VA macro
> >> arm64: dts: qcom: ideacentre-mini: Drop the unused USB MP port
> >>
> >> Documentation/devicetree/bindings/arm/qcom.yaml | 11 +-
> >> arch/arm64/boot/dts/qcom/Makefile | 8 +-
> >> .../qcom/hamoa-lenovo-ideacentre-mini-01q8x10.dts | 1188 +-------------------
> >> .../qcom/purwa-lenovo-ideacentre-mini-01q8x10.dts | 42 +
> >> .../qcom/x1-lenovo-ideacentre-mini-01q8x10.dtsi | 1185 +++++++++++++++++++
> >> 5 files changed, 1246 insertions(+), 1188 deletions(-)
> >> ---
> >> base-commit: af5f12805e5cefa4fe68d6127c7e1fb78cd5535c
> >
> > This series does not apply to ToT nor I can find this base-commit
> > in it.
>
> It's a public/standard commit, next.
>
> What is ToT in upstream development?
I am using Linus's Tree:
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/log/
Thanks,
Mostafa
>
> Best regards,
> Krzysztof
^ permalink raw reply [flat|nested] 35+ messages in thread
* Re: [PATCH 0/7] arm64: dts: qcom: IdeaCentre Mini 01Q8X10 Hamoa + Purwa
2026-09-08 9:05 ` Krzysztof Kozlowski
2026-09-08 9:11 ` Mostafa Saleh
@ 2026-09-08 9:34 ` Jens Glathe
1 sibling, 0 replies; 35+ messages in thread
From: Jens Glathe @ 2026-09-08 9:34 UTC (permalink / raw)
To: Krzysztof Kozlowski, Mostafa Saleh
Cc: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, linux-arm-msm, devicetree, linux-kernel
Hi,
On 9/8/26 11:05, Krzysztof Kozlowski wrote:
> On 08/09/2026 11:03, Mostafa Saleh wrote:
>> Hi Jens,
>>
>> On Sat, Sep 05, 2026 at 11:28:55AM +0200, Jens Glathe via B4 Relay wrote:
[...]
>>> ---
>>> base-commit: af5f12805e5cefa4fe68d6127c7e1fb78cd5535c
>> This series does not apply to ToT nor I can find this base-commit
>> in it.
> It's a public/standard commit, next.
>
> What is ToT in upstream development?
Tip of Tree (of torvalds/master) would be my guess. I have used
linux-next/2026-09-04.
with best regards
Jens
^ permalink raw reply [flat|nested] 35+ messages in thread
* Re: [PATCH 0/7] arm64: dts: qcom: IdeaCentre Mini 01Q8X10 Hamoa + Purwa
2026-09-08 9:03 ` Mostafa Saleh
2026-09-08 9:05 ` Krzysztof Kozlowski
@ 2026-09-08 9:39 ` Jens Glathe
2026-09-08 11:00 ` Mostafa Saleh
1 sibling, 1 reply; 35+ messages in thread
From: Jens Glathe @ 2026-09-08 9:39 UTC (permalink / raw)
To: Mostafa Saleh
Cc: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, linux-arm-msm, devicetree, linux-kernel
Hi Mostafa,
On 9/8/26 11:03, Mostafa Saleh wrote:
> Hi Jens,
>
> On Sat, Sep 05, 2026 at 11:28:55AM +0200, Jens Glathe via B4 Relay wrote:
>> The IdeaCentre Mini 01Q8X10 (board 91B6) ships with two SoCs: Hamoa
>> (X1E80100), already upstream, and Purwa (X1P42100 / X1-26-100). Same
>> chassis, different silicon. Stubble and the DTB loader need distinct
>> compatibles.
>>
[...]
>> This series does not apply to ToT nor I can find this base-commit
>> in it.
>>
>> Does that have any dependency?
>>
>> Thanks,
>> Mostafa
No dependencies. But I test if i can apply to torvalds/master
with best regards
Jens
^ permalink raw reply [flat|nested] 35+ messages in thread
* Re: [PATCH 0/7] arm64: dts: qcom: IdeaCentre Mini 01Q8X10 Hamoa + Purwa
2026-09-08 9:11 ` Mostafa Saleh
@ 2026-09-08 9:57 ` Konrad Dybcio
2026-09-08 11:02 ` Mostafa Saleh
0 siblings, 1 reply; 35+ messages in thread
From: Konrad Dybcio @ 2026-09-08 9:57 UTC (permalink / raw)
To: Mostafa Saleh, Krzysztof Kozlowski
Cc: jens.glathe, Bjorn Andersson, Konrad Dybcio, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, linux-arm-msm, devicetree,
linux-kernel
On 9/8/26 11:11 AM, Mostafa Saleh wrote:
> On Tue, Sep 08, 2026 at 11:05:34AM +0200, Krzysztof Kozlowski wrote:
>> On 08/09/2026 11:03, Mostafa Saleh wrote:
>>> Hi Jens,
>>>
>>> On Sat, Sep 05, 2026 at 11:28:55AM +0200, Jens Glathe via B4 Relay wrote:
>>>> The IdeaCentre Mini 01Q8X10 (board 91B6) ships with two SoCs: Hamoa
>>>> (X1E80100), already upstream, and Purwa (X1P42100 / X1-26-100). Same
>>>> chassis, different silicon. Stubble and the DTB loader need distinct
>>>> compatibles.
[...]
>>>> base-commit: af5f12805e5cefa4fe68d6127c7e1fb78cd5535c
>>>
>>> This series does not apply to ToT nor I can find this base-commit
>>> in it.
>>
>> It's a public/standard commit, next.
>>
>> What is ToT in upstream development?
>
> I am using Linus's Tree:
> https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/log/
This tree contains the latest release/rc tags, linux-next is an
aggreagation of each submaintainers' branches, effectively "what is
the next release going to look like" so essentially that's where the
development happens
Konrad
^ permalink raw reply [flat|nested] 35+ messages in thread
* Re: [PATCH 0/7] arm64: dts: qcom: IdeaCentre Mini 01Q8X10 Hamoa + Purwa
2026-09-08 9:39 ` Jens Glathe
@ 2026-09-08 11:00 ` Mostafa Saleh
2026-09-08 12:00 ` Jens Glathe
0 siblings, 1 reply; 35+ messages in thread
From: Mostafa Saleh @ 2026-09-08 11:00 UTC (permalink / raw)
To: Jens Glathe
Cc: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, linux-arm-msm, devicetree, linux-kernel
On Tue, Sep 08, 2026 at 11:39:54AM +0200, Jens Glathe wrote:
> Hi Mostafa,
>
> On 9/8/26 11:03, Mostafa Saleh wrote:
> > Hi Jens,
> >
> > On Sat, Sep 05, 2026 at 11:28:55AM +0200, Jens Glathe via B4 Relay wrote:
> > > The IdeaCentre Mini 01Q8X10 (board 91B6) ships with two SoCs: Hamoa
> > > (X1E80100), already upstream, and Purwa (X1P42100 / X1-26-100). Same
> > > chassis, different silicon. Stubble and the DTB loader need distinct
> > > compatibles.
> > >
> [...]
> > > This series does not apply to ToT nor I can find this base-commit
> > > in it.
> > >
> > > Does that have any dependency?
> > >
> > > Thanks,
> > > Mostafa
>
> No dependencies. But I test if i can apply to torvalds/master
I can't apply it on Linus's tree so I used your next tag + (revert
for the QoS broken patch I mentioned)
The patches doesn't build, I added this for now:
diff --git a/arch/arm64/boot/dts/qcom/Makefile b/arch/arm64/boot/dts/qcom/Makefile
index 0cfbf3018a7b..d282ce5635d8 100644
--- a/arch/arm64/boot/dts/qcom/Makefile
+++ b/arch/arm64/boot/dts/qcom/Makefile
@@ -173,7 +173,6 @@ dtb-$(CONFIG_ARCH_QCOM) += purwa-iot-evk.dtb
purwa-lenovo-ideacentre-mini-01q8x10-el2-dtbs := purwa-lenovo-ideacentre-mini-01q8x10.dtb x1-el2.dtbo
dtb-$(CONFIG_ARCH_QCOM) += purwa-lenovo-ideacentre-mini-01q8x10.dtb purwa-lenovo-ideacentre-mini-01q8x10-el2.dtb
-dtb-$(CONFIG_ARCH_QCOM) += purwa-iot-evk-el2.dtb
dtb-$(CONFIG_ARCH_QCOM) += qcm6490-fairphone-fp5.dtb
dtb-$(CONFIG_ARCH_QCOM) += qcm6490-idp.dtb
dtb-$(CONFIG_ARCH_QCOM) += qcm6490-particle-tachyon.dtb
I can't boot in EL2 (with purwa-lenovo-ideacentre-mini-01q8x10-el2.dtb):
[ 0.000000] Booting Linux on physical CPU 0x0000000000 [0x512f0011]
[ 0.000000] Linux version 7.3.0-rc1-next-20260904-g505bc4a244a7-dirty (smostafa@mostafa1.c.googlers.com) (Debian clang version 21.1.8 (3), Debian LLD 21.1.8) #2 SMP
PREEMPT Tue Sep 8 10:10:35 UTC 2026
[ 0.000000] KASLR enabled
[ 0.000000] Machine model: Lenovo IdeaCentre Mini 01Q8X10 (Purwa)
[ 0.000000] earlycon: qcom_geni0 MMIO:0x0000000000894000 (options '')
[ 0.000000] printk: legacy bootconsole [qcom_geni0] enabled
[ 0.000000] CPU features: SYS_ID_AA64MMFR0_EL1[63:60]: forced to 1
[ 0.000000] arch_timer: [Firmware Bug]: VHE-capable CPU without EL2 virtual timer interrupt
[ 0.191075] qcom_scm firmware:scm: qseecom: scm call failed with error -22
[ 0.198139] qcom_qseecom qcom_qseecom: probe with driver qcom_qseecom failed with error -22
[ 0.227426] arm-smmu 15000000.iommu: Unhandled context fault: fsr=0x402, iova=0x86cd79c0, fsynr=0x400010, cbfrsynra=0x1000, cb=4
[ 0.291862] arm-smmu 15000000.iommu: FSR = 00000402 [Format=2 TF], SID=0x1000
[ 0.299508] arm-smmu 15000000.iommu: FSYNR0 = 00400010 [S1CBNDX=64 WNR PLVL=0]
[ 0.307018] arm-smmu 15000000.iommu: Unhandled context fault: fsr=0x402, iova=0x86b020c0, fsynr=0x400040, cbfrsynra=0x1000, cb=4
[ 0.318879] arm-smmu 15000000.iommu: FSR = 00000402 [Format=2 TF], SID=0x1000
[ 0.326462] arm-smmu 15000000.iommu: FSYNR0 = 00400040 [S1CBNDX=64 IND PLVL=0]
[ 0.333884] arm-smmu 15000000.iommu: Unhandled context fault: fsr=0x402, iova=0x86b020c0, fsynr=0x400040, cbfrsynra=0x1000, cb=4
[a lot more of SMMU errors]
And with in EL1 (with purwa-lenovo-ideacentre-mini-01q8x10.dtb)
[ 0.000000] Booting Linux on physical CPU 0x0000000000 [0x512f0011]
[ 0.000000] Linux version 7.3.0-rc1-next-20260904-g505bc4a244a7-dirty (smostafa@mostafa1.c.googlers.com) (Debian clang version 21.1.8 (3), Debian LLD 21.1.8) #2 SMP
PREEMPT Tue Sep 8 10:10:35 UTC 2026
[ 0.000000] KASLR enabled
[ 0.000000] Machine model: Lenovo IdeaCentre Mini 01Q8X10 (Purwa)
[ 0.000000] earlycon: qcom_geni0 MMIO:0x0000000000894000 (options '')
[ 0.000000] printk: legacy bootconsole [qcom_geni0] enabled
[ 0.000000] CPU features: SYS_ID_AA64MMFR0_EL1[63:60]: forced to 1
[ 0.000000] ITS@0x0000000017040000: Devices Table too large, reduce ids 32->19
[ 0.000000] ITS@0x0000000017040000: Devices too large, reduce ITS pages 1024->256
[ 0.223762] remoteproc remoteproc0: Direct firmware load for qcom/x1p42100/LENOVO/91B6/qcadsp8380.mbn failed with error -2
[ 0.235468] remoteproc remoteproc0: Direct firmware load for qcom/x1p42100/LENOVO/91B6/qcadsp8380.mbn failed with error -2
[ 0.246800] remoteproc remoteproc0: request_firmware failed: -2
[ 0.252897] remoteproc remoteproc1: Direct firmware load for qcom/x1p42100/LENOVO/91B6/qccdsp8380.mbn failed with error -2
[ 0.261226] qcom-pcie 1bf8000.pcie: supply vdda not found, using dummy regulator
[ 0.261707] qcom-pcie 1c00000.pcie: supply vdda not found, using dummy regulator
[ 0.261729] qcom-pcie 1c00000.pcie: supply vddpe-3v3 not found, using dummy regulator
[ 0.261871] qcom-pcie 1c08000.pcie: supply vdda not found, using dummy regulator
[ 0.261889] qcom-pcie 1c08000.pcie: supply vddpe-3v3 not found, using dummy regulator
[ 0.279415] remoteproc remoteproc1: Direct firmware load for qcom/x1p42100/LENOVO/91B6/qccdsp8380.mbn failed with error -2
[ 0.295042] remoteproc remoteproc1: request_firmware failed: -2
[ 0.332189] qcom_pmic_glink pmic-glink: Failed to create device link (0x180) with supplier a600000.usb for /pmic-glink/connector@0
[ 0.346753] qcom-pcie 1c08000.pcie: supply vdda not found, using dummy regulator
[ 0.349142] ------------[ cut here ]------------
[ 0.354378] qcom-pcie 1c08000.pcie: supply vddpe-3v3 not found, using dummy regulator
[ 0.359106] disp_cc_mdss_dptx1_link_clk_src: rcg didn't update its configuration.
[ 0.367176] WARNING: drivers/clk/qcom/clk-rcg2.c:136 at update_config+0xd4/0xe8, CPU#2: kworker/u33:0/56
[ 0.384583] Modules linked in:
[ 0.387723] CPU: 2 UID: 0 PID: 56 Comm: kworker/u33:0 Not tainted 7.3.0-rc1-next-20260904-g505bc4a244a7-dirty #2 PREEMPT
[ 0.398963] Hardware name: LENOVO 91B6CTO1WW/3796, BIOS O6NKT3BA 05/02/2025
[ 0.406111] Workqueue: events_unbound deferred_probe_work_func
[ 0.412095] pstate: 61400005 (nZCv daif +PAN -UAO -TCO +DIT -SSBS BTYPE=--)
[ 0.419240] pc : update_config+0xd4/0xe8
[ 0.423267] lr : update_config+0xd0/0xe8
[ 0.427295] sp : ffff80008027b980
[ 0.430703] x29: ffff80008027b990 x28: ffff000802f813c0 x27: ffffc1572aad6000
[ 0.438024] x26: ffffc1572a4df03f x25: ffffc1572a639ff6 x24: ffffc1572a61b412
[ 0.438026] x23: 0000000000000000 x22: 0000000000000002 x21: 0000000000000001
[ 0.438028] x20: ffffc1572a4bb085 x19: ffffc1572acfc020 x18: 0000000000000000
[ 0.459979] x17: 0000000006af4b93 x16: 0000000000000094 x15: 0000000000100000
[ 0.467302] x14: 00000000000066a7 x13: 000000000199e0a9 x12: 00000000000000a5
[ 0.474624] x11: 00000000000000c0 x10: 0cf36ad3ab101c53 x9 : a7b4a80d3a726d00
[ 0.481946] x8 : a7b4a80d3a726d00 x7 : 0000000000000000 x6 : 000000000000003f
[ 0.489268] x5 : 0000000000000040 x4 : 0000000000000000 x3 : 0000000000000001
[ 0.496588] x2 : 0000000000100000 x1 : ffff000800c8b000 x0 : 00000000fffffff0
[ 0.503913] Call trace:
[ 0.506433] update_config+0xd4/0xe8 (P)
[ 0.510464] clk_rcg2_set_parent+0x58/0x68
[ 0.514666] __clk_set_parent+0x50/0x214
[ 0.518696] clk_core_set_parent_nolock+0xe8/0x1b4
[ 0.523611] clk_set_parent+0xa4/0x13c
[ 0.527458] of_clk_set_defaults+0x2f0/0x644
[ 0.531847] platform_probe+0x38/0x9c
[Many more of those also]
However, booting with the hacked device tree I am using [1]:
[root@alarm ~]# lsusb
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 002: ID 05e3:0610 Genesys Logic, Inc. Hub
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 004 Device 002: ID 05e3:0625 Genesys Logic, Inc. USB3.2 Hub
Bus 004 Device 003: ID 0781:5591 SanDisk Corp. Ultra Flair
[root@alarm ~]# lspci
0004:00:00.0 PCI bridge: Qualcomm Technologies, Inc SC8380XP PCIe Root Complex [Snapdragon X / X Plus / X Elite]
0004:01:00.0 Network controller: Qualcomm Technologies, Inc WCN785x Wi-Fi 7(802.11be) 320MHz 2x2 [FastConnect 7800] (rev 01)
0005:00:00.0 PCI bridge: Qualcomm Technologies, Inc SC8380XP PCIe Root Complex [Snapdragon X / X Plus / X Elite]
0005:01:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8211/8411 PCI Express Gigabit Ethernet Controller (rev 1b)
0006:00:00.0 PCI bridge: Qualcomm Technologies, Inc SC8380XP PCIe Root Complex [Snapdragon X / X Plus / X Elite]
0006:01:00.0 Non-Volatile memory controller: SK hynix Platinum P41/PC801 NVMe Solid State Drive
[root@alarm ~]# fastfetch
-` root@alarm
.o+` ----------
`ooo/ OS: Arch Linux ARM aarch64
`+oooo: Host: 91B6CTO1WW (IdeaCentre Mini 01Q8X10)
`+oooooo: Kernel: Linux 7.3.0-rc1-next-20260904-g505bc4a244a7-dirty
-+oooooo+: Uptime: 3 mins
`/:-:++oooo+: Packages: 204 (pacman)
`/++++/+++++++: Shell: bash 5.3.15
`/++++++++++++++: Terminal: vt220
`/+++ooooooooooooo/` CPU: Qualcomm Snapdragon X Elite 1P42100 (8) @ 2.96 GHz
./ooosssso++osssssso+` Memory: 501.91 MiB / 30.74 GiB (2%)
.oossssso-````/ossssss+` Swap: Disabled
-osssssso. :ssssssso. Disk (/): 8.77 GiB / 468.38 GiB (2%) - ext4
:osssssss/ osssso+++. Locale: C
/ossssssss/ +ssssooo/-
`/ossssso+/:- -:/+osssso+-
`+sso+:-` `.-/+oso:
`++:. `-/+/
.` `/
[1] https://lore.kernel.org/all/20260429141815.827157-1-smostafa@google.com/
Thanks,
Mostafa
>
> with best regards
>
> Jens
>
>
^ permalink raw reply [flat|nested] 35+ messages in thread
* Re: [PATCH 0/7] arm64: dts: qcom: IdeaCentre Mini 01Q8X10 Hamoa + Purwa
2026-09-08 9:57 ` Konrad Dybcio
@ 2026-09-08 11:02 ` Mostafa Saleh
2026-09-08 12:00 ` Krzysztof Kozlowski
0 siblings, 1 reply; 35+ messages in thread
From: Mostafa Saleh @ 2026-09-08 11:02 UTC (permalink / raw)
To: Konrad Dybcio
Cc: Krzysztof Kozlowski, jens.glathe, Bjorn Andersson, Konrad Dybcio,
Rob Herring, Krzysztof Kozlowski, Conor Dooley, linux-arm-msm,
devicetree, linux-kernel
On Tue, Sep 08, 2026 at 11:57:33AM +0200, Konrad Dybcio wrote:
> On 9/8/26 11:11 AM, Mostafa Saleh wrote:
> > On Tue, Sep 08, 2026 at 11:05:34AM +0200, Krzysztof Kozlowski wrote:
> >> On 08/09/2026 11:03, Mostafa Saleh wrote:
> >>> Hi Jens,
> >>>
> >>> On Sat, Sep 05, 2026 at 11:28:55AM +0200, Jens Glathe via B4 Relay wrote:
> >>>> The IdeaCentre Mini 01Q8X10 (board 91B6) ships with two SoCs: Hamoa
> >>>> (X1E80100), already upstream, and Purwa (X1P42100 / X1-26-100). Same
> >>>> chassis, different silicon. Stubble and the DTB loader need distinct
> >>>> compatibles.
>
> [...]
>
> >>>> base-commit: af5f12805e5cefa4fe68d6127c7e1fb78cd5535c
> >>>
> >>> This series does not apply to ToT nor I can find this base-commit
> >>> in it.
> >>
> >> It's a public/standard commit, next.
> >>
> >> What is ToT in upstream development?
> >
> > I am using Linus's Tree:
> > https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/log/
>
> This tree contains the latest release/rc tags, linux-next is an
> aggreagation of each submaintainers' branches, effectively "what is
> the next release going to look like" so essentially that's where the
> development happens
AFAIU, linux-next is useful to get a view of the next release. However,
it shouldn't be used for developement. It should be either Linus's tree
or the maintainer's tree (as mentioned in process/submitting-patches)
Thanks,
Mostafa
>
> Konrad
^ permalink raw reply [flat|nested] 35+ messages in thread
* Re: [PATCH 0/7] arm64: dts: qcom: IdeaCentre Mini 01Q8X10 Hamoa + Purwa
2026-09-08 11:02 ` Mostafa Saleh
@ 2026-09-08 12:00 ` Krzysztof Kozlowski
0 siblings, 0 replies; 35+ messages in thread
From: Krzysztof Kozlowski @ 2026-09-08 12:00 UTC (permalink / raw)
To: Mostafa Saleh, Konrad Dybcio
Cc: jens.glathe, Bjorn Andersson, Konrad Dybcio, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, linux-arm-msm, devicetree,
linux-kernel
On 08/09/2026 13:02, Mostafa Saleh wrote:
> On Tue, Sep 08, 2026 at 11:57:33AM +0200, Konrad Dybcio wrote:
>> On 9/8/26 11:11 AM, Mostafa Saleh wrote:
>>> On Tue, Sep 08, 2026 at 11:05:34AM +0200, Krzysztof Kozlowski wrote:
>>>> On 08/09/2026 11:03, Mostafa Saleh wrote:
>>>>> Hi Jens,
>>>>>
>>>>> On Sat, Sep 05, 2026 at 11:28:55AM +0200, Jens Glathe via B4 Relay wrote:
>>>>>> The IdeaCentre Mini 01Q8X10 (board 91B6) ships with two SoCs: Hamoa
>>>>>> (X1E80100), already upstream, and Purwa (X1P42100 / X1-26-100). Same
>>>>>> chassis, different silicon. Stubble and the DTB loader need distinct
>>>>>> compatibles.
>>
>> [...]
>>
>>>>>> base-commit: af5f12805e5cefa4fe68d6127c7e1fb78cd5535c
>>>>>
>>>>> This series does not apply to ToT nor I can find this base-commit
>>>>> in it.
>>>>
>>>> It's a public/standard commit, next.
>>>>
>>>> What is ToT in upstream development?
>>>
>>> I am using Linus's Tree:
>>> https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/log/
>>
>> This tree contains the latest release/rc tags, linux-next is an
>> aggreagation of each submaintainers' branches, effectively "what is
>> the next release going to look like" so essentially that's where the
>> development happens
>
> AFAIU, linux-next is useful to get a view of the next release. However,
> it shouldn't be used for developement. It should be either Linus's tree
> or the maintainer's tree (as mentioned in process/submitting-patches)
So every developer gets it wrong, damn it...
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 35+ messages in thread
* Re: [PATCH 0/7] arm64: dts: qcom: IdeaCentre Mini 01Q8X10 Hamoa + Purwa
2026-09-08 11:00 ` Mostafa Saleh
@ 2026-09-08 12:00 ` Jens Glathe
2026-09-08 12:09 ` Mostafa Saleh
0 siblings, 1 reply; 35+ messages in thread
From: Jens Glathe @ 2026-09-08 12:00 UTC (permalink / raw)
To: Mostafa Saleh
Cc: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, linux-arm-msm, devicetree, linux-kernel
Hi Mostafa,
On 9/8/26 13:00, Mostafa Saleh wrote:
> On Tue, Sep 08, 2026 at 11:39:54AM +0200, Jens Glathe wrote:
>> No dependencies. But I test if i can apply to torvalds/master
> I can't apply it on Linus's tree so I used your next tag + (revert
> for the QoS broken patch I mentioned)
>
> The patches doesn't build, I added this for now:
> diff --git a/arch/arm64/boot/dts/qcom/Makefile b/arch/arm64/boot/dts/qcom/Makefile
> index 0cfbf3018a7b..d282ce5635d8 100644
> --- a/arch/arm64/boot/dts/qcom/Makefile
> +++ b/arch/arm64/boot/dts/qcom/Makefile
> @@ -173,7 +173,6 @@ dtb-$(CONFIG_ARCH_QCOM) += purwa-iot-evk.dtb
> purwa-lenovo-ideacentre-mini-01q8x10-el2-dtbs := purwa-lenovo-ideacentre-mini-01q8x10.dtb x1-el2.dtbo
> dtb-$(CONFIG_ARCH_QCOM) += purwa-lenovo-ideacentre-mini-01q8x10.dtb purwa-lenovo-ideacentre-mini-01q8x10-el2.dtb
>
> -dtb-$(CONFIG_ARCH_QCOM) += purwa-iot-evk-el2.dtb
> dtb-$(CONFIG_ARCH_QCOM) += qcm6490-fairphone-fp5.dtb
> dtb-$(CONFIG_ARCH_QCOM) += qcm6490-idp.dtb
> dtb-$(CONFIG_ARCH_QCOM) += qcm6490-particle-tachyon.dtb
Yes that's true. Will be fixed in V2.
> I can't boot in EL2 (with purwa-lenovo-ideacentre-mini-01q8x10-el2.dtb):
> [ 0.000000] Booting Linux on physical CPU 0x0000000000 [0x512f0011]
> [ 0.000000] Linux version 7.3.0-rc1-next-20260904-g505bc4a244a7-dirty (smostafa@mostafa1.c.googlers.com) (Debian clang version 21.1.8 (3), Debian LLD 21.1.8) #2 SMP
> PREEMPT Tue Sep 8 10:10:35 UTC 2026
> [ 0.000000] KASLR enabled
> [ 0.000000] Machine model: Lenovo IdeaCentre Mini 01Q8X10 (Purwa)
> [ 0.000000] earlycon: qcom_geni0 MMIO:0x0000000000894000 (options '')
> [ 0.000000] printk: legacy bootconsole [qcom_geni0] enabled
> [ 0.000000] CPU features: SYS_ID_AA64MMFR0_EL1[63:60]: forced to 1
> [ 0.000000] arch_timer: [Firmware Bug]: VHE-capable CPU without EL2 virtual timer interrupt
> [ 0.191075] qcom_scm firmware:scm: qseecom: scm call failed with error -22
> [ 0.198139] qcom_qseecom qcom_qseecom: probe with driver qcom_qseecom failed with error -22
> [ 0.227426] arm-smmu 15000000.iommu: Unhandled context fault: fsr=0x402, iova=0x86cd79c0, fsynr=0x400010, cbfrsynra=0x1000, cb=4
> [ 0.291862] arm-smmu 15000000.iommu: FSR = 00000402 [Format=2 TF], SID=0x1000
> [ 0.299508] arm-smmu 15000000.iommu: FSYNR0 = 00400010 [S1CBNDX=64 WNR PLVL=0]
> [ 0.307018] arm-smmu 15000000.iommu: Unhandled context fault: fsr=0x402, iova=0x86b020c0, fsynr=0x400040, cbfrsynra=0x1000, cb=4
> [ 0.318879] arm-smmu 15000000.iommu: FSR = 00000402 [Format=2 TF], SID=0x1000
> [ 0.326462] arm-smmu 15000000.iommu: FSYNR0 = 00400040 [S1CBNDX=64 IND PLVL=0]
> [ 0.333884] arm-smmu 15000000.iommu: Unhandled context fault: fsr=0x402, iova=0x86b020c0, fsynr=0x400040, cbfrsynra=0x1000, cb=4
> [a lot more of SMMU errors]
Well that's true, too. I prepared but never sent a patch for the EL2 PAS
use case.
https://github.com/jglathe/linux_ms_dev_kit/tree/b4/x1-el2-unfuck
My mini-x is up on EL2, too.
> And with in EL1 (with purwa-lenovo-ideacentre-mini-01q8x10.dtb)
> [ 0.000000] Booting Linux on physical CPU 0x0000000000 [0x512f0011]
> [ 0.000000] Linux version 7.3.0-rc1-next-20260904-g505bc4a244a7-dirty (smostafa@mostafa1.c.googlers.com) (Debian clang version 21.1.8 (3), Debian LLD 21.1.8) #2 SMP
> PREEMPT Tue Sep 8 10:10:35 UTC 2026
> [ 0.000000] KASLR enabled
> [ 0.000000] Machine model: Lenovo IdeaCentre Mini 01Q8X10 (Purwa)
> [ 0.000000] earlycon: qcom_geni0 MMIO:0x0000000000894000 (options '')
> [ 0.000000] printk: legacy bootconsole [qcom_geni0] enabled
> [ 0.000000] CPU features: SYS_ID_AA64MMFR0_EL1[63:60]: forced to 1
> [ 0.000000] ITS@0x0000000017040000: Devices Table too large, reduce ids 32->19
> [ 0.000000] ITS@0x0000000017040000: Devices too large, reduce ITS pages 1024->256
> [ 0.223762] remoteproc remoteproc0: Direct firmware load for qcom/x1p42100/LENOVO/91B6/qcadsp8380.mbn failed with error -2
> [ 0.235468] remoteproc remoteproc0: Direct firmware load for qcom/x1p42100/LENOVO/91B6/qcadsp8380.mbn failed with error -2
> [ 0.246800] remoteproc remoteproc0: request_firmware failed: -2
> [ 0.252897] remoteproc remoteproc1: Direct firmware load for qcom/x1p42100/LENOVO/91B6/qccdsp8380.mbn failed with error -2
> [ 0.261226] qcom-pcie 1bf8000.pcie: supply vdda not found, using dummy regulator
> [ 0.261707] qcom-pcie 1c00000.pcie: supply vdda not found, using dummy regulator
> [ 0.261729] qcom-pcie 1c00000.pcie: supply vddpe-3v3 not found, using dummy regulator
> [ 0.261871] qcom-pcie 1c08000.pcie: supply vdda not found, using dummy regulator
> [ 0.261889] qcom-pcie 1c08000.pcie: supply vddpe-3v3 not found, using dummy regulator
> [ 0.279415] remoteproc remoteproc1: Direct firmware load for qcom/x1p42100/LENOVO/91B6/qccdsp8380.mbn failed with error -2
> [ 0.295042] remoteproc remoteproc1: request_firmware failed: -2
> [ 0.332189] qcom_pmic_glink pmic-glink: Failed to create device link (0x180) with supplier a600000.usb for /pmic-glink/connector@0
> [ 0.346753] qcom-pcie 1c08000.pcie: supply vdda not found, using dummy regulator
> [ 0.349142] ------------[ cut here ]------------
> [ 0.354378] qcom-pcie 1c08000.pcie: supply vddpe-3v3 not found, using dummy regulator
> [ 0.359106] disp_cc_mdss_dptx1_link_clk_src: rcg didn't update its configuration.
> [ 0.367176] WARNING: drivers/clk/qcom/clk-rcg2.c:136 at update_config+0xd4/0xe8, CPU#2: kworker/u33:0/56
> [ 0.384583] Modules linked in:
> [ 0.387723] CPU: 2 UID: 0 PID: 56 Comm: kworker/u33:0 Not tainted 7.3.0-rc1-next-20260904-g505bc4a244a7-dirty #2 PREEMPT
> [ 0.398963] Hardware name: LENOVO 91B6CTO1WW/3796, BIOS O6NKT3BA 05/02/2025
> [ 0.406111] Workqueue: events_unbound deferred_probe_work_func
> [ 0.412095] pstate: 61400005 (nZCv daif +PAN -UAO -TCO +DIT -SSBS BTYPE=--)
> [ 0.419240] pc : update_config+0xd4/0xe8
> [ 0.423267] lr : update_config+0xd0/0xe8
> [ 0.427295] sp : ffff80008027b980
> [ 0.430703] x29: ffff80008027b990 x28: ffff000802f813c0 x27: ffffc1572aad6000
> [ 0.438024] x26: ffffc1572a4df03f x25: ffffc1572a639ff6 x24: ffffc1572a61b412
> [ 0.438026] x23: 0000000000000000 x22: 0000000000000002 x21: 0000000000000001
> [ 0.438028] x20: ffffc1572a4bb085 x19: ffffc1572acfc020 x18: 0000000000000000
> [ 0.459979] x17: 0000000006af4b93 x16: 0000000000000094 x15: 0000000000100000
> [ 0.467302] x14: 00000000000066a7 x13: 000000000199e0a9 x12: 00000000000000a5
> [ 0.474624] x11: 00000000000000c0 x10: 0cf36ad3ab101c53 x9 : a7b4a80d3a726d00
> [ 0.481946] x8 : a7b4a80d3a726d00 x7 : 0000000000000000 x6 : 000000000000003f
> [ 0.489268] x5 : 0000000000000040 x4 : 0000000000000000 x3 : 0000000000000001
> [ 0.496588] x2 : 0000000000100000 x1 : ffff000800c8b000 x0 : 00000000fffffff0
> [ 0.503913] Call trace:
> [ 0.506433] update_config+0xd4/0xe8 (P)
> [ 0.510464] clk_rcg2_set_parent+0x58/0x68
> [ 0.514666] __clk_set_parent+0x50/0x214
> [ 0.518696] clk_core_set_parent_nolock+0xe8/0x1b4
> [ 0.523611] clk_set_parent+0xa4/0x13c
> [ 0.527458] of_clk_set_defaults+0x2f0/0x644
> [ 0.531847] platform_probe+0x38/0x9c
> [Many more of those also]
This sounds odd. I have tested all three possible DP outs (just to make
sure, added a real DP cable to a display and have screen on 2 displays)
and it boots well here. No dptx_ errors. Although, with both displays in
(HDMI, DP) the box doesn't want to boot... like, even start the uefi
boot entry. But that's a different and non-Linux issue. Add a third
type-c display and it boots again and all three displays come up.
jglathe@mini-x-jg:~$ fastfetch
.... jglathe@mini-x-jg
.',:clooo: .:looooo:. -----------------
.;looooooooc .oooooooooo' OS: Ubuntu 26.04.1 LTS
(Resolute Raccoon) aarch64
.;looooool:,''. :ooooooooooc Host: 91B6001CUK
(IdeaCentre Mini 01Q8X10)
;looool;. 'oooooooooo, Kernel: Linux
7.1.12-jg-0-qcom-x1e
;clool' .cooooooc. ,, Uptime: 12 mins
... ...... .:oo, Packages: 2198 (dpkg),
12 (snap)
.;clol:,. .loooo' Shell: bash 5.3.9
:ooooooooo, 'ooool Display (LG Electronics
23"): 1920x1080 in 23", 60 Hz [External] *
'ooooooooooo. loooo. Display (PL2792QN):
2560x1440 in 27", 60 Hz [External]
'ooooooooool coooo. Display (Type-c):
3840x2160 @ 2x in 15", 60 Hz [External]
,loooooooc. .loooo. DE: GNOME 50.1
.,;;;'. ;ooooc WM: Mutter (Wayland)
... ,ooool. WM Theme: Adwaita
.cooooc. ..',,'. .cooo. Theme: Adwaita [GTK2/3/4]
;ooooo:. ;oooooooc. :l. Icons: Yaru [GTK2/3/4]
.coooooc,.. coooooooooo. Font: Adwaita Sans
(11pt) [GTK2/3/4]
.:ooooooolc:. .ooooooooooo' Cursor: Adwaita (24px)
.':loooooo; ,oooooooooc Terminal: /dev/pts/2
..';::c' .;loooo:' CPU: Qualcomm Snapdragon
X Elite 1E80100 (8) @ 2.96 GHz
GPU: Qualcomm Adreno
X1-45 [Integrated]
Memory: 3.08 GiB / 30.72
GiB (10%)
Swap: 0 B / 8.00 GiB (0%)
Disk (/): 58.09 GiB /
255.62 GiB (23%) - ext4
Disk (/minipool): 128.00
KiB / 1.71 TiB (0%) - zfs
Local IP (br0):
192.168.0.58/24
Locale: en_US.UTF-8
> However, booting with the hacked device tree I am using [1]:
[...]
> [1] https://lore.kernel.org/all/20260429141815.827157-1-smostafa@google.com/
>
I briefly compared the device trees. Quite some differences :) I will go
to the ToT and see if mine boots up then.
with best regards
Jens
^ permalink raw reply [flat|nested] 35+ messages in thread
* Re: [PATCH 0/7] arm64: dts: qcom: IdeaCentre Mini 01Q8X10 Hamoa + Purwa
2026-09-08 12:00 ` Jens Glathe
@ 2026-09-08 12:09 ` Mostafa Saleh
2026-09-08 15:04 ` Jens Glathe
0 siblings, 1 reply; 35+ messages in thread
From: Mostafa Saleh @ 2026-09-08 12:09 UTC (permalink / raw)
To: Jens Glathe
Cc: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, linux-arm-msm, devicetree, linux-kernel
On Tue, Sep 08, 2026 at 02:00:45PM +0200, Jens Glathe wrote:
> Hi Mostafa,
>
> On 9/8/26 13:00, Mostafa Saleh wrote:
> > On Tue, Sep 08, 2026 at 11:39:54AM +0200, Jens Glathe wrote:
> > > No dependencies. But I test if i can apply to torvalds/master
> > I can't apply it on Linus's tree so I used your next tag + (revert
> > for the QoS broken patch I mentioned)
> >
> > The patches doesn't build, I added this for now:
> > diff --git a/arch/arm64/boot/dts/qcom/Makefile b/arch/arm64/boot/dts/qcom/Makefile
> > index 0cfbf3018a7b..d282ce5635d8 100644
> > --- a/arch/arm64/boot/dts/qcom/Makefile
> > +++ b/arch/arm64/boot/dts/qcom/Makefile
> > @@ -173,7 +173,6 @@ dtb-$(CONFIG_ARCH_QCOM) += purwa-iot-evk.dtb
> > purwa-lenovo-ideacentre-mini-01q8x10-el2-dtbs := purwa-lenovo-ideacentre-mini-01q8x10.dtb x1-el2.dtbo
> > dtb-$(CONFIG_ARCH_QCOM) += purwa-lenovo-ideacentre-mini-01q8x10.dtb purwa-lenovo-ideacentre-mini-01q8x10-el2.dtb
> >
> > -dtb-$(CONFIG_ARCH_QCOM) += purwa-iot-evk-el2.dtb
> > dtb-$(CONFIG_ARCH_QCOM) += qcm6490-fairphone-fp5.dtb
> > dtb-$(CONFIG_ARCH_QCOM) += qcm6490-idp.dtb
> > dtb-$(CONFIG_ARCH_QCOM) += qcm6490-particle-tachyon.dtb
>
> Yes that's true. Will be fixed in V2.
>
> > I can't boot in EL2 (with purwa-lenovo-ideacentre-mini-01q8x10-el2.dtb):
> > [ 0.000000] Booting Linux on physical CPU 0x0000000000 [0x512f0011]
> > [ 0.000000] Linux version 7.3.0-rc1-next-20260904-g505bc4a244a7-dirty (smostafa@mostafa1.c.googlers.com) (Debian clang version 21.1.8 (3), Debian LLD 21.1.8) #2 SMP
> > PREEMPT Tue Sep 8 10:10:35 UTC 2026
> > [ 0.000000] KASLR enabled
> > [ 0.000000] Machine model: Lenovo IdeaCentre Mini 01Q8X10 (Purwa)
> > [ 0.000000] earlycon: qcom_geni0 MMIO:0x0000000000894000 (options '')
> > [ 0.000000] printk: legacy bootconsole [qcom_geni0] enabled
> > [ 0.000000] CPU features: SYS_ID_AA64MMFR0_EL1[63:60]: forced to 1
> > [ 0.000000] arch_timer: [Firmware Bug]: VHE-capable CPU without EL2 virtual timer interrupt
> > [ 0.191075] qcom_scm firmware:scm: qseecom: scm call failed with error -22
> > [ 0.198139] qcom_qseecom qcom_qseecom: probe with driver qcom_qseecom failed with error -22
> > [ 0.227426] arm-smmu 15000000.iommu: Unhandled context fault: fsr=0x402, iova=0x86cd79c0, fsynr=0x400010, cbfrsynra=0x1000, cb=4
> > [ 0.291862] arm-smmu 15000000.iommu: FSR = 00000402 [Format=2 TF], SID=0x1000
> > [ 0.299508] arm-smmu 15000000.iommu: FSYNR0 = 00400010 [S1CBNDX=64 WNR PLVL=0]
> > [ 0.307018] arm-smmu 15000000.iommu: Unhandled context fault: fsr=0x402, iova=0x86b020c0, fsynr=0x400040, cbfrsynra=0x1000, cb=4
> > [ 0.318879] arm-smmu 15000000.iommu: FSR = 00000402 [Format=2 TF], SID=0x1000
> > [ 0.326462] arm-smmu 15000000.iommu: FSYNR0 = 00400040 [S1CBNDX=64 IND PLVL=0]
> > [ 0.333884] arm-smmu 15000000.iommu: Unhandled context fault: fsr=0x402, iova=0x86b020c0, fsynr=0x400040, cbfrsynra=0x1000, cb=4
> > [a lot more of SMMU errors]
>
> Well that's true, too. I prepared but never sent a patch for the EL2 PAS use
> case.
>
> https://github.com/jglathe/linux_ms_dev_kit/tree/b4/x1-el2-unfuck
>
> My mini-x is up on EL2, too.
>
> > And with in EL1 (with purwa-lenovo-ideacentre-mini-01q8x10.dtb)
> > [ 0.000000] Booting Linux on physical CPU 0x0000000000 [0x512f0011]
> > [ 0.000000] Linux version 7.3.0-rc1-next-20260904-g505bc4a244a7-dirty (smostafa@mostafa1.c.googlers.com) (Debian clang version 21.1.8 (3), Debian LLD 21.1.8) #2 SMP
> > PREEMPT Tue Sep 8 10:10:35 UTC 2026
> > [ 0.000000] KASLR enabled
> > [ 0.000000] Machine model: Lenovo IdeaCentre Mini 01Q8X10 (Purwa)
> > [ 0.000000] earlycon: qcom_geni0 MMIO:0x0000000000894000 (options '')
> > [ 0.000000] printk: legacy bootconsole [qcom_geni0] enabled
> > [ 0.000000] CPU features: SYS_ID_AA64MMFR0_EL1[63:60]: forced to 1
> > [ 0.000000] ITS@0x0000000017040000: Devices Table too large, reduce ids 32->19
> > [ 0.000000] ITS@0x0000000017040000: Devices too large, reduce ITS pages 1024->256
> > [ 0.223762] remoteproc remoteproc0: Direct firmware load for qcom/x1p42100/LENOVO/91B6/qcadsp8380.mbn failed with error -2
> > [ 0.235468] remoteproc remoteproc0: Direct firmware load for qcom/x1p42100/LENOVO/91B6/qcadsp8380.mbn failed with error -2
> > [ 0.246800] remoteproc remoteproc0: request_firmware failed: -2
> > [ 0.252897] remoteproc remoteproc1: Direct firmware load for qcom/x1p42100/LENOVO/91B6/qccdsp8380.mbn failed with error -2
> > [ 0.261226] qcom-pcie 1bf8000.pcie: supply vdda not found, using dummy regulator
> > [ 0.261707] qcom-pcie 1c00000.pcie: supply vdda not found, using dummy regulator
> > [ 0.261729] qcom-pcie 1c00000.pcie: supply vddpe-3v3 not found, using dummy regulator
> > [ 0.261871] qcom-pcie 1c08000.pcie: supply vdda not found, using dummy regulator
> > [ 0.261889] qcom-pcie 1c08000.pcie: supply vddpe-3v3 not found, using dummy regulator
> > [ 0.279415] remoteproc remoteproc1: Direct firmware load for qcom/x1p42100/LENOVO/91B6/qccdsp8380.mbn failed with error -2
> > [ 0.295042] remoteproc remoteproc1: request_firmware failed: -2
> > [ 0.332189] qcom_pmic_glink pmic-glink: Failed to create device link (0x180) with supplier a600000.usb for /pmic-glink/connector@0
> > [ 0.346753] qcom-pcie 1c08000.pcie: supply vdda not found, using dummy regulator
> > [ 0.349142] ------------[ cut here ]------------
> > [ 0.354378] qcom-pcie 1c08000.pcie: supply vddpe-3v3 not found, using dummy regulator
> > [ 0.359106] disp_cc_mdss_dptx1_link_clk_src: rcg didn't update its configuration.
> > [ 0.367176] WARNING: drivers/clk/qcom/clk-rcg2.c:136 at update_config+0xd4/0xe8, CPU#2: kworker/u33:0/56
> > [ 0.384583] Modules linked in:
> > [ 0.387723] CPU: 2 UID: 0 PID: 56 Comm: kworker/u33:0 Not tainted 7.3.0-rc1-next-20260904-g505bc4a244a7-dirty #2 PREEMPT
> > [ 0.398963] Hardware name: LENOVO 91B6CTO1WW/3796, BIOS O6NKT3BA 05/02/2025
> > [ 0.406111] Workqueue: events_unbound deferred_probe_work_func
> > [ 0.412095] pstate: 61400005 (nZCv daif +PAN -UAO -TCO +DIT -SSBS BTYPE=--)
> > [ 0.419240] pc : update_config+0xd4/0xe8
> > [ 0.423267] lr : update_config+0xd0/0xe8
> > [ 0.427295] sp : ffff80008027b980
> > [ 0.430703] x29: ffff80008027b990 x28: ffff000802f813c0 x27: ffffc1572aad6000
> > [ 0.438024] x26: ffffc1572a4df03f x25: ffffc1572a639ff6 x24: ffffc1572a61b412
> > [ 0.438026] x23: 0000000000000000 x22: 0000000000000002 x21: 0000000000000001
> > [ 0.438028] x20: ffffc1572a4bb085 x19: ffffc1572acfc020 x18: 0000000000000000
> > [ 0.459979] x17: 0000000006af4b93 x16: 0000000000000094 x15: 0000000000100000
> > [ 0.467302] x14: 00000000000066a7 x13: 000000000199e0a9 x12: 00000000000000a5
> > [ 0.474624] x11: 00000000000000c0 x10: 0cf36ad3ab101c53 x9 : a7b4a80d3a726d00
> > [ 0.481946] x8 : a7b4a80d3a726d00 x7 : 0000000000000000 x6 : 000000000000003f
> > [ 0.489268] x5 : 0000000000000040 x4 : 0000000000000000 x3 : 0000000000000001
> > [ 0.496588] x2 : 0000000000100000 x1 : ffff000800c8b000 x0 : 00000000fffffff0
> > [ 0.503913] Call trace:
> > [ 0.506433] update_config+0xd4/0xe8 (P)
> > [ 0.510464] clk_rcg2_set_parent+0x58/0x68
> > [ 0.514666] __clk_set_parent+0x50/0x214
> > [ 0.518696] clk_core_set_parent_nolock+0xe8/0x1b4
> > [ 0.523611] clk_set_parent+0xa4/0x13c
> > [ 0.527458] of_clk_set_defaults+0x2f0/0x644
> > [ 0.531847] platform_probe+0x38/0x9c
> > [Many more of those also]
>
> This sounds odd. I have tested all three possible DP outs (just to make
> sure, added a real DP cable to a display and have screen on 2 displays) and
> it boots well here. No dptx_ errors. Although, with both displays in (HDMI,
> DP) the box doesn't want to boot... like, even start the uefi boot entry.
> But that's a different and non-Linux issue. Add a third type-c display and
> it boots again and all three displays come up.
I don't have a display connected (never managed/bothered to enable it).
Can you please share your .config, I can test with it, just to eliminate
the possibility it's causing the issue.
Thanks,
Mostafa
>
> jglathe@mini-x-jg:~$ fastfetch
> .... jglathe@mini-x-jg
> .',:clooo: .:looooo:. -----------------
> .;looooooooc .oooooooooo' OS: Ubuntu 26.04.1 LTS
> (Resolute Raccoon) aarch64
> .;looooool:,''. :ooooooooooc Host: 91B6001CUK (IdeaCentre
> Mini 01Q8X10)
> ;looool;. 'oooooooooo, Kernel: Linux
> 7.1.12-jg-0-qcom-x1e
> ;clool' .cooooooc. ,, Uptime: 12 mins
> ... ...... .:oo, Packages: 2198 (dpkg), 12
> (snap)
> .;clol:,. .loooo' Shell: bash 5.3.9
> :ooooooooo, 'ooool Display (LG Electronics 23"):
> 1920x1080 in 23", 60 Hz [External] *
> 'ooooooooooo. loooo. Display (PL2792QN): 2560x1440
> in 27", 60 Hz [External]
> 'ooooooooool coooo. Display (Type-c): 3840x2160 @
> 2x in 15", 60 Hz [External]
> ,loooooooc. .loooo. DE: GNOME 50.1
> .,;;;'. ;ooooc WM: Mutter (Wayland)
> ... ,ooool. WM Theme: Adwaita
> .cooooc. ..',,'. .cooo. Theme: Adwaita [GTK2/3/4]
> ;ooooo:. ;oooooooc. :l. Icons: Yaru [GTK2/3/4]
> .coooooc,.. coooooooooo. Font: Adwaita Sans (11pt)
> [GTK2/3/4]
> .:ooooooolc:. .ooooooooooo' Cursor: Adwaita (24px)
> .':loooooo; ,oooooooooc Terminal: /dev/pts/2
> ..';::c' .;loooo:' CPU: Qualcomm Snapdragon X
> Elite 1E80100 (8) @ 2.96 GHz
> GPU: Qualcomm Adreno X1-45
> [Integrated]
> Memory: 3.08 GiB / 30.72 GiB
> (10%)
> Swap: 0 B / 8.00 GiB (0%)
> Disk (/): 58.09 GiB / 255.62
> GiB (23%) - ext4
> Disk (/minipool): 128.00 KiB
> / 1.71 TiB (0%) - zfs
> Local IP (br0):
> 192.168.0.58/24
> Locale: en_US.UTF-8
>
> > However, booting with the hacked device tree I am using [1]:
> [...]
> > [1] https://lore.kernel.org/all/20260429141815.827157-1-smostafa@google.com/
> >
> I briefly compared the device trees. Quite some differences :) I will go to
> the ToT and see if mine boots up then.
>
> with best regards
>
> Jens
>
>
^ permalink raw reply [flat|nested] 35+ messages in thread
* Re: [PATCH 0/7] arm64: dts: qcom: IdeaCentre Mini 01Q8X10 Hamoa + Purwa
2026-09-08 12:09 ` Mostafa Saleh
@ 2026-09-08 15:04 ` Jens Glathe
2026-09-08 17:47 ` Mostafa Saleh
0 siblings, 1 reply; 35+ messages in thread
From: Jens Glathe @ 2026-09-08 15:04 UTC (permalink / raw)
To: Mostafa Saleh
Cc: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, linux-arm-msm, devicetree, linux-kernel
Hi Mostafa,
On 9/8/26 14:09, Mostafa Saleh wrote:
> I don't have a display connected (never managed/bothered to enable it).
>
> Can you please share your .config, I can test with it, just to eliminate
> the possibility it's causing the issue.
>
> Thanks,
> Mostafa
This is my .config [1].
[1]: https://pastebin.com/QhDizqCB
with best regards
Jens
^ permalink raw reply [flat|nested] 35+ messages in thread
* Re: [PATCH 0/7] arm64: dts: qcom: IdeaCentre Mini 01Q8X10 Hamoa + Purwa
2026-09-08 15:04 ` Jens Glathe
@ 2026-09-08 17:47 ` Mostafa Saleh
2026-09-08 18:15 ` Jens Glathe
2026-09-09 11:31 ` Konrad Dybcio
0 siblings, 2 replies; 35+ messages in thread
From: Mostafa Saleh @ 2026-09-08 17:47 UTC (permalink / raw)
To: Jens Glathe
Cc: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, linux-arm-msm, devicetree, linux-kernel
On Tue, Sep 08, 2026 at 05:04:44PM +0200, Jens Glathe wrote:
> Hi Mostafa,
>
> On 9/8/26 14:09, Mostafa Saleh wrote:
> > I don't have a display connected (never managed/bothered to enable it).
> >
> > Can you please share your .config, I can test with it, just to eliminate
> > the possibility it's causing the issue.
> >
> > Thanks,
> > Mostafa
>
> This is my .config [1].
>
> [1]: https://pastebin.com/QhDizqCB
Thanks! I tested with your config plus
- CONFIG_EFI_ARMSTUB_DTB_LOADER=y otherwise I can't load my device
tree from UEFI shell
- CONFIG_SERIAL_QCOM_GENI=y, otherwise I can't see the console.
Booting in EL2 is similar to before with SMMUv2 errors.
Booting in EL1 hangs with timeouts and missing suppliers:
[ 0.000000] Booting Linux on physical CPU 0x0000000000 [0x512f0011]
[ 0.000000] Linux version 7.3.0-rc1-next-20260904+ (smostafa@mostafa1.c.googlers.com) (Debian clang version 21.1.8 (3), Debian LLD 21.1.8) #2 SMP PREEMPT_DYNAMIC Tu6
[ 0.000000] KASLR enabled
[ 0.000000] Machine model: Lenovo IdeaCentre Mini 01Q8X10 (Purwa)
[ 0.000000] earlycon: qcom_geni0 MMIO:0x0000000000894000 (options '')
[ 0.000000] printk: legacy bootconsole [qcom_geni0] enabled
[ 0.000000] CPU features: SYS_ID_AA64MMFR0_EL1[63:60]: forced to 1
[ 0.000000] ITS@0x0000000017040000: Devices Table too large, reduce ids 32->19
[ 0.000000] ITS@0x0000000017040000: Devices too large, reduce ITS pages 1024->256
[ 0.163152] qcom-pcie 1c00000.pcie: supply vdda not found, using dummy regulator
[ 0.163313] qcom-pcie 1c08000.pcie: supply vdda not found, using dummy regulator
[ 0.168334] clk: Not disabling unused clocks
[ 0.168336] PM: genpd: Not disabling unused power domains
[ 0.170770] qcom-pcie 1c00000.pcie: supply vddpe-3v3 not found, using dummy regulator
[ 0.178347] qcom-pcie 1c08000.pcie: supply vddpe-3v3 not found, using dummy regulator
[ 0.184718] qcom-pcie 1c00000.pcie: supply vdda not found, using dummy regulator
[ 0.211932] Warning: unable to open an initial console.
[ 0.212057] qcom-pcie 1c00000.pcie: supply vddpe-3v3 not found, using dummy regulator
[ 0.213907] qcom-pcie 1c08000.pcie: supply vdda not found, using dummy regulator
[ 0.213928] qcom-pcie 1c08000.pcie: supply vddpe-3v3 not found, using dummy regulator
[ 0.244210] qcom-pcie 1c08000.pcie: supply vdda not found, using dummy regulator
[ 0.244275] qcom-pcie 1c00000.pcie: supply vdda not found, using dummy regulator
[ 0.251833] qcom-pcie 1c08000.pcie: supply vddpe-3v3 not found, using dummy regulator
[ 0.259418] qcom-pcie 1c00000.pcie: supply vddpe-3v3 not found, using dummy regulator
[ 10.213618] qcom-pcie 1bf8000.pcie: supply vdda not found, using dummy regulator
[ 10.214873] arm-smmu 3da0000.iommu: deferred probe timeout, ignoring dependency
[ 10.228713] arm-smmu 3da0000.iommu: probe with driver arm-smmu failed with error -110
With that config my device tree doesn't boot also and hangs similar
to above.
I believe we are testing on different SoCs from your fastfetch:
CPU: Qualcomm Snapdragon X Elite 1E80100 (8) @ 2.96 GHz
While mine:
CPU: Qualcomm Snapdragon X Elite 1P42100 (8) @ 2.96 GHz
I enabled CONFIG_QCOM_SOCINFO which shows:
[root@alarm ~]# cat /sys/devices/soc0/soc_id
635 # which does not exist in qcom,ids.h
[root@alarm ~]# cat /sys/devices/soc0/revision
1.0
Thanks,
Mostafa
>
> with best regards
>
> Jens
>
^ permalink raw reply [flat|nested] 35+ messages in thread
* Re: [PATCH 0/7] arm64: dts: qcom: IdeaCentre Mini 01Q8X10 Hamoa + Purwa
2026-09-08 17:47 ` Mostafa Saleh
@ 2026-09-08 18:15 ` Jens Glathe
2026-09-09 12:47 ` Mostafa Saleh
2026-09-09 11:31 ` Konrad Dybcio
1 sibling, 1 reply; 35+ messages in thread
From: Jens Glathe @ 2026-09-08 18:15 UTC (permalink / raw)
To: Mostafa Saleh
Cc: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, linux-arm-msm, devicetree, linux-kernel
Hi Mostafa,
On 08.09.26 19:47, Mostafa Saleh wrote:
> On Tue, Sep 08, 2026 at 05:04:44PM +0200, Jens Glathe wrote:
>> Hi Mostafa,
>>
>> This is my .config [1].
>>
>> [1]: https://pastebin.com/QhDizqCB
> Thanks! I tested with your config plus
> - CONFIG_EFI_ARMSTUB_DTB_LOADER=y otherwise I can't load my device
> tree from UEFI shell
> - CONFIG_SERIAL_QCOM_GENI=y, otherwise I can't see the console.
>
> Booting in EL2 is similar to before with SMMUv2 errors.
For that you would need the patch as listed before: [2]
[2]: https://github.com/jglathe/linux_ms_dev_kit/tree/b4/x1-el2-unfuck
This should give you boot on EL2.
> Booting in EL1 hangs with timeouts and missing suppliers:
> [ 0.000000] Booting Linux on physical CPU 0x0000000000 [0x512f0011]
> [ 0.000000] Linux version 7.3.0-rc1-next-20260904+ (smostafa@mostafa1.c.googlers.com) (Debian clang version 21.1.8 (3), Debian LLD 21.1.8) #2 SMP PREEMPT_DYNAMIC Tu6
> [ 0.000000] KASLR enabled
> [ 0.000000] Machine model: Lenovo IdeaCentre Mini 01Q8X10 (Purwa)
> [ 0.000000] earlycon: qcom_geni0 MMIO:0x0000000000894000 (options '')
> [ 0.000000] printk: legacy bootconsole [qcom_geni0] enabled
> [ 0.000000] CPU features: SYS_ID_AA64MMFR0_EL1[63:60]: forced to 1
> [ 0.000000] ITS@0x0000000017040000: Devices Table too large, reduce ids 32->19
> [ 0.000000] ITS@0x0000000017040000: Devices too large, reduce ITS pages 1024->256
> [ 0.163152] qcom-pcie 1c00000.pcie: supply vdda not found, using dummy regulator
> [ 0.163313] qcom-pcie 1c08000.pcie: supply vdda not found, using dummy regulator
> [ 0.168334] clk: Not disabling unused clocks
> [ 0.168336] PM: genpd: Not disabling unused power domains
> [ 0.170770] qcom-pcie 1c00000.pcie: supply vddpe-3v3 not found, using dummy regulator
> [ 0.178347] qcom-pcie 1c08000.pcie: supply vddpe-3v3 not found, using dummy regulator
> [ 0.184718] qcom-pcie 1c00000.pcie: supply vdda not found, using dummy regulator
> [ 0.211932] Warning: unable to open an initial console.
> [ 0.212057] qcom-pcie 1c00000.pcie: supply vddpe-3v3 not found, using dummy regulator
> [ 0.213907] qcom-pcie 1c08000.pcie: supply vdda not found, using dummy regulator
> [ 0.213928] qcom-pcie 1c08000.pcie: supply vddpe-3v3 not found, using dummy regulator
> [ 0.244210] qcom-pcie 1c08000.pcie: supply vdda not found, using dummy regulator
> [ 0.244275] qcom-pcie 1c00000.pcie: supply vdda not found, using dummy regulator
> [ 0.251833] qcom-pcie 1c08000.pcie: supply vddpe-3v3 not found, using dummy regulator
> [ 0.259418] qcom-pcie 1c00000.pcie: supply vddpe-3v3 not found, using dummy regulator
> [ 10.213618] qcom-pcie 1bf8000.pcie: supply vdda not found, using dummy regulator
> [ 10.214873] arm-smmu 3da0000.iommu: deferred probe timeout, ignoring dependency
> [ 10.228713] arm-smmu 3da0000.iommu: probe with driver arm-smmu failed with error -110
Since you don't load firmwares, maybe try these? However, I was able to
boot and install with the Ubuntu Resolute ISO by providing the dtb,
without the firmwares. Odd.
> I believe we are testing on different SoCs from your fastfetch:
> CPU: Qualcomm Snapdragon X Elite 1E80100 (8) @ 2.96 GHz
>
> While mine:
> CPU: Qualcomm Snapdragon X Elite 1P42100 (8) @ 2.96 GHz
>
> I enabled CONFIG_QCOM_SOCINFO which shows:
> [root@alarm ~]# cat /sys/devices/soc0/soc_id
> 635 # which does not exist in qcom,ids.h
> [root@alarm ~]# cat /sys/devices/soc0/revision
> 1.0
Looks like nope:
root@mini-x-jg:~# cat /sys/devices/soc0/soc_id
635
root@mini-x-jg:~# cat /sys/devices/soc0/revision
1.0
We have the same SoC, maybe different binning. You could try to boot up
with the extended Resolute ISO to boot without firmwares [3]. It
contains the same dtb.
[3]:
https://drive.google.com/drive/folders/1sc_CpqOMTJNljfvRyLG-xdwB0yduje_O
with best regards
Jens
^ permalink raw reply [flat|nested] 35+ messages in thread
* Re: [PATCH 0/7] arm64: dts: qcom: IdeaCentre Mini 01Q8X10 Hamoa + Purwa
2026-09-08 17:47 ` Mostafa Saleh
2026-09-08 18:15 ` Jens Glathe
@ 2026-09-09 11:31 ` Konrad Dybcio
2026-09-09 12:14 ` Mostafa Saleh
1 sibling, 1 reply; 35+ messages in thread
From: Konrad Dybcio @ 2026-09-09 11:31 UTC (permalink / raw)
To: Mostafa Saleh, Jens Glathe
Cc: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, linux-arm-msm, devicetree, linux-kernel
On 9/8/26 7:47 PM, Mostafa Saleh wrote:
> On Tue, Sep 08, 2026 at 05:04:44PM +0200, Jens Glathe wrote:
>> Hi Mostafa,
>>
>> On 9/8/26 14:09, Mostafa Saleh wrote:
>>> I don't have a display connected (never managed/bothered to enable it).
>>>
>>> Can you please share your .config, I can test with it, just to eliminate
>>> the possibility it's causing the issue.
[...]
> Booting in EL1 hangs with timeouts and missing suppliers:
> [ 0.000000] Booting Linux on physical CPU 0x0000000000 [0x512f0011]
> [ 0.000000] Linux version 7.3.0-rc1-next-20260904+ (smostafa@mostafa1.c.googlers.com) (Debian clang version 21.1.8 (3), Debian LLD 21.1.8) #2 SMP PREEMPT_DYNAMIC Tu6
> [ 0.000000] KASLR enabled
> [ 0.000000] Machine model: Lenovo IdeaCentre Mini 01Q8X10 (Purwa)
> [ 0.000000] earlycon: qcom_geni0 MMIO:0x0000000000894000 (options '')
> [ 0.000000] printk: legacy bootconsole [qcom_geni0] enabled
> [ 0.000000] CPU features: SYS_ID_AA64MMFR0_EL1[63:60]: forced to 1
> [ 0.000000] ITS@0x0000000017040000: Devices Table too large, reduce ids 32->19
> [ 0.000000] ITS@0x0000000017040000: Devices too large, reduce ITS pages 1024->256
> [ 0.163152] qcom-pcie 1c00000.pcie: supply vdda not found, using dummy regulator
> [ 0.163313] qcom-pcie 1c08000.pcie: supply vdda not found, using dummy regulator
> [ 0.168334] clk: Not disabling unused clocks
> [ 0.168336] PM: genpd: Not disabling unused power domains
> [ 0.170770] qcom-pcie 1c00000.pcie: supply vddpe-3v3 not found, using dummy regulator
> [ 0.178347] qcom-pcie 1c08000.pcie: supply vddpe-3v3 not found, using dummy regulator
> [ 0.184718] qcom-pcie 1c00000.pcie: supply vdda not found, using dummy regulator
> [ 0.211932] Warning: unable to open an initial console.
> [ 0.212057] qcom-pcie 1c00000.pcie: supply vddpe-3v3 not found, using dummy regulator
> [ 0.213907] qcom-pcie 1c08000.pcie: supply vdda not found, using dummy regulator
> [ 0.213928] qcom-pcie 1c08000.pcie: supply vddpe-3v3 not found, using dummy regulator
> [ 0.244210] qcom-pcie 1c08000.pcie: supply vdda not found, using dummy regulator
> [ 0.244275] qcom-pcie 1c00000.pcie: supply vdda not found, using dummy regulator
> [ 0.251833] qcom-pcie 1c08000.pcie: supply vddpe-3v3 not found, using dummy regulator
> [ 0.259418] qcom-pcie 1c00000.pcie: supply vddpe-3v3 not found, using dummy regulator
> [ 10.213618] qcom-pcie 1bf8000.pcie: supply vdda not found, using dummy regulator
> [ 10.214873] arm-smmu 3da0000.iommu: deferred probe timeout, ignoring dependency
> [ 10.228713] arm-smmu 3da0000.iommu: probe with driver arm-smmu failed with error -110
If I had to take a guess, your initramfs it missing some(many?) modules
Konrad
^ permalink raw reply [flat|nested] 35+ messages in thread
* Re: [PATCH 0/7] arm64: dts: qcom: IdeaCentre Mini 01Q8X10 Hamoa + Purwa
2026-09-09 11:31 ` Konrad Dybcio
@ 2026-09-09 12:14 ` Mostafa Saleh
0 siblings, 0 replies; 35+ messages in thread
From: Mostafa Saleh @ 2026-09-09 12:14 UTC (permalink / raw)
To: Konrad Dybcio
Cc: Jens Glathe, Bjorn Andersson, Konrad Dybcio, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, linux-arm-msm, devicetree,
linux-kernel
On Wed, Sep 09, 2026 at 01:31:53PM +0200, Konrad Dybcio wrote:
> On 9/8/26 7:47 PM, Mostafa Saleh wrote:
> > On Tue, Sep 08, 2026 at 05:04:44PM +0200, Jens Glathe wrote:
> >> Hi Mostafa,
> >>
> >> On 9/8/26 14:09, Mostafa Saleh wrote:
> >>> I don't have a display connected (never managed/bothered to enable it).
> >>>
> >>> Can you please share your .config, I can test with it, just to eliminate
> >>> the possibility it's causing the issue.
>
> [...]
>
> > Booting in EL1 hangs with timeouts and missing suppliers:
> > [ 0.000000] Booting Linux on physical CPU 0x0000000000 [0x512f0011]
> > [ 0.000000] Linux version 7.3.0-rc1-next-20260904+ (smostafa@mostafa1.c.googlers.com) (Debian clang version 21.1.8 (3), Debian LLD 21.1.8) #2 SMP PREEMPT_DYNAMIC Tu6
> > [ 0.000000] KASLR enabled
> > [ 0.000000] Machine model: Lenovo IdeaCentre Mini 01Q8X10 (Purwa)
> > [ 0.000000] earlycon: qcom_geni0 MMIO:0x0000000000894000 (options '')
> > [ 0.000000] printk: legacy bootconsole [qcom_geni0] enabled
> > [ 0.000000] CPU features: SYS_ID_AA64MMFR0_EL1[63:60]: forced to 1
> > [ 0.000000] ITS@0x0000000017040000: Devices Table too large, reduce ids 32->19
> > [ 0.000000] ITS@0x0000000017040000: Devices too large, reduce ITS pages 1024->256
> > [ 0.163152] qcom-pcie 1c00000.pcie: supply vdda not found, using dummy regulator
> > [ 0.163313] qcom-pcie 1c08000.pcie: supply vdda not found, using dummy regulator
> > [ 0.168334] clk: Not disabling unused clocks
> > [ 0.168336] PM: genpd: Not disabling unused power domains
> > [ 0.170770] qcom-pcie 1c00000.pcie: supply vddpe-3v3 not found, using dummy regulator
> > [ 0.178347] qcom-pcie 1c08000.pcie: supply vddpe-3v3 not found, using dummy regulator
> > [ 0.184718] qcom-pcie 1c00000.pcie: supply vdda not found, using dummy regulator
> > [ 0.211932] Warning: unable to open an initial console.
> > [ 0.212057] qcom-pcie 1c00000.pcie: supply vddpe-3v3 not found, using dummy regulator
> > [ 0.213907] qcom-pcie 1c08000.pcie: supply vdda not found, using dummy regulator
> > [ 0.213928] qcom-pcie 1c08000.pcie: supply vddpe-3v3 not found, using dummy regulator
> > [ 0.244210] qcom-pcie 1c08000.pcie: supply vdda not found, using dummy regulator
> > [ 0.244275] qcom-pcie 1c00000.pcie: supply vdda not found, using dummy regulator
> > [ 0.251833] qcom-pcie 1c08000.pcie: supply vddpe-3v3 not found, using dummy regulator
> > [ 0.259418] qcom-pcie 1c00000.pcie: supply vddpe-3v3 not found, using dummy regulator
> > [ 10.213618] qcom-pcie 1bf8000.pcie: supply vdda not found, using dummy regulator
> > [ 10.214873] arm-smmu 3da0000.iommu: deferred probe timeout, ignoring dependency
> > [ 10.228713] arm-smmu 3da0000.iommu: probe with driver arm-smmu failed with error -110
>
> If I had to take a guess, your initramfs it missing some(many?) modules
I am not using initramfs or modules, everything is builtin in my config,
so re-using the .config will not work, but I'd expect that just using
the device tree with my setup should work, I am currently investigating
that and will post an update soon.
Thanks,
Mostafa
>
> Konrad
^ permalink raw reply [flat|nested] 35+ messages in thread
* Re: [PATCH 0/7] arm64: dts: qcom: IdeaCentre Mini 01Q8X10 Hamoa + Purwa
2026-09-08 18:15 ` Jens Glathe
@ 2026-09-09 12:47 ` Mostafa Saleh
0 siblings, 0 replies; 35+ messages in thread
From: Mostafa Saleh @ 2026-09-09 12:47 UTC (permalink / raw)
To: Jens Glathe
Cc: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, linux-arm-msm, devicetree, linux-kernel
On Tue, Sep 08, 2026 at 08:15:27PM +0200, Jens Glathe wrote:
> Hi Mostafa,
>
> On 08.09.26 19:47, Mostafa Saleh wrote:
> > On Tue, Sep 08, 2026 at 05:04:44PM +0200, Jens Glathe wrote:
> > > Hi Mostafa,
> > >
> > > This is my .config [1].
> > >
> > > [1]: https://pastebin.com/QhDizqCB
> > Thanks! I tested with your config plus
> > - CONFIG_EFI_ARMSTUB_DTB_LOADER=y otherwise I can't load my device
> > tree from UEFI shell
> > - CONFIG_SERIAL_QCOM_GENI=y, otherwise I can't see the console.
> >
> > Booting in EL2 is similar to before with SMMUv2 errors.
>
> For that you would need the patch as listed before: [2]
>
> [2]: https://github.com/jglathe/linux_ms_dev_kit/tree/b4/x1-el2-unfuck
>
> This should give you boot on EL2.
>
> > Booting in EL1 hangs with timeouts and missing suppliers:
> > [ 0.000000] Booting Linux on physical CPU 0x0000000000 [0x512f0011]
> > [ 0.000000] Linux version 7.3.0-rc1-next-20260904+ (smostafa@mostafa1.c.googlers.com) (Debian clang version 21.1.8 (3), Debian LLD 21.1.8) #2 SMP PREEMPT_DYNAMIC Tu6
> > [ 0.000000] KASLR enabled
> > [ 0.000000] Machine model: Lenovo IdeaCentre Mini 01Q8X10 (Purwa)
> > [ 0.000000] earlycon: qcom_geni0 MMIO:0x0000000000894000 (options '')
> > [ 0.000000] printk: legacy bootconsole [qcom_geni0] enabled
> > [ 0.000000] CPU features: SYS_ID_AA64MMFR0_EL1[63:60]: forced to 1
> > [ 0.000000] ITS@0x0000000017040000: Devices Table too large, reduce ids 32->19
> > [ 0.000000] ITS@0x0000000017040000: Devices too large, reduce ITS pages 1024->256
> > [ 0.163152] qcom-pcie 1c00000.pcie: supply vdda not found, using dummy regulator
> > [ 0.163313] qcom-pcie 1c08000.pcie: supply vdda not found, using dummy regulator
> > [ 0.168334] clk: Not disabling unused clocks
> > [ 0.168336] PM: genpd: Not disabling unused power domains
> > [ 0.170770] qcom-pcie 1c00000.pcie: supply vddpe-3v3 not found, using dummy regulator
> > [ 0.178347] qcom-pcie 1c08000.pcie: supply vddpe-3v3 not found, using dummy regulator
> > [ 0.184718] qcom-pcie 1c00000.pcie: supply vdda not found, using dummy regulator
> > [ 0.211932] Warning: unable to open an initial console.
> > [ 0.212057] qcom-pcie 1c00000.pcie: supply vddpe-3v3 not found, using dummy regulator
> > [ 0.213907] qcom-pcie 1c08000.pcie: supply vdda not found, using dummy regulator
> > [ 0.213928] qcom-pcie 1c08000.pcie: supply vddpe-3v3 not found, using dummy regulator
> > [ 0.244210] qcom-pcie 1c08000.pcie: supply vdda not found, using dummy regulator
> > [ 0.244275] qcom-pcie 1c00000.pcie: supply vdda not found, using dummy regulator
> > [ 0.251833] qcom-pcie 1c08000.pcie: supply vddpe-3v3 not found, using dummy regulator
> > [ 0.259418] qcom-pcie 1c00000.pcie: supply vddpe-3v3 not found, using dummy regulator
> > [ 10.213618] qcom-pcie 1bf8000.pcie: supply vdda not found, using dummy regulator
> > [ 10.214873] arm-smmu 3da0000.iommu: deferred probe timeout, ignoring dependency
> > [ 10.228713] arm-smmu 3da0000.iommu: probe with driver arm-smmu failed with error -110
>
> Since you don't load firmwares, maybe try these? However, I was able to boot
> and install with the Ubuntu Resolute ISO by providing the dtb, without the
> firmwares. Odd.
>
> > I believe we are testing on different SoCs from your fastfetch:
> > CPU: Qualcomm Snapdragon X Elite 1E80100 (8) @ 2.96 GHz
> >
> > While mine:
> > CPU: Qualcomm Snapdragon X Elite 1P42100 (8) @ 2.96 GHz
> >
> > I enabled CONFIG_QCOM_SOCINFO which shows:
> > [root@alarm ~]# cat /sys/devices/soc0/soc_id
> > 635 # which does not exist in qcom,ids.h
> > [root@alarm ~]# cat /sys/devices/soc0/revision
> > 1.0
> Looks like nope:
>
> root@mini-x-jg:~# cat /sys/devices/soc0/soc_id
> 635
> root@mini-x-jg:~# cat /sys/devices/soc0/revision
> 1.0
>
> We have the same SoC, maybe different binning. You could try to boot up with
> the extended Resolute ISO to boot without firmwares [3]. It contains the
> same dtb.
>
> [3]:
> https://drive.google.com/drive/folders/1sc_CpqOMTJNljfvRyLG-xdwB0yduje_O
>
Thanks! I can boot ubuntu with:
resolute-desktop-arm64+x1e-20260831_extended_jg.iso
I figured out the issue, the problem is that I am using the console
which is missing. And all the warnings in the logs were just a red
herring.
With that patch on top of your device tree I can fully boot:
diff --git a/arch/arm64/boot/dts/qcom/x1-lenovo-ideacentre-mini-01q8x10.dtsi b/arch/arm64/boot/dts/qcom/x1-lenovo-ideacentre-mini-01q8x10.dtsi
index b720622c5d90..973e603bbb6a 100644
--- a/arch/arm64/boot/dts/qcom/x1-lenovo-ideacentre-mini-01q8x10.dtsi
+++ b/arch/arm64/boot/dts/qcom/x1-lenovo-ideacentre-mini-01q8x10.dtsi
@@ -13,7 +13,7 @@ / {
chassis-type = "desktop";
aliases {
- serial0 = &uart14;
+ serial0 = &uart21;
};
wcd938x: audio-codec {
@@ -1183,3 +1183,8 @@ &usb_mp_qmpphy0 {
status = "okay";
};
+
+&uart21 {
+ compatible = "qcom,geni-debug-uart";
+ status = "okay";
+};
However, the kernel logs are extremely verbose (I have 39 warnings)
Disabling MDSS makes it cleaner:
diff --git a/arch/arm64/boot/dts/qcom/purwa-lenovo-ideacentre-mini-01q8x10.dts b/arch/arm64/boot/dts/qcom/purwa-lenovo-ideacentre-mini-01q8x10.dts
index 9813a570cf69..8dc038566f93 100644
--- a/arch/arm64/boot/dts/qcom/purwa-lenovo-ideacentre-mini-01q8x10.dts
+++ b/arch/arm64/boot/dts/qcom/purwa-lenovo-ideacentre-mini-01q8x10.dts
@@ -40,3 +40,34 @@ &remoteproc_cdsp {
status = "okay";
};
+
+
+&mdss {
+ status = "disabled";
+};
+
+&mdss_dp0 {
+ status = "disabled";
+
+};
+
+&mdss_dp0_out {
+ status = "disabled";
+};
+
+&mdss_dp1 {
+ status = "disabled";
+
+};
+
+&mdss_dp1_out {
+ status = "disabled";
+};
+
+&mdss_dp2 {
+ status = "disabled";
+};
+
+&mdss_dp2_out {
+ status = "disabled";
+};
I do not have any media attached nor drivers enabled, but that
shouldn't make the logs that verbose, I can dig more into it.
One other problem, is that there is a missing a PCI bus with the WIFI
card:
0005:00:00.0 PCI bridge: Qualcomm Technologies, Inc SC8380XP PCIe Root Complex [Snapdragon X / X Plus / X Elite]
0005:01:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8211/8411 PCI Express Gigabit Ethernet Controller (rev 1b)
0006:00:00.0 PCI bridge: Qualcomm Technologies, Inc SC8380XP PCIe Root Complex [Snapdragon X / X Plus / X Elite]
0006:01:00.0 Non-Volatile memory controller: SK hynix Platinum P41/PC801 NVMe Solid State Drive
Compared to with my device tree:
0004:00:00.0 PCI bridge: Qualcomm Technologies, Inc SC8380XP PCIe Root Complex [Snapdragon X / X Plus / X Elite]
0004:01:00.0 Network controller: Qualcomm Technologies, Inc WCN785x Wi-Fi 7(802.11be) 320MHz 2x2 [FastConnect 7800] (rev 01)
0005:00:00.0 PCI bridge: Qualcomm Technologies, Inc SC8380XP PCIe Root Complex [Snapdragon X / X Plus / X Elite]
0005:01:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8211/8411 PCI Express Gigabit Ethernet Controller (rev 1b)
0006:00:00.0 PCI bridge: Qualcomm Technologies, Inc SC8380XP PCIe Root Complex [Snapdragon X / X Plus / X Elite]
0006:01:00.0 Non-Volatile memory controller: SK hynix Platinum P41/PC801 NVMe Solid State Drive
Thanks,
Mostafa
> with best regards
>
> Jens
>
^ permalink raw reply [flat|nested] 35+ messages in thread
end of thread, other threads:[~2026-09-09 12:47 UTC | newest]
Thread overview: 35+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-09-05 9:28 [PATCH 0/7] arm64: dts: qcom: IdeaCentre Mini 01Q8X10 Hamoa + Purwa Jens Glathe via B4 Relay
2026-09-05 9:28 ` [PATCH 1/7] dt-bindings: arm: qcom: Distinguish IdeaCentre Mini 01Q8X10 SKUs Jens Glathe via B4 Relay
2026-09-08 9:04 ` Krzysztof Kozlowski
2026-09-05 9:28 ` [PATCH 2/7] arm64: dts: qcom: Split IdeaCentre Mini into a common DTSI Jens Glathe via B4 Relay
2026-09-07 8:49 ` Konrad Dybcio
2026-09-05 9:28 ` [PATCH 3/7] arm64: dts: qcom: Add Purwa IdeaCentre Mini 01Q8X10 Jens Glathe via B4 Relay
2026-09-07 8:49 ` Konrad Dybcio
2026-09-05 9:28 ` [PATCH 4/7] arm64: dts: qcom: ideacentre-mini: Build the Hamoa EL2 DTB Jens Glathe via B4 Relay
2026-09-07 8:49 ` Konrad Dybcio
2026-09-05 9:29 ` [PATCH 5/7] arm64: dts: qcom: ideacentre-mini: Fix the second M.2 3V3 rail Jens Glathe via B4 Relay
2026-09-07 8:55 ` Konrad Dybcio
2026-09-05 9:29 ` [PATCH 6/7] arm64: dts: qcom: ideacentre-mini: Wire up DP sound names and VA macro Jens Glathe via B4 Relay
2026-09-07 8:55 ` Konrad Dybcio
2026-09-08 5:09 ` Jens Glathe
2026-09-05 9:29 ` [PATCH 7/7] arm64: dts: qcom: ideacentre-mini: Drop the unused USB MP port Jens Glathe via B4 Relay
2026-09-07 8:56 ` Konrad Dybcio
2026-09-07 8:57 ` [PATCH 0/7] arm64: dts: qcom: IdeaCentre Mini 01Q8X10 Hamoa + Purwa Konrad Dybcio
2026-09-07 9:51 ` Mostafa Saleh
2026-09-08 9:03 ` Mostafa Saleh
2026-09-08 9:05 ` Krzysztof Kozlowski
2026-09-08 9:11 ` Mostafa Saleh
2026-09-08 9:57 ` Konrad Dybcio
2026-09-08 11:02 ` Mostafa Saleh
2026-09-08 12:00 ` Krzysztof Kozlowski
2026-09-08 9:34 ` Jens Glathe
2026-09-08 9:39 ` Jens Glathe
2026-09-08 11:00 ` Mostafa Saleh
2026-09-08 12:00 ` Jens Glathe
2026-09-08 12:09 ` Mostafa Saleh
2026-09-08 15:04 ` Jens Glathe
2026-09-08 17:47 ` Mostafa Saleh
2026-09-08 18:15 ` Jens Glathe
2026-09-09 12:47 ` Mostafa Saleh
2026-09-09 11:31 ` Konrad Dybcio
2026-09-09 12:14 ` Mostafa Saleh
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®