[PATCH 5/8] usb: misc: onboard_usb_dev: add support for the TI TUSB8040A hub
Dmitry Baryshkov <[email protected]>
| Newsgroups | org.kernel.vger.netdev,org.kernel.vger.linux-devicetree,org.kernel.vger.linux-kernel,org.kernel.vger.linux-usb |
|---|---|
| Message-ID | <[email protected]> |
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 <[email protected]> --- 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 = µchip_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