mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH 0/8] arm64: dts: qcom: x1e: mark l12b and l15b always-on
@ 2025-02-27  8:13 Johan Hovold
  2025-02-27  8:13 ` [PATCH 1/8] arm64: dts: qcom: x1e80100-crd: " Johan Hovold
                   ` (9 more replies)
  0 siblings, 10 replies; 15+ messages in thread
From: Johan Hovold @ 2025-02-27  8:13 UTC (permalink / raw)
  To: Bjorn Andersson, Konrad Dybcio
  Cc: Rob Herring, Krzysztof Kozlowski, Conor Dooley, devicetree,
	linux-kernel, Johan Hovold

The l12b and l15b supplies are used by components that are not (fully)
described (and some never will be) and must never be disabled.

Mark the regulators as always-on to prevent them from being disabled,
for example, when consumers probe defer or suspend.

Note that there are likely votes from other processors for these rpmh
regulators (at least for l15b) but the OS should not rely on that in any
case.

Included is also a patch that adds the missing HID supplies for the
T14s. It was a corresponding change for the CRD that made me look into
this to make sure these supplies were not disabled during suspend or on
probe deferrals.

Johan


Johan Hovold (8):
  arm64: dts: qcom: x1e80100-crd: mark l12b and l15b always-on
  arm64: dts: qcom: x1e78100-t14s: mark l12b and l15b always-on
  arm64: dts: qcom: x1e001de-devkit: mark l12b and l15b always-on
  arm64: dts: qcom: x1e80100-dell-xps13-9345: mark l12b and l15b
    always-on
  arm64: dts: qcom: x1e80100-hp-x14: mark l12b and l15b always-on
  arm64: dts: qcom: x1e80100-yoga-slim7x: mark l12b and l15b always-on
  arm64: dts: qcom: x1e80100-qcp: mark l12b and l15b always-on
  arm64: dts: qcom: x1e78100-t14s: fix missing HID supplies

 arch/arm64/boot/dts/qcom/x1e001de-devkit.dts  |  2 +
 .../qcom/x1e78100-lenovo-thinkpad-t14s.dts    | 45 +++++++++++++++++++
 arch/arm64/boot/dts/qcom/x1e80100-crd.dts     |  2 +
 .../dts/qcom/x1e80100-dell-xps13-9345.dts     |  2 +
 .../dts/qcom/x1e80100-hp-omnibook-x14.dts     |  2 +
 .../dts/qcom/x1e80100-lenovo-yoga-slim7x.dts  |  3 +-
 arch/arm64/boot/dts/qcom/x1e80100-qcp.dts     |  2 +
 7 files changed, 57 insertions(+), 1 deletion(-)

-- 
2.45.3


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

* [PATCH 1/8] arm64: dts: qcom: x1e80100-crd: mark l12b and l15b always-on
  2025-02-27  8:13 [PATCH 0/8] arm64: dts: qcom: x1e: mark l12b and l15b always-on Johan Hovold
@ 2025-02-27  8:13 ` Johan Hovold
  2025-02-27  8:13 ` [PATCH 2/8] arm64: dts: qcom: x1e78100-t14s: " Johan Hovold
                   ` (8 subsequent siblings)
  9 siblings, 0 replies; 15+ messages in thread
From: Johan Hovold @ 2025-02-27  8:13 UTC (permalink / raw)
  To: Bjorn Andersson, Konrad Dybcio
  Cc: Rob Herring, Krzysztof Kozlowski, Conor Dooley, devicetree,
	linux-kernel, Johan Hovold, stable, Abel Vesa, Rajendra Nayak,
	Sibi Sankar

The l12b and l15b supplies are used by components that are not (fully)
described (and some never will be) and must never be disabled.

Mark the regulators as always-on to prevent them from being disabled,
for example, when consumers probe defer or suspend.

Fixes: bd50b1f5b6f3 ("arm64: dts: qcom: x1e80100: Add Compute Reference Device")
Cc: stable@vger.kernel.org	# 6.8
Cc: Abel Vesa <abel.vesa@linaro.org>
Cc: Rajendra Nayak <quic_rjendra@quicinc.com>
Cc: Sibi Sankar <quic_sibis@quicinc.com>
Signed-off-by: Johan Hovold <johan+linaro@kernel.org>
---
 arch/arm64/boot/dts/qcom/x1e80100-crd.dts | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/arch/arm64/boot/dts/qcom/x1e80100-crd.dts b/arch/arm64/boot/dts/qcom/x1e80100-crd.dts
index ff5b3472fafd..ffce8f1eb2e1 100644
--- a/arch/arm64/boot/dts/qcom/x1e80100-crd.dts
+++ b/arch/arm64/boot/dts/qcom/x1e80100-crd.dts
@@ -437,6 +437,7 @@ vreg_l12b_1p2: ldo12 {
 			regulator-min-microvolt = <1200000>;
 			regulator-max-microvolt = <1200000>;
 			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+			regulator-always-on;
 		};
 
 		vreg_l13b_3p0: ldo13 {
@@ -458,6 +459,7 @@ vreg_l15b_1p8: ldo15 {
 			regulator-min-microvolt = <1800000>;
 			regulator-max-microvolt = <1800000>;
 			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+			regulator-always-on;
 		};
 
 		vreg_l16b_2p9: ldo16 {
-- 
2.45.3


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

* [PATCH 2/8] arm64: dts: qcom: x1e78100-t14s: mark l12b and l15b always-on
  2025-02-27  8:13 [PATCH 0/8] arm64: dts: qcom: x1e: mark l12b and l15b always-on Johan Hovold
  2025-02-27  8:13 ` [PATCH 1/8] arm64: dts: qcom: x1e80100-crd: " Johan Hovold
