Messages in this thread | | | Date | Thu, 20 Apr 2017 14:55:29 +0300 | From | Heikki Krogerus <> | Subject | Re: [PATCH v17 2/3] usb: USB Type-C connector class |
| |
Hi,
On Wed, Apr 19, 2017 at 07:45:00AM -0700, Badhri Jagan Sridharan wrote: > >> What is the expected behavior when the userspace changes the > >> preferred_role node when the port is in connected state ? > >> > >> 1. the state machine re-resolves the port roles right away based on > >> the new state machine in place ? (or) > > > > No! There are separate attributes for sending role swap requests. > > Right. But, that might not be helpful in cases when PD is not implemented. > and Implementing PD is not mandatory according the spec :/ > > FYI quoting from the Type-C specification release(page 24), > role swaps are not limited to devices that only support PD. > > "Two independent set of mechanisms are defined to allow a USB Type-C > DRP to functionally swap power and data roles. When USB PD is > supported, power and data role swapping is performed as a subsequent > step following the initial connection process. For non-PD implementations, > power/data role swapping can optionally be dealt with as part of the initial > connection process." > > But, the current interface definition actually prevents current/data role > swaps for non-pd devices.
No it doesn't. When USB PD is not supported, you can still use data_role to swap the role. Of course, the lower level driver may not support any role swapping in that case.
Thanks,
-- heikki
| |