faft: Add a new test of EC write protect under software sync

This test starts with RO normal mode and enables EC write protect. Software sync
supposed to write protect the entire EC flash, so we expect the following
write protect flags:
  - wp_gpio_asserted
  - ro_at_boot
  - ro_now
  - all_now
These flags are checked under following situations:
  - Cold reset. RO normal.
  - Cold reset. Two stop.
  - Cold reset by ectool. Two stop.
At the end of the test, write protect is deactivated and firmware is restored to
RO normal mode.

Signed-off-by: Vic Yang <victoryang@chromium.org>

BUG=chrome-os-partner:13229
TEST=Test passed on snow.

Change-Id: I821f8e6fe58702d94a09d8eb685e73fb17dfac29
Reviewed-on: https://gerrit.chromium.org/gerrit/31552
Commit-Ready: Vic Yang <victoryang@chromium.org>
Reviewed-by: Vic Yang <victoryang@chromium.org>
Tested-by: Vic Yang <victoryang@chromium.org>
diff --git a/server/site_tests/firmware_ECWriteProtect/control.dev b/server/site_tests/firmware_ECWriteProtect/control.dev
new file mode 100644
index 0000000..5273f55
--- /dev/null
+++ b/server/site_tests/firmware_ECWriteProtect/control.dev
@@ -0,0 +1,36 @@
+# Copyright (c) 2012 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.
+
+AUTHOR = "Chrome OS Team"
+NAME = "firmware_ECWriteProtect"
+PURPOSE = "Servo based EC write protect test"
+CRITERIA = "This test will fail if EC write protect misbehaved"
+TIME = "LONG"
+TEST_CATEGORY = "Functional"
+TEST_CLASS = "firmware"
+TEST_TYPE = "server"
+
+DOC = """
+This test starts with RO normal mode and enables EC write protect. Software sync
+supposed to write protect the entire EC flash, so we expect the following
+write protect flags:
+  - wp_gpio_asserted
+  - ro_at_boot
+  - ro_now
+  - all_now
+These flags are checked under following situations:
+  - Cold reset. RO normal.
+  - Cold reset. Two stop.
+  - Cold reset by ectool. Two stop.
+At the end of the test, write protect is deactivated and firmware is restored to
+RO normal mode.
+"""
+
+def run_ecwriteprotect(machine):
+    host = hosts.create_host(machine)
+    job.run_test("firmware_ECWriteProtect", host=host, cmdline_args=args,
+                 use_faft=True, disable_sysinfo=True,
+                 dev_mode=True, tag="dev")
+
+parallel_simple(run_ecwriteprotect, machines)