[PATCH 20/30] mfd: cros_ec: Add API for keyboard testing

From: Gwendal Grignou
Date: Wed Apr 24 2019 - 19:29:59 EST


Add command to allow keyboard testing in factory.

Signed-off-by: Gwendal Grignou <gwendal@xxxxxxxxxxxx>
---
include/linux/mfd/cros_ec_commands.h | 18 ++++++++++++++++++
1 file changed, 18 insertions(+)

diff --git a/include/linux/mfd/cros_ec_commands.h b/include/linux/mfd/cros_ec_commands.h
index 4784f3634793..88d08aa85738 100644
--- a/include/linux/mfd/cros_ec_commands.h
+++ b/include/linux/mfd/cros_ec_commands.h
@@ -3142,6 +3142,17 @@ struct ec_params_mkbp_simulate_key {
uint8_t pressed;
} __ec_align1;

+#define EC_CMD_GET_KEYBOARD_ID 0x0063
+
+struct ec_response_keyboard_id {
+ uint32_t keyboard_id;
+} __ec_align4;
+
+enum keyboard_id {
+ KEYBOARD_ID_UNSUPPORTED = 0,
+ KEYBOARD_ID_UNREADABLE = 0xffffffff,
+};
+
/* Configure keyboard scanning */
#define EC_CMD_MKBP_SET_CONFIG 0x0064
#define EC_CMD_MKBP_GET_CONFIG 0x0065
@@ -3390,6 +3401,13 @@ struct ec_response_get_next_event_v1 {
#define EC_MKBP_TABLET_MODE 1
#define EC_MKBP_BASE_ATTACHED 2

+/* Run keyboard factory test scanning */
+#define EC_CMD_KEYBOARD_FACTORY_TEST 0x0068
+
+struct ec_response_keyboard_factory_test {
+ uint16_t shorted; /* Keyboard pins are shorted */
+} __ec_align2;
+
/* Fingerprint events in 'fp_events' for EC_MKBP_EVENT_FINGERPRINT */
#define EC_MKBP_FP_RAW_EVENT(fp_events) ((fp_events) & 0x00FFFFFF)
#define EC_MKBP_FP_ERRCODE(fp_events) ((fp_events) & 0x0000000F)
--
2.21.0.593.g511ec345e18-goog