[PATCH v5 3/4] dt-bindings: usb: usb-device: add usb hub port vbus-supply suppport

Marco Felsch posted 4 patches 1 month, 1 week ago
[PATCH v5 3/4] dt-bindings: usb: usb-device: add usb hub port vbus-supply suppport
Posted by Marco Felsch 1 month, 1 week ago
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@pengutronix.de>
---
 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 = <&reg_5v0_vbus>;
+            };
         };
 
         device@2 {

-- 
2.47.3
Re: [PATCH v5 3/4] dt-bindings: usb: usb-device: add usb hub port vbus-supply suppport
Posted by Rob Herring (Arm) 3 weeks, 6 days ago
On Mon, 23 Feb 2026 12:27:36 +0100, Marco Felsch wrote:
> 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@pengutronix.de>
> ---
>  Documentation/devicetree/bindings/usb/usb-device.yaml | 15 +++++++++++++++
>  1 file changed, 15 insertions(+)
> 

Reviewed-by: Rob Herring (Arm) <robh@kernel.org>
Re: [PATCH v5 3/4] dt-bindings: usb: usb-device: add usb hub port vbus-supply suppport
Posted by Marco Felsch 1 month, 1 week ago
Hi Rob,

I didn't add your r-b since I moved the DTS example here.

Regards,
  Marco

On 26-02-23, Marco Felsch wrote:
> 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@pengutronix.de>
> ---
>  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 = <&reg_5v0_vbus>;
> +            };
>          };
>  
>          device@2 {
> 
> -- 
> 2.47.3
> 
> 

-- 
#gernperDu 
#CallMeByMyFirstName

Pengutronix e.K.                           |                             |
Steuerwalder Str. 21                       | https://www.pengutronix.de/ |
31137 Hildesheim, Germany                  | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-9    |