summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/ec/google/chromeec/ec.c18
-rw-r--r--src/ec/google/chromeec/ec.h8
2 files changed, 26 insertions, 0 deletions
diff --git a/src/ec/google/chromeec/ec.c b/src/ec/google/chromeec/ec.c
index 73baec63be..1c1f42ec62 100644
--- a/src/ec/google/chromeec/ec.c
+++ b/src/ec/google/chromeec/ec.c
@@ -1518,3 +1518,21 @@ int google_chromeec_wait_for_displayport(long timeout)
return 1;
}
+
+int google_chromeec_get_keybd_config(struct ec_response_keybd_config *keybd)
+{
+ struct chromeec_command cmd = {
+ .cmd_code = EC_CMD_GET_KEYBD_CONFIG,
+ .cmd_version = 0,
+ .cmd_data_in = NULL,
+ .cmd_size_in = 0,
+ .cmd_data_out = keybd,
+ .cmd_size_out = sizeof(*keybd),
+ .cmd_dev_index = 0,
+ };
+
+ if (google_chromeec_command(&cmd))
+ return -1;
+
+ return 0;
+}
diff --git a/src/ec/google/chromeec/ec.h b/src/ec/google/chromeec/ec.h
index 64d7e52981..5f84722ac7 100644
--- a/src/ec/google/chromeec/ec.h
+++ b/src/ec/google/chromeec/ec.h
@@ -330,6 +330,14 @@ struct usb_pd_port_caps {
int google_chromeec_get_pd_port_caps(int port,
struct usb_pd_port_caps *port_caps);
+/**
+ * Get the keyboard configuration / layout information from EC
+ *
+ * @param *keybd If successful, this is filled with EC filled parameters
+ * @return 0 on success, -1 on error
+ */
+int google_chromeec_get_keybd_config(struct ec_response_keybd_config *keybd);
+
#if CONFIG(HAVE_ACPI_TABLES)
/**
* Writes USB Type-C PD related information to the SSDT