Debugging USB Type-C Power Delivery: Beauty and the Beast
summary
The RADXA ROCK 5B refuses some Type‑C chargers: it boots fine on upstream Linux v6.13.1 but boot‑loops on Radxa’s downstream v6.1 because PD negotiation often exceeds the 5 second negotiation window. Both sides use an onsemi FUSB302B controller; the test harness is a prototype Testing in a Box v2 power source. Debugging uses logic analyzers, PicoScope, PD triggers (CY12/Twinky), and USB testers; fixes in U-Boot TCPM and the fusb302 kernel driver resolve the loop and let the board negotiate power successfully.
AI-written summary · about
chapters (9)
- 0:00Welcome
- 1:25USB Type-C Power Delivery overview
- 13:26Hardware overview
- 26:48Debugging tools
- 33:36Analyzing PD traces
- 35:23Testing in a Box debugging
- 37:33U-Boot TCPM debugging
- 38:58Linux kernel PD support
- 39:40Live PD debugging demo
related talks
24mUSB Type-C and You
26mImproving stability for TCPM using boards that are not self-powered
45mPowering up "discoverable bus-attached" devices on DT-based platforms
49mBring-up with Netconsole and USB without a Serial Debug Net
39mHow to Investigate Issues on Linux Embedded System?
39mFrom Hardware to Linux
39mFrom Hardware to Linux
40mSecond Source Component Probing on Device Tree Platforms
