mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH 00/11] Enable Qualcomm VBUS block on PMI8998 and PM660
@ 2026-10-31 15:04 David Heidelberg via B4 Relay
  2026-10-31 15:04 ` [PATCH 01/11] regulator: qcom_usb_vbus: Fix the MODULE_LICENSE() string David Heidelberg via B4 Relay
                   ` (10 more replies)
  0 siblings, 11 replies; 14+ messages in thread
From: David Heidelberg via B4 Relay @ 2026-10-31 15:04 UTC (permalink / raw)
  To: Alexey Minnekhanov, Robin Snyders, Liam Girdwood, Mark Brown,
	Rob Herring, Krzysztof Kozlowski, Conor Dooley, Wesley Cheng,
	Bjorn Andersson, Konrad Dybcio, Abel Vesa, Casey Connolly,
	Sebastian Reichel
  Cc: Richard Acayan, linux-arm-msm, linux-kernel, devicetree,
	Sebastian Reichel, linux-pm, phone-devel, David Heidelberg

Includes basic vbus regulator support for:
 - SHIFT 6MQ
 - Pixel 3 / 3a / 3 XL / 3a XL
 - OnePlus 6 / 6T
 - Xiaomi Poco F1
 - LG G7 / V40

All devices downstream sources using default range 0.5 - 1.5 A.

Validated by looking for `qcom,otg-cl-ua` and default values when
property is not set in the driver.

This series shouldn't change existing behaviour (except register write
execution order). Without Type-C driver this merely replace the write of
the SMB charger to manually control the OTG block.

As a follow-up with the latest upstreamed Type-C driver, this change
will allow setting USB OTG, thus power devices connected to the phone.

Signed-off-by: David Heidelberg <david@ixit.cz>
---
David Heidelberg (11):
      regulator: qcom_usb_vbus: Fix the MODULE_LICENSE() string
      power: supply: qcom_smbx: Do not interfere with vbus driver
      dt-bindings: regulator: qcom,usb-vbus-regulator: Add pmi8998 and pm660
      arm64: dts: qcom: pmi8998: Add node for PMIC VBUS booster
      arm64: dts: qcom: pm660: Add node for PMIC VBUS booster
      arm64: dts: qcom: sdm845-google: Enable vbus support
      arm64: dts: qcom: sdm845-oneplus: Enable vbus support
      arm64: dts: qcom: sdm845-shift-axolotl: Enable vbus support
      arm64: dts: qcom: sdm845-lg: Enable vbus support
      arm64: dts: qcom: sdm845-xiaomi-beryllium: Enable vbus support
      arm64: dts: qcom: sdm670-google: Enable vbus support

 .../bindings/regulator/qcom,usb-vbus-regulator.yaml        |  2 ++
 arch/arm64/boot/dts/qcom/pm660.dtsi                        |  7 +++++++
 arch/arm64/boot/dts/qcom/pmi8998.dtsi                      |  7 +++++++
 arch/arm64/boot/dts/qcom/sdm670-google-common.dtsi         |  7 +++++++
 arch/arm64/boot/dts/qcom/sdm845-google-common.dtsi         |  7 +++++++
 arch/arm64/boot/dts/qcom/sdm845-lg-common.dtsi             |  7 +++++++
 arch/arm64/boot/dts/qcom/sdm845-oneplus-common.dtsi        |  7 +++++++
 arch/arm64/boot/dts/qcom/sdm845-shift-axolotl.dts          |  7 +++++++
 .../boot/dts/qcom/sdm845-xiaomi-beryllium-common.dtsi      |  8 +++++++-
 drivers/power/supply/qcom_smbx.c                           | 14 --------------
 drivers/regulator/qcom_usb_vbus-regulator.c                |  2 +-
 11 files changed, 59 insertions(+), 16 deletions(-)
---
base-commit: 151a134a4e6ec66f69db8750c66006f5207f7a9d
change-id: 20261027-pmi8998-vbus-227837a4dfa0

Best regards,
--  
David Heidelberg <david@ixit.cz>



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

* [PATCH 01/11] regulator: qcom_usb_vbus: Fix the MODULE_LICENSE() string
  2026-10-31 15:04 [PATCH 00/11] Enable Qualcomm VBUS block on PMI8998 and PM660 David Heidelberg via B4 Relay
