What does it do?
You can now connect A06 to a computer via the type-c port.
It will show up on the computer as… nothing. Read on.
Is this USB-otg functionality?
No. OTG is dual-role, which can function as both a host and a peripheral device.
DevTerm lacks the hardware (e.g. fusb302) to support the host role.
Peripheral only.
What does it do?
Enable USB gadget subsystem and libcomposite kernel module. It allows DevTerm to present itself to the computer as:
- USB network adapter
- Thumbdrive
- Audio/midi interface
- Serial port/GSM modem
- Camera
- Video adapter
- Keyboard/mouse
- Printer
- …
I’ve done some preliminary test in mass storage mode. Bandwidth looks pretty good for usb2.0, some 35MB/s on wire.
A little bit of technical details
Each dwc3 controller is wired up to two PHYs:
(Image taken from [RK3399][Android7.1] USB模块中的控制器和PHY_KrisFei的博客-CSDN博客)
Because DevTerm does not hook up usb3.0 signals, we should only activate the USB2.0 OTG PHY, which is provided by u2phy0.