@ 2025-02-27  8:13 ` Johan Hovold
  2025-02-27  8:13 ` [PATCH 3/8] arm64: dts: qcom: x1e001de-devkit: " Johan Hovold
                   ` (7 subsequent siblings)
  9 siblings, 0 replies; 15+ messages in thread
From: Johan Hovold @ 2025-02-27  8:13 UTC (permalink / raw)
  To: Bjorn Andersson, Konrad Dybcio
  Cc: Rob Herring, Krzysztof Kozlowski, Conor Dooley, devicetree,
	linux-kernel, Johan Hovold, stable

The l12b and l15b supplies are used by components that are not (fully)
described (and some never will be) and must never be disabled.

Mark the regulators as always-on to prevent them from being disabled,
for example, when consumers probe defer or suspend.

Fixes: 7d1cbe2f4985 ("arm64: dts: qcom: Add X1E78100 ThinkPad T14s Gen 6")
Cc: stable@vger.kernel.org	# 6.12
Cc: Konrad Dybcio <konradybcio@kernel.org>
Signed-off-by: Johan Hovold <johan+linaro@kernel.org>
---
 arch/arm64/boot/dts/qcom/x1e78100-lenovo-thinkpad-t14s.dts | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/arch/arm64/boot/dts/qcom/x1e78100-lenovo-thinkpad-t14s.dts b/arch/arm64/boot/dts/qcom/x1e78100-lenovo-thinkpad-t14s.dts
index b2c2347f54fa..7f756ce48d2f 100644
--- a/arch/arm64/boot/dts/qcom/x1e78100-lenovo-thinkpad-t14s.dts
+++ b/arch/arm64/boot/dts/qcom/x1e78100-lenovo-thinkpad-t14s.dts
@@ -344,6 +344,7 @@ vreg_l12b_1p2: ldo12 {
 			regulator-min-microvolt = <1200000>;
 			regulator-max-microvolt = <1200000>;
 			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+			regulator-always-on;
 		};
 
 		vreg_l13b_3p0: ldo13 {
@@ -365,6 +366,7 @@ vreg_l15b_1p8: ldo15 {
 			regulator-min-microvolt = <1800000>;
 			regulator-max-microvolt = <1800000>;
 			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+			regulator-always-on;
 		};
 
 		vreg_l17b_2p5: ldo17 {
-- 
2.45.3


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

* [PATCH 3/8] arm64: dts: qcom: x1e001de-devkit: mark l12b and l15b always-on
  2025-02-27  8:13 [PATCH 0/8] arm64: dts: qcom: x1e: mark l12b and l15b always-on Johan Hovold
  2025-02-27  8:13 ` [PATCH 1/8] arm64: dts: qcom: x1e80100-crd: " Johan Hovold
  2025-02-27  8:13 ` [PATCH 2/8] arm64: dts: qcom: x1e78100-t14s: " Johan Hovold
@ 2025-02-27  8:13 ` Johan Hovold
  2025-02-27  8:13 ` [PATCH 4/8] arm64: dts: qcom: x1e80100-dell-xps13-9345: " Johan Hovold
                   ` (6 subsequent siblings)
  9 siblings, 0 replies; 15+ messages in thread
From: Johan Hovold @ 2025-02-27  8:13 UTC (permalink / raw)
  To: Bjorn Andersson, Konrad Dybcio
  Cc: Rob Herring, Krzysztof Kozlowski, Conor Dooley, devicetree,
	linux-kernel, Johan Hovold, stable, Sibi Sankar

The l12b and l15b supplies are used by components that are not (fully)
described (and some never will be) and must never be disabled.

Mark the regulators as always-on to prevent them from being disabled,
for example, when consumers probe defer or suspend.

Fixes: 7b8a31e82b87 ("arm64: dts: qcom: Add X1E001DE Snapdragon Devkit for Windows")
Cc: stable@vger.kernel.org	# 6.14
Cc: Sibi Sankar <quic_sibis@quicinc.com>
Signed-off-by: Johan Hovold <johan+linaro@kernel.org>
---
 arch/arm64/boot/dts/qcom/x1e001de-devkit.dts | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/arch/arm64/boot/dts/qcom/x1e001de-devkit.dts b/arch/arm64/boot/dts/qcom/x1e001de-devkit.dts