@ 2026-10-31 15:04 ` David Heidelberg via B4 Relay
  2026-10-31 15:04 ` [PATCH 02/11] power: supply: qcom_smbx: Do not interfere with vbus driver David Heidelberg via B4 Relay
                   ` (9 subsequent siblings)
  10 siblings, 0 replies; 14+ messages in thread
From: David Heidelberg via B4 Relay @ 2026-10-31 15:04 UTC (permalink / raw)
  To: Alexey Minnekhanov, Robin Snyders, Liam Girdwood, Mark Brown,
	Rob Herring, Krzysztof Kozlowski, Conor Dooley, Wesley Cheng,
	Bjorn Andersson, Konrad Dybcio, Abel Vesa, Casey Connolly,
	Sebastian Reichel
  Cc: Richard Acayan, linux-arm-msm, linux-kernel, devicetree,
	Sebastian Reichel, linux-pm, phone-devel, David Heidelberg

From: David Heidelberg <david@ixit.cz>

Replace the bogus "GPL v2" with "GPL" as MODULE_LICNSE() string. The
value does not declare the module's exact license, but only lets the
module loader test whether the module is Free Software or not.

See commit bf7fbeeae6db ("module: Cure the MODULE_LICENSE "GPL" vs.
"GPL v2" bogosity") in the details of the issue. The fix is to use
"GPL" for all modules under any variant of the GPL.

Signed-off-by: David Heidelberg <david@ixit.cz>
---
 drivers/regulator/qcom_usb_vbus-regulator.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/regulator/qcom_usb_vbus-regulator.c b/drivers/regulator/qcom_usb_vbus-regulator.c
index 9aea68876284e..f189e1ed4f3f9 100644
--- a/drivers/regulator/qcom_usb_vbus-regulator.c
+++ b/drivers/regulator/qcom_usb_vbus-regulator.c
@@ -176,9 +176,9 @@ static struct platform_driver qcom_usb_vbus_regulator_driver = {
 		.probe_type = PROBE_PREFER_ASYNCHRONOUS,
 		.of_match_table = qcom_usb_vbus_regulator_match,
 	},
 	.probe		= qcom_usb_vbus_regulator_probe,
 };
 module_platform_driver(qcom_usb_vbus_regulator_driver);
 
 MODULE_DESCRIPTION("Qualcomm USB vbus regulator driver");
-MODULE_LICENSE("GPL v2");
+MODULE_LICENSE("GPL");

-- 
2.55.0



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

* [PATCH 02/11] power: supply: qcom_smbx: Do not interfere with vbus driver
  2026-10-31 15:04 [PATCH 00/11] Enable Qualcomm VBUS block on PMI8998 and PM660 David Heidelberg via B4 Relay
  2026-10-31 15:04 ` [PATCH 01/11] regulator: qcom_usb_vbus: Fix the MODULE_LICENSE() string David Heidelberg via B4 Relay
