[PATCH v2 1/2] usb: hub: allow to increase HUB_DEBOUNCE_TIMEOUT
Marek Vasut
marex at denx.de
Sat Sep 24 19:04:52 CEST 2022
On 9/12/22 15:37, Patrick DELAUNAY wrote:
> Hi,
Hi,
> On 9/9/22 14:24, Marek Vasut wrote:
>> On 9/9/22 11:45, Patrick Delaunay wrote:
>>> Add a new CONFIG_USB_HUB_DEBOUNCE_TIMEOUT to increase the
>>> HUB_DEBOUNCE_TIMEOUT value, for example to 2s because some usb device
>>> needs around 1.5s or more to make the hub port status to be
>>> connected steadily after being powered off and powered on.
>>>
>>> This 2s value is aligned with Linux driver and avoids to configure
>>> "usb_pgood_delay" as a workaround for connection timeout on
>>> some USB device; normally the env variable "usb_pgood_delay" is used
>>> to delay the first query after power ON and thus the device answer,
>>> but this variable not used to increase the connection timeout delay.
>>
>> I realized this has one problem -- what happens if you have multiple
>> USB controllers in your system ? The answer is, all of them are
>> affected by the increased delay, possibly even those which do not
>> require the extra delay.
>>
>> Would it be possible to configure this per-controller (or should this
>> even be per-device?) in DT ? In fact, I wonder whether this is not
>> becoming a Vbus regulator ramp-up time kind of delay here ?
>
>
> Yes, but I don't think, it is blocking.
>
> This timeout will be common for all the USB HUB in the system, as it is
> done in Linux kernel.
I just realized this is not the same delay as the usb_pgood_delay, right ?
This is actually the maximum wait for a device to start communicating,
i.e. even if this timeout is set to a very high value, most devices will
not take that long and will start communicating in shorter time anyway,
so the time of completion for e.g. '=> usb reset' is not affected by
this change on very much all systems, correct ?
More information about the U-Boot
mailing list