aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/mfd
diff options
context:
space:
mode:
authorGwendal Grignou <gwendal@chromium.org>2019-06-03 14:33:48 -0400
committerLee Jones <lee.jones@linaro.org>2019-06-10 04:15:08 -0400
commit716bf50ea8b19c397e9d86238c6e7b307cbac3f5 (patch)
tree934472a36631c0a1efeffc7b6f21e86bf15ceb05 /include/linux/mfd
parent784dd15c930fd65576200bee225a2796e363c342 (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.h34
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