Odyssey STM32MP157C: Cannot activate full-speed USB OTG

Good.

I rebuilt the kernel with two copies of dwc2.ko, one stock and one with the ST patch regarding PHYSEL. The unpatched one always fails probing, the patched one always works. I did modprobe/modprobe -r experiments without rebooting on the same device. I think I even tried it on STM32MP157D-DK1 kit.

It had nothing to do with TF-A BL2 or U-Boot or even coprocessor firmware, although it was nice to revisit these sources. Your device should work now as well.

However, both the DK1 and our device has nasty pull-ups on I2C5 (and I2C6), so it shows +3.3V on USB D+ and D- when I hook up an oscilloscope and a STM32F072B-Disco board by its’ PA11/PA12 to the pins. So I cannot confirm operation either.

You can poke around the debugfs, try forcing host/peripheral mode, monitor the OTG_ID (or disable it) and Vbus_sense, if it’s relevant, to actually use the type-C port. There are adapters type-C/type-A, if you wanted to connect a third peripheral FS device to STM32MP1 as host.

Feel free to mention me if I can help you with anything, without me having the NPi device.