ec/google/chromeec: Add helper to request AP reset

Add a helper function to initiate AP reset through Embedded Controller
(EC).

BUG=b:162290856
TEST=Ensure that the EC resets AP on boards where the command is
supported.

Change-Id: I01d7dfec72a8a3f6d2c4844bc062672e494860d8
Signed-off-by: Karthikeyan Ramasubramanian <kramasub@google.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/44188
Reviewed-by: Furquan Shaikh <furquan@google.com>
Reviewed-by: Nick Vaccaro <nvaccaro@google.com>
Reviewed-by: Edward O'Callaghan <quasisec@chromium.org>
Reviewed-by: Tim Wawrzynczak <twawrzynczak@chromium.org>
Reviewed-by: Justin TerAvest <teravest@chromium.org>
Reviewed-by: Angel Pons <th3fanbus@gmail.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
This commit is contained in:
Karthikeyan Ramasubramanian
2020-08-04 16:50:02 -06:00
committed by Edward O'Callaghan
parent f9cc6374f2
commit c96d12e5ec
2 changed files with 25 additions and 0 deletions

View File

@ -1539,3 +1539,21 @@ int google_chromeec_get_keybd_config(struct ec_response_keybd_config *keybd)
return 0;
}
int google_chromeec_ap_reset(void)
{
struct chromeec_command cmd = {
.cmd_code = EC_CMD_AP_RESET,
.cmd_version = 0,
.cmd_data_in = NULL,
.cmd_size_in = 0,
.cmd_data_out = NULL,
.cmd_size_out = 0,
.cmd_dev_index = 0,
};
if (google_chromeec_command(&cmd))
return -1;
return 0;
}

View File

@ -337,6 +337,13 @@ int google_chromeec_get_pd_port_caps(int port,
*/
int google_chromeec_get_keybd_config(struct ec_response_keybd_config *keybd);
/**
* Send EC command to perform AP reset
*
* @return 0 on success, -1 on error
*/
int google_chromeec_ap_reset(void);
#if CONFIG(HAVE_ACPI_TABLES)
/**
* Writes USB Type-C PD related information to the SSDT