diff options
author | Bill Richardson <wfrichar@chromium.org> | 2016-08-18 15:39:57 -0700 |
---|---|---|
committer | chrome-bot <chrome-bot@chromium.org> | 2016-08-22 23:27:07 -0700 |
commit | 82e4ac67acf3c75084be37a52ae14147135437fa (patch) | |
tree | 44bbd657a9bd3aa4a6dc78f207b9c62a0f1b4d8d | |
parent | f729672b66ee6667d3266d7f43216d1cd6f5f412 (diff) | |
download | chrome-ec-82e4ac67acf3c75084be37a52ae14147135437fa.tar.gz |
Cr50: Add "wp" console command to control EC_WP_L
BUG=chrome-os-partner:49959
BRANCH=none
TEST=manual
On the Cr50 console, use the "wp" command to get/set the desired
state. On the EC console, use "gpioget wp_l" to watch it change.
Change-Id: I5978e6116ad0a07a7a61a8356dc1daf79e2397d0
Signed-off-by: Bill Richardson <wfrichar@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/373618
Reviewed-by: Vadim Bendebury <vbendeb@chromium.org>
-rw-r--r-- | board/cr50/build.mk | 1 | ||||
-rw-r--r-- | board/cr50/wp.c | 32 |
2 files changed, 33 insertions, 0 deletions
diff --git a/board/cr50/build.mk b/board/cr50/build.mk index 8710d11e41..8f9acd1522 100644 --- a/board/cr50/build.mk +++ b/board/cr50/build.mk @@ -49,6 +49,7 @@ board-y += tpm2/rsa.o board-y += tpm2/stubs.o board-y += tpm2/trng.o board-y += tpm2/upgrade.o +board-y += wp.o # Build and link with an external library EXTLIB := $(realpath ../../third_party/tpm2) diff --git a/board/cr50/wp.c b/board/cr50/wp.c new file mode 100644 index 0000000000..e32ce2189a --- /dev/null +++ b/board/cr50/wp.c @@ -0,0 +1,32 @@ +/* Copyright 2016 The Chromium OS Authors. All rights reserved. + * Use of this source code is governed by a BSD-style license that can be + * found in the LICENSE file. + */ + +#include "common.h" +#include "console.h" +#include "registers.h" + +static int command_wp(int argc, char **argv) +{ + int val; + + if (argc > 1) { + if (!parse_bool(argv[1], &val)) + return EC_ERROR_PARAM1; + + /* Invert, because active low */ + GREG32(RBOX, EC_WP_L) = !val; + } + + /* Invert, because active low */ + val = !GREG32(RBOX, EC_WP_L); + + ccprintf("Flash WP is %s\n", val ? "enabled" : "disabled"); + + return EC_SUCCESS; +} +DECLARE_CONSOLE_COMMAND(wp, command_wp, + "[bool]", + "Get/set the flash HW write-protect signal", + NULL); |