diff options
author | Patryk Duda <pdk@semihalf.com> | 2020-06-15 12:46:55 +0200 |
---|---|---|
committer | Commit Bot <commit-bot@chromium.org> | 2020-06-23 09:19:44 +0000 |
commit | 6ac3fe8e804516b12c5747e0aae728fcc3f79153 (patch) | |
tree | 62bb37ed7fd1c8baf5700b5d8c2fbf52085bdbdc /include | |
parent | ee588d44e253154dce00d03d74aa568dcadef90f (diff) | |
download | chrome-ec-6ac3fe8e804516b12c5747e0aae728fcc3f79153.tar.gz |
TCPMv2: Do not reset negotiated PD revision level during soft reset
PD3.0 6.2.1.1.5 Specification Revision clearly states that negotiated
Specification Revision level should be used until Detach, Hard Reset
or Error Recovery happens.
Current implementation of soft reset performs full reinitialization of
PRL state machines, flags, counters including negotiated Specification
Revision level. As a result when sending PD_CTRL_SOFT_RESET DUT was
waiting for SinkTxOk, but it was never observed because ServoV4 was
running PD2.0 stack.
This issue was fixed by separating parts of SM_INIT state which
shouldn't be reset during soft reset.
BUG=b:158996004
BRANCH=none
TEST=Flash nocturne with firmware which contains fix.
Make sure ServoV4 runs PD2.0 revision.
Run firmware_PDResetSoft test, make sure that hard reset doesn't occur.
Signed-off-by: Patryk Duda <pdk@semihalf.com>
Change-Id: I852817a63772dbc8baab74ff6b0c425228b2f49b
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2246020
Reviewed-by: Jett Rink <jettrink@chromium.org>
Diffstat (limited to 'include')
-rw-r--r-- | include/usb_prl_sm.h | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/include/usb_prl_sm.h b/include/usb_prl_sm.h index ee357ccba2..6b35bd67e8 100644 --- a/include/usb_prl_sm.h +++ b/include/usb_prl_sm.h @@ -41,6 +41,13 @@ void prl_set_debug_level(enum debug_level level); void prl_reset(int port); /** + * Resets the Protocol Layer State Machine (softly) + * + * @param port USB-C port number + */ +void prl_reset_soft(int port); + +/** * Runs the Protocol Layer State Machine * * @param port USB-C port number |