summaryrefslogtreecommitdiff
path: root/driver/nfc
diff options
context:
space:
mode:
authorDaisuke Nojiri <dnojiri@chromium.org>2022-10-06 13:39:17 -0700
committerChromeos LUCI <chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com>2022-10-25 16:27:46 +0000
commit2a331a6384b98997441a091da00c38f927761c95 (patch)
tree224a34f7c9de1f6c962b61d033c960a68ee07f99 /driver/nfc
parent6907a33a480da45e60050bc4c837effaa80d8f14 (diff)
downloadchrome-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.c7
-rw-r--r--driver/nfc/ctn730.h5
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