Files
OpenCellular/include
Aseda Aboagye 36980ec169 pd: Properly assign data role on reset
According to PD spec:
- Data role shall not be reset on soft reset.
- Data role shall be reset to power-role default on hard reset.

Implement the above. Even if both ports follow spec, it's still possible
for a data role conflict to occur if, for example, data role swap occurs
(data role mismatches power role default) followed by a hardware reset
of one port (such that data role gets reset to power role default).
Handle such cases by taking error recovery actions.

BUG=b:71333840,chromium:805040

TEST=Connect scarlet to powered Apple accessory, verify scarlet comes up
in SNK-DFP after soft reset and issuing "reboot" on EC console.  After
issuing a hard reset, the port comes up in SNK-UFP (which is the
power-role default).

BRANCH=None

Signed-off-by: Shawn Nematbakhsh <shawnn@chromium.org>
Signed-off-by: Aseda Aboagye <aaboagye@google.com>
Change-Id: I65139f277d59a0612f8323d711080f52425ff5e7
Reviewed-on: https://chromium-review.googlesource.com/885462
Commit-Ready: Aseda Aboagye <aaboagye@chromium.org>
Tested-by: Aseda Aboagye <aaboagye@chromium.org>
Reviewed-by: Jett Rink <jettrink@chromium.org>
Reviewed-by: Vincent Palatin <vpalatin@chromium.org>
2018-04-25 23:00:01 -07:00
..
2017-02-17 04:09:37 -08:00
2018-03-09 20:05:06 -08:00
2016-05-26 16:17:26 -07:00
2013-12-17 21:27:53 +00:00
2017-11-17 20:18:38 -08:00
2018-03-19 17:04:53 -07:00
2017-12-18 20:32:58 -08:00
2015-07-27 22:19:16 +00:00
2014-02-08 00:14:48 +00:00
2018-04-04 18:52:15 -07:00
2013-10-25 20:12:49 +00:00
2015-06-10 18:24:05 +00:00
2015-05-27 03:58:16 +00:00
2017-12-28 12:35:08 -08:00
2015-05-27 03:58:16 +00:00
2013-06-26 09:08:23 -07:00
2018-02-05 23:05:39 -08:00
2018-03-26 17:03:27 -07:00
2011-12-07 19:10:02 +00:00
2016-11-08 17:11:28 -08:00
2017-06-02 10:38:57 -07:00
2012-10-25 14:12:11 -07:00
2017-07-28 17:45:13 -07:00
2018-03-20 19:30:06 -07:00
2015-06-18 19:07:00 +00:00
2017-10-10 22:13:43 -07:00
2015-06-18 19:07:00 +00:00
2018-02-09 05:24:46 -08:00
2016-11-15 17:41:53 -08:00
2018-01-08 17:22:48 -08:00
2018-04-25 22:59:58 -07:00
2016-11-08 17:11:28 -08:00
2015-09-16 14:49:46 -07:00
2017-02-23 11:36:21 -08:00
2017-06-29 10:37:40 -07:00
2017-06-29 10:37:40 -07:00
2018-03-26 23:33:33 -07:00
2015-06-18 19:07:00 +00:00
2018-02-24 01:22:46 -08:00
2017-09-22 10:18:50 -07:00
2018-03-20 19:30:17 -07:00
2015-01-20 20:56:43 +00:00