summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBill Richardson <wfrichar@chromium.org>2016-08-18 15:39:57 -0700
committerchrome-bot <chrome-bot@chromium.org>2016-08-22 23:27:07 -0700
commit82e4ac67acf3c75084be37a52ae14147135437fa (patch)
tree44bbd657a9bd3aa4a6dc78f207b9c62a0f1b4d8d
parentf729672b66ee6667d3266d7f43216d1cd6f5f412 (diff)
downloadchrome-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.mk1
-rw-r--r--board/cr50/wp.c32
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);