Hi Fabrice On 1/3/23 17:34, Patrick DELAUNAY wrote: > Hi, > > On 12/12/22 11:44, Fabrice Gasnier wrote: >> The main issue the driver addresses is that a USB hub needs to be >> powered before it can be discovered. This is often solved by using >> "regulator-always-on". >> >> This driver is inspired by the Linux v6.1 driver. It only enables (or >> disables) the hub vdd (3v3) supply, so it can be enumerated. >> Scanning of the device tree is done in a similar manner to the sandbox, >> by the usb-uclass. DT part looks like: >> >> &usbh_ehci { >> ... >> #address-cells = <1>; >> #size-cells = <0>; >> hub@1 { >> compatible = "usb424,2514"; >> reg = <1>; >> vdd-supply = <&v3v3>; >> }; >> }; >> >> When the bus gets probed, the driver is automatically probed/removed from >> the bus tree, as an example on stm32: >> STM32MP> usb start >> starting USB... >> STM32MP> dm tree >> Class Index Probed Driver Name >> ----------------------------------------------------------- >> usb 0 [ + ] ehci_generic | |-- usb@5800d000 >> usb_hub 0 [ + ] usb_onboard_hub | | `-- hub@1 >> usb_hub 1 [ + ] usb_hub | | `-- usb_hub >> >> STM32MP> usb tree >> USB device tree: >> 1 Hub (480 Mb/s, 0mA) >> | u-boot EHCI Host Controller >> | >> +-2 Hub (480 Mb/s, 2mA) >> >> Signed-off-by: Fabrice Gasnier <fabrice.gasn...@foss.st.com> >> --- >> >> common/Makefile | 1 + >> common/usb_onboard_hub.c | 62 +++++++++++++++++++++++++++++++++++ >> drivers/usb/Kconfig | 10 ++++++ >> drivers/usb/host/usb-uclass.c | 16 +++++---- >> 4 files changed, 83 insertions(+), 6 deletions(-) >> create mode 100644 common/usb_onboard_hub.c >> > > Reviewed-by: Patrick Delaunay <patrick.delau...@foss.st.com> > > Thanks > Patrick > >
Applied on u-boot-stm32/master Thanks