summaryrefslogtreecommitdiff
path: root/util
diff options
context:
space:
mode:
authorWai-Hong Tam <waihong@google.com>2018-11-08 14:28:12 -0800
committerchrome-bot <chrome-bot@chromium.org>2018-11-15 02:16:28 -0800
commit38b16336b7d254f52261bb0ba12d6a8d691323ab (patch)
tree6986956c5e5e4c45e46906990b9eb41dc80051af /util
parentf02c6f83fae3cdce2933da60a0de44206295489f (diff)
downloadchrome-ec-38b16336b7d254f52261bb0ba12d6a8d691323ab.tar.gz
chipset: Add a host command to issue AP reset
The host command is enabled by defining CONFIG_HOSTCMD_AP_RESET. It calls the chipset_reset() function, similar to the console command "apreset". BRANCH=none BUG=b:119261783 TEST=Manually tested as follow: Enabled CONFIG_HOSTCMD_AP_RESET on Cheza and flashed EC image. Copied the compiled ectool to Cheza. Ran "ectool apreset". Checked EC console: [6698.093141 chipset_reset(4)] [6698.093753 power off 5] ... the power state changing S0 -> S5 -> S0 Change-Id: I09f26f0c7ccd22905979e8b8675185505ad739eb Signed-off-by: Wai-Hong Tam <waihong@google.com> Reviewed-on: https://chromium-review.googlesource.com/1327841 Reviewed-by: Randall Spangler <rspangler@chromium.org>
Diffstat (limited to 'util')
-rw-r--r--util/ectool.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/util/ectool.c b/util/ectool.c
index ece78749c6..24c0c7955e 100644
--- a/util/ectool.c
+++ b/util/ectool.c
@@ -58,6 +58,8 @@ const char help_str[] =
" Read an ADC channel.\n"
" addentropy [reset]\n"
" Add entropy to device secret\n"
+ " apreset\n"
+ " Issue AP reset\n"
" autofanctrl <on>\n"
" Turn on automatic fan speed control.\n"
" backlight <enabled>\n"
@@ -715,6 +717,7 @@ static const char *reset_cause_to_str(uint16_t cause)
"reset: board custom",
"reset: ap hang detected",
"reset: console command",
+ "reset: host command",
"reset: keyboard sysreset",
"reset: keyboard warm reboot",
"reset: debug warm reboot",
@@ -1332,6 +1335,11 @@ int cmd_rollback_info(int argc, char *argv[])
return rv;
}
+int cmd_apreset(int argc, char *argv[])
+{
+ return ec_command(EC_CMD_AP_RESET, 0, NULL, 0, NULL, 0);
+}
+
#define FP_FRAME_INDEX_SIMPLE_IMAGE -1
/*
@@ -8338,6 +8346,7 @@ int cmd_cec(int argc, char *argv[])
const struct command commands[] = {
{"adcread", cmd_adc_read},
{"addentropy", cmd_add_entropy},
+ {"apreset", cmd_apreset},
{"autofanctrl", cmd_thermal_auto_fan_ctrl},
{"backlight", cmd_lcd_backlight},
{"battery", cmd_battery},