Hi, > -----Original Message----- > From: Marek Vasut <[email protected]> > Sent: Tuesday, November 12, 2024 11:28 AM > To: Abbarapu, Venkatesh <[email protected]>; [email protected] > Cc: Simek, Michal <[email protected]>; [email protected]; git > (AMD-Xilinx) <[email protected]> > Subject: Re: [PATCH v11 3/7] usb: onboard-hub: add support for Microchip > USB5744 > > On 11/12/24 6:07 AM, Venkatesh Yadav Abbarapu wrote: > > Add support for the Microchip USB5744 USB3.0 and USB2.0 Hub. > > The usb5744 driver trigger hub reset signal after soft reset. > > The usb5744 hub need to reset after the phy initialization, which > > toggles the gpio. > > Also update the usb2514 hub_data with the reset delay as 1us. > > > > Signed-off-by: Venkatesh Yadav Abbarapu <[email protected]> > > Reviewed-by: Marek Vasut <[email protected]> > > --- > > common/usb_onboard_hub.c | 20 ++++++++++++++++++-- > > 1 file changed, 18 insertions(+), 2 deletions(-) > > > > diff --git a/common/usb_onboard_hub.c b/common/usb_onboard_hub.c index > > 827ecf9b02..1d146eccee 100644 > > --- a/common/usb_onboard_hub.c > > +++ b/common/usb_onboard_hub.c > > @@ -88,10 +88,26 @@ static int usb_onboard_hub_remove(struct udevice *dev) > > return ret; > > } > > > > +static const struct onboard_hub_data usb2514_data = { > > + .reset_us = 1, > > +}; > > + > > +static const struct onboard_hub_data usb5744_data = { > > + .power_on_delay_us = 10000, > > + .reset_us = 10000, > > +}; > > + > > static const struct udevice_id usb_onboard_hub_ids[] = { > > /* Use generic usbVID,PID dt-bindings (usb-device.yaml) */ > > - { .compatible = "usb424,2514" }, /* USB2514B USB 2.0 */ > > - { } > > + { .compatible = "usb424,2514", /* USB2514B USB 2.0 */ > > + .data = (ulong)&usb2514_data, > This ^ hub has to be updated in 1/7 , otherwise if only 1/7 is applied (e.g. > during > bisect), this hub reset will be operated out of specification. > > Also, looking at the USB2514 datasheet figure 5-3, it seems the hub needs > t4=500us > recovery time in SMBus mode. Does that mean usb2514_data .power_on_delay_us > = 500 is missing too ? > > Also, it seems t_rstio is 5us in USB5477 datasheet figure 10-4 , where do > these > 10000us figures above come from ?
We were seeing i2c failures when we update the reset delay and power on delay values mentioned from the datasheet so updated to 10000us, the linux reference is below https://github.com/torvalds/linux/commit/908f61bedb2c40c6d856bbfd7f870b967a4cb498 Thanks Venkatesh

