Describe the bug
USB VBUS is immediately enabled instead of waiting for the rest of the USB stack to initialize. This means that any BC1.2 capable device does not detect the CM5 as a downstream port, since it checks to see if the data lines are initialized and they aren't.
Steps to reproduce the behaviour
On a CM5 IO Board:
- Plug in an Android (I used Google Pixel 10).
- Observe that the Pi can see it.
- Reboot the Pi.
- See that the Pi cannot see it, and the phone thinks it is attached to an AC charger, not a computer.
- Toggle VBUS:
pinctrl set USB_VBUS_EN op dl
sleep 1
pinctrl set USB_VBUS_EN op dh
- Observe that the Pi can now see the phone.
Device (s)
Raspberry Pi CM5
System
https://pastebin.com/2Dmj9x9q
Logs
No response
Additional context
Physically replugging the phone also makes VBUS drop, which makes the phone discoverable again. I am communicating to the phones over adb.
Describe the bug
USB VBUS is immediately enabled instead of waiting for the rest of the USB stack to initialize. This means that any BC1.2 capable device does not detect the CM5 as a downstream port, since it checks to see if the data lines are initialized and they aren't.
Steps to reproduce the behaviour
On a CM5 IO Board:
Device (s)
Raspberry Pi CM5
System
https://pastebin.com/2Dmj9x9q
Logs
No response
Additional context
Physically replugging the phone also makes VBUS drop, which makes the phone discoverable again. I am communicating to the phones over adb.