I’m trying to use a Anker-332-USB-C Hub attached to the USB-C port. If I supply power to the hub on the PD port, the BeaglePlay powers up. Looking at the circuit overview DP/DM are passed to USB1, so in theory it should work. I tried flipping the USB-C connector; nothing.
What’s the story with USB-C hub compatibility on the BeaglePlay?
(Hoping to standardize on the BeaglePlay for test automation use cases)
USB-C is a rather complex protocol to implement correctly.
For one thing USB-C separates Power and Data Roles, so a given port can act as both a Device or a Host and it can also have an independent power role (provide or receive power).
BeaglePlay and many other low cost boards implement USB-C power the simple way, they add 2 pull-up resistors on the CC pins which tell power adapters that it’s a 5V 3A USB Sink and so the power adapter provides that amount if it can.
What you are trying to do by connecting a hub is having the USB-C port act as a Host while being injected power which in theory could work, the problem is that the Beagle USB-C port is configured by default as a Gadget (Device) so that it can act as a serial console, ethernet controller etc for connecting to a PC.
You should be able to force the USB controller into Host mode with the device-tree ‘dr_mode’
See this for some more info - most relevant is 7:06