Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

usb: misc: onboard_usb_hub: add Genesys Logic GL850G hub support

Genesys Logic GL850G is a 4-port USB 2.0 STT hub that has a reset pin to
toggle and a 3.3V core supply exported (although an integrated LDO is
available for powering it with 5V).

Add the support for this hub, for controlling the reset pin and the core
power supply.

Signed-off-by: Icenowy Zheng <uwu@icenowy.me>
Acked-by: Matthias Kaehlcke <mka@chromium.org>
Link: https://lore.kernel.org/r/20221206055228.306074-4-uwu@icenowy.me
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

authored by

Icenowy Zheng and committed by
Greg Kroah-Hartman
9bae996f 4e3a4fcd

+7
+2
drivers/usb/misc/onboard_usb_hub.c
··· 331 331 332 332 /************************** USB driver **************************/ 333 333 334 + #define VENDOR_ID_GENESYS 0x05e3 334 335 #define VENDOR_ID_MICROCHIP 0x0424 335 336 #define VENDOR_ID_REALTEK 0x0bda 336 337 #define VENDOR_ID_TI 0x0451 ··· 408 407 } 409 408 410 409 static const struct usb_device_id onboard_hub_id_table[] = { 410 + { USB_DEVICE(VENDOR_ID_GENESYS, 0x0608) }, /* Genesys Logic GL850G USB 2.0 */ 411 411 { USB_DEVICE(VENDOR_ID_MICROCHIP, 0x2514) }, /* USB2514B USB 2.0 */ 412 412 { USB_DEVICE(VENDOR_ID_REALTEK, 0x0411) }, /* RTS5411 USB 3.1 */ 413 413 { USB_DEVICE(VENDOR_ID_REALTEK, 0x5411) }, /* RTS5411 USB 2.1 */
+5
drivers/usb/misc/onboard_usb_hub.h
··· 22 22 .reset_us = 3000, 23 23 }; 24 24 25 + static const struct onboard_hub_pdata genesys_gl850g_data = { 26 + .reset_us = 3, 27 + }; 28 + 25 29 static const struct of_device_id onboard_hub_match[] = { 26 30 { .compatible = "usb424,2514", .data = &microchip_usb424_data, }, 27 31 { .compatible = "usb451,8140", .data = &ti_tusb8041_data, }, 28 32 { .compatible = "usb451,8142", .data = &ti_tusb8041_data, }, 33 + { .compatible = "usb5e3,608", .data = &genesys_gl850g_data, }, 29 34 { .compatible = "usbbda,411", .data = &realtek_rts5411_data, }, 30 35 { .compatible = "usbbda,5411", .data = &realtek_rts5411_data, }, 31 36 { .compatible = "usbbda,414", .data = &realtek_rts5411_data, },