summaryrefslogtreecommitdiff
path: root/driver/nfc/ctn730.c
diff options
context:
space:
mode:
Diffstat (limited to 'driver/nfc/ctn730.c')
-rw-r--r--driver/nfc/ctn730.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/driver/nfc/ctn730.c b/driver/nfc/ctn730.c
index 8e5dd2ea20..75487fa701 100644
--- a/driver/nfc/ctn730.c
+++ b/driver/nfc/ctn730.c
@@ -252,6 +252,14 @@ static int _send_command(struct pchg *ctx, const struct ctn730_msg *cmd)
return rv;
}
+static int ctn730_reset(struct pchg *ctx)
+{
+ gpio_set_level(GPIO_WLC_NRST_CONN, 0);
+ msleep(1);
+ gpio_set_level(GPIO_WLC_NRST_CONN, 1);
+ return EC_SUCCESS_IN_PROGRESS;
+}
+
static int ctn730_init(struct pchg *ctx)
{
uint8_t buf[CTN730_MESSAGE_BUFFER_SIZE];
@@ -376,7 +384,7 @@ static int _process_payload_event(struct pchg *ctx, struct ctn730_msg *res)
*/
msleep(5);
} else if (buf[0] == WLC_HOST_CTRL_RESET_EVT_DOWNLOAD_MODE) {
- ctx->event = PCHG_EVENT_NONE;
+ ctx->event = PCHG_EVENT_RESET;
} else {
return EC_ERROR_INVAL;
}
@@ -539,6 +547,7 @@ exit:
}
const struct pchg_drv ctn730_drv = {
+ .reset = ctn730_reset,
.init = ctn730_init,
.enable = ctn730_enable,
.get_event = ctn730_get_event,