* [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®