Re: [PATCH v2 3/6] usb: misc: onboard_usb_hub: add Genesys Logic GL850G hub support

From: Matthias Kaehlcke
Date: Fri Dec 02 2022 - 11:53:06 EST


On Fri, Dec 02, 2022 at 04:16:44PM +0800, Icenowy Zheng wrote:
> 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@xxxxxxxxxx>

Acked-by: Matthias Kaehlcke <mka@xxxxxxxxxxxx>

> ---
> Changes in v2:
> - Sort things, by names or vendor IDs.
>
> drivers/usb/misc/onboard_usb_hub.c | 2 ++
> drivers/usb/misc/onboard_usb_hub.h | 5 +++++
> 2 files changed, 7 insertions(+)
>
> diff --git a/drivers/usb/misc/onboard_usb_hub.c b/drivers/usb/misc/onboard_usb_hub.c
> index d63c63942af1..94e7966e199d 100644
> --- a/drivers/usb/misc/onboard_usb_hub.c
> +++ b/drivers/usb/misc/onboard_usb_hub.c
> @@ -331,6 +331,7 @@ static struct platform_driver onboard_hub_driver = {
>
> /************************** USB driver **************************/
>
> +#define VENDOR_ID_GENESYS 0x05e3
> #define VENDOR_ID_MICROCHIP 0x0424
> #define VENDOR_ID_REALTEK 0x0bda
> #define VENDOR_ID_TI 0x0451
> @@ -407,6 +408,7 @@ static void onboard_hub_usbdev_disconnect(struct usb_device *udev)
> }
>
> static const struct usb_device_id onboard_hub_id_table[] = {
> + { USB_DEVICE(VENDOR_ID_GENESYS, 0x0608) }, /* Genesys Logic GL850G USB 2.0 */
> { USB_DEVICE(VENDOR_ID_MICROCHIP, 0x2514) }, /* USB2514B USB 2.0 */
> { USB_DEVICE(VENDOR_ID_REALTEK, 0x0411) }, /* RTS5411 USB 3.1 */
> { USB_DEVICE(VENDOR_ID_REALTEK, 0x5411) }, /* RTS5411 USB 2.1 */
> diff --git a/drivers/usb/misc/onboard_usb_hub.h b/drivers/usb/misc/onboard_usb_hub.h
> index 34beab8bce3d..62129a6a1ba5 100644
> --- a/drivers/usb/misc/onboard_usb_hub.h
> +++ b/drivers/usb/misc/onboard_usb_hub.h
> @@ -22,10 +22,15 @@ static const struct onboard_hub_pdata ti_tusb8041_data = {
> .reset_us = 3000,
> };
>
> +static const struct onboard_hub_pdata genesys_gl850g_data = {
> + .reset_us = 3,
> +};
> +
> static const struct of_device_id onboard_hub_match[] = {
> { .compatible = "usb424,2514", .data = &microchip_usb424_data, },
> { .compatible = "usb451,8140", .data = &ti_tusb8041_data, },
> { .compatible = "usb451,8142", .data = &ti_tusb8041_data, },
> + { .compatible = "usb5e3,608", .data = &genesys_gl850g_data, },
> { .compatible = "usbbda,411", .data = &realtek_rts5411_data, },
> { .compatible = "usbbda,5411", .data = &realtek_rts5411_data, },
> { .compatible = "usbbda,414", .data = &realtek_rts5411_data, },
> --
> 2.38.1
>