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

Patrice CHOTARD patrice.chotard at foss.st.com
Thu Jan 12 16:24:28 CET 2023


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

Thanks


More information about the U-Boot mailing list