Message ID | 20231113145921.30104-3-francesco@dolcini.it (mailing list archive) |
---|---|
State | Accepted |
Commit | 6972b38ca05235f6142715db7062ecc87a422e22 |
Headers | show |
Series | usb: misc: onboard-hub: add support for Microchip USB5744 | expand |
On 11/13/23 15:59, Francesco Dolcini wrote: > From: Stefan Eichenberger <stefan.eichenberger@toradex.com> > > Add support for the Microchip USB5744 USB3.0 and USB2.0 Hub. > > The Microchip USB5744 supports two power supplies, one for 1V2 and one > for 3V3. According to the datasheet there is no need for a delay between > power on and reset, so this value is set to 0. > > Signed-off-by: Stefan Eichenberger <stefan.eichenberger@toradex.com> > Signed-off-by: Francesco Dolcini <francesco.dolcini@toradex.com> The patch is correct based on functionality you want to add. Would be good to also add support for initialization over i2c which will change couple of things. Thanks, Michal
On Mon, Nov 13, 2023 at 03:59:21PM +0100, Francesco Dolcini wrote: > From: Stefan Eichenberger <stefan.eichenberger@toradex.com> > > Add support for the Microchip USB5744 USB3.0 and USB2.0 Hub. > > The Microchip USB5744 supports two power supplies, one for 1V2 and one > for 3V3. According to the datasheet there is no need for a delay between > power on and reset, so this value is set to 0. > > Signed-off-by: Stefan Eichenberger <stefan.eichenberger@toradex.com> > Signed-off-by: Francesco Dolcini <francesco.dolcini@toradex.com> Acked-by: Matthias Kaehlcke <mka@chromium.org>
diff --git a/drivers/usb/misc/onboard_usb_hub.c b/drivers/usb/misc/onboard_usb_hub.c index a341b2fbb7b4..2b45404e9732 100644 --- a/drivers/usb/misc/onboard_usb_hub.c +++ b/drivers/usb/misc/onboard_usb_hub.c @@ -432,6 +432,8 @@ static const struct usb_device_id onboard_hub_id_table[] = { { USB_DEVICE(VENDOR_ID_MICROCHIP, 0x2412) }, /* USB2412 USB 2.0 */ { USB_DEVICE(VENDOR_ID_MICROCHIP, 0x2514) }, /* USB2514B USB 2.0 */ { USB_DEVICE(VENDOR_ID_MICROCHIP, 0x2517) }, /* USB2517 USB 2.0 */ + { USB_DEVICE(VENDOR_ID_MICROCHIP, 0x2744) }, /* USB5744 USB 2.0 */ + { USB_DEVICE(VENDOR_ID_MICROCHIP, 0x5744) }, /* USB5744 USB 3.0 */ { USB_DEVICE(VENDOR_ID_REALTEK, 0x0411) }, /* RTS5411 USB 3.1 */ { USB_DEVICE(VENDOR_ID_REALTEK, 0x5411) }, /* RTS5411 USB 2.1 */ { USB_DEVICE(VENDOR_ID_REALTEK, 0x0414) }, /* RTS5414 USB 3.2 */ diff --git a/drivers/usb/misc/onboard_usb_hub.h b/drivers/usb/misc/onboard_usb_hub.h index c4e24a7b9290..292110e64a1d 100644 --- a/drivers/usb/misc/onboard_usb_hub.h +++ b/drivers/usb/misc/onboard_usb_hub.h @@ -16,6 +16,11 @@ static const struct onboard_hub_pdata microchip_usb424_data = { .num_supplies = 1, }; +static const struct onboard_hub_pdata microchip_usb5744_data = { + .reset_us = 0, + .num_supplies = 2, +}; + static const struct onboard_hub_pdata realtek_rts5411_data = { .reset_us = 0, .num_supplies = 1, @@ -50,6 +55,8 @@ static const struct of_device_id onboard_hub_match[] = { { .compatible = "usb424,2412", .data = µchip_usb424_data, }, { .compatible = "usb424,2514", .data = µchip_usb424_data, }, { .compatible = "usb424,2517", .data = µchip_usb424_data, }, + { .compatible = "usb424,2744", .data = µchip_usb5744_data, }, + { .compatible = "usb424,5744", .data = µchip_usb5744_data, }, { .compatible = "usb451,8140", .data = &ti_tusb8041_data, }, { .compatible = "usb451,8142", .data = &ti_tusb8041_data, }, { .compatible = "usb4b4,6504", .data = &cypress_hx3_data, },