public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
* USB init before using usb_serial_acm gadget?
@ 2022-04-14 18:37 Sergey Nazaryev
  0 siblings, 0 replies; 4+ messages in thread
From: Sergey Nazaryev @ 2022-04-14 18:37 UTC (permalink / raw)
  To: u-boot

Hi!

As I can see, recently [1] the implementation of USB ACM gadget has
been merged into U-boot master. I tried to use it but the problem is
that running `setenv stdout usbacm` on my board based on STM32MP157
leads to errors below:

STM32MP> setenv stdout usbacm
couldn't find an available UDC
g_dnl_register: failed!, error: -19
## Error inserting "stdout" variable, errno=22

After some research I've found that USB OTG controller must be
initialized somehow before we can actually start using any gadget.
For instance, on my STM32MP board `dwc2_udc_otg_probe` should be
called. My research shows that `usb_gadget_initalize` is responsible
for it; so, for this reason, there are explicit calls of
`usb_gadget_initialize` (e.g. usb_dnl_dfu [2], usb_dnl_sdp [3])
before actual usage of any gadget.

However, unlike all other gadgets, usb_serial_acm code and code that
uses it don't call usb_gadget_initialize at all. Okay, I understand
that usb_serial_acm shouldn't initialize USB controllers by itself,
but it's still unclear who must be responsible for it.

So, my main question is: what's the best place for
`usb_gadget_initialize` call? Should I put it to board-specific code
(board/vendor/xxx.c) or maybe it's better to put `usb_gadget_initialize`
into new `usb` subcommand (`usb otgstart` or something like that) and
call it before `setenv stdout usbacm`?

Thank you in advance,
Sergey

[1]: https://source.denx.de/u-boot/u-boot/-/commit/fc2b399ac03b91339a1cb1bfd4d1a9ca87fe95c6
[2]: https://source.denx.de/u-boot/u-boot/-/blob/master/common/dfu.c#L28
[3]: https://source.denx.de/u-boot/u-boot/-/blob/master/cmd/usb_gadget_sdp.c#L24

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2022-04-21 12:53 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <20220414183117.wguqf5ggey7yxkhl@cool>
2022-04-14 20:15 ` USB init before using usb_serial_acm gadget? Loic Poulain
2022-04-17  8:45   ` Sergey Nazaryev
2022-04-21 12:53     ` Loic Poulain
2022-04-14 18:37 Sergey Nazaryev

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox