diff options
author | Daisuke Nojiri <dnojiri@chromium.org> | 2022-10-06 13:39:17 -0700 |
---|---|---|
committer | Chromeos LUCI <chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com> | 2022-10-25 16:27:46 +0000 |
commit | 2a331a6384b98997441a091da00c38f927761c95 (patch) | |
tree | 224a34f7c9de1f6c962b61d033c960a68ee07f99 /driver/nfc | |
parent | 6907a33a480da45e60050bc4c837effaa80d8f14 (diff) | |
download | chrome-ec-2a331a6384b98997441a091da00c38f927761c95.tar.gz |
ctn730: Handle foreign object error
This patch makes ctn730 driver report a foreign object error.
BUG=b:245764044
BRANCH=None
TEST=Redrix
Signed-off-by: Daisuke Nojiri <dnojiri@chromium.org>
Change-Id: Iee4572a2b6ed3826629212fffc8cc062b2ee5c0c
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3965281
Reviewed-by: caveh jalali <caveh@chromium.org>
Diffstat (limited to 'driver/nfc')
-rw-r--r-- | driver/nfc/ctn730.c | 7 | ||||
-rw-r--r-- | driver/nfc/ctn730.h | 5 |
2 files changed, 12 insertions, 0 deletions
diff --git a/driver/nfc/ctn730.c b/driver/nfc/ctn730.c index 54e037bb10..bd5cb3ea3e 100644 --- a/driver/nfc/ctn730.c +++ b/driver/nfc/ctn730.c @@ -446,6 +446,13 @@ static int _process_payload_event(struct pchg *ctx, struct ctn730_msg *res) return EC_ERROR_INVAL; ctx->event = PCHG_EVENT_DEVICE_LOST; break; + case WLC_CHG_CTRL_DEVICE_STATE_DEVICE_FO_PRESENT: + if (len != WLC_CHG_CTRL_DEVICE_STATE_EVT_SIZE) + return EC_ERROR_INVAL; + ctx->event = PCHG_EVENT_ERROR; + ctx->error |= + PCHG_ERROR_MASK(PCHG_ERROR_FOREIGN_OBJECT); + break; default: return EC_ERROR_INVAL; } diff --git a/driver/nfc/ctn730.h b/driver/nfc/ctn730.h index 6911d4fa5e..e755169378 100644 --- a/driver/nfc/ctn730.h +++ b/driver/nfc/ctn730.h @@ -74,6 +74,11 @@ #define WLC_CHG_CTRL_DEVICE_STATE_DEVICE_DEVICE_BAD_VERSION 0x03 #define WLC_CHG_CTRL_DEVICE_STATE_DEVICE_DOCKED 0x04 #define WLC_CHG_CTRL_DEVICE_STATE_DEVICE_UNDOCKED 0x05 +#define WLC_CHG_CTRL_DEVICE_STATE_DEVICE_FO_PRESENT 0x06 +#define WLC_CHG_CTRL_DEVICE_STATE_DEVICE_BATTERY_FULL 0x07 +#define WLC_CHG_CTRL_DEVICE_STATE_DEVICE_CHARGE_FAILURE 0x08 +#define WLC_CHG_CTRL_DEVICE_STATE_DEVICE_NDEF_MODE 0x0A +#define WLC_CHG_CTRL_DEVICE_STATE_DEVICE_LISTENER_OT 0xFA #define WLC_CHG_CTRL_DEVICE_STATE_EVT_SIZE_DETECTED 8 #define WLC_CHG_CTRL_DEVICE_STATE_EVT_SIZE 1 |