@ 2026-10-31 15:04 ` David Heidelberg via B4 Relay
  2026-10-31 15:05 ` [PATCH 03/11] dt-bindings: regulator: qcom,usb-vbus-regulator: Add pmi8998 and pm660 David Heidelberg via B4 Relay
                   ` (8 subsequent siblings)
  10 siblings, 0 replies; 14+ messages in thread
From: David Heidelberg via B4 Relay @ 2026-10-31 15:04 UTC (permalink / raw)
  To: Alexey Minnekhanov, Robin Snyders, Liam Girdwood, Mark Brown,
	Rob Herring, Krzysztof Kozlowski, Conor Dooley, Wesley Cheng,
	Bjorn Andersson, Konrad Dybcio, Abel Vesa, Casey Connolly,
	Sebastian Reichel
  Cc: Richard Acayan, linux-arm-msm, linux-kernel, devicetree,
	Sebastian Reichel, linux-pm, phone-devel, David Heidelberg

From: David Heidelberg <david@ixit.cz>

Charger should not touch bits handled by OTG block handled by the vbus
driver.

Signed-off-by: David Heidelberg <david@ixit.cz>
---
 drivers/power/supply/qcom_smbx.c | 14 --------------
 1 file changed, 14 deletions(-)

diff --git a/drivers/power/supply/qcom_smbx.c b/drivers/power/supply/qcom_smbx.c
index 52bb5a6eb145d..9c071a79a16c2 100644
--- a/drivers/power/supply/qcom_smbx.c
+++ b/drivers/power/supply/qcom_smbx.c
@@ -96,28 +96,16 @@
 #define USBIN_ICL_CHANGE_RT_STS_BIT			BIT(6)
 #define USBIN_SOURCE_CHANGE_RT_STS_BIT			BIT(5)
 #define USBIN_PLUGIN_RT_STS_BIT				BIT(4)
 #define USBIN_OV_RT_STS_BIT				BIT(3)
 #define USBIN_UV_RT_STS_BIT				BIT(2)
 #define USBIN_LT_3P6V_RT_STS_BIT			BIT(1)
 #define USBIN_COLLAPSE_RT_STS_BIT			BIT(0)
 
-#define OTG_CFG						0x153
-#define OTG_RESERVED_MASK				GENMASK(7, 6)
-#define DIS_OTG_ON_TLIM_BIT				BIT(5)
-#define QUICKSTART_OTG_FASTROLESWAP_BIT			BIT(4)
-#define INCREASE_DFP_TIME_BIT				BIT(3)
-#define ENABLE_OTG_IN_DEBUG_MODE_BIT			BIT(2)
-#define OTG_EN_SRC_CFG_BIT				BIT(1)
-#define CONCURRENT_MODE_CFG_BIT				BIT(0)
-
-#define OTG_ENG_OTG_CFG					0x1C0
-#define ENG_BUCKBOOST_HALT1_8_MODE_BIT			BIT(0)
-
 #define APSD_STATUS					0x307
 #define APSD_STATUS_7_BIT				BIT(7)
 #define HVDCP_CHECK_TIMEOUT_BIT				BIT(6)
 #define SLOW_PLUGIN_TIMEOUT_BIT				BIT(5)
 #define ENUMERATION_DONE_BIT				BIT(4)
 #define VADP_CHANGE_DONE_AFTER_AUTH_BIT			BIT(3)
 #define QC_AUTH_DONE_STATUS_BIT				BIT(2)
 #define QC_CHARGER_BIT					BIT(1)
@@ -804,18 +792,16 @@ static const struct smb_init_register smb_init_seq[] = {
 	  .val = VCONN_EN_SRC_BIT },
 	/*
 	 * Disable Type-C factory mode and stay in Attached.SRC state when VCONN
 	 * over-current happens
 	 */
 	{ .addr = TYPE_C_CFG,
 	  .mask = FACTORY_MODE_DETECTION_EN_BIT | VCONN_OC_CFG_BIT,
 	  .val = 0 },
-	/* Configure VBUS for software control */
-	{ .addr = OTG_CFG, .mask = OTG_EN_SRC_CFG_BIT, .val = 0 },
 	/*
 	 * Use VBAT to determine the recharge threshold when battery is full
 	 * rather than the state of charge.
 	 */
 	{ .addr = FG_UPDATE_CFG_2_SEL,
 	  .mask = SOC_LT_CHG_RECHARGE_THRESH_SEL_BIT |
 		  VBT_LT_CHG_RECHARGE_THRESH_SEL_BIT,
 	  .val = VBT_LT_CHG_RECHARGE_THRESH_SEL_BIT },

-- 
2.55.0



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

* [PATCH 03/11] dt-bindings: regulator: qcom,usb-vbus-regulator: Add pmi8998 and pm660
  2026-10-31 15:04 [PATCH 00/11] Enable Qualcomm VBUS block on PMI8998 and PM660 David Heidelberg via B4 Relay
  2026-10-31 15:04 ` [PATCH 01/11] regulator: qcom_usb_vbus: Fix the MODULE_LICENSE() string David Heidelberg via B4 Relay
  2026-10-31 15:04 ` [PATCH 02/11] power: supply: qcom_smbx: Do not interfere with vbus driver David Heidelberg via B4 Relay
@ 2026-10-31 15:05 ` David Heidelberg via B4 Relay
  2026-11-02  9:58   ` Konrad Dybcio
  2026-10-31 15:05 ` [PATCH 04/11] arm64: dts: qcom: pmi8998: Add node for PMIC VBUS booster David Heidelberg via B4 Relay
                   ` (7 subsequent siblings)
  10 siblings, 1 reply; 14+ messages in thread
From: David Heidelberg via B4 Relay @ 2026-10-31 15:05 UTC (permalink / raw)
  To: Alexey Minnekhanov, Robin Snyders, Liam Girdwood, Mark Brown,
	Rob Herring, Krzysztof Kozlowski, Conor Dooley, Wesley Cheng,
	Bjorn Andersson, Konrad Dybcio, Abel Vesa, Casey Connolly,
	Sebastian Reichel
  Cc: Richard Acayan, linux-arm-msm, linux-kernel, devicetree,
	Sebastian Reichel, linux-pm, phone-devel, David Heidelberg

From: David Heidelberg <david@ixit.cz>

The VBUS register block on the PMI8998 and PM660 PMIC shares the design
with the PM8150B one. Define corresponding compatible string, having the
qcom,pm8150b-vbus-reg as a fallback.

Signed-off-by: David Heidelberg <david@ixit.cz>
---
 .../devicetree/bindings/regulator/qcom,usb-vbus-regulator.yaml          | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/Documentation/devicetree/bindings/regulator/qcom,usb-vbus-regulator.yaml b/Documentation/devicetree/bindings/regulator/qcom,usb-vbus-regulator.yaml
index 024b34d0eb1a6..3cdfb556662cb 100644
--- a/Documentation/devicetree/bindings/regulator/qcom,usb-vbus-regulator.yaml
+++ b/Documentation/devicetree/bindings/regulator/qcom,usb-vbus-regulator.yaml
@@ -24,19 +24,21 @@ description: |
 properties:
   compatible:
     oneOf:
       - enum:
           - qcom,pm8150b-vbus-reg
           - qcom,pm4125-vbus-reg
       - items:
           - enum:
+              - qcom,pm660-vbus-reg
               - qcom,pm6150-vbus-reg
               - qcom,pm7250b-vbus-reg
               - qcom,pmi632-vbus-reg
+              - qcom,pmi8998-vbus-reg
           - const: qcom,pm8150b-vbus-reg
 
   reg:
     maxItems: 1
     description: VBUS output base address
 
 allOf:
   - $ref: regulator.yaml#

-- 
2.55.0



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

* [PATCH 04/11] arm64: dts: qcom: pmi8998: Add node for PMIC VBUS booster
  2026-10-31 15:04 [PATCH 00/11] Enable Qualcomm VBUS block on PMI8998 and PM660 David Heidelberg via B4 Relay
                   ` (2 preceding siblings ...)
  2026-10-31 15:05 ` [PATCH 03/11] dt-bindings: regulator: qcom,usb-vbus-regulator: Add pmi8998 and pm660 David Heidelberg via B4 Relay
@ 2026-10-31 15:05 ` David Heidelberg via B4 Relay
  2026-10-31 15:05 ` [PATCH 05/11] arm64: dts: qcom: pm660: " David Heidelberg via B4 Relay
                   ` (6 subsequent siblings)
  10 siblings, 0 replies; 14+ messages in thread
From: David Heidelberg via B4 Relay @ 2026-10-31 15:05 UTC (permalink / raw)
  To: Alexey Minnekhanov, Robin Snyders, Liam Girdwood, Mark Brown,
	Rob Herring, Krzysztof Kozlowski, Conor Dooley, Wesley Cheng,
	Bjorn Andersson, Konrad Dybcio, Abel Vesa, Casey Connolly,
	Sebastian Reichel
  Cc: Richard Acayan, linux-arm-msm, linux-kernel, devicetree,
	Sebastian Reichel, linux-pm, phone-devel, David Heidelberg

