[PATCH 1/3] usb: onboard-hub: add driver to manage onboard hub supplies
Patrick DELAUNAY
patrick.delaunay at foss.st.com
Tue Jan 3 17:34:14 CET 2023
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 at 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 at 5800d000
> usb_hub 0 [ + ] usb_onboard_hub | | `-- hub at 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.gasnier at 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.delaunay at foss.st.com>
Thanks
Patrick
More information about the U-Boot
mailing list