Re: ucsi and DRD controller interaction

Heikki Krogerus
2020-04-29T13:03:20Z

Hi again,

> > Thanks for the details so this will enable the role switch  for drd controller. Now for UCSI driver to call the role make functions it needs the reference of the same switch reference,
> >
> > so for that do i have to use device_get_named_child_node(dev,"CON0"), in UCSI Driver?
>
> No. If you use the ucsi driver, and if your connector child nodes are
> in correct order, then ucsi_find_fwnode() takes care of assigning the
> node for you.
>
> But you do need to use the USB role class API to get a handle to the
> switch (dwc3) in the typec driver.
>
> UCSI is really meant to be a status interface. The specification
> states that the USB Type-C connectors should function autonomously
> without any OS involvement. So by relying on the driver to configure
> the muxes, you are actually corrupting that part of the specification.

I had to recheck that. I seem to be wrong about this. It does not
clearly state that the ports need to function autonomously. Also, in
this case the USB role switch isn't a mux.

Sorry about that.

> I would still strongly recommend that you use TI's own host interface.

--
heikki