* [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; 21+ 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] 21+ 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 10:58 ` sashiko-bot
` (2 more replies)
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, 3 replies; 21+ 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] 21+ 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:16 ` sashiko-bot
` (2 more replies)
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, 3 replies; 21+ 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] 21+ 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; 21+ 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] 21+ 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 12:01 ` sashiko-bot
2026-05-19 10:48 ` [PATCH 5/6] arm64: dts: qcom: pm8150b: " Dmitry Baryshkov
` (2 subsequent siblings)
6 siblings, 2 replies; 21+ 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] 21+ 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 13:00 ` sashiko-bot
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, 2 replies; 21+ 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] 21+ 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; 21+ 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] 21+ 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 10:58 ` sashiko-bot
2026-05-19 11:26 ` Konrad Dybcio
2026-05-19 11:37 ` Bryan O'Donoghue
2 siblings, 0 replies; 21+ messages in thread
From: sashiko-bot @ 2026-05-19 10:58 UTC (permalink / raw)
To: Dmitry Baryshkov; +Cc: conor+dt, robh, devicetree
Thank you for your contribution! Sashiko AI review found 2 potential issue(s) to consider:
- [Medium] Removing `vdd-vbus-supply` from the `required` list without enforcing a replacement constraint allows device trees to omit a VBUS supply entirely.
- [Low] The YAML example still uses the deprecated `vdd-vbus-supply` property instead of demonstrating the newly recommended `vbus-supply` inside the `connector` node.
--
commit 41dafb66aa6b39b2228e9fd24e01754d63882c2d
Author: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Subject: dt-bindings: usb: qcom,pmic-typec: deprecate device-specific VBUS
Qualcomm PMIC Type-C devices historically provided their own way of
specifying the vbus regulator via the vdd-vbus-supply node. This commit
deprecates the vdd-vbus-supply property in favour of the standard
connector's vbus-supply property.
> diff --git a/Documentation/devicetree/bindings/usb/qcom,pmic-typec.yaml b/Documentation/devicetree/bindings/usb/qcom,pmic-typec.yaml
> index 6d3fa2bc9ceec..7a68423fb97ce 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.
This isn't a regression, but could the example at the bottom of the file
be updated to reflect this change?
The example still uses the deprecated vdd-vbus-supply property rather than
demonstrating the newly recommended vbus-supply property inside the
connector node.
[ ... ]
> @@ -94,7 +95,6 @@ required:
> - reg
> - interrupts
> - interrupt-names
> - - vdd-vbus-supply
Does this allow incomplete device trees to pass validation?
By removing vdd-vbus-supply from the required list without adding a
replacement constraint, the schema can now silently validate device trees
that lack both the legacy vdd-vbus-supply and the new connector/vbus-supply.
Should an anyOf block be added to enforce that at least one of the
vbus supply properties is present?
--
Sashiko AI review · https://sashiko.dev/#/patchset/20260519-fix-tcpm-vbus-v1-0-14754695282d@oss.qualcomm.com?part=1
^ permalink raw reply [flat|nested] 21+ 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:16 ` sashiko-bot
2026-05-19 11:25 ` Konrad Dybcio
2026-05-19 14:05 ` Heikki Krogerus
2 siblings, 0 replies; 21+ messages in thread
From: sashiko-bot @ 2026-05-19 11:16 UTC (permalink / raw)
To: Dmitry Baryshkov; +Cc: conor+dt, devicetree, robh
Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
- [Medium] The fwnode_handle reference acquired via device_get_named_child_node() for the 'connector' node is never released, causing a memory and reference count leak.
--
commit 41b7b2878f5810dff29da5bdf47dafca44618828
Author: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
usb: typec: tcpm: qcom: prefer VBUS supply from the connector node
This commit updates the VBUS supply retrieval to first try fetching it from
the "connector" child node before falling back to the "vdd-vbus" property on
the device node.
> diff --git a/drivers/usb/typec/tcpm/qcom/qcom_pmic_typec_port.c b/drivers/usb/typec/tcpm/qcom/qcom_pmic_typec_port.c
> --- a/drivers/usb/typec/tcpm/qcom/qcom_pmic_typec_port.c
> +++ b/drivers/usb/typec/tcpm/qcom/qcom_pmic_typec_port.c
[ ... ]
> @@ -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");
device_get_named_child_node() returns a fwnode_handle with an incremented
reference count.
Does this code leak the connector node reference by never calling
fwnode_handle_put(connector) after getting the regulator or returning an
error?
> + 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);
>
--
Sashiko AI review · https://sashiko.dev/#/patchset/20260519-fix-tcpm-vbus-v1-0-14754695282d@oss.qualcomm.com?part=2
^ permalink raw reply [flat|nested] 21+ 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:16 ` sashiko-bot
@ 2026-05-19 11:25 ` Konrad Dybcio
2026-05-19 14:05 ` Heikki Krogerus
2 siblings, 0 replies; 21+ 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] 21+ 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 10:58 ` sashiko-bot
@ 2026-05-19 11:26 ` Konrad Dybcio
2026-05-19 11:37 ` Bryan O'Donoghue
2 siblings, 0 replies; 21+ 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] 21+ 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; 21+ 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] 21+ 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
2026-05-19 12:01 ` sashiko-bot
1 sibling, 0 replies; 21+ 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] 21+ 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
2026-05-19 13:00 ` sashiko-bot
1 sibling, 0 replies; 21+ 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] 21+ 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; 21+ 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] 21+ 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 10:58 ` sashiko-bot
2026-05-19 11:26 ` Konrad Dybcio
@ 2026-05-19 11:37 ` Bryan O'Donoghue
2 siblings, 0 replies; 21+ 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] 21+ 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; 21+ 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] 21+ 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
@ 2026-05-19 12:01 ` sashiko-bot
2026-05-19 12:17 ` Dmitry Baryshkov
1 sibling, 1 reply; 21+ messages in thread
From: sashiko-bot @ 2026-05-19 12:01 UTC (permalink / raw)
To: Dmitry Baryshkov; +Cc: conor+dt, robh, devicetree
Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
- [Critical] Removing `vdd-vbus-supply` from `pm7250b.dtsi` breaks VBUS functionality for older kernels booting with this updated device tree.
--
commit 248f42632176b717a6099ac7dd20eb6355d2d9ed
Author: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
arm64: dts: qcom: pm7250b: move vdd-vbus-supply to connector nodes
This commit removes the vdd-vbus-supply property from the pm7250b_typec
node and instead specifies vbus-supply on the connector node.
> diff --git a/arch/arm64/boot/dts/qcom/pm7250b.dtsi b/arch/arm64/boot/dts/qcom/pm7250b.dtsi
> index 0761e6b5fd8d1..43cab07126c5c 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>;
Will removing vdd-vbus-supply cause a regression for older kernels booting
with this updated device tree?
Older versions of the qcom_pmic_typec driver do not parse the vbus-supply
property from the connector child node, and instead call
devm_regulator_get(dev, "vdd-vbus") on the parent PMIC Type-C node.
Because NORMAL_GET is used, the regulator core will fall back to returning a
dummy regulator instead of failing. Will the driver silently enable the
dummy regulator, preventing the real VBUS from being enabled and breaking
USB Type-C power on existing boards like the Fairphone 4?
Should the deprecated vdd-vbus-supply property be retained for a transition
period to maintain backwards compatibility?
> status = "disabled";
> };
--
Sashiko AI review · https://sashiko.dev/#/patchset/20260519-fix-tcpm-vbus-v1-0-14754695282d@oss.qualcomm.com?part=4
^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: [PATCH 4/6] arm64: dts: qcom: pm7250b: move vdd-vbus-supply to connector nodes
2026-05-19 12:01 ` sashiko-bot
@ 2026-05-19 12:17 ` Dmitry Baryshkov
0 siblings, 0 replies; 21+ messages in thread
From: Dmitry Baryshkov @ 2026-05-19 12:17 UTC (permalink / raw)
To: sashiko-reviews; +Cc: conor+dt, robh, devicetree
On Tue, May 19, 2026 at 12:01:07PM +0000, sashiko-bot@kernel.org wrote:
> Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
> - [Critical] Removing `vdd-vbus-supply` from `pm7250b.dtsi` breaks VBUS functionality for older kernels booting with this updated device tree.
> --
>
> commit 248f42632176b717a6099ac7dd20eb6355d2d9ed
> Author: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
>
> arm64: dts: qcom: pm7250b: move vdd-vbus-supply to connector nodes
>
> This commit removes the vdd-vbus-supply property from the pm7250b_typec
> node and instead specifies vbus-supply on the connector node.
>
> > diff --git a/arch/arm64/boot/dts/qcom/pm7250b.dtsi b/arch/arm64/boot/dts/qcom/pm7250b.dtsi
> > index 0761e6b5fd8d1..43cab07126c5c 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>;
>
> Will removing vdd-vbus-supply cause a regression for older kernels booting
> with this updated device tree?
>
> Older versions of the qcom_pmic_typec driver do not parse the vbus-supply
> property from the connector child node, and instead call
> devm_regulator_get(dev, "vdd-vbus") on the parent PMIC Type-C node.
>
> Because NORMAL_GET is used, the regulator core will fall back to returning a
> dummy regulator instead of failing. Will the driver silently enable the
> dummy regulator, preventing the real VBUS from being enabled and breaking
> USB Type-C power on existing boards like the Fairphone 4?
>
> Should the deprecated vdd-vbus-supply property be retained for a transition
> period to maintain backwards compatibility?
Yes, it should be retained for one cycle, I will update the cover
letter.
>
> > status = "disabled";
> > };
>
> --
> Sashiko AI review · https://sashiko.dev/#/patchset/20260519-fix-tcpm-vbus-v1-0-14754695282d@oss.qualcomm.com?part=4
--
With best wishes
Dmitry
^ permalink raw reply [flat|nested] 21+ 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
@ 2026-05-19 13:00 ` sashiko-bot
1 sibling, 0 replies; 21+ messages in thread
From: sashiko-bot @ 2026-05-19 13:00 UTC (permalink / raw)
To: Dmitry Baryshkov; +Cc: conor+dt, robh, devicetree
Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
- [High] Resource leak of fwnode reference in Type-C driver probe.
--
commit 41b7b2878f5810dff29da5bdf47dafca44618828
Author: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
usb: typec: tcpm: qcom: prefer VBUS supply from the connector node
This commit modifies the PMIC Type-C port driver to look for the VBUS
supply in the connector node rather than the main device node. It falls
back to the old vdd-vbus property if the connector node does not specify it.
> 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 8051eaa469913..429bd42a0e628 100644
> --- a/drivers/usb/typec/tcpm/qcom/qcom_pmic_typec_port.c
> +++ b/drivers/usb/typec/tcpm/qcom/qcom_pmic_typec_port.c
[ ... ]
> @@ -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);
device_get_named_child_node() returns a node with its reference count
incremented. Does this code leak the fwnode reference by missing a call to
fwnode_handle_put(connector) on both the error paths and the success path?
For example, when the regulator fetch fails, the function returns directly
without dropping the reference:
if (IS_ERR(pmic_typec_port->vdd_vbus))
return PTR_ERR(pmic_typec_port->vdd_vbus);
Could a call to fwnode_handle_put(connector) be added to ensure the
reference is properly released?
--
Sashiko AI review · https://sashiko.dev/#/patchset/20260519-fix-tcpm-vbus-v1-0-14754695282d@oss.qualcomm.com?part=5
^ permalink raw reply [flat|nested] 21+ 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:16 ` sashiko-bot
2026-05-19 11:25 ` Konrad Dybcio
@ 2026-05-19 14:05 ` Heikki Krogerus
2 siblings, 0 replies; 21+ 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] 21+ messages in thread
end of thread, other threads:[~2026-05-19 14:06 UTC | newest]
Thread overview: 21+ 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 10:58 ` sashiko-bot
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:16 ` sashiko-bot
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 12:01 ` sashiko-bot
2026-05-19 12:17 ` Dmitry Baryshkov
2026-05-19 10:48 ` [PATCH 5/6] arm64: dts: qcom: pm8150b: " Dmitry Baryshkov
2026-05-19 11:27 ` Konrad Dybcio
2026-05-19 13:00 ` sashiko-bot
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