index 5e3970b26e2f..f92bda2d34f2 100644
--- a/arch/arm64/boot/dts/qcom/x1e001de-devkit.dts
+++ b/arch/arm64/boot/dts/qcom/x1e001de-devkit.dts
@@ -507,6 +507,7 @@ vreg_l12b_1p2: ldo12 {
 			regulator-min-microvolt = <1200000>;
 			regulator-max-microvolt = <1200000>;
 			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+			regulator-always-on;
 		};
 
 		vreg_l13b_3p0: ldo13 {
@@ -528,6 +529,7 @@ vreg_l15b_1p8: ldo15 {
 			regulator-min-microvolt = <1800000>;
 			regulator-max-microvolt = <1800000>;
 			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+			regulator-always-on;
 		};
 
 		vreg_l16b_2p9: ldo16 {
-- 
2.45.3


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

* [PATCH 4/8] arm64: dts: qcom: x1e80100-dell-xps13-9345: mark l12b and l15b always-on
  2025-02-27  8:13 [PATCH 0/8] arm64: dts: qcom: x1e: mark l12b and l15b always-on Johan Hovold
                   ` (2 preceding siblings ...)
  2025-02-27  8:13 ` [PATCH 3/8] arm64: dts: qcom: x1e001de-devkit: " Johan Hovold
@ 2025-02-27  8:13 ` Johan Hovold
  2025-03-02 22:04   ` Aleksandrs Vinarskis
  2025-02-27  8:13 ` [PATCH 5/8] arm64: dts: qcom: x1e80100-hp-x14: " Johan Hovold
                   ` (5 subsequent siblings)
  9 siblings, 1 reply; 15+ messages in thread
From: Johan Hovold @ 2025-02-27  8:13 UTC (permalink / raw)
  To: Bjorn Andersson, Konrad Dybcio
  Cc: Rob Herring, Krzysztof Kozlowski, Conor Dooley, devicetree,
	linux-kernel, Johan Hovold, stable, Aleksandrs Vinarskis

The l12b and l15b supplies are used by components that are not (fully)
described (and some never will be) and must never be disabled.

Mark the regulators as always-on to prevent them from being disabled,
for example, when consumers probe defer or suspend.

Note that these supplies currently have no consumers described in
mainline.

Fixes: f5b788d0e8cd ("arm64: dts: qcom: Add support for X1-based Dell XPS 13 9345")
Cc: stable@vger.kernel.org	# 6.13
Cc: Aleksandrs Vinarskis <alex.vinarskis@gmail.com>
Signed-off-by: Johan Hovold <johan+linaro@kernel.org>
---
 arch/arm64/boot/dts/qcom/x1e80100-dell-xps13-9345.dts | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/arch/arm64/boot/dts/qcom/x1e80100-dell-xps13-9345.dts b/arch/arm64/boot/dts/qcom/x1e80100-dell-xps13-9345.dts
index 86e87f03b0ec..90f588ed7d63 100644
--- a/arch/arm64/boot/dts/qcom/x1e80100-dell-xps13-9345.dts
+++ b/arch/arm64/boot/dts/qcom/x1e80100-dell-xps13-9345.dts
@@ -359,6 +359,7 @@ vreg_l12b_1p2: ldo12 {
 			regulator-min-microvolt = <1200000>;
 			regulator-max-microvolt = <1200000>;
 			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+			regulator-always-on;
 		};
 
 		vreg_l13b_3p0: ldo13 {
@@ -380,6 +381,7 @@ vreg_l15b_1p8: ldo15 {
 			regulator-min-microvolt = <1800000>;
 			regulator-max-microvolt = <1800000>;
 			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+			regulator-always-on;
 		};
 
 		vreg_l17b_2p5: ldo17 {
-- 
2.45.3


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

* [PATCH 5/8] arm64: dts: qcom: x1e80100-hp-x14: mark l12b and l15b always-on
  2025-02-27  8:13 [PATCH 0/8] arm64: dts: qcom: x1e: mark l12b and l15b always-on Johan Hovold
                   ` (3 preceding siblings ...)
  2025-02-27  8:13 ` [PATCH 4/8] arm64: dts: qcom: x1e80100-dell-xps13-9345: " Johan Hovold
@ 2025-02-27  8:13 ` Johan Hovold
  2025-02-27  8:13 ` [PATCH 6/8] arm64: dts: qcom: x1e80100-yoga-slim7x: " Johan Hovold
                   ` (4 subsequent siblings)
  9 siblings, 0 replies; 15+ messages in thread
From: Johan Hovold @ 2025-02-27  8:13 UTC (permalink / raw)
  To: Bjorn Andersson, Konrad Dybcio
  Cc: Rob Herring, Krzysztof Kozlowski, Conor Dooley, devicetree,
	linux-kernel, Johan Hovold, stable, Jens Glathe

The l12b and l15b supplies are used by components that are not (fully)
described (and some never will be) and must never be disabled.

Mark the regulators as always-on to prevent them from being disabled,
for example, when consumers probe defer or suspend.

Fixes: 6f18b8d4142c ("arm64: dts: qcom: x1e80100-hp-x14: dt for HP Omnibook X Laptop 14")
Cc: stable@vger.kernel.org	# 6.14
Cc: Jens Glathe <jens.glathe@oldschoolsolutions.biz>
Signed-off-by: Johan Hovold <johan+linaro@kernel.org>
---
 arch/arm64/boot/dts/qcom/x1e80100-hp-omnibook-x14.dts | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/arch/arm64/boot/dts/qcom/x1e80100-hp-omnibook-x14.dts b/arch/arm64/boot/dts/qcom/x1e80100-hp-omnibook-x14.dts
index cd860a246c45..ab5addb33b7a 100644
--- a/arch/arm64/boot/dts/qcom/x1e80100-hp-omnibook-x14.dts
+++ b/arch/arm64/boot/dts/qcom/x1e80100-hp-omnibook-x14.dts
@@ -633,6 +633,7 @@ vreg_l12b_1p2: ldo12 {
 			regulator-min-microvolt = <1200000>;
 			regulator-max-microvolt = <1200000>;
 			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+			regulator-always-on;
 		};
 
 		vreg_l13b_3p0: ldo13 {
@@ -654,6 +655,7 @@ vreg_l15b_1p8: ldo15 {
 			regulator-min-microvolt = <1800000>;
 			regulator-max-microvolt = <1800000>;
 			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+			regulator-always-on;
 		};
 
 		vreg_l16b_2p9: ldo16 {
-- 
2.45.3


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

* [PATCH 6/8] arm64: dts: qcom: x1e80100-yoga-slim7x: mark l12b and l15b always-on
  2025-02-27  8:13 [PATCH 0/8] arm64: dts: qcom: x1e: mark l12b and l15b always-on Johan Hovold
                   ` (4 preceding siblings ...)
  2025-02-27  8:13 ` [PATCH 5/8] arm64: dts: qcom: x1e80100-hp-x14: " Johan Hovold
@ 2025-02-27  8:13 ` Johan Hovold
  2025-02-27  8:13 ` [PATCH 7/8] arm64: dts: qcom: x1e80100-qcp: " Johan Hovold
                   ` (3 subsequent siblings)
  9 siblings, 0 replies; 15+ messages in thread
From: Johan Hovold @ 2025-02-27  8:13 UTC (permalink / raw)
  To: Bjorn Andersson, Konrad Dybcio
  Cc: Rob Herring, Krzysztof Kozlowski, Conor Dooley, devicetree,
	linux-kernel, Johan Hovold, stable, Srinivas Kandagatla

The l12b and l15b supplies are used by components that are not (fully)
described (and some never will be) and must never be disabled.

Mark the regulators as always-on to prevent them from being disabled,
for example, when consumers probe defer or suspend.

Fixes: 45247fe17db2 ("arm64: dts: qcom: x1e80100: add Lenovo Thinkpad Yoga slim 7x devicetree")
Cc: stable@vger.kernel.org	# 6.11
Cc: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
Signed-off-by: Johan Hovold <johan+linaro@kernel.org>
---
 arch/arm64/boot/dts/qcom/x1e80100-lenovo-yoga-slim7x.dts | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/arch/arm64/boot/dts/qcom/x1e80100-lenovo-yoga-slim7x.dts b/arch/arm64/boot/dts/qcom/x1e80100-lenovo-yoga-slim7x.dts
index a3d53f2ba2c3..9d4ba9728355 100644
--- a/arch/arm64/boot/dts/qcom/x1e80100-lenovo-yoga-slim7x.dts
+++ b/arch/arm64/boot/dts/qcom/x1e80100-lenovo-yoga-slim7x.dts
@@ -290,6 +290,7 @@ vreg_l12b_1p2: ldo12 {
 			regulator-min-microvolt = <1200000>;
 			regulator-max-microvolt = <1200000>;
 			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+			regulator-always-on;
 		};
 
 		vreg_l14b_3p0: ldo14 {
@@ -304,8 +305,8 @@ vreg_l15b_1p8: ldo15 {
 			regulator-min-microvolt = <1800000>;
 			regulator-max-microvolt = <1800000>;
 			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+			regulator-always-on;
 		};
-
 	};
 
 	regulators-1 {
-- 
2.45.3


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

* [PATCH 7/8] arm64: dts: qcom: x1e80100-qcp: mark l12b and l15b always-on
  2025-02-27  8:13 [PATCH 0/8] arm64: dts: qcom: x1e: mark l12b and l15b always-on Johan Hovold
                   ` (5 preceding siblings ...)
  2025-02-27  8:13 ` [PATCH 6/8] arm64: dts: qcom: x1e80100-yoga-slim7x: " Johan Hovold
@ 2025-02-27  8:13 ` Johan Hovold
  2025-02-27  8:13 ` [PATCH 8/8] arm64: dts: qcom: x1e78100-t14s: fix missing HID supplies Johan Hovold
                   ` (2 subsequent siblings)
  9 siblings, 0 replies; 15+ messages in thread
From: Johan Hovold @ 2025-02-27  8:13 UTC (permalink / raw)
  To: Bjorn Andersson, Konrad Dybcio
  Cc: Rob Herring, Krzysztof Kozlowski, Conor Dooley, devicetree,
	linux-kernel, Johan Hovold, stable, Rajendra Nayak

The l12b and l15b supplies are used by components that are not (fully)
described (and some never will be) and must never be disabled.

Mark the regulators as always-on to prevent them from being disabled,
for example, when consumers probe defer or suspend.

Fixes: af16b00578a7 ("arm64: dts: qcom: Add base X1E80100 dtsi and the QCP dts")
Cc: stable@vger.kernel.org	# 6.8
Cc: Rajendra Nayak <quic_rjendra@quicinc.com>
Signed-off-by: Johan Hovold <johan+linaro@kernel.org>
---
 arch/arm64/boot/dts/qcom/x1e80100-qcp.dts | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/arch/arm64/boot/dts/qcom/x1e80100-qcp.dts b/arch/arm64/boot/dts/qcom/x1e80100-qcp.dts
index ec594628304a..8f366bf61bbd 100644
--- a/arch/arm64/boot/dts/qcom/x1e80100-qcp.dts
+++ b/arch/arm64/boot/dts/qcom/x1e80100-qcp.dts
@@ -437,6 +437,7 @@ vreg_l12b_1p2: ldo12 {
 			regulator-min-microvolt = <1200000>;
 			regulator-max-microvolt = <1200000>;
 			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+			regulator-always-on;
 		};
 
 		vreg_l13b_3p0: ldo13 {
@@ -458,6 +459,7 @@ vreg_l15b_1p8: ldo15 {
 			regulator-min-microvolt = <1800000>;
 			regulator-max-microvolt = <1800000>;
 			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+			regulator-always-on;
 		};
 
 		vreg_l16b_2p9: ldo16 {
-- 
2.45.3


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

* [PATCH 8/8] arm64: dts: qcom: x1e78100-t14s: fix missing HID supplies
  2025-02-27  8:13 [PATCH 0/8] arm64: dts: qcom: x1e: mark l12b and l15b always-on Johan Hovold
                   ` (6 preceding siblings ...)
  2025-02-27  8:13 ` [PATCH 7/8] arm64: dts: qcom: x1e80100-qcp: " Johan Hovold
@ 2025-02-27  8:13 ` Johan Hovold
  2025-03-04 17:07 ` [PATCH 0/8] arm64: dts: qcom: x1e: mark l12b and l15b always-on Konrad Dybcio
  2025-03-17  2:55 ` Bjorn Andersson
  9 siblings, 0 replies; 15+ messages in thread
From: Johan Hovold @ 2025-02-27  8:13 UTC (permalink / raw)
  To: Bjorn Andersson, Konrad Dybcio
  Cc: Rob Herring, Krzysztof Kozlowski, Conor Dooley, devicetree,
	linux-kernel, Johan Hovold, stable

Add the missing HID supplies to avoid relying on other consumers to keep
them on.

This also avoids the following warnings on boot:

	i2c_hid_of 0-0010: supply vdd not found, using dummy regulator
	i2c_hid_of 0-0010: supply vddl not found, using dummy regulator
	i2c_hid_of 1-0015: supply vdd not found, using dummy regulator
	i2c_hid_of 1-002c: supply vdd not found, using dummy regulator
	i2c_hid_of 1-0015: supply vddl not found, using dummy regulator
	i2c_hid_of 1-002c: supply vddl not found, using dummy regulator
	i2c_hid_of 1-003a: supply vdd not found, using dummy regulator
	i2c_hid_of 1-003a: supply vddl not found, using dummy regulator

Note that VCC3B is also used for things like the modem which are not yet
described so mark the regulator as always-on for now.

Fixes: 7d1cbe2f4985 ("arm64: dts: qcom: Add X1E78100 ThinkPad T14s Gen 6")
Cc: stable@vger.kernel.org	# 6.12
Cc: Konrad Dybcio <konradybcio@kernel.org>
Signed-off-by: Johan Hovold <johan+linaro@kernel.org>
---
 .../qcom/x1e78100-lenovo-thinkpad-t14s.dts    | 43 +++++++++++++++++++
 1 file changed, 43 insertions(+)

diff --git a/arch/arm64/boot/dts/qcom/x1e78100-lenovo-thinkpad-t14s.dts b/arch/arm64/boot/dts/qcom/x1e78100-lenovo-thinkpad-t14s.dts
index 7f756ce48d2f..3ff0c65e374c 100644
--- a/arch/arm64/boot/dts/qcom/x1e78100-lenovo-thinkpad-t14s.dts
+++ b/arch/arm64/boot/dts/qcom/x1e78100-lenovo-thinkpad-t14s.dts
@@ -9,6 +9,7 @@
 #include <dt-bindings/gpio/gpio.h>
 #include <dt-bindings/input/gpio-keys.h>
 #include <dt-bindings/input/input.h>
+#include <dt-bindings/pinctrl/qcom,pmic-gpio.h>
 #include <dt-bindings/regulator/qcom,rpmh-regulator.h>
 
 #include "x1e80100.dtsi"
@@ -153,6 +154,23 @@ vreg_edp_3p3: regulator-edp-3p3 {
 		regulator-boot-on;
 	};
 
+	vreg_misc_3p3: regulator-misc-3p3 {
+		compatible = "regulator-fixed";
+
+		regulator-name = "VCC3B";
+		regulator-min-microvolt = <3300000>;
+		regulator-max-microvolt = <3300000>;
+
+		gpio = <&pm8550ve_8_gpios 6 GPIO_ACTIVE_HIGH>;
+		enable-active-high;
+
+		pinctrl-0 = <&misc_3p3_reg_en>;
+		pinctrl-names = "default";
+
+		regulator-boot-on;
+		regulator-always-on;
+	};
+
 	vreg_nvme: regulator-nvme {
 		compatible = "regulator-fixed";
 
@@ -580,6 +598,9 @@ touchpad@15 {
 		hid-descr-addr = <0x1>;
 		interrupts-extended = <&tlmm 3 IRQ_TYPE_LEVEL_LOW>;
 
+		vdd-supply = <&vreg_misc_3p3>;
+		vddl-supply = <&vreg_l12b_1p2>;
+
 		wakeup-source;
 	};
 
@@ -591,6 +612,9 @@ touchpad@2c {
 		hid-descr-addr = <0x20>;
 		interrupts-extended = <&tlmm 3 IRQ_TYPE_LEVEL_LOW>;
 
+		vdd-supply = <&vreg_misc_3p3>;
+		vddl-supply = <&vreg_l12b_1p2>;
+
 		wakeup-source;
 	};
 
@@ -602,6 +626,9 @@ keyboard@3a {
 		hid-descr-addr = <0x1>;
 		interrupts-extended = <&tlmm 67 IRQ_TYPE_LEVEL_LOW>;
 
+		vdd-supply = <&vreg_misc_3p3>;
+		vddl-supply = <&vreg_l15b_1p8>;
+
 		pinctrl-0 = <&kybd_default>;
 		pinctrl-names = "default";
 
@@ -670,6 +697,9 @@ touchscreen@10 {
 		hid-descr-addr = <0x1>;
 		interrupts-extended = <&tlmm 51 IRQ_TYPE_LEVEL_LOW>;
 
+		vdd-supply = <&vreg_misc_3p3>;
+		vddl-supply = <&vreg_l15b_1p8>;
+
 		pinctrl-0 = <&ts0_default>;
 		pinctrl-names = "default";
 	};
@@ -779,6 +809,19 @@ &pcie6a_phy {
 	status = "okay";
 };
 
+&pm8550ve_8_gpios {
+	misc_3p3_reg_en: misc-3p3-reg-en-state {
+		pins = "gpio6";
+		function = "normal";
+		bias-disable;
+		drive-push-pull;
+		input-disable;
+		output-enable;
+		power-source = <1>; /* 1.8 V */
+		qcom,drive-strength = <PMIC_GPIO_STRENGTH_LOW>;
+	};
+};
+
 &pmc8380_3_gpios {
 	edp_bl_en: edp-bl-en-state {
 		pins = "gpio4";
-- 
2.45.3


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

* Re: [PATCH 4/8] arm64: dts: qcom: x1e80100-dell-xps13-9345: mark l12b and l15b always-on
  2025-02-27  8:13 ` [PATCH 4/8] arm64: dts: qcom: x1e80100-dell-xps13-9345: " Johan Hovold
@ 2025-03-02 22:04   ` Aleksandrs Vinarskis
  2025-03-04 17:03     ` Konrad Dybcio
  2025-03-05  8:46     ` Johan Hovold
  0 siblings, 2 replies; 15+ messages in thread
From: Aleksandrs Vinarskis @ 2025-03-02 22:04 UTC (permalink / raw)
  To: Johan Hovold
  Cc: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley, devicetree, linux-kernel, stable

On Thu, 27 Feb 2025 at 09:15, Johan Hovold <johan+linaro@kernel.org> wrote:
>
> The l12b and l15b supplies are used by components that are not (fully)
> described (and some never will be) and must never be disabled.

Out of curiosity, what are these components?

>
> Mark the regulators as always-on to prevent them from being disabled,
> for example, when consumers probe defer or suspend.
>
> Note that these supplies currently have no consumers described in
> mainline.
>
> Fixes: f5b788d0e8cd ("arm64: dts: qcom: Add support for X1-based Dell XPS 13 9345")
> Cc: stable@vger.kernel.org      # 6.13
> Cc: Aleksandrs Vinarskis <alex.vinarskis@gmail.com>
> Signed-off-by: Johan Hovold <johan+linaro@kernel.org>

Reviewed-by: Aleksandrs Vinarskis <alex.vinarskis@gmail.com>
Tested-by: Aleksandrs Vinarskis <alex.vinarskis@gmail.com>

> ---
>  arch/arm64/boot/dts/qcom/x1e80100-dell-xps13-9345.dts | 2 ++
>  1 file changed, 2 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/qcom/x1e80100-dell-xps13-9345.dts b/arch/arm64/boot/dts/qcom/x1e80100-dell-xps13-9345.dts
> index 86e87f03b0ec..90f588ed7d63 100644
> --- a/arch/arm64/boot/dts/qcom/x1e80100-dell-xps13-9345.dts
> +++ b/arch/arm64/boot/dts/qcom/x1e80100-dell-xps13-9345.dts
> @@ -359,6 +359,7 @@ vreg_l12b_1p2: ldo12 {
>                         regulator-min-microvolt = <1200000>;
>                         regulator-max-microvolt = <1200000>;
>                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
> +                       regulator-always-on;
>                 };
>
>                 vreg_l13b_3p0: ldo13 {
> @@ -380,6 +381,7 @@ vreg_l15b_1p8: ldo15 {
>                         regulator-min-microvolt = <1800000>;
>                         regulator-max-microvolt = <1800000>;
>                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
> +                       regulator-always-on;
>                 };
>
>                 vreg_l17b_2p5: ldo17 {
> --
> 2.45.3
>

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

* Re: [PATCH 4/8] arm64: dts: qcom: x1e80100-dell-xps13-9345: mark l12b and l15b always-on
  2025-03-02 22:04   ` Aleksandrs Vinarskis
@ 2025-03-04 17:03     ` Konrad Dybcio
  2025-03-05  8:46     ` Johan Hovold
  1 sibling, 0 replies; 15+ messages in thread
From: Konrad Dybcio @ 2025-03-04 17:03 UTC (permalink / raw)
  To: Aleksandrs Vinarskis, Johan Hovold
  Cc: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley, devicetree, linux-kernel, stable

On 2.03.2025 11:04 PM, Aleksandrs Vinarskis wrote:
> On Thu, 27 Feb 2025 at 09:15, Johan Hovold <johan+linaro@kernel.org> wrote:
>>
>> The l12b and l15b supplies are used by components that are not (fully)
>> described (and some never will be) and must never be disabled.
> 
> Out of curiosity, what are these components?

Mainly dumb onboard electronic components, it seems like

Konrad

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

* Re: [PATCH 0/8] arm64: dts: qcom: x1e: mark l12b and l15b always-on
  2025-02-27  8:13 [PATCH 0/8] arm64: dts: qcom: x1e: mark l12b and l15b always-on Johan Hovold
                   ` (7 preceding siblings ...)
  2025-02-27  8:13 ` [PATCH 8/8] arm64: dts: qcom: x1e78100-t14s: fix missing HID supplies Johan Hovold
@ 2025-03-04 17:07 ` Konrad Dybcio
  2025-03-05  8:30   ` Johan Hovold
  2025-03-17  2:55 ` Bjorn Andersson
  9 siblings, 1 reply; 15+ messages in thread
From: Konrad Dybcio @ 2025-03-04 17:07 UTC (permalink / raw)
  To: Johan Hovold, Bjorn Andersson, Konrad Dybcio
  Cc: Rob Herring, Krzysztof Kozlowski, Conor Dooley, devicetree, linux-kernel

On 27.02.2025 9:13 AM, Johan Hovold wrote:
> The l12b and l15b supplies are used by components that are not (fully)
> described (and some never will be) and must never be disabled.
> 
> Mark the regulators as always-on to prevent them from being disabled,
> for example, when consumers probe defer or suspend.
> 
> Note that there are likely votes from other processors for these rpmh
> regulators (at least for l15b) but the OS should not rely on that in any
> case.
> 
> Included is also a patch that adds the missing HID supplies for the
> T14s. It was a corresponding change for the CRD that made me look into
> this to make sure these supplies were not disabled during suspend or on
> probe deferrals.
> 
> Johan

This looks good, too bad SL7 was left out :( I'll take care of that
myself

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

Konrad

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

* Re: [PATCH 0/8] arm64: dts: qcom: x1e: mark l12b and l15b always-on
  2025-03-04 17:07 ` [PATCH 0/8] arm64: dts: qcom: x1e: mark l12b and l15b always-on Konrad Dybcio
@ 2025-03-05  8:30   ` Johan Hovold
  0 siblings, 0 replies; 15+ messages in thread
From: Johan Hovold @ 2025-03-05  8:30 UTC (permalink / raw)
  To: Konrad Dybcio
  Cc: Johan Hovold, Bjorn Andersson, Konrad Dybcio, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley, devicetree, linux-kernel

On Tue, Mar 04, 2025 at 06:07:32PM +0100, Konrad Dybcio wrote:
> On 27.02.2025 9:13 AM, Johan Hovold wrote:
> > The l12b and l15b supplies are used by components that are not (fully)
> > described (and some never will be) and must never be disabled.
> > 
> > Mark the regulators as always-on to prevent them from being disabled,
> > for example, when consumers probe defer or suspend.
> > 
> > Note that there are likely votes from other processors for these rpmh
> > regulators (at least for l15b) but the OS should not rely on that in any
> > case.
> > 
> > Included is also a patch that adds the missing HID supplies for the
> > T14s. It was a corresponding change for the CRD that made me look into
> > this to make sure these supplies were not disabled during suspend or on
> > probe deferrals.

> This looks good, too bad SL7 was left out :( I'll take care of that
> myself

Thanks for catching that. It seems my grep pattern was too specific
given that you had dropped the voltages from the SL7 regulator labels
whereas every other X1 board copy-pasted the CRD which had them:

	vreg_l12b_1p2: ldo12 {

	vreg_l12b: ldo12 {

Like you, I'd prefer if they were not there (especially since they are
not even correct with 3 V rails having "2p9" suffixes), but I see now
that this pattern have been used also for some older Qualcomm machines.

Perhaps we can drop them throughout, at least for X1, for consistency.

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

Thanks for reviewing.

Johan

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

* Re: [PATCH 4/8] arm64: dts: qcom: x1e80100-dell-xps13-9345: mark l12b and l15b always-on
  2025-03-02 22:04   ` Aleksandrs Vinarskis
  2025-03-04 17:03     ` Konrad Dybcio
@ 2025-03-05  8:46     ` Johan Hovold
  1 sibling, 0 replies; 15+ messages in thread
From: Johan Hovold @ 2025-03-05  8:46 UTC (permalink / raw)
  To: Aleksandrs Vinarskis
  Cc: Johan Hovold, Bjorn Andersson, Konrad Dybcio, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley, devicetree, linux-kernel,
	stable

On Sun, Mar 02, 2025 at 11:04:03PM +0100, Aleksandrs Vinarskis wrote:
> On Thu, 27 Feb 2025 at 09:15, Johan Hovold <johan+linaro@kernel.org> wrote:
> >
> > The l12b and l15b supplies are used by components that are not (fully)
> > described (and some never will be) and must never be disabled.
> 
> Out of curiosity, what are these components?

A host of things, including pull-ups, level shifters, regulators for
(partially) described devices, but also things like the speakers and
wlan.

> > Mark the regulators as always-on to prevent them from being disabled,
> > for example, when consumers probe defer or suspend.
> >
> > Note that these supplies currently have no consumers described in
> > mainline.

Johan

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

* Re: [PATCH 0/8] arm64: dts: qcom: x1e: mark l12b and l15b always-on
  2025-02-27  8:13 [PATCH 0/8] arm64: dts: qcom: x1e: mark l12b and l15b always-on Johan Hovold
                   ` (8 preceding siblings ...)
  2025-03-04 17:07 ` [PATCH 0/8] arm64: dts: qcom: x1e: mark l12b and l15b always-on Konrad Dybcio
@ 2025-03-17  2:55 ` Bjorn Andersson
  9 siblings, 0 replies; 15+ messages in thread
From: Bjorn Andersson @ 2025-03-17  2:55 UTC (permalink / raw)
  To: Konrad Dybcio, Johan Hovold
  Cc: Rob Herring, Krzysztof Kozlowski, Conor Dooley, devicetree, linux-kernel


On Thu, 27 Feb 2025 09:13:49 +0100, Johan Hovold wrote:
> The l12b and l15b supplies are used by components that are not (fully)
> described (and some never will be) and must never be disabled.
> 
> Mark the regulators as always-on to prevent them from being disabled,
> for example, when consumers probe defer or suspend.
> 
> Note that there are likely votes from other processors for these rpmh
> regulators (at least for l15b) but the OS should not rely on that in any
> case.
> 
> [...]

Applied, thanks!

[1/8] arm64: dts: qcom: x1e80100-crd: mark l12b and l15b always-on
      commit: abf89bc4bb09c16a53d693b09ea85225cf57ff39
[2/8] arm64: dts: qcom: x1e78100-t14s: mark l12b and l15b always-on
      commit: 673fa129e558c5f1196adb27d97ac90ddfe4f19c
[3/8] arm64: dts: qcom: x1e001de-devkit: mark l12b and l15b always-on
      commit: 7d328cc134f7db1e062f616a30cffe96fbc43abb
[4/8] arm64: dts: qcom: x1e80100-dell-xps13-9345: mark l12b and l15b always-on
      commit: 63169c07d74031c5e10a9f91229dabade880cf0f
[5/8] arm64: dts: qcom: x1e80100-hp-x14: mark l12b and l15b always-on
      commit: 3ab4e212a41c46668adf93c8d10d0d3d6de8f0e4
[6/8] arm64: dts: qcom: x1e80100-yoga-slim7x: mark l12b and l15b always-on
      commit: f43a71dc6d8d8378af587675eec77c06e0298c79
[7/8] arm64: dts: qcom: x1e80100-qcp: mark l12b and l15b always-on
      commit: ff6ba96378367133b66587bd3ee9f068a39ff3a9
[8/8] arm64: dts: qcom: x1e78100-t14s: fix missing HID supplies
      commit: 55e52d055393f11ba0193975d3db87af36f4b273

Best regards,
-- 
Bjorn Andersson <andersson@kernel.org>

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

end of thread, other threads:[~2025-03-17  2:56 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2025-02-27  8:13 [PATCH 0/8] arm64: dts: qcom: x1e: mark l12b and l15b always-on Johan Hovold
2025-02-27  8:13 ` [PATCH 1/8] arm64: dts: qcom: x1e80100-crd: " Johan Hovold
2025-02-27  8:13 ` [PATCH 2/8] arm64: dts: qcom: x1e78100-t14s: " Johan Hovold
2025-02-27  8:13 ` [PATCH 3/8] arm64: dts: qcom: x1e001de-devkit: " Johan Hovold
2025-02-27  8:13 ` [PATCH 4/8] arm64: dts: qcom: x1e80100-dell-xps13-9345: " Johan Hovold
2025-03-02 22:04   ` Aleksandrs Vinarskis
2025-03-04 17:03     ` Konrad Dybcio
2025-03-05  8:46     ` Johan Hovold
2025-02-27  8:13 ` [PATCH 5/8] arm64: dts: qcom: x1e80100-hp-x14: " Johan Hovold
2025-02-27  8:13 ` [PATCH 6/8] arm64: dts: qcom: x1e80100-yoga-slim7x: " Johan Hovold
2025-02-27  8:13 ` [PATCH 7/8] arm64: dts: qcom: x1e80100-qcp: " Johan Hovold
2025-02-27  8:13 ` [PATCH 8/8] arm64: dts: qcom: x1e78100-t14s: fix missing HID supplies Johan Hovold
2025-03-04 17:07 ` [PATCH 0/8] arm64: dts: qcom: x1e: mark l12b and l15b always-on Konrad Dybcio
2025-03-05  8:30   ` Johan Hovold
2025-03-17  2:55 ` Bjorn Andersson

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®