9bae996ffa
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>
42 lines
1.2 KiB
C
42 lines
1.2 KiB
C
/* SPDX-License-Identifier: GPL-2.0+ */
|
|
/*
|
|
* Copyright (c) 2022, Google LLC
|
|
*/
|
|
|
|
#ifndef _USB_MISC_ONBOARD_USB_HUB_H
|
|
#define _USB_MISC_ONBOARD_USB_HUB_H
|
|
|
|
struct onboard_hub_pdata {
|
|
unsigned long reset_us; /* reset pulse width in us */
|
|
};
|
|
|
|
static const struct onboard_hub_pdata microchip_usb424_data = {
|
|
.reset_us = 1,
|
|
};
|
|
|
|
static const struct onboard_hub_pdata realtek_rts5411_data = {
|
|
.reset_us = 0,
|
|
};
|
|
|
|
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 = µchip_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, },
|
|
{ .compatible = "usbbda,5414", .data = &realtek_rts5411_data, },
|
|
{}
|
|
};
|
|
|
|
#endif /* _USB_MISC_ONBOARD_USB_HUB_H */
|