platform/chrome: cros_ec_typec: Re-order connector configuration steps
authorAzhar Shaikh <azhar.shaikh@intel.com>
Fri, 21 Aug 2020 21:47:24 +0000 (14:47 -0700)
committerEnric Balletbo i Serra <enric.balletbo@collabora.com>
Mon, 24 Aug 2020 10:45:56 +0000 (12:45 +0200)
commita772336596dfadbbe22db24d4c4b9516c4b2dd57
tree5d52fa3f2cb2dbf462a59ac786cd39740c343b11
parentb12e4fd5f3e4852cdb1fa11d1a48498bea9e92cf
platform/chrome: cros_ec_typec: Re-order connector configuration steps

As per USB Type-C Spec R2.0 section 4.5.1.2 (Connecting Sources and Sinks)
and section 4.5.2.2 (Connection State Machine Requirements), the typical
flow for configuring a device connected to a typeC port is as below:

1. Source/sink detection
2. Orientation
3. Data role
4. VCONN
5. VBUS (USB Type-C currents)
6. The connector is now configured. We can start the PD communication
   that should lead into configuration of the mux if we enter a mode.

But in existing code data role was set after the connector and mux are
already configured. So fix this by following the spec to set the data
role before the connector and mux are configured.

Signed-off-by: Azhar Shaikh <azhar.shaikh@intel.com>
Reviewed-by: Prashant Malani <pmalani@chromium.org>
Reviewed-by: Heikki Krogerus <heikki.krogerus@linux.intel.com>
Signed-off-by: Enric Balletbo i Serra <enric.balletbo@collabora.com>
drivers/platform/chrome/cros_ec_typec.c