From: David Heidelberg <david@ixit.cz>

Add the required DTS node for the USB VBUS output regulator, which is
available on PMI8998. This will provide the VBUS source to connected
peripherals.

Signed-off-by: David Heidelberg <david@ixit.cz>
---
 arch/arm64/boot/dts/qcom/pmi8998.dtsi | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/arch/arm64/boot/dts/qcom/pmi8998.dtsi b/arch/arm64/boot/dts/qcom/pmi8998.dtsi
index cd3f0790fd420..86640ea6e592c 100644
--- a/arch/arm64/boot/dts/qcom/pmi8998.dtsi
+++ b/arch/arm64/boot/dts/qcom/pmi8998.dtsi
@@ -24,16 +24,23 @@ pmi8998_charger: charger@1000 {
 
 			io-channels = <&pmi8998_rradc 3>,
 				      <&pmi8998_rradc 4>;
 			io-channel-names = "usbin_i", "usbin_v";
 
 			status = "disabled";
 		};
 
+		pmi8998_vbus: usb-vbus-regulator@1100 {
+			compatible = "qcom,pmi8998-vbus-reg", "qcom,pm8150b-vbus-reg";
+			reg = <0x1100>;
+
+			status = "disabled";
+		};
+
 		pmi8998_gpios: gpio@c000 {
 			compatible = "qcom,pmi8998-gpio", "qcom,spmi-gpio";
 			reg = <0xc000>;
 			gpio-controller;
 			gpio-ranges = <&pmi8998_gpios 0 0 14>;
 			#gpio-cells = <2>;
 			interrupt-controller;
 			#interrupt-cells = <2>;

-- 
2.55.0



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

* [PATCH 05/11] arm64: dts: qcom: pm660: Add node for PMIC VBUS booster
  2026-10-31 15:04 [PATCH 00/11] Enable Qualcomm VBUS block on PMI8998 and PM660 David Heidelberg via B4 Relay
                   ` (3 preceding siblings ...)
  2026-10-31 15:05 ` [PATCH 04/11] arm64: dts: qcom: pmi8998: Add node for PMIC VBUS booster David Heidelberg via B4 Relay
@ 2026-10-31 15:05 ` David Heidelberg via B4 Relay
  2026-10-31 15:05 ` [PATCH 06/11] arm64: dts: qcom: sdm845-google: Enable vbus support David Heidelberg via B4 Relay
                   ` (5 subsequent siblings)
  10 siblings, 0 replies; 14+ messages in thread
From: David Heidelberg via B4 Relay @ 2026-10-31 15:05 UTC (permalink / raw)
  To: Alexey Minnekhanov, Robin Snyders, Liam Girdwood, Mark Brown,
	Rob Herring, Krzysztof Kozlowski, Conor Dooley, Wesley Cheng,
	Bjorn Andersson, Konrad Dybcio, Abel Vesa, Casey Connolly,
	Sebastian Reichel
  Cc: Richard Acayan, linux-arm-msm, linux-kernel, devicetree,
	Sebastian Reichel, linux-pm, phone-devel, David Heidelberg

From: David Heidelberg <david@ixit.cz>

Add the required DTS node for the USB VBUS output regulator, which is
available on PM660. This will provide the VBUS source to connected
peripherals.

Signed-off-by: David Heidelberg <david@ixit.cz>
---
 arch/arm64/boot/dts/qcom/pm660.dtsi | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/arch/arm64/boot/dts/qcom/pm660.dtsi b/arch/arm64/boot/dts/qcom/pm660.dtsi
index 156b2ddff0dcb..86e9223ed88f4 100644
--- a/arch/arm64/boot/dts/qcom/pm660.dtsi
+++ b/arch/arm64/boot/dts/qcom/pm660.dtsi
@@ -85,16 +85,23 @@ pm660_charger: charger@1000 {
 
 			io-channels = <&pm660_rradc 3>,
 				      <&pm660_rradc 4>;
 			io-channel-names = "usbin_i", "usbin_v";
 
 			status = "disabled";
 		};
 
+		pm660_vbus: usb-vbus-regulator@1100 {
+			compatible = "qcom,pm660-vbus-reg", "qcom,pm8150b-vbus-reg";
+			reg = <0x1100>;
+
+			status = "disabled";
+		};
+
 		pm660_temp: temp-alarm@2400 {
 			compatible = "qcom,spmi-temp-alarm";
 			reg = <0x2400>;
 			interrupts = <0x0 0x24 0x0 IRQ_TYPE_EDGE_RISING>;
 			io-channels = <&pm660_adc ADC5_DIE_TEMP>;
 			io-channel-names = "thermal";
 			#thermal-sensor-cells = <0>;
 		};

-- 
2.55.0



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

* [PATCH 06/11] arm64: dts: qcom: sdm845-google: Enable vbus support
  2026-10-31 15:04 [PATCH 00/11] Enable Qualcomm VBUS block on PMI8998 and PM660 David Heidelberg via B4 Relay
                   ` (4 preceding siblings ...)
  2026-10-31 15:05 ` [PATCH 05/11] arm64: dts: qcom: pm660: " David Heidelberg via B4 Relay
@ 2026-10-31 15:05 ` David Heidelberg via B4 Relay
  2026-10-31 15:05 ` [PATCH 07/11] arm64: dts: qcom: sdm845-oneplus: " David Heidelberg via B4 Relay
                   ` (4 subsequent siblings)
  10 siblings, 0 replies; 14+ messages in thread
From: David Heidelberg via B4 Relay @ 2026-10-31 15:05 UTC (permalink / raw)
  To: Alexey Minnekhanov, Robin Snyders, Liam Girdwood, Mark Brown,
	Rob Herring, Krzysztof Kozlowski, Conor Dooley, Wesley Cheng,
	Bjorn Andersson, Konrad Dybcio, Abel Vesa, Casey Connolly,
	Sebastian Reichel
  Cc: Richard Acayan, linux-arm-msm, linux-kernel, devicetree,
	Sebastian Reichel, linux-pm, phone-devel, David Heidelberg

From: David Heidelberg <david@ixit.cz>

On this device, vbus was setup and switched off by the charger driver.
Enable proper driver.

Signed-off-by: David Heidelberg <david@ixit.cz>
---
 arch/arm64/boot/dts/qcom/sdm845-google-common.dtsi | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/arch/arm64/boot/dts/qcom/sdm845-google-common.dtsi b/arch/arm64/boot/dts/qcom/sdm845-google-common.dtsi
index f1379857e2742..1cffe3c7cf76a 100644
--- a/arch/arm64/boot/dts/qcom/sdm845-google-common.dtsi
+++ b/arch/arm64/boot/dts/qcom/sdm845-google-common.dtsi
@@ -451,16 +451,23 @@ &pm8998_resin {
 };
 
 &pmi8998_charger {
 	monitored-battery = <&battery>;
 
 	status = "okay";
 };
 
+&pmi8998_vbus {
+	regulator-min-microamp = <500000>;
+	regulator-max-microamp = <1500000>;
+
+	status = "okay";
+};
+
 &qupv3_id_0 {
 	status = "okay";
 };
 
 &qupv3_id_1 {
 	status = "okay";
 };
 

-- 
2.55.0



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

* [PATCH 07/11] arm64: dts: qcom: sdm845-oneplus: Enable vbus support
  2026-10-31 15:04 [PATCH 00/11] Enable Qualcomm VBUS block on PMI8998 and PM660 David Heidelberg via B4 Relay
                   ` (5 preceding siblings ...)
  2026-10-31 15:05 ` [PATCH 06/11] arm64: dts: qcom: sdm845-google: Enable vbus support David Heidelberg via B4 Relay
@ 2026-10-31 15:05 ` David Heidelberg via B4 Relay
  2026-10-31 15:05 ` [PATCH 08/11] arm64: dts: qcom: sdm845-shift-axolotl: " David Heidelberg via B4 Relay
                   ` (3 subsequent siblings)
  10 siblings, 0 replies; 14+ messages in thread
From: David Heidelberg via B4 Relay @ 2026-10-31 15:05 UTC (permalink / raw)
  To: Alexey Minnekhanov, Robin Snyders, Liam Girdwood, Mark Brown,
	Rob Herring, Krzysztof Kozlowski, Conor Dooley, Wesley Cheng,
	Bjorn Andersson, Konrad Dybcio, Abel Vesa, Casey Connolly,
	Sebastian Reichel
  Cc: Richard Acayan, linux-arm-msm, linux-kernel, devicetree,
	Sebastian Reichel, linux-pm, phone-devel, David Heidelberg

From: David Heidelberg <david@ixit.cz>

On this device, vbus was setup and switched off by the charger driver.
Enable proper driver.

Signed-off-by: David Heidelberg <david@ixit.cz>
---
 arch/arm64/boot/dts/qcom/sdm845-oneplus-common.dtsi | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/arch/arm64/boot/dts/qcom/sdm845-oneplus-common.dtsi b/arch/arm64/boot/dts/qcom/sdm845-oneplus-common.dtsi
index 1df09da3c4d71..4996ce24fee36 100644
--- a/arch/arm64/boot/dts/qcom/sdm845-oneplus-common.dtsi
+++ b/arch/arm64/boot/dts/qcom/sdm845-oneplus-common.dtsi
@@ -660,16 +660,23 @@ led-1 {
 		color = <LED_COLOR_ID_YELLOW>;
 		led-sources = <2>;
 		led-max-microamp = <500000>;
 		flash-max-microamp = <1500000>;
 		flash-max-timeout-us = <1280000>;
 	};
 };
 
+&pmi8998_vbus {
+	regulator-min-microamp = <500000>;
+	regulator-max-microamp = <1500000>;
+
+	status = "okay";
+};
+
 &q6afedai {
 	dai@22 {
 		reg = <QUATERNARY_MI2S_RX>;
 		qcom,sd-lines = <1>;
 	};
 
 	dai@23 {
 		reg = <QUATERNARY_MI2S_TX>;

-- 
2.55.0



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

* [PATCH 08/11] arm64: dts: qcom: sdm845-shift-axolotl: Enable vbus support
  2026-10-31 15:04 [PATCH 00/11] Enable Qualcomm VBUS block on PMI8998 and PM660 David Heidelberg via B4 Relay
                   ` (6 preceding siblings ...)
  2026-10-31 15:05 ` [PATCH 07/11] arm64: dts: qcom: sdm845-oneplus: " David Heidelberg via B4 Relay
@ 2026-10-31 15:05 ` David Heidelberg via B4 Relay
  2026-10-31 15:05 ` [PATCH 09/11] arm64: dts: qcom: sdm845-lg: " David Heidelberg via B4 Relay
                   ` (2 subsequent siblings)
  10 siblings, 0 replies; 14+ messages in thread
From: David Heidelberg via B4 Relay @ 2026-10-31 15:05 UTC (permalink / raw)
  To: Alexey Minnekhanov, Robin Snyders, Liam Girdwood, Mark Brown,
	Rob Herring, Krzysztof Kozlowski, Conor Dooley, Wesley Cheng,
	Bjorn Andersson, Konrad Dybcio, Abel Vesa, Casey Connolly,
	Sebastian Reichel
  Cc: Richard Acayan, linux-arm-msm, linux-kernel, devicetree,
	Sebastian Reichel, linux-pm, phone-devel, David Heidelberg

From: David Heidelberg <david@ixit.cz>

On this device, vbus was setup and switched off by the charger driver.
Enable proper driver.

Signed-off-by: David Heidelberg <david@ixit.cz>
---
 arch/arm64/boot/dts/qcom/sdm845-shift-axolotl.dts | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/arch/arm64/boot/dts/qcom/sdm845-shift-axolotl.dts b/arch/arm64/boot/dts/qcom/sdm845-shift-axolotl.dts
index 1b0eaeafbd517..124717214edd6 100644
--- a/arch/arm64/boot/dts/qcom/sdm845-shift-axolotl.dts
+++ b/arch/arm64/boot/dts/qcom/sdm845-shift-axolotl.dts
@@ -654,16 +654,23 @@ led-1 {
 		color = <LED_COLOR_ID_YELLOW>;
 		led-sources = <2>;
 		led-max-microamp = <100000>;
 		flash-max-microamp = <1100000>;
 		flash-max-timeout-us = <1280000>;
 	};
 };
 
