summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVadim Bendebury <vbendeb@chromium.org>2022-01-28 09:20:44 -0800
committerCommit Bot <commit-bot@chromium.org>2022-02-01 03:38:50 +0000
commit92d4008f05667a989ac523a3385d3ea7cb08b36a (patch)
tree330eaf52ab08a241dd0e693bd98af1e150e7a81c
parent2326209cfdd3966a1dc6d33f13913c6dde77491d (diff)
downloadchrome-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.c24
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");