[PATCH] usb: misc: onboard_usb_dev: Add support for requesting VBUS for Type-A ports

Alexey Charkov posted 1 patch 1 month, 2 weeks ago
drivers/usb/misc/onboard_usb_dev.h | 6 ++++++
1 file changed, 6 insertions(+)
[PATCH] usb: misc: onboard_usb_dev: Add support for requesting VBUS for Type-A ports
Posted by Alexey Charkov 1 month, 2 weeks ago
Add a regulator-only entry matching OF-described USB Type-A connectors.

This allows platforms to explicitly model VBUS supply regulators for these
ports instead of calling them PHY supplies or making the respective
regulators always-on in their device trees.

Type-A ports won't typically need a dedicated driver, as there is nothing
to configure apart from the power supply, so there is no controller driver
to traverse the OF graph and request the VBUS regulator, unlike for Type-C
ports. Thus make it an onboard USB device, which it kind of really is.

Signed-off-by: Alexey Charkov <alchark@flipper.net>
---
 drivers/usb/misc/onboard_usb_dev.h | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/drivers/usb/misc/onboard_usb_dev.h b/drivers/usb/misc/onboard_usb_dev.h
index 1a1e86e60e04..35d15b034664 100644
--- a/drivers/usb/misc/onboard_usb_dev.h
+++ b/drivers/usb/misc/onboard_usb_dev.h
@@ -108,6 +108,11 @@ static const struct onboard_dev_pdata genesys_gl852g_data = {
 	.is_hub = true,
 };
 
+static const struct onboard_dev_pdata usb_a_conn_data = {
+	.num_supplies = 1,
+	.supply_names = { "vbus" },
+};
+
 static const struct onboard_dev_pdata vialab_vl817_data = {
 	.reset_us = 10,
 	.num_supplies = 1,
@@ -130,6 +135,7 @@ static const struct onboard_dev_pdata xmos_xvf3500_data = {
 };
 
 static const struct of_device_id onboard_dev_match[] = {
+	{ .compatible = "usb-a-connector", .data = &usb_a_conn_data, },
 	{ .compatible = "usb424,2412", .data = &microchip_usb424_data, },
 	{ .compatible = "usb424,2514", .data = &microchip_usb2514_data, },
 	{ .compatible = "usb424,2517", .data = &microchip_usb424_data, },

---
base-commit: 350adaf7fde9fdbd9aeed6d442a9ae90c6a3ab97
change-id: 20260217-typea-vbus-74515378021d

Best regards,
-- 
Alexey Charkov <alchark@flipper.net>
Re: [PATCH] usb: misc: onboard_usb_dev: Add support for requesting VBUS for Type-A ports
Posted by Dennis Gilmore 2 days ago
On Tue, 2026-02-17 at 14:12 +0400, Alexey Charkov wrote:
> Add a regulator-only entry matching OF-described USB Type-A
> connectors.
> 
> This allows platforms to explicitly model VBUS supply regulators for
> these
> ports instead of calling them PHY supplies or making the respective
> regulators always-on in their device trees.
> 
> Type-A ports won't typically need a dedicated driver, as there is
> nothing
> to configure apart from the power supply, so there is no controller
> driver
> to traverse the OF graph and request the VBUS regulator, unlike for
> Type-C
> ports. Thus make it an onboard USB device, which it kind of really
> is.

Tested this on an orange pi 5 pro, with this and matching dts changes
the USB port was functional.

Dennis

Tested-by: Dennis Gilmore <dennis@ausil.us>
> 
> Signed-off-by: Alexey Charkov <alchark@flipper.net>
> ---
>  drivers/usb/misc/onboard_usb_dev.h | 6 ++++++
>  1 file changed, 6 insertions(+)
> 
> diff --git a/drivers/usb/misc/onboard_usb_dev.h
> b/drivers/usb/misc/onboard_usb_dev.h
> index 1a1e86e60e04..35d15b034664 100644
> --- a/drivers/usb/misc/onboard_usb_dev.h
> +++ b/drivers/usb/misc/onboard_usb_dev.h
> @@ -108,6 +108,11 @@ static const struct onboard_dev_pdata
> genesys_gl852g_data = {
>  	.is_hub = true,
>  };
>  
> +static const struct onboard_dev_pdata usb_a_conn_data = {
> +	.num_supplies = 1,
> +	.supply_names = { "vbus" },
> +};
> +
>  static const struct onboard_dev_pdata vialab_vl817_data = {
>  	.reset_us = 10,
>  	.num_supplies = 1,
> @@ -130,6 +135,7 @@ static const struct onboard_dev_pdata
> xmos_xvf3500_data = {
>  };
>  
>  static const struct of_device_id onboard_dev_match[] = {
> +	{ .compatible = "usb-a-connector", .data = &usb_a_conn_data,
> },
>  	{ .compatible = "usb424,2412", .data =
> &microchip_usb424_data, },
>  	{ .compatible = "usb424,2514", .data =
> &microchip_usb2514_data, },
>  	{ .compatible = "usb424,2517", .data =
> &microchip_usb424_data, },
> 
> ---
> base-commit: 350adaf7fde9fdbd9aeed6d442a9ae90c6a3ab97
> change-id: 20260217-typea-vbus-74515378021d
> 
> Best regards,