+&pmi8998_vbus {
+	regulator-min-microamp = <500000>;
+	regulator-max-microamp = <1500000>;
+
+	status = "okay";
+};
+
 &qup_uart9_rx {
 	drive-strength = <2>;
 	bias-pull-up;
 };
 
 &qup_uart9_tx {
 	drive-strength = <2>;
 	bias-disable;

-- 
2.55.0



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

* [PATCH 09/11] arm64: dts: qcom: sdm845-lg: Enable vbus support
  2026-10-31 15:04 [PATCH 00/11] Enable Qualcomm VBUS block on PMI8998 and PM660 David Heidelberg via B4 Relay
                   ` (7 preceding siblings ...)
  2026-10-31 15:05 ` [PATCH 08/11] arm64: dts: qcom: sdm845-shift-axolotl: " David Heidelberg via B4 Relay
@ 2026-10-31 15:05 ` David Heidelberg via B4 Relay
  2026-10-31 15:05 ` [PATCH 10/11] arm64: dts: qcom: sdm845-xiaomi-beryllium: " David Heidelberg via B4 Relay
  2026-10-31 15:05 ` [PATCH 11/11] arm64: dts: qcom: sdm670-google: " David Heidelberg via B4 Relay
  10 siblings, 0 replies; 14+ messages in thread
From: David Heidelberg via B4 Relay @ 2026-10-31 15:05 UTC (permalink / raw)
  To: Alexey Minnekhanov, Robin Snyders, Liam Girdwood, Mark Brown,
	Rob Herring, Krzysztof Kozlowski, Conor Dooley, Wesley Cheng,
	Bjorn Andersson, Konrad Dybcio, Abel Vesa, Casey Connolly,
	Sebastian Reichel
  Cc: Richard Acayan, linux-arm-msm, linux-kernel, devicetree,
	Sebastian Reichel, linux-pm, phone-devel, David Heidelberg

From: David Heidelberg <david@ixit.cz>

On this device, vbus was setup and switched off by the charger driver.
Enable proper driver.

Signed-off-by: David Heidelberg <david@ixit.cz>
---
 arch/arm64/boot/dts/qcom/sdm845-lg-common.dtsi | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/arch/arm64/boot/dts/qcom/sdm845-lg-common.dtsi b/arch/arm64/boot/dts/qcom/sdm845-lg-common.dtsi
index 84f0e1f0bcd32..d88bad1d07959 100644
--- a/arch/arm64/boot/dts/qcom/sdm845-lg-common.dtsi
+++ b/arch/arm64/boot/dts/qcom/sdm845-lg-common.dtsi
@@ -529,16 +529,23 @@ led@4 {
 
 		led@5 {
 			reg = <5>;
 			color = <LED_COLOR_ID_RED>;
 		};
 	};
 };
 
+&pmi8998_vbus {
+	regulator-min-microamp = <500000>;
+	regulator-max-microamp = <1500000>;
+
+	status = "okay";
+};
+
 &pmi8998_wled {
 	qcom,current-limit-microamp = <20000>;
 	qcom,ovp-millivolt = <29600>;
 	qcom,switching-freq = <800>;
 	qcom,num-strings = <3>;
 	qcom,cabc;
 	status = "okay";
 };

-- 
2.55.0



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

* [PATCH 10/11] arm64: dts: qcom: sdm845-xiaomi-beryllium: Enable vbus support
  2026-10-31 15:04 [PATCH 00/11] Enable Qualcomm VBUS block on PMI8998 and PM660 David Heidelberg via B4 Relay
                   ` (8 preceding siblings ...)
  2026-10-31 15:05 ` [PATCH 09/11] arm64: dts: qcom: sdm845-lg: " David Heidelberg via B4 Relay
@ 2026-10-31 15:05 ` David Heidelberg via B4 Relay
  2026-10-31 15:05 ` [PATCH 11/11] arm64: dts: qcom: sdm670-google: " David Heidelberg via B4 Relay
  10 siblings, 0 replies; 14+ messages in thread
From: David Heidelberg via B4 Relay @ 2026-10-31 15:05 UTC (permalink / raw)
  To: Alexey Minnekhanov, Robin Snyders, Liam Girdwood, Mark Brown,
	Rob Herring, Krzysztof Kozlowski, Conor Dooley, Wesley Cheng,
	Bjorn Andersson, Konrad Dybcio, Abel Vesa, Casey Connolly,
	Sebastian Reichel
  Cc: Richard Acayan, linux-arm-msm, linux-kernel, devicetree,
	Sebastian Reichel, linux-pm, phone-devel, David Heidelberg

From: David Heidelberg <david@ixit.cz>

On this device, vbus was setup and switched off by the charger driver.
Enable proper driver.

Signed-off-by: David Heidelberg <david@ixit.cz>
---
 arch/arm64/boot/dts/qcom/sdm845-xiaomi-beryllium-common.dtsi | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/arch/arm64/boot/dts/qcom/sdm845-xiaomi-beryllium-common.dtsi b/arch/arm64/boot/dts/qcom/sdm845-xiaomi-beryllium-common.dtsi
index 35babe8c5f757..2986693b3ed71 100644
--- a/arch/arm64/boot/dts/qcom/sdm845-xiaomi-beryllium-common.dtsi
+++ b/arch/arm64/boot/dts/qcom/sdm845-xiaomi-beryllium-common.dtsi
@@ -414,16 +414,23 @@ led-1 {
 	};
 };
 
 &pm8998_resin {
 	linux,code = <KEY_VOLUMEDOWN>;
 	status = "okay";
 };
 
+&pmi8998_vbus {
+	regulator-min-microamp = <500000>;
+	regulator-max-microamp = <1500000>;
+
+	status = "okay";
+};
+
 /* QUAT I2S Uses 1 I2S SD Line for audio on TAS2559/60 amplifiers */
 &q6afedai {
 	dai@22 {
 		reg = <QUATERNARY_MI2S_RX>;
 		qcom,sd-lines = <0>;
 	};
 };
 
@@ -678,9 +685,8 @@ &wifi {
 	vdd-1.8-xo-supply = <&vreg_l7a_1p8>;
 	vdd-1.3-rfa-supply = <&vreg_l17a_1p3>;
 	vdd-3.3-ch0-supply = <&vreg_l25a_3p3>;
 	vdd-3.3-ch1-supply = <&vreg_l23a_3p3>;
 
 	qcom,calibration-variant = "xiaomi_beryllium";
 	qcom,snoc-host-cap-skip-quirk;
 };
-

-- 
2.55.0



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

* [PATCH 11/11] arm64: dts: qcom: sdm670-google: Enable vbus support
  2026-10-31 15:04 [PATCH 00/11] Enable Qualcomm VBUS block on PMI8998 and PM660 David Heidelberg via B4 Relay
                   ` (9 preceding siblings ...)
  2026-10-31 15:05 ` [PATCH 10/11] arm64: dts: qcom: sdm845-xiaomi-beryllium: " David Heidelberg via B4 Relay
@ 2026-10-31 15:05 ` David Heidelberg via B4 Relay
  10 siblings, 0 replies; 14+ messages in thread
From: David Heidelberg via B4 Relay @ 2026-10-31 15:05 UTC (permalink / raw)
  To: Alexey Minnekhanov, Robin Snyders, Liam Girdwood, Mark Brown,
	Rob Herring, Krzysztof Kozlowski, Conor Dooley, Wesley Cheng,
	Bjorn Andersson, Konrad Dybcio, Abel Vesa, Casey Connolly,
	Sebastian Reichel
  Cc: Richard Acayan, linux-arm-msm, linux-kernel, devicetree,
	Sebastian Reichel, linux-pm, phone-devel, David Heidelberg

From: David Heidelberg <david@ixit.cz>

On this device, vbus was setup and switched off by the charger driver.
Enable proper driver.

Signed-off-by: David Heidelberg <david@ixit.cz>
---
 arch/arm64/boot/dts/qcom/sdm670-google-common.dtsi | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/arch/arm64/boot/dts/qcom/sdm670-google-common.dtsi b/arch/arm64/boot/dts/qcom/sdm670-google-common.dtsi
index 4ce9b62abe53f..94590cccc590f 100644
--- a/arch/arm64/boot/dts/qcom/sdm670-google-common.dtsi
+++ b/arch/arm64/boot/dts/qcom/sdm670-google-common.dtsi
@@ -602,16 +602,23 @@ cam_vio_pin: cam-vio-state {
 		power-source = <0>;
 	};
 };
 
 &pm660_rradc {
 	status = "okay";
 };
 
