diff options
-rw-r--r-- | driver/nfc/ctn730.c | 7 |
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; } |