On 11/20/23 00:03, Shantur Rathore wrote:
Hi Marek,
Hi,
On Sun, Nov 19, 2023 at 8:53 PM Marek Vasut <ma...@denx.de> wrote:
On 11/10/23 15:13, Shantur Rathore wrote:
Currently when a hub is turned on, all the ports are powered on.
This works well for hubs which have individual power control.
For the hubs without individual power control this has no effect.
OK
Mostly in these scenarios the hub port is powered before the USB
controller is enabled, this can lead to some devices in unexpected
state.
This ^ part needs clarification.
Which devices are in incorrect state, the ones connected to the hub
downstream facing ports ?
In my case RockPro64, the power to usb ports onboard is controlled by
a regulator.
This regulator is enabled as part of init as here
https://github.com/u-boot/u-boot/blob/master/arch/arm/dts/rk3399-rockpro64.dtsi#L177
On init, the usb devices connected to the port are powered up, in my
case AM8180 (a RTL9210 based ) NVMe to USB enclosure with UAS.
But the usb controller is only enabled at 'usb start' and by this time
the device is in some state that it doesn't get detected.
One way to make sure the devices connected to the ports are in an
initialising state is by issuing a port reset before scanning the
port.
Why not remove this regulator-always-on and let the PHY driver turn the
VBUS ON only when it is needed ?
Wouldn't that solve the problem too AND remove unnecessarily enabled
regulator ?
[...]