+&pm660_vbus {
+	regulator-min-microamp = <500000>;
+	regulator-max-microamp = <1500000>;
+
+	status = "okay";
+};
+
 &pm660l_flash {
 	status = "okay";
 
 	led-0 {
 		function = LED_FUNCTION_FLASH;
 		color = <LED_COLOR_ID_WHITE>;
 		led-sources = <1>, <2>;
 		led-max-microamp = <500000>;

-- 
2.55.0



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

* Re: [PATCH 03/11] dt-bindings: regulator: qcom,usb-vbus-regulator: Add pmi8998 and pm660
  2026-10-31 15:05 ` [PATCH 03/11] dt-bindings: regulator: qcom,usb-vbus-regulator: Add pmi8998 and pm660 David Heidelberg via B4 Relay
@ 2026-11-02  9:58   ` Konrad Dybcio
  2026-11-02 10:04     ` David Heidelberg
  0 siblings, 1 reply; 14+ messages in thread
From: Konrad Dybcio @ 2026-11-02  9:58 UTC (permalink / raw)
  To: david, Alexey Minnekhanov, Robin Snyders, Liam Girdwood,
	Mark Brown, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
	Wesley Cheng, Bjorn Andersson, Konrad Dybcio, Abel Vesa,
	Casey Connolly, Sebastian Reichel
  Cc: Richard Acayan, linux-arm-msm, linux-kernel, devicetree,
	Sebastian Reichel, linux-pm, phone-devel

On 10/31/26 4:05 PM, David Heidelberg via B4 Relay wrote:
> From: David Heidelberg <david@ixit.cz>
> 
> The VBUS register block on the PMI8998 and PM660 PMIC shares the design
> with the PM8150B one. Define corresponding compatible string, having the
> qcom,pm8150b-vbus-reg as a fallback.
> 
> Signed-off-by: David Heidelberg <david@ixit.cz>
> ---

This is absolutely not true. They both have a similar CMD_OTG
register at +0x40 which makes the driver seem like it's working
for you, but otherwise the register layout diverges a lot.

Konrad

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

* Re: [PATCH 03/11] dt-bindings: regulator: qcom,usb-vbus-regulator: Add pmi8998 and pm660
  2026-11-02  9:58   ` Konrad Dybcio
@ 2026-11-02 10:04     ` David Heidelberg
  0 siblings, 0 replies; 14+ messages in thread
From: David Heidelberg @ 2026-11-02 10:04 UTC (permalink / raw)
  To: Konrad Dybcio, Alexey Minnekhanov, Robin Snyders, Liam Girdwood,
	Mark Brown, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
	Wesley Cheng, Bjorn Andersson, Konrad Dybcio, Abel Vesa,
	Casey Connolly, Sebastian Reichel
  Cc: Richard Acayan, linux-arm-msm, linux-kernel, devicetree,
	Sebastian Reichel, linux-pm, phone-devel

On 02/11/2026 10:58, Konrad Dybcio wrote:
> On 10/31/26 4:05 PM, David Heidelberg via B4 Relay wrote:
>> From: David Heidelberg <david@ixit.cz>
>>
>> The VBUS register block on the PMI8998 and PM660 PMIC shares the design
>> with the PM8150B one. Define corresponding compatible string, having the
>> qcom,pm8150b-vbus-reg as a fallback.
>>
>> Signed-off-by: David Heidelberg <david@ixit.cz>
>> ---
> 
> This is absolutely not true. They both have a similar CMD_OTG
> register at +0x40 which makes the driver seem like it's working
> for you, but otherwise the register layout diverges a lot.

In that case, since current skeleton and implemented features are common, I 
would add separate pmi8998/pm660 compatible to the driver, without functional 
changes AND without the compatible fallback to 8150b?

Looking into docs, do you consider it good enough?

David

> 
> Konrad


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

end of thread, other threads:[~2026-11-02 10:04 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-10-31 15:04 [PATCH 00/11] Enable Qualcomm VBUS block on PMI8998 and PM660 David Heidelberg via B4 Relay
2026-10-31 15:04 ` [PATCH 01/11] regulator: qcom_usb_vbus: Fix the MODULE_LICENSE() string David Heidelberg via B4 Relay
2026-10-31 15:04 ` [PATCH 02/11] power: supply: qcom_smbx: Do not interfere with vbus driver David Heidelberg via B4 Relay
2026-10-31 15:05 ` [PATCH 03/11] dt-bindings: regulator: qcom,usb-vbus-regulator: Add pmi8998 and pm660 David Heidelberg via B4 Relay
2026-11-02  9:58   ` Konrad Dybcio
2026-11-02 10:04     ` David Heidelberg
2026-10-31 15:05 ` [PATCH 04/11] arm64: dts: qcom: pmi8998: Add node for PMIC VBUS booster David Heidelberg via B4 Relay
2026-10-31 15:05 ` [PATCH 05/11] arm64: dts: qcom: pm660: " David Heidelberg via B4 Relay
2026-10-31 15:05 ` [PATCH 06/11] arm64: dts: qcom: sdm845-google: Enable vbus support David Heidelberg via B4 Relay
2026-10-31 15:05 ` [PATCH 07/11] arm64: dts: qcom: sdm845-oneplus: " David Heidelberg via B4 Relay
2026-10-31 15:05 ` [PATCH 08/11] arm64: dts: qcom: sdm845-shift-axolotl: " David Heidelberg via B4 Relay
2026-10-31 15:05 ` [PATCH 09/11] arm64: dts: qcom: sdm845-lg: " David Heidelberg via B4 Relay
2026-10-31 15:05 ` [PATCH 10/11] arm64: dts: qcom: sdm845-xiaomi-beryllium: " David Heidelberg via B4 Relay
2026-10-31 15:05 ` [PATCH 11/11] arm64: dts: qcom: sdm670-google: " David Heidelberg via B4 Relay

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®