[PATCH 1/3] usb: onboard-hub: add driver to manage onboard hub supplies

Marek Vasut marex at denx.de
Thu Jan 12 17:24:10 CET 2023


On 1/12/23 16:24, Patrice CHOTARD wrote:
> 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 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
>>
>>
> 
> Applied on u-boot-stm32/master

There is u-boot-usb tree for these patches and 1/3 should go through it.


More information about the U-Boot mailing list