Hi, I'm currently trying to wrap my head around the new typec subsystem and also how to do it correctly on Rockchip rk3399 devices. The issue (and Guenter might know quite a bit about that) is that on ChromeOS devices the embedded controller hides the whole tcpm/vdm logic from the operating system and just provides a custom interface to query things like cable state, display-port hotplug status and so on. So right now the rk3399-typec-phy uses that extcon-based interface to get all status changes but that of course leaves out all systems directly talking to a fusb302. I did a small drawing to showcase that: ------------- ------------------ | typec-phy |----| extcon-cros-ec |\ ------------- ------------------ \ | \ \ ------------- \ ------------------ \ ----------- | cdn-dp | \| ????? |-----| fusb302 | ------------- ------------------ ----------- So to bring everything on the same page, I guess the cros-ec extcon (drivers/extcon/extcon-usbc-cros-ec.c) should somehow use the typec functions instead of implementing an extcon? But from reading into the typec code, it somehow looks like the typec framework expects to be in control of things like altmode negotiations, or am I misreading something? Thanks Heiko