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


Reply via email to