cancel
Showing results for 
Search instead for 
Did you mean: 

How to Start Usb2 from u-boot?

MBell.5
Associate III

hi, i'm stuck starting usbh_hs2 from u-boot

i can already start usbh_hs1 at boot, in order to load kernel and fs from an usb mass storage.

i wish to do the same with usb_hs2, is that possible?

is one configuration from DTS or from U-boot source code?

ps. i'm starting u-boot from mmc, then detect usb mass storage and start alla the system from there

thank you !!!

3 REPLIES 3
MGiac.1
Associate

Hi! Same Issue here!

Trying to start kernel and then linux from usb stick. However USB mapped as N.2 does not wake up in boot (it is not recognized nor mapped).

No problem with USB 1, despite they have the same dtb configuration.

I can't use USB 1 because in the final application of the board, the USB 1 will not be accessible to User. We would prefer not to change the board design. Is it possible to map and recognize USB 2 directly in u-Boot or are the two ports somewhat different, thus this is not possible?

PatrickF
ST Employee

Hi @MBell.5​ , @MGiac.1​ 

Did you check your Device Tree Vs the following wiki page ?

https://wiki.st.com/stm32mpu/wiki/USBH_device_tree_configuration#DT_configuration_when_using_the_two_physical_ports

Please note that in most application, the 2nd USB port is used by OTG to be used with CubeProgrammer to populate the Flash.

So, you might need two different uBoot, one for Flashing which use OTG for 2nd USB port (you might need a special type-A<->type-A USB cable to do that) and one uBoot for regular boot from Flash which could use USBH on 2nd USB.

Please ensure you are using latest ecosystem v4.x, otherwise, DTS definition might be different (refer to https://wiki.st.com/stm32mpu/wiki/Main_Page#STM32_MPU_archived_wikis)

Regards.

In order to give better visibility on the answered topics, please click on 'Accept as Solution' on the reply which solved your issue or answered your question.

hi @PatrickF​ x

i tried with your suggest but it don't work.

i already have 2 different boot.

there's something courious about the usb on u-boot:

if i do not map the usb in device tree usb does not start -> OK

if i map the usb like the guide only USB_1 start -> NG

if i map only usb_2, still only USB_1 start -> STRANGE

here is how i enabled only usb_2 (idk if is legal to do that)

&usbh_ehci {

phys = <&usbphyc_port1 1>;

phy-names = "usb";

status = "okay";

};

&usbh_ohci {

phys = <&usbphyc_port1 1>;

phy-names = "usb";

status = "okay";

};

i double checked the u-boot.dtb generated from the make command to be sure to have the right changes applied and all seems ok.

ps. i disabled the usb-otg node as it uses the same port as USB_2 (hope that is right thing to do)

do you have any suggestion?