cancel
Showing results for 
Search instead for 
Did you mean: 

STM32MP1x processor: Is it possible to connect both USBs (host, device) to the Cortex-M4 and use them simultaneously? What configuration tool should be used,?

eviiru
Associate
 
1 ACCEPTED SOLUTION

Accepted Solutions
PatrickF
ST Employee

Even if HW could permit that, in STM32MP1 series, we do not offer any support for USBPHYC, USBH or OTG IPs configuration on Cortex-M4 side.

Please also note that OTG device in High-Speed mode is required to be managed by Cortex-A7 during Flash programming phases (but Cortex-M4 is not used during this sequence).

Please note that both USB share some ressources (e.g. same PLL inside USBPHYC) which make sharing USBH under Linux Control and OTG under M4 control very complex when we talk about init and low power modes.

We do not recommend using USB from Cortex-M4 which should be managed mostly as a coprocessor.

Could you share the use case you have in mind ?

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.

View solution in original post

2 REPLIES 2
PatrickF
ST Employee

Even if HW could permit that, in STM32MP1 series, we do not offer any support for USBPHYC, USBH or OTG IPs configuration on Cortex-M4 side.

Please also note that OTG device in High-Speed mode is required to be managed by Cortex-A7 during Flash programming phases (but Cortex-M4 is not used during this sequence).

Please note that both USB share some ressources (e.g. same PLL inside USBPHYC) which make sharing USBH under Linux Control and OTG under M4 control very complex when we talk about init and low power modes.

We do not recommend using USB from Cortex-M4 which should be managed mostly as a coprocessor.

Could you share the use case you have in mind ?

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.
eviiru
Associate

Thanks for your answer.

Use case:

We have now USB host - USB device connection and host have few (non-standard) commands that device can't handle. So we need an "intermediator"-device, which catches non-standard commands from USB traffic and gives suitable reply to them. Standard commands shall be transmitted to the USB-device which gives a reply to them. USB-traffic is high speed (HS).