[PATCH 5/8] usb: misc: onboard_usb_dev: add support for the TI TUSB8040A hub

From: Dmitry Baryshkov

Date: Sun Aug 09 2026 - 20:46:18 EST


The TI TUSB8040A four-port USB 3.0 hub has no onboard-usb-dev support,
so its reset GPIO and power supply cannot be managed by the kernel.

Add the device IDs, reusing the TUSB8020B platform data: the power-on
and reset timings match. Cover both the datasheet default product IDs
(0451:8040 / 0451:8042) and the EEPROM-overridden 0451:8041 /
0451:8043 pair used e.g. on the APQ8074 Dragonboard.

Assisted-by: Claude:claude-fable-5
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@xxxxxxxxxxxxxxxx>
---
drivers/usb/misc/onboard_usb_dev.c | 4 ++++
drivers/usb/misc/onboard_usb_dev.h | 4 ++++
2 files changed, 8 insertions(+)

diff --git a/drivers/usb/misc/onboard_usb_dev.c b/drivers/usb/misc/onboard_usb_dev.c
index 11508ed4df25..37ebbccce35b 100644
--- a/drivers/usb/misc/onboard_usb_dev.c
+++ b/drivers/usb/misc/onboard_usb_dev.c
@@ -681,6 +681,10 @@ static const struct usb_device_id onboard_dev_id_table[] = {
{ USB_DEVICE(VENDOR_ID_TERMINUS, 0x0101) }, /* Terminus FE1.1s 2.0 HUB */
{ USB_DEVICE(VENDOR_ID_TI, 0x8025) }, /* TI USB8020B 3.0 HUB */
{ USB_DEVICE(VENDOR_ID_TI, 0x8027) }, /* TI USB8020B 2.0 HUB */
+ { USB_DEVICE(VENDOR_ID_TI, 0x8040) }, /* TI TUSB8040A 3.0 HUB */
+ { USB_DEVICE(VENDOR_ID_TI, 0x8041) }, /* TI TUSB8040A 3.0 HUB (custom PID) */
+ { USB_DEVICE(VENDOR_ID_TI, 0x8042) }, /* TI TUSB8040A 2.0 HUB */
+ { USB_DEVICE(VENDOR_ID_TI, 0x8043) }, /* TI TUSB8040A 2.0 HUB (custom PID) */
{ USB_DEVICE(VENDOR_ID_TI, 0x8140) }, /* TI USB8041 3.0 HUB */
{ USB_DEVICE(VENDOR_ID_TI, 0x8142) }, /* TI USB8041 2.0 HUB */
{ USB_DEVICE(VENDOR_ID_TI, 0x8440) }, /* TI USB8044 3.0 HUB */
diff --git a/drivers/usb/misc/onboard_usb_dev.h b/drivers/usb/misc/onboard_usb_dev.h
index 3523f8f8a149..7961b9ffa99e 100644
--- a/drivers/usb/misc/onboard_usb_dev.h
+++ b/drivers/usb/misc/onboard_usb_dev.h
@@ -143,6 +143,10 @@ static const struct of_device_id onboard_dev_match[] = {
{ .compatible = "usb424,5744", .data = &microchip_usb5744_data, },
{ .compatible = "usb451,8025", .data = &ti_tusb8020b_data, },
{ .compatible = "usb451,8027", .data = &ti_tusb8020b_data, },
+ { .compatible = "usb451,8040", .data = &ti_tusb8020b_data, },
+ { .compatible = "usb451,8041", .data = &ti_tusb8020b_data, },
+ { .compatible = "usb451,8042", .data = &ti_tusb8020b_data, },
+ { .compatible = "usb451,8043", .data = &ti_tusb8020b_data, },
{ .compatible = "usb451,8140", .data = &ti_tusb8020b_data, },
{ .compatible = "usb451,8142", .data = &ti_tusb8020b_data, },
{ .compatible = "usb451,8440", .data = &ti_tusb8020b_data, },

--
2.47.3