[PATCH v5 3/4] dt-bindings: usb: usb-device: add usb hub port vbus-supply suppport
From: Marco Felsch
Date: Mon Feb 23 2026 - 06:29:24 EST
Some PCB designs don't use the dedicated USB hub port power control GPIO
to control the port VBUS supply. Instead host managed GPIOs are used to
control the VBUS supply.
Signed-off-by: Marco Felsch <m.felsch@xxxxxxxxxxxxxx>
---
Documentation/devicetree/bindings/usb/usb-device.yaml | 15 +++++++++++++++
1 file changed, 15 insertions(+)
diff --git a/Documentation/devicetree/bindings/usb/usb-device.yaml b/Documentation/devicetree/bindings/usb/usb-device.yaml
index 09fceb469f10525e9dcdb91435b142b0d21964b8..c9abdbea0e5348dc25f8f9484142089cf60bd514 100644
--- a/Documentation/devicetree/bindings/usb/usb-device.yaml
+++ b/Documentation/devicetree/bindings/usb/usb-device.yaml
@@ -53,6 +53,12 @@ properties:
"#size-cells":
const: 0
+ vbus-supply:
+ description: USB hub port VBUS supply.
+ The host managed regulator which controls the USB hub port VBUS. This
+ regulator is only required if the hub internal control signals aren't
+ used to control the VBUS regulators.
+
patternProperties:
"^interface@[0-9a-f]{1,2}(,[0-9a-f]{1,2})$":
type: object
@@ -85,6 +91,7 @@ additionalProperties: true
examples:
# hub connected to port 1
+ # device connected to hub port 2, vbus controlled by ext. regulator
# device connected to port 2
# device connected to port 3
# interface 0 of configuration 1
@@ -99,6 +106,14 @@ examples:
hub@1 {
compatible = "usb5e3,608";
reg = <1>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ device@2 {
+ compatible = "usb123,4321";
+ reg = <2>;
+ vbus-supply = <®_5v0_vbus>;
+ };
};
device@2 {
--
2.47.3