diff options
| author | Gwendal Grignou <gwendal@chromium.org> | 2019-06-03 14:33:48 -0400 |
|---|---|---|
| committer | Lee Jones <lee.jones@linaro.org> | 2019-06-10 04:15:08 -0400 |
| commit | 716bf50ea8b19c397e9d86238c6e7b307cbac3f5 (patch) | |
| tree | 934472a36631c0a1efeffc7b6f21e86bf15ceb05 /include/linux/mfd | |
| parent | 784dd15c930fd65576200bee225a2796e363c342 (diff) | |
mfd: cros_ec: Add fingerprint API
Add support for fingerprint sensors managed by embedded controller.
Signed-off-by: Gwendal Grignou <gwendal@chromium.org>
Acked-by: Enric Balletbo i Serra <enric.balletbo@collabora.com>
Acked-by: Benson Leung <bleung@chromium.org>
Reviewed-by: Fabien Lahoudere <fabien.lahoudere@collabora.com>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
Diffstat (limited to 'include/linux/mfd')
| -rw-r--r-- | include/linux/mfd/cros_ec_commands.h | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/include/linux/mfd/cros_ec_commands.h b/include/linux/mfd/cros_ec_commands.h index 51fe65170ce6..d5d07a9957ec 100644 --- a/include/linux/mfd/cros_ec_commands.h +++ b/include/linux/mfd/cros_ec_commands.h | |||
| @@ -3339,6 +3339,40 @@ struct ec_response_get_next_event_v1 { | |||
| 3339 | #define EC_MKBP_TABLET_MODE 1 | 3339 | #define EC_MKBP_TABLET_MODE 1 |
| 3340 | #define EC_MKBP_BASE_ATTACHED 2 | 3340 | #define EC_MKBP_BASE_ATTACHED 2 |
| 3341 | 3341 | ||
| 3342 | /* Fingerprint events in 'fp_events' for EC_MKBP_EVENT_FINGERPRINT */ | ||
| 3343 | #define EC_MKBP_FP_RAW_EVENT(fp_events) ((fp_events) & 0x00FFFFFF) | ||
| 3344 | #define EC_MKBP_FP_ERRCODE(fp_events) ((fp_events) & 0x0000000F) | ||
| 3345 | #define EC_MKBP_FP_ENROLL_PROGRESS_OFFSET 4 | ||
| 3346 | #define EC_MKBP_FP_ENROLL_PROGRESS(fpe) (((fpe) & 0x00000FF0) \ | ||
| 3347 | >> EC_MKBP_FP_ENROLL_PROGRESS_OFFSET) | ||
| 3348 | #define EC_MKBP_FP_MATCH_IDX_OFFSET 12 | ||
| 3349 | #define EC_MKBP_FP_MATCH_IDX_MASK 0x0000F000 | ||
| 3350 | #define EC_MKBP_FP_MATCH_IDX(fpe) (((fpe) & EC_MKBP_FP_MATCH_IDX_MASK) \ | ||
| 3351 | >> EC_MKBP_FP_MATCH_IDX_OFFSET) | ||
| 3352 | #define EC_MKBP_FP_ENROLL BIT(27) | ||
| 3353 | #define EC_MKBP_FP_MATCH BIT(28) | ||
| 3354 | #define EC_MKBP_FP_FINGER_DOWN BIT(29) | ||
| 3355 | #define EC_MKBP_FP_FINGER_UP BIT(30) | ||
| 3356 | #define EC_MKBP_FP_IMAGE_READY BIT(31) | ||
| 3357 | /* code given by EC_MKBP_FP_ERRCODE() when EC_MKBP_FP_ENROLL is set */ | ||
| 3358 | #define EC_MKBP_FP_ERR_ENROLL_OK 0 | ||
| 3359 | #define EC_MKBP_FP_ERR_ENROLL_LOW_QUALITY 1 | ||
| 3360 | #define EC_MKBP_FP_ERR_ENROLL_IMMOBILE 2 | ||
| 3361 | #define EC_MKBP_FP_ERR_ENROLL_LOW_COVERAGE 3 | ||
| 3362 | #define EC_MKBP_FP_ERR_ENROLL_INTERNAL 5 | ||
| 3363 | /* Can be used to detect if image was usable for enrollment or not. */ | ||
| 3364 | #define EC_MKBP_FP_ERR_ENROLL_PROBLEM_MASK 1 | ||
| 3365 | /* code given by EC_MKBP_FP_ERRCODE() when EC_MKBP_FP_MATCH is set */ | ||
| 3366 | #define EC_MKBP_FP_ERR_MATCH_NO 0 | ||
| 3367 | #define EC_MKBP_FP_ERR_MATCH_NO_INTERNAL 6 | ||
| 3368 | #define EC_MKBP_FP_ERR_MATCH_NO_TEMPLATES 7 | ||
| 3369 | #define EC_MKBP_FP_ERR_MATCH_NO_LOW_QUALITY 2 | ||
| 3370 | #define EC_MKBP_FP_ERR_MATCH_NO_LOW_COVERAGE 4 | ||
| 3371 | #define EC_MKBP_FP_ERR_MATCH_YES 1 | ||
| 3372 | #define EC_MKBP_FP_ERR_MATCH_YES_UPDATED 3 | ||
| 3373 | #define EC_MKBP_FP_ERR_MATCH_YES_UPDATE_FAILED 5 | ||
| 3374 | |||
| 3375 | |||
| 3342 | /*****************************************************************************/ | 3376 | /*****************************************************************************/ |
| 3343 | /* Temperature sensor commands */ | 3377 | /* Temperature sensor commands */ |
| 3344 | 3378 | ||
