summaryrefslogtreecommitdiff
path: root/driver/nfc
diff options
context:
space:
mode:
authorDaisuke Nojiri <dnojiri@chromium.org>2021-01-28 08:40:12 -0800
committerCommit Bot <commit-bot@chromium.org>2021-01-29 14:34:44 +0000
commit9e26b68ff06747da4fb2d446f84e3b2e09cbea41 (patch)
tree73a6c6ff7c94dc9e5bfdcb8b94046f7bdecdc29a /driver/nfc
parenta9474d0ebcf47fe02952173b81e2fab1cdbd26c8 (diff)
downloadchrome-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.c12
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;