diff options
author | Daisuke Nojiri <dnojiri@chromium.org> | 2021-01-28 08:40:12 -0800 |
---|---|---|
committer | Commit Bot <commit-bot@chromium.org> | 2021-01-29 14:34:44 +0000 |
commit | 9e26b68ff06747da4fb2d446f84e3b2e09cbea41 (patch) | |
tree | 73a6c6ff7c94dc9e5bfdcb8b94046f7bdecdc29a /driver/nfc | |
parent | a9474d0ebcf47fe02952173b81e2fab1cdbd26c8 (diff) | |
download | chrome-ec-9e26b68ff06747da4fb2d446f84e3b2e09cbea41.tar.gz |
ctn730: Add delay between INITIALIZATION and ENABLE (2)
ctn730 isn't immediately ready for i2c write after normal mode
initialization. This patch adds 5 msec delay between
WLC_HOST_CTRL_RESET_EVT_NORMAL_MODE and ENABLE_CMD.
BUG=b:173235954, b:178096436
BRANCH=trogdor
TEST=CoachZ
Signed-off-by: Daisuke Nojiri <dnojiri@chromium.org>
Change-Id: Ib3dd96637d772a611cd12d394df492276481c412
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2657722
Reviewed-by: Vincent Palatin <vpalatin@chromium.org>
Diffstat (limited to 'driver/nfc')
-rw-r--r-- | driver/nfc/ctn730.c | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/driver/nfc/ctn730.c b/driver/nfc/ctn730.c index 5528b8c5ec..c8be10d297 100644 --- a/driver/nfc/ctn730.c +++ b/driver/nfc/ctn730.c @@ -361,12 +361,18 @@ static int _process_payload_event(struct pchg *ctx, struct ctn730_msg *res) switch (res->instruction) { case WLC_HOST_CTRL_RESET: - if (buf[0] == WLC_HOST_CTRL_RESET_EVT_NORMAL_MODE) + if (buf[0] == WLC_HOST_CTRL_RESET_EVT_NORMAL_MODE) { ctx->event = PCHG_EVENT_INITIALIZED; - else if (buf[0] == WLC_HOST_CTRL_RESET_EVT_DOWNLOAD_MODE) + /* + * ctn730 isn't immediately ready for i2c write after + * normal mode initialization (b:178096436). + */ + msleep(5); + } else if (buf[0] == WLC_HOST_CTRL_RESET_EVT_DOWNLOAD_MODE) { ctx->event = PCHG_EVENT_NONE; - else + } else { return EC_ERROR_INVAL; + } break; case WLC_HOST_CTRL_GENERIC_ERROR: break; |