diff options
author | Vadim Bendebury <vbendeb@chromium.org> | 2022-01-28 09:20:44 -0800 |
---|---|---|
committer | Commit Bot <commit-bot@chromium.org> | 2022-02-01 03:38:50 +0000 |
commit | 92d4008f05667a989ac523a3385d3ea7cb08b36a (patch) | |
tree | 330eaf52ab08a241dd0e693bd98af1e150e7a81c | |
parent | 2326209cfdd3966a1dc6d33f13913c6dde77491d (diff) | |
download | chrome-ec-92d4008f05667a989ac523a3385d3ea7cb08b36a.tar.gz |
c2d2: allow GSC reset in one command
To speed things up when iterating during GSC development let's add an
h1_reset command option to allow to generate a GSC reset pulse in one
invocation.
BRANCH=none
BUG=none
TEST=manual: verified behavior of h1_reset:
'h1_reset pulse' - generate a reset pulse
'h1_reset' - show the current GSC reset state
'h1_reset <0 or 1>' - as expected
Signed-off-by: Vadim Bendebury <vbendeb@chromium.org>
Change-Id: I785a4ff29e6d55afa06baddd17b21486c5011e0a
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3422769
Reviewed-by: Jett Rink <jettrink@chromium.org>
-rw-r--r-- | board/c2d2/board.c | 24 |
1 files changed, 23 insertions, 1 deletions
diff --git a/board/c2d2/board.c b/board/c2d2/board.c index 7e83c58013..24b314118e 100644 --- a/board/c2d2/board.c +++ b/board/c2d2/board.c @@ -840,13 +840,35 @@ DECLARE_CONSOLE_COMMAND(pwr_button, command_pwr_button, static int command_h1_reset(int argc, char **argv) { + if ((argc == 2) && !strncasecmp("pulse", argv[1], strlen(argv[1]))) { + int rv; + int c = 2; + char *cmd_on[] = {"", "1", ""}; + char *cmd_off[] = {"", "0", ""}; + + rv = command_vref_alternate(c, cmd_on, + GPIO_SPIVREF_RSVD_H1VREF_H1_RST_ODL, + GPIO_EN_SPIVREF_RSVD_H1VREF_H1_RST, + VREF_MON_DIS_H1_RST_HELD, + "H1 reset"); + if (rv == EC_SUCCESS) { + msleep(100); + rv = command_vref_alternate + (c, cmd_off, + GPIO_SPIVREF_RSVD_H1VREF_H1_RST_ODL, + GPIO_EN_SPIVREF_RSVD_H1VREF_H1_RST, + VREF_MON_DIS_H1_RST_HELD, "H1 reset"); + } + return rv; + } + return command_vref_alternate(argc, argv, GPIO_SPIVREF_RSVD_H1VREF_H1_RST_ODL, GPIO_EN_SPIVREF_RSVD_H1VREF_H1_RST, VREF_MON_DIS_H1_RST_HELD, "H1 reset"); } DECLARE_CONSOLE_COMMAND(h1_reset, command_h1_reset, - "[0|1]?", + "[0|1|pulse]?", "Get/set the h1 reset state"); |