summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--driver/nfc/ctn730.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/driver/nfc/ctn730.c b/driver/nfc/ctn730.c
index 6efb75efb4..fac5f20537 100644
--- a/driver/nfc/ctn730.c
+++ b/driver/nfc/ctn730.c
@@ -274,7 +274,12 @@ static int _send_command(struct pchg *ctx, const struct ctn730_msg *cmd)
static int ctn730_reset(struct pchg *ctx)
{
gpio_set_level(GPIO_WLC_NRST_CONN, 0);
- msleep(1);
+ /*
+ * Datasheet says minimum is 10 us. This is better not to be a sleep
+ * especially if it's long (e.g. ~1 ms) since the PCHG state machine
+ * may try to access the I2C bus, which is held low by ctn730.
+ */
+ udelay(15);
gpio_set_level(GPIO_WLC_NRST_CONN, 1);
return EC_SUCCESS_IN_PROGRESS;
}