* [PATCH 0/6] usb: typec: tcpm: qcom: use connector to specify VBUS regulator.
@ 2026-05-19 10:48 Dmitry Baryshkov
2026-05-19 10:48 ` [PATCH 1/6] dt-bindings: usb: qcom,pmic-typec: deprecate device-specific VBUS Dmitry Baryshkov
` (6 more replies)
0 siblings, 7 replies; 16+ messages in thread
From: Dmitry Baryshkov @ 2026-05-19 10:48 UTC (permalink / raw)
To: Bryan O'Donoghue, Greg Kroah-Hartman, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Heikki Krogerus, Liam Girdwood,
Mark Brown, Bjorn Andersson, Konrad Dybcio
Cc: linux-arm-msm, linux-usb, devicetree, linux-kernel
The Qualcomm PMIC Type-C devices historically provided their own way of
specifying the VBUS regulator, via the device's vdd-vbus-supply node.
This is not ideal as the VBUS is supplied to the connector and not to
the Type-C block in the PMIC. In theory hardware can use different
regulators for VBUS, so specifying it in the PMIC DTSI is not correct.
Deprecate this property in favour of the standard way of specifying it
(via the connector's vbus-supply property).
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
---
Dmitry Baryshkov (6):
dt-bindings: usb: qcom,pmic-typec: deprecate device-specific VBUS
usb: typec: tcpm: qcom: prefer VBUS supply from the connector node
arm64: dts: qcom: pm4125: move vdd-vbus-supply to connector nodes
arm64: dts: qcom: pm7250b: move vdd-vbus-supply to connector nodes
arm64: dts: qcom: pm8150b: move vdd-vbus-supply to connector nodes
arm64: dts: qcom: pmi632: move vdd-vbus-supply to connector nodes
Documentation/devicetree/bindings/usb/qcom,pmic-typec.yaml | 4 ++--
arch/arm64/boot/dts/qcom/pm4125.dtsi | 1 -
arch/arm64/boot/dts/qcom/pm7250b.dtsi | 1 -
arch/arm64/boot/dts/qcom/pm8150b.dtsi | 1 -
arch/arm64/boot/dts/qcom/pmi632.dtsi | 1 -
arch/arm64/boot/dts/qcom/qrb2210-rb1.dts | 2 ++
arch/arm64/boot/dts/qcom/qrb4210-rb2.dts | 2 ++
arch/arm64/boot/dts/qcom/qrb5165-rb5.dts | 2 ++
arch/arm64/boot/dts/qcom/sdm632-fairphone-fp3.dts | 2 ++
arch/arm64/boot/dts/qcom/sm6115-fxtec-pro1x.dts | 2 ++
arch/arm64/boot/dts/qcom/sm7225-fairphone-fp4.dts | 2 ++
arch/arm64/boot/dts/qcom/sm8150-hdk.dts | 2 ++
arch/arm64/boot/dts/qcom/sm8250-xiaomi-elish-common.dtsi | 2 ++
drivers/usb/typec/tcpm/qcom/qcom_pmic_typec_port.c | 12 +++++++++++-
14 files changed, 29 insertions(+), 7 deletions(-)
---
base-commit: 80dd246accce631c328ea43294e53b2b2dd2aa32
change-id: 20260519-fix-tcpm-vbus-aabde21f339d
Best regards,
--
With best wishes
Dmitry
^ permalink raw reply [flat|nested] 16+ messages in thread
* [PATCH 1/6] dt-bindings: usb: qcom,pmic-typec: deprecate device-specific VBUS
2026-05-19 10:48 [PATCH 0/6] usb: typec: tcpm: qcom: use connector to specify VBUS regulator Dmitry Baryshkov
@ 2026-05-19 10:48 ` Dmitry Baryshkov
2026-05-19 11:26 ` Konrad Dybcio
2026-05-19 11:37 ` Bryan O'Donoghue
2026-05-19 10:48 ` [PATCH 2/6] usb: typec: tcpm: qcom: prefer VBUS supply from the connector node Dmitry Baryshkov
` (5 subsequent siblings)
6 siblings, 2 replies; 16+ messages in thread
From: Dmitry Baryshkov @ 2026-05-19 10:48 UTC (permalink / raw)
To: Bryan O'Donoghue, Greg Kroah-Hartman, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Heikki Krogerus, Liam Girdwood,
Mark Brown, Bjorn Andersson, Konrad Dybcio
Cc: linux-arm-msm, linux-usb, devicetree, linux-kernel
The Qualcomm PMIC Type-C devices historically provided their own way of
specifying the VBUS regulator, via the device's vdd-vbus-supply node.
This is not ideal as the VBUS is supplied to the connector and not to
the Type-C block in the PMIC. Deprecate this property in favour of the
standard way of specifying it (via the connector's vbus-supply
property).
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
---
Documentation/devicetree/bindings/usb/qcom,pmic-typec.yaml | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/Documentation/devicetree/bindings/usb/qcom,pmic-typec.yaml b/Documentation/devicetree/bindings/usb/qcom,pmic-typec.yaml
index 6d3fa2bc9cee..7a68423fb97c 100644
--- a/Documentation/devicetree/bindings/usb/qcom,pmic-typec.yaml
+++ b/Documentation/devicetree/bindings/usb/qcom,pmic-typec.yaml
@@ -79,7 +79,8 @@ properties:
- const: fr-swap
vdd-vbus-supply:
- description: VBUS power supply.
+ deprecated: true
+ description: use connector/vbus-supply instead.
vdd-pdphy-supply:
description: VDD regulator supply to the PDPHY.
@@ -94,7 +95,6 @@ required:
- reg
- interrupts
- interrupt-names
- - vdd-vbus-supply
allOf:
- if:
--
2.47.3
^ permalink raw reply related [flat|nested] 16+ messages in thread
* [PATCH 2/6] usb: typec: tcpm: qcom: prefer VBUS supply from the connector node
2026-05-19 10:48 [PATCH 0/6] usb: typec: tcpm: qcom: use connector to specify VBUS regulator Dmitry Baryshkov
2026-05-19 10:48 ` [PATCH 1/6] dt-bindings: usb: qcom,pmic-typec: deprecate device-specific VBUS Dmitry Baryshkov
@ 2026-05-19 10:48 ` Dmitry Baryshkov
2026-05-19 11:25 ` Konrad Dybcio
2026-05-19 14:05 ` Heikki Krogerus
2026-05-19 10:48 ` [PATCH 3/6] arm64: dts: qcom: pm4125: move vdd-vbus-supply to connector nodes Dmitry Baryshkov
` (4 subsequent siblings)
6 siblings, 2 replies; 16+ messages in thread
From: Dmitry Baryshkov @ 2026-05-19 10:48 UTC (permalink / raw)
To: Bryan O'Donoghue, Greg Kroah-Hartman, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Heikki Krogerus, Liam Girdwood,
Mark Brown, Bjorn Andersson, Konrad Dybcio
Cc: linux-arm-msm, linux-usb, devicetree, linux-kernel
Current way of specifying VBUS supply (via the device's vdd-vbus-supply
property) is not ideal. In the end, VBUS is supplied to the USB-C
connector rather than the Type-C block in the PMIC. Follow the standard
way of specifying it (via the connector node) and fallback to the old
property if there is no vbus-supply in the connector node.
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
---
drivers/usb/typec/tcpm/qcom/qcom_pmic_typec_port.c | 12 +++++++++++-
1 file changed, 11 insertions(+), 1 deletion(-)
diff --git a/drivers/usb/typec/tcpm/qcom/qcom_pmic_typec_port.c b/drivers/usb/typec/tcpm/qcom/qcom_pmic_typec_port.c
index 8051eaa46991..429bd42a0e62 100644
--- a/drivers/usb/typec/tcpm/qcom/qcom_pmic_typec_port.c
+++ b/drivers/usb/typec/tcpm/qcom/qcom_pmic_typec_port.c
@@ -9,6 +9,7 @@
#include <linux/kernel.h>
#include <linux/mod_devicetable.h>
#include <linux/module.h>
+#include <linux/of.h>
#include <linux/platform_device.h>
#include <linux/regmap.h>
#include <linux/regulator/consumer.h>
@@ -704,6 +705,7 @@ int qcom_pmic_typec_port_probe(struct platform_device *pdev,
struct device *dev = &pdev->dev;
struct pmic_typec_port_irq_data *irq_data;
struct pmic_typec_port *pmic_typec_port;
+ struct fwnode_handle *connector;
int i, ret, irq;
pmic_typec_port = devm_kzalloc(dev, sizeof(*pmic_typec_port), GFP_KERNEL);
@@ -720,7 +722,15 @@ int qcom_pmic_typec_port_probe(struct platform_device *pdev,
mutex_init(&pmic_typec_port->vbus_lock);
- pmic_typec_port->vdd_vbus = devm_regulator_get(dev, "vdd-vbus");
+ connector = device_get_named_child_node(dev, "connector");
+ if (!connector)
+ return -EINVAL;
+
+ pmic_typec_port->vdd_vbus = devm_of_regulator_get_optional(dev,
+ to_of_node(connector),
+ "vbus");
+ if (pmic_typec_port->vdd_vbus == ERR_PTR(-ENODEV))
+ pmic_typec_port->vdd_vbus = devm_regulator_get(dev, "vdd-vbus");
if (IS_ERR(pmic_typec_port->vdd_vbus))
return PTR_ERR(pmic_typec_port->vdd_vbus);
--
2.47.3
^ permalink raw reply related [flat|nested] 16+ messages in thread
* [PATCH 3/6] arm64: dts: qcom: pm4125: move vdd-vbus-supply to connector nodes
2026-05-19 10:48 [PATCH 0/6] usb: typec: tcpm: qcom: use connector to specify VBUS regulator Dmitry Baryshkov
2026-05-19 10:48 ` [PATCH 1/6] dt-bindings: usb: qcom,pmic-typec: deprecate device-specific VBUS Dmitry Baryshkov
2026-05-19 10:48 ` [PATCH 2/6] usb: typec: tcpm: qcom: prefer VBUS supply from the connector node Dmitry Baryshkov
@ 2026-05-19 10:48 ` Dmitry Baryshkov
2026-05-19 11:26 ` Konrad Dybcio
2026-05-19 10:48 ` [PATCH 4/6] arm64: dts: qcom: pm7250b: " Dmitry Baryshkov
` (3 subsequent siblings)
6 siblings, 1 reply; 16+ messages in thread
From: Dmitry Baryshkov @ 2026-05-19 10:48 UTC (permalink / raw)
To: Bryan O'Donoghue, Greg Kroah-Hartman, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Heikki Krogerus, Liam Girdwood,
Mark Brown, Bjorn Andersson, Konrad Dybcio
Cc: linux-arm-msm, linux-usb, devicetree, linux-kernel
Instead of specifying the VBUS supply as powering on the Type-C block in
the PMIC, follow the standard schema and use vbus-supply property of the
usb-c connector itself.
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
---
arch/arm64/boot/dts/qcom/pm4125.dtsi | 1 -
arch/arm64/boot/dts/qcom/qrb2210-rb1.dts | 2 ++
2 files changed, 2 insertions(+), 1 deletion(-)
diff --git a/arch/arm64/boot/dts/qcom/pm4125.dtsi b/arch/arm64/boot/dts/qcom/pm4125.dtsi
index cf8c822e80ce..542e8fe030da 100644
--- a/arch/arm64/boot/dts/qcom/pm4125.dtsi
+++ b/arch/arm64/boot/dts/qcom/pm4125.dtsi
@@ -61,7 +61,6 @@ pm4125_typec: typec@1500 {
"attach-detach",
"legacy-cable-detect",
"try-snk-src-detect";
- vdd-vbus-supply = <&pm4125_vbus>;
status = "disabled";
};
diff --git a/arch/arm64/boot/dts/qcom/qrb2210-rb1.dts b/arch/arm64/boot/dts/qcom/qrb2210-rb1.dts
index da46e9d65528..4ace2d6c06ce 100644
--- a/arch/arm64/boot/dts/qcom/qrb2210-rb1.dts
+++ b/arch/arm64/boot/dts/qcom/qrb2210-rb1.dts
@@ -409,6 +409,8 @@ connector {
typec-power-opmode = "default";
pd-disable;
+ vbus-supply = <&pm4125_vbus>;
+
ports {
#address-cells = <1>;
#size-cells = <0>;
--
2.47.3
^ permalink raw reply related [flat|nested] 16+ messages in thread
* [PATCH 4/6] arm64: dts: qcom: pm7250b: move vdd-vbus-supply to connector nodes
2026-05-19 10:48 [PATCH 0/6] usb: typec: tcpm: qcom: use connector to specify VBUS regulator Dmitry Baryshkov
` (2 preceding siblings ...)
2026-05-19 10:48 ` [PATCH 3/6] arm64: dts: qcom: pm4125: move vdd-vbus-supply to connector nodes Dmitry Baryshkov
@ 2026-05-19 10:48 ` Dmitry Baryshkov
2026-05-19 11:27 ` Konrad Dybcio
2026-05-19 10:48 ` [PATCH 5/6] arm64: dts: qcom: pm8150b: " Dmitry Baryshkov
` (2 subsequent siblings)
6 siblings, 1 reply; 16+ messages in thread
From: Dmitry Baryshkov @ 2026-05-19 10:48 UTC (permalink / raw)
To: Bryan O'Donoghue, Greg Kroah-Hartman, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Heikki Krogerus, Liam Girdwood,
Mark Brown, Bjorn Andersson, Konrad Dybcio
Cc: linux-arm-msm, linux-usb, devicetree, linux-kernel
Instead of specifying the VBUS supply as powering on the Type-C block in
the PMIC, follow the standard schema and use vbus-supply property of the
usb-c connector itself.
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
---
arch/arm64/boot/dts/qcom/pm7250b.dtsi | 1 -
arch/arm64/boot/dts/qcom/sm7225-fairphone-fp4.dts | 2 ++
2 files changed, 2 insertions(+), 1 deletion(-)
diff --git a/arch/arm64/boot/dts/qcom/pm7250b.dtsi b/arch/arm64/boot/dts/qcom/pm7250b.dtsi
index 0761e6b5fd8d..43cab07126c5 100644
--- a/arch/arm64/boot/dts/qcom/pm7250b.dtsi
+++ b/arch/arm64/boot/dts/qcom/pm7250b.dtsi
@@ -86,7 +86,6 @@ pm7250b_typec: typec@1500 {
"msg-tx-discarded",
"msg-rx-discarded",
"fr-swap";
- vdd-vbus-supply = <&pm7250b_vbus>;
status = "disabled";
};
diff --git a/arch/arm64/boot/dts/qcom/sm7225-fairphone-fp4.dts b/arch/arm64/boot/dts/qcom/sm7225-fairphone-fp4.dts
index 3964aae47fd4..23f950067a08 100644
--- a/arch/arm64/boot/dts/qcom/sm7225-fairphone-fp4.dts
+++ b/arch/arm64/boot/dts/qcom/sm7225-fairphone-fp4.dts
@@ -953,6 +953,8 @@ connector {
typec-power-opmode = "default";
pd-disable;
+ vbus-supply = <&pm7250b_vbus>;
+
ports {
#address-cells = <1>;
#size-cells = <0>;
--
2.47.3
^ permalink raw reply related [flat|nested] 16+ messages in thread
* [PATCH 5/6] arm64: dts: qcom: pm8150b: move vdd-vbus-supply to connector nodes
2026-05-19 10:48 [PATCH 0/6] usb: typec: tcpm: qcom: use connector to specify VBUS regulator Dmitry Baryshkov
` (3 preceding siblings ...)
2026-05-19 10:48 ` [PATCH 4/6] arm64: dts: qcom: pm7250b: " Dmitry Baryshkov
@ 2026-05-19 10:48 ` Dmitry Baryshkov
2026-05-19 11:27 ` Konrad Dybcio
2026-05-19 10:48 ` [PATCH 6/6] arm64: dts: qcom: pmi632: " Dmitry Baryshkov
2026-05-19 11:41 ` [PATCH 0/6] usb: typec: tcpm: qcom: use connector to specify VBUS regulator Bryan O'Donoghue
6 siblings, 1 reply; 16+ messages in thread
From: Dmitry Baryshkov @ 2026-05-19 10:48 UTC (permalink / raw)
To: Bryan O'Donoghue, Greg Kroah-Hartman, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Heikki Krogerus, Liam Girdwood,
Mark Brown, Bjorn Andersson, Konrad Dybcio
Cc: linux-arm-msm, linux-usb, devicetree, linux-kernel
Instead of specifying the VBUS supply as powering on the Type-C block in
the PMIC, follow the standard schema and use vbus-supply property of the
usb-c connector itself.
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
---
arch/arm64/boot/dts/qcom/pm8150b.dtsi | 1 -
arch/arm64/boot/dts/qcom/qrb5165-rb5.dts | 2 ++
arch/arm64/boot/dts/qcom/sm8150-hdk.dts | 2 ++
arch/arm64/boot/dts/qcom/sm8250-xiaomi-elish-common.dtsi | 2 ++
4 files changed, 6 insertions(+), 1 deletion(-)
diff --git a/arch/arm64/boot/dts/qcom/pm8150b.dtsi b/arch/arm64/boot/dts/qcom/pm8150b.dtsi
index 3f7b0b6a1d10..b83be4b6cb1c 100644
--- a/arch/arm64/boot/dts/qcom/pm8150b.dtsi
+++ b/arch/arm64/boot/dts/qcom/pm8150b.dtsi
@@ -95,7 +95,6 @@ pm8150b_typec: typec@1500 {
"msg-tx-discarded",
"msg-rx-discarded",
"fr-swap";
- vdd-vbus-supply = <&pm8150b_vbus>;
};
pm8150b_temp: temp-alarm@2400 {
diff --git a/arch/arm64/boot/dts/qcom/qrb5165-rb5.dts b/arch/arm64/boot/dts/qcom/qrb5165-rb5.dts
index 54da0d759a67..690b484352ed 100644
--- a/arch/arm64/boot/dts/qcom/qrb5165-rb5.dts
+++ b/arch/arm64/boot/dts/qcom/qrb5165-rb5.dts
@@ -1499,6 +1499,8 @@ connector {
data-role = "dual";
self-powered;
+ vbus-supply = <&pm8150b_vbus>;
+
source-pdos = <PDO_FIXED(5000, 3000,
PDO_FIXED_DUAL_ROLE |
PDO_FIXED_USB_COMM |
diff --git a/arch/arm64/boot/dts/qcom/sm8150-hdk.dts b/arch/arm64/boot/dts/qcom/sm8150-hdk.dts
index 6ae6e07c37df..8fb04ce72f91 100644
--- a/arch/arm64/boot/dts/qcom/sm8150-hdk.dts
+++ b/arch/arm64/boot/dts/qcom/sm8150-hdk.dts
@@ -572,6 +572,8 @@ connector {
data-role = "dual";
self-powered;
+ vbus-supply = <&pm8150b_vbus>;
+
source-pdos = <PDO_FIXED(5000, 3000,
PDO_FIXED_DUAL_ROLE |
PDO_FIXED_USB_COMM |
diff --git a/arch/arm64/boot/dts/qcom/sm8250-xiaomi-elish-common.dtsi b/arch/arm64/boot/dts/qcom/sm8250-xiaomi-elish-common.dtsi
index c017399297b9..51b57c697a75 100644
--- a/arch/arm64/boot/dts/qcom/sm8250-xiaomi-elish-common.dtsi
+++ b/arch/arm64/boot/dts/qcom/sm8250-xiaomi-elish-common.dtsi
@@ -725,6 +725,8 @@ connector {
data-role = "dual";
self-powered;
+ vbus-supply = <&pm8150b_vbus>;
+
source-pdos = <PDO_FIXED(5000, 3000,
PDO_FIXED_DUAL_ROLE |
PDO_FIXED_USB_COMM |
--
2.47.3
^ permalink raw reply related [flat|nested] 16+ messages in thread
* [PATCH 6/6] arm64: dts: qcom: pmi632: move vdd-vbus-supply to connector nodes
2026-05-19 10:48 [PATCH 0/6] usb: typec: tcpm: qcom: use connector to specify VBUS regulator Dmitry Baryshkov
` (4 preceding siblings ...)
2026-05-19 10:48 ` [PATCH 5/6] arm64: dts: qcom: pm8150b: " Dmitry Baryshkov
@ 2026-05-19 10:48 ` Dmitry Baryshkov
2026-05-19 11:27 ` Konrad Dybcio
2026-05-19 11:41 ` [PATCH 0/6] usb: typec: tcpm: qcom: use connector to specify VBUS regulator Bryan O'Donoghue
6 siblings, 1 reply; 16+ messages in thread
From: Dmitry Baryshkov @ 2026-05-19 10:48 UTC (permalink / raw)
To: Bryan O'Donoghue, Greg Kroah-Hartman, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Heikki Krogerus, Liam Girdwood,
Mark Brown, Bjorn Andersson, Konrad Dybcio
Cc: linux-arm-msm, linux-usb, devicetree, linux-kernel
Instead of specifying the VBUS supply as powering on the Type-C block in
the PMIC, follow the standard schema and use vbus-supply property of the
usb-c connector itself.
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
---
arch/arm64/boot/dts/qcom/pmi632.dtsi | 1 -
arch/arm64/boot/dts/qcom/qrb4210-rb2.dts | 2 ++
arch/arm64/boot/dts/qcom/sdm632-fairphone-fp3.dts | 2 ++
arch/arm64/boot/dts/qcom/sm6115-fxtec-pro1x.dts | 2 ++
4 files changed, 6 insertions(+), 1 deletion(-)
diff --git a/arch/arm64/boot/dts/qcom/pmi632.dtsi b/arch/arm64/boot/dts/qcom/pmi632.dtsi
index 8c899d148e46..b0ed35094a98 100644
--- a/arch/arm64/boot/dts/qcom/pmi632.dtsi
+++ b/arch/arm64/boot/dts/qcom/pmi632.dtsi
@@ -69,7 +69,6 @@ pmi632_typec: typec@1500 {
"attach-detach",
"legacy-cable-detect",
"try-snk-src-detect";
- vdd-vbus-supply = <&pmi632_vbus>;
status = "disabled";
};
diff --git a/arch/arm64/boot/dts/qcom/qrb4210-rb2.dts b/arch/arm64/boot/dts/qcom/qrb4210-rb2.dts
index 1203172729fa..22baee407fbe 100644
--- a/arch/arm64/boot/dts/qcom/qrb4210-rb2.dts
+++ b/arch/arm64/boot/dts/qcom/qrb4210-rb2.dts
@@ -323,6 +323,8 @@ connector {
typec-power-opmode = "default";
pd-disable;
+ vbus-supply = <&pmi632_vbus>;
+
ports {
#address-cells = <1>;
#size-cells = <0>;
diff --git a/arch/arm64/boot/dts/qcom/sdm632-fairphone-fp3.dts b/arch/arm64/boot/dts/qcom/sdm632-fairphone-fp3.dts
index 0edb2992b902..3223884f9cd6 100644
--- a/arch/arm64/boot/dts/qcom/sdm632-fairphone-fp3.dts
+++ b/arch/arm64/boot/dts/qcom/sdm632-fairphone-fp3.dts
@@ -252,6 +252,8 @@ connector {
typec-power-opmode = "default";
pd-disable;
+ vbus-supply = <&pmi632_vbus>;
+
port {
pmi632_hs_in: endpoint {
remote-endpoint = <&usb_dwc3_hs>;
diff --git a/arch/arm64/boot/dts/qcom/sm6115-fxtec-pro1x.dts b/arch/arm64/boot/dts/qcom/sm6115-fxtec-pro1x.dts
index 466ad409e924..0f23eaef01f2 100644
--- a/arch/arm64/boot/dts/qcom/sm6115-fxtec-pro1x.dts
+++ b/arch/arm64/boot/dts/qcom/sm6115-fxtec-pro1x.dts
@@ -251,6 +251,8 @@ connector {
typec-power-opmode = "default";
pd-disable;
+ vbus-supply = <&pmi632_vbus>;
+
ports {
#address-cells = <1>;
#size-cells = <0>;
--
2.47.3
^ permalink raw reply related [flat|nested] 16+ messages in thread
* Re: [PATCH 2/6] usb: typec: tcpm: qcom: prefer VBUS supply from the connector node
2026-05-19 10:48 ` [PATCH 2/6] usb: typec: tcpm: qcom: prefer VBUS supply from the connector node Dmitry Baryshkov
@ 2026-05-19 11:25 ` Konrad Dybcio
2026-05-19 14:05 ` Heikki Krogerus
1 sibling, 0 replies; 16+ messages in thread
From: Konrad Dybcio @ 2026-05-19 11:25 UTC (permalink / raw)
To: Dmitry Baryshkov, Bryan O'Donoghue, Greg Kroah-Hartman,
Rob Herring, Krzysztof Kozlowski, Conor Dooley, Heikki Krogerus,
Liam Girdwood, Mark Brown, Bjorn Andersson, Konrad Dybcio
Cc: linux-arm-msm, linux-usb, devicetree, linux-kernel
On 5/19/26 12:48 PM, Dmitry Baryshkov wrote:
> Current way of specifying VBUS supply (via the device's vdd-vbus-supply
> property) is not ideal. In the end, VBUS is supplied to the USB-C
> connector rather than the Type-C block in the PMIC. Follow the standard
> way of specifying it (via the connector node) and fallback to the old
> property if there is no vbus-supply in the connector node.
>
> Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
> ---
> drivers/usb/typec/tcpm/qcom/qcom_pmic_typec_port.c | 12 +++++++++++-
> 1 file changed, 11 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/usb/typec/tcpm/qcom/qcom_pmic_typec_port.c b/drivers/usb/typec/tcpm/qcom/qcom_pmic_typec_port.c
> index 8051eaa46991..429bd42a0e62 100644
> --- a/drivers/usb/typec/tcpm/qcom/qcom_pmic_typec_port.c
> +++ b/drivers/usb/typec/tcpm/qcom/qcom_pmic_typec_port.c
> @@ -9,6 +9,7 @@
> #include <linux/kernel.h>
> #include <linux/mod_devicetable.h>
> #include <linux/module.h>
> +#include <linux/of.h>
> #include <linux/platform_device.h>
> #include <linux/regmap.h>
> #include <linux/regulator/consumer.h>
> @@ -704,6 +705,7 @@ int qcom_pmic_typec_port_probe(struct platform_device *pdev,
> struct device *dev = &pdev->dev;
> struct pmic_typec_port_irq_data *irq_data;
> struct pmic_typec_port *pmic_typec_port;
> + struct fwnode_handle *connector;
> int i, ret, irq;
>
> pmic_typec_port = devm_kzalloc(dev, sizeof(*pmic_typec_port), GFP_KERNEL);
> @@ -720,7 +722,15 @@ int qcom_pmic_typec_port_probe(struct platform_device *pdev,
>
> mutex_init(&pmic_typec_port->vbus_lock);
>
> - pmic_typec_port->vdd_vbus = devm_regulator_get(dev, "vdd-vbus");
> + connector = device_get_named_child_node(dev, "connector");
> + if (!connector)
> + return -EINVAL;
> +
> + pmic_typec_port->vdd_vbus = devm_of_regulator_get_optional(dev,
> + to_of_node(connector),
> + "vbus");
> + if (pmic_typec_port->vdd_vbus == ERR_PTR(-ENODEV))
> + pmic_typec_port->vdd_vbus = devm_regulator_get(dev, "vdd-vbus");
One could decipher this by reading the code, but please leave a comment
hinting why this is a thing
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Konrad
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [PATCH 1/6] dt-bindings: usb: qcom,pmic-typec: deprecate device-specific VBUS
2026-05-19 10:48 ` [PATCH 1/6] dt-bindings: usb: qcom,pmic-typec: deprecate device-specific VBUS Dmitry Baryshkov
@ 2026-05-19 11:26 ` Konrad Dybcio
2026-05-19 11:37 ` Bryan O'Donoghue
1 sibling, 0 replies; 16+ messages in thread
From: Konrad Dybcio @ 2026-05-19 11:26 UTC (permalink / raw)
To: Dmitry Baryshkov, Bryan O'Donoghue, Greg Kroah-Hartman,
Rob Herring, Krzysztof Kozlowski, Conor Dooley, Heikki Krogerus,
Liam Girdwood, Mark Brown, Bjorn Andersson, Konrad Dybcio
Cc: linux-arm-msm, linux-usb, devicetree, linux-kernel
On 5/19/26 12:48 PM, Dmitry Baryshkov wrote:
> The Qualcomm PMIC Type-C devices historically provided their own way of
> specifying the VBUS regulator, via the device's vdd-vbus-supply node.
> This is not ideal as the VBUS is supplied to the connector and not to
> the Type-C block in the PMIC. Deprecate this property in favour of the
> standard way of specifying it (via the connector's vbus-supply
> property).
>
> Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
> ---
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
You may also update the example
Konrad
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [PATCH 3/6] arm64: dts: qcom: pm4125: move vdd-vbus-supply to connector nodes
2026-05-19 10:48 ` [PATCH 3/6] arm64: dts: qcom: pm4125: move vdd-vbus-supply to connector nodes Dmitry Baryshkov
@ 2026-05-19 11:26 ` Konrad Dybcio
0 siblings, 0 replies; 16+ messages in thread
From: Konrad Dybcio @ 2026-05-19 11:26 UTC (permalink / raw)
To: Dmitry Baryshkov, Bryan O'Donoghue, Greg Kroah-Hartman,
Rob Herring, Krzysztof Kozlowski, Conor Dooley, Heikki Krogerus,
Liam Girdwood, Mark Brown, Bjorn Andersson, Konrad Dybcio
Cc: linux-arm-msm, linux-usb, devicetree, linux-kernel
On 5/19/26 12:48 PM, Dmitry Baryshkov wrote:
> Instead of specifying the VBUS supply as powering on the Type-C block in
> the PMIC, follow the standard schema and use vbus-supply property of the
> usb-c connector itself.
>
> Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
> ---
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Konrad
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [PATCH 4/6] arm64: dts: qcom: pm7250b: move vdd-vbus-supply to connector nodes
2026-05-19 10:48 ` [PATCH 4/6] arm64: dts: qcom: pm7250b: " Dmitry Baryshkov
@ 2026-05-19 11:27 ` Konrad Dybcio
0 siblings, 0 replies; 16+ messages in thread
From: Konrad Dybcio @ 2026-05-19 11:27 UTC (permalink / raw)
To: Dmitry Baryshkov, Bryan O'Donoghue, Greg Kroah-Hartman,
Rob Herring, Krzysztof Kozlowski, Conor Dooley, Heikki Krogerus,
Liam Girdwood, Mark Brown, Bjorn Andersson, Konrad Dybcio
Cc: linux-arm-msm, linux-usb, devicetree, linux-kernel
On 5/19/26 12:48 PM, Dmitry Baryshkov wrote:
> Instead of specifying the VBUS supply as powering on the Type-C block in
> the PMIC, follow the standard schema and use vbus-supply property of the
> usb-c connector itself.
>
> Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
> ---
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Konrad
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [PATCH 5/6] arm64: dts: qcom: pm8150b: move vdd-vbus-supply to connector nodes
2026-05-19 10:48 ` [PATCH 5/6] arm64: dts: qcom: pm8150b: " Dmitry Baryshkov
@ 2026-05-19 11:27 ` Konrad Dybcio
0 siblings, 0 replies; 16+ messages in thread
From: Konrad Dybcio @ 2026-05-19 11:27 UTC (permalink / raw)
To: Dmitry Baryshkov, Bryan O'Donoghue, Greg Kroah-Hartman,
Rob Herring, Krzysztof Kozlowski, Conor Dooley, Heikki Krogerus,
Liam Girdwood, Mark Brown, Bjorn Andersson, Konrad Dybcio
Cc: linux-arm-msm, linux-usb, devicetree, linux-kernel
On 5/19/26 12:48 PM, Dmitry Baryshkov wrote:
> Instead of specifying the VBUS supply as powering on the Type-C block in
> the PMIC, follow the standard schema and use vbus-supply property of the
> usb-c connector itself.
>
> Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
> ---
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Konrad
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [PATCH 6/6] arm64: dts: qcom: pmi632: move vdd-vbus-supply to connector nodes
2026-05-19 10:48 ` [PATCH 6/6] arm64: dts: qcom: pmi632: " Dmitry Baryshkov
@ 2026-05-19 11:27 ` Konrad Dybcio
0 siblings, 0 replies; 16+ messages in thread
From: Konrad Dybcio @ 2026-05-19 11:27 UTC (permalink / raw)
To: Dmitry Baryshkov, Bryan O'Donoghue, Greg Kroah-Hartman,
Rob Herring, Krzysztof Kozlowski, Conor Dooley, Heikki Krogerus,
Liam Girdwood, Mark Brown, Bjorn Andersson, Konrad Dybcio
Cc: linux-arm-msm, linux-usb, devicetree, linux-kernel
On 5/19/26 12:48 PM, Dmitry Baryshkov wrote:
> Instead of specifying the VBUS supply as powering on the Type-C block in
> the PMIC, follow the standard schema and use vbus-supply property of the
> usb-c connector itself.
>
> Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
> ---
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Konrad
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [PATCH 1/6] dt-bindings: usb: qcom,pmic-typec: deprecate device-specific VBUS
2026-05-19 10:48 ` [PATCH 1/6] dt-bindings: usb: qcom,pmic-typec: deprecate device-specific VBUS Dmitry Baryshkov
2026-05-19 11:26 ` Konrad Dybcio
@ 2026-05-19 11:37 ` Bryan O'Donoghue
1 sibling, 0 replies; 16+ messages in thread
From: Bryan O'Donoghue @ 2026-05-19 11:37 UTC (permalink / raw)
To: Dmitry Baryshkov, Greg Kroah-Hartman, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Heikki Krogerus, Liam Girdwood,
Mark Brown, Bjorn Andersson, Konrad Dybcio
Cc: linux-arm-msm, linux-usb, devicetree, linux-kernel
On 19/05/2026 11:48, Dmitry Baryshkov wrote:
> The Qualcomm PMIC Type-C devices historically provided their own way of
> specifying the VBUS regulator, via the device's vdd-vbus-supply node.
> This is not ideal as the VBUS is supplied to the connector and not to
> the Type-C block in the PMIC. Deprecate this property in favour of the
> standard way of specifying it (via the connector's vbus-supply
> property).
>
> Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
> ---
> Documentation/devicetree/bindings/usb/qcom,pmic-typec.yaml | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/Documentation/devicetree/bindings/usb/qcom,pmic-typec.yaml b/Documentation/devicetree/bindings/usb/qcom,pmic-typec.yaml
> index 6d3fa2bc9cee..7a68423fb97c 100644
> --- a/Documentation/devicetree/bindings/usb/qcom,pmic-typec.yaml
> +++ b/Documentation/devicetree/bindings/usb/qcom,pmic-typec.yaml
> @@ -79,7 +79,8 @@ properties:
> - const: fr-swap
>
> vdd-vbus-supply:
> - description: VBUS power supply.
> + deprecated: true
> + description: use connector/vbus-supply instead.
>
> vdd-pdphy-supply:
> description: VDD regulator supply to the PDPHY.
> @@ -94,7 +95,6 @@ required:
> - reg
> - interrupts
> - interrupt-names
> - - vdd-vbus-supply
>
> allOf:
> - if:
>
Reviewed-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>
---
bod
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [PATCH 0/6] usb: typec: tcpm: qcom: use connector to specify VBUS regulator.
2026-05-19 10:48 [PATCH 0/6] usb: typec: tcpm: qcom: use connector to specify VBUS regulator Dmitry Baryshkov
` (5 preceding siblings ...)
2026-05-19 10:48 ` [PATCH 6/6] arm64: dts: qcom: pmi632: " Dmitry Baryshkov
@ 2026-05-19 11:41 ` Bryan O'Donoghue
6 siblings, 0 replies; 16+ messages in thread
From: Bryan O'Donoghue @ 2026-05-19 11:41 UTC (permalink / raw)
To: Dmitry Baryshkov, Greg Kroah-Hartman, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Heikki Krogerus, Liam Girdwood,
Mark Brown, Bjorn Andersson, Konrad Dybcio
Cc: linux-arm-msm, linux-usb, devicetree, linux-kernel
On 19/05/2026 11:48, Dmitry Baryshkov wrote:
> The Qualcomm PMIC Type-C devices historically provided their own way of
> specifying the VBUS regulator, via the device's vdd-vbus-supply node.
> This is not ideal as the VBUS is supplied to the connector and not to
> the Type-C block in the PMIC. In theory hardware can use different
> regulators for VBUS, so specifying it in the PMIC DTSI is not correct.
> Deprecate this property in favour of the standard way of specifying it
> (via the connector's vbus-supply property).
>
> Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
> ---
> Dmitry Baryshkov (6):
> dt-bindings: usb: qcom,pmic-typec: deprecate device-specific VBUS
> usb: typec: tcpm: qcom: prefer VBUS supply from the connector node
> arm64: dts: qcom: pm4125: move vdd-vbus-supply to connector nodes
> arm64: dts: qcom: pm7250b: move vdd-vbus-supply to connector nodes
> arm64: dts: qcom: pm8150b: move vdd-vbus-supply to connector nodes
> arm64: dts: qcom: pmi632: move vdd-vbus-supply to connector nodes
>
> Documentation/devicetree/bindings/usb/qcom,pmic-typec.yaml | 4 ++--
> arch/arm64/boot/dts/qcom/pm4125.dtsi | 1 -
> arch/arm64/boot/dts/qcom/pm7250b.dtsi | 1 -
> arch/arm64/boot/dts/qcom/pm8150b.dtsi | 1 -
> arch/arm64/boot/dts/qcom/pmi632.dtsi | 1 -
> arch/arm64/boot/dts/qcom/qrb2210-rb1.dts | 2 ++
> arch/arm64/boot/dts/qcom/qrb4210-rb2.dts | 2 ++
> arch/arm64/boot/dts/qcom/qrb5165-rb5.dts | 2 ++
> arch/arm64/boot/dts/qcom/sdm632-fairphone-fp3.dts | 2 ++
> arch/arm64/boot/dts/qcom/sm6115-fxtec-pro1x.dts | 2 ++
> arch/arm64/boot/dts/qcom/sm7225-fairphone-fp4.dts | 2 ++
> arch/arm64/boot/dts/qcom/sm8150-hdk.dts | 2 ++
> arch/arm64/boot/dts/qcom/sm8250-xiaomi-elish-common.dtsi | 2 ++
> drivers/usb/typec/tcpm/qcom/qcom_pmic_typec_port.c | 12 +++++++++++-
> 14 files changed, 29 insertions(+), 7 deletions(-)
> ---
> base-commit: 80dd246accce631c328ea43294e53b2b2dd2aa32
> change-id: 20260519-fix-tcpm-vbus-aabde21f339d
>
> Best regards,
> --
> With best wishes
> Dmitry
>
It should be possible to use vbus from any source - and that vbus is
indeed port not controller specific.
For the series
Reviewed-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>
---
bod
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [PATCH 2/6] usb: typec: tcpm: qcom: prefer VBUS supply from the connector node
2026-05-19 10:48 ` [PATCH 2/6] usb: typec: tcpm: qcom: prefer VBUS supply from the connector node Dmitry Baryshkov
2026-05-19 11:25 ` Konrad Dybcio
@ 2026-05-19 14:05 ` Heikki Krogerus
1 sibling, 0 replies; 16+ messages in thread
From: Heikki Krogerus @ 2026-05-19 14:05 UTC (permalink / raw)
To: Dmitry Baryshkov
Cc: Bryan O'Donoghue, Greg Kroah-Hartman, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Liam Girdwood, Mark Brown,
Bjorn Andersson, Konrad Dybcio, linux-arm-msm, linux-usb,
devicetree, linux-kernel
On Tue, May 19, 2026 at 01:48:04PM +0300, Dmitry Baryshkov wrote:
> Current way of specifying VBUS supply (via the device's vdd-vbus-supply
> property) is not ideal. In the end, VBUS is supplied to the USB-C
> connector rather than the Type-C block in the PMIC. Follow the standard
> way of specifying it (via the connector node) and fallback to the old
> property if there is no vbus-supply in the connector node.
>
> Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Reviewed-by: Heikki Krogerus <heikki.krogerus@linux.intel.com>
> ---
> drivers/usb/typec/tcpm/qcom/qcom_pmic_typec_port.c | 12 +++++++++++-
> 1 file changed, 11 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/usb/typec/tcpm/qcom/qcom_pmic_typec_port.c b/drivers/usb/typec/tcpm/qcom/qcom_pmic_typec_port.c
> index 8051eaa46991..429bd42a0e62 100644
> --- a/drivers/usb/typec/tcpm/qcom/qcom_pmic_typec_port.c
> +++ b/drivers/usb/typec/tcpm/qcom/qcom_pmic_typec_port.c
> @@ -9,6 +9,7 @@
> #include <linux/kernel.h>
> #include <linux/mod_devicetable.h>
> #include <linux/module.h>
> +#include <linux/of.h>
> #include <linux/platform_device.h>
> #include <linux/regmap.h>
> #include <linux/regulator/consumer.h>
> @@ -704,6 +705,7 @@ int qcom_pmic_typec_port_probe(struct platform_device *pdev,
> struct device *dev = &pdev->dev;
> struct pmic_typec_port_irq_data *irq_data;
> struct pmic_typec_port *pmic_typec_port;
> + struct fwnode_handle *connector;
> int i, ret, irq;
>
> pmic_typec_port = devm_kzalloc(dev, sizeof(*pmic_typec_port), GFP_KERNEL);
> @@ -720,7 +722,15 @@ int qcom_pmic_typec_port_probe(struct platform_device *pdev,
>
> mutex_init(&pmic_typec_port->vbus_lock);
>
> - pmic_typec_port->vdd_vbus = devm_regulator_get(dev, "vdd-vbus");
> + connector = device_get_named_child_node(dev, "connector");
> + if (!connector)
> + return -EINVAL;
> +
> + pmic_typec_port->vdd_vbus = devm_of_regulator_get_optional(dev,
> + to_of_node(connector),
> + "vbus");
> + if (pmic_typec_port->vdd_vbus == ERR_PTR(-ENODEV))
> + pmic_typec_port->vdd_vbus = devm_regulator_get(dev, "vdd-vbus");
> if (IS_ERR(pmic_typec_port->vdd_vbus))
> return PTR_ERR(pmic_typec_port->vdd_vbus);
>
>
> --
> 2.47.3
--
heikki
^ permalink raw reply [flat|nested] 16+ messages in thread
end of thread, other threads:[~2026-05-19 14:06 UTC | newest]
Thread overview: 16+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-05-19 10:48 [PATCH 0/6] usb: typec: tcpm: qcom: use connector to specify VBUS regulator Dmitry Baryshkov
2026-05-19 10:48 ` [PATCH 1/6] dt-bindings: usb: qcom,pmic-typec: deprecate device-specific VBUS Dmitry Baryshkov
2026-05-19 11:26 ` Konrad Dybcio
2026-05-19 11:37 ` Bryan O'Donoghue
2026-05-19 10:48 ` [PATCH 2/6] usb: typec: tcpm: qcom: prefer VBUS supply from the connector node Dmitry Baryshkov
2026-05-19 11:25 ` Konrad Dybcio
2026-05-19 14:05 ` Heikki Krogerus
2026-05-19 10:48 ` [PATCH 3/6] arm64: dts: qcom: pm4125: move vdd-vbus-supply to connector nodes Dmitry Baryshkov
2026-05-19 11:26 ` Konrad Dybcio
2026-05-19 10:48 ` [PATCH 4/6] arm64: dts: qcom: pm7250b: " Dmitry Baryshkov
2026-05-19 11:27 ` Konrad Dybcio
2026-05-19 10:48 ` [PATCH 5/6] arm64: dts: qcom: pm8150b: " Dmitry Baryshkov
2026-05-19 11:27 ` Konrad Dybcio
2026-05-19 10:48 ` [PATCH 6/6] arm64: dts: qcom: pmi632: " Dmitry Baryshkov
2026-05-19 11:27 ` Konrad Dybcio
2026-05-19 11:41 ` [PATCH 0/6] usb: typec: tcpm: qcom: use connector to specify VBUS regulator Bryan O'Donoghue
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox