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