summaryrefslogtreecommitdiff
path: root/test/flash_write_protect.c
diff options
context:
space:
mode:
Diffstat (limited to 'test/flash_write_protect.c')
-rw-r--r--test/flash_write_protect.c143
1 files changed, 0 insertions, 143 deletions
diff --git a/test/flash_write_protect.c b/test/flash_write_protect.c
deleted file mode 100644
index df20ede3fd..0000000000
--- a/test/flash_write_protect.c
+++ /dev/null
@@ -1,143 +0,0 @@
-/* Copyright 2020 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 "flash.h"
-#include "gpio.h"
-#include "string.h"
-#include "system.h"
-#include "task.h"
-#include "test_util.h"
-
-test_static int check_image_and_hardware_write_protect(void)
-{
- int wp;
-
- if (system_get_image_copy() != EC_IMAGE_RO) {
- ccprintf("This test is only works when running RO\n");
- return EC_ERROR_UNKNOWN;
- }
-
-#ifdef CONFIG_WP_ALWAYS
- wp = 1;
-#elif defined(CONFIG_WP_ACTIVE_HIGH)
- wp = gpio_get_level(GPIO_WP);
-#else
- wp = !gpio_get_level(GPIO_WP_L);
-#endif
-
- if (!wp) {
- ccprintf("Hardware write protect (GPIO_WP) must be enabled\n");
- return EC_ERROR_UNKNOWN;
- }
-
- return EC_SUCCESS;
-}
-
-test_static int test_flash_write_protect_enable(void)
-{
- int rv;
-
- TEST_EQ(check_image_and_hardware_write_protect(), EC_SUCCESS, "%d");
-
- /* Equivalent of ectool --name=cros_fp flashprotect enable */
- rv = crec_flash_set_protect(EC_FLASH_PROTECT_RO_AT_BOOT,
- EC_FLASH_PROTECT_RO_AT_BOOT);
-
- return rv;
-}
-
-test_static int test_flash_write_protect_disable(void)
-{
- int rv;
-
- TEST_EQ(check_image_and_hardware_write_protect(), EC_SUCCESS, "%d");
-
- /* Equivalent of ectool --name=cros_fp flashprotect disable */
- rv = crec_flash_set_protect(EC_FLASH_PROTECT_RO_AT_BOOT, 0);
- TEST_NE(rv, EC_SUCCESS, "%d");
-
- return EC_SUCCESS;
-}
-
-test_static void run_test_step1(void)
-{
- ccprintf("Step 1: Flash write protect test\n");
- RUN_TEST(test_flash_write_protect_enable);
-
- if (test_get_error_count())
- test_reboot_to_next_step(TEST_STATE_FAILED);
- else
- test_reboot_to_next_step(TEST_STATE_STEP_2);
-}
-
-test_static void run_test_step2(void)
-{
- ccprintf("Step 2: Flash write protect test\n");
- RUN_TEST(test_flash_write_protect_disable);
-
- if (test_get_error_count())
- test_reboot_to_next_step(TEST_STATE_FAILED);
- else if (IS_ENABLED(CONFIG_EEPROM_CBI_WP))
- test_reboot_to_next_step(TEST_STATE_STEP_3);
- else
- test_reboot_to_next_step(TEST_STATE_PASSED);
-}
-
-#ifdef CONFIG_EEPROM_CBI_WP
-test_static int test_cbi_wb_asserted_immediately(void)
-{
- int rv;
-
- TEST_EQ(check_image_and_hardware_write_protect(), EC_SUCCESS, "%d");
-
- /* Ensure that EC_CBI_WP is not asserted. */
- TEST_EQ(gpio_get_level(GPIO_EC_CBI_WP), 0, "%d");
-
- /* Equivalent of ectool --name=cros_fp flashprotect disable */
- rv = crec_flash_set_protect(EC_FLASH_PROTECT_RO_NOW, 0);
- TEST_EQ(rv, EC_SUCCESS, "%d");
-
- /* Now make sure EC_CBI_WP is asserted immediately. */
- TEST_EQ(gpio_get_level(GPIO_EC_CBI_WP), 1, "%d");
-
-
- return EC_SUCCESS;
-}
-
-test_static void run_test_step3(void)
-{
- ccprintf("Step 3: Flash write protect test\n");
- RUN_TEST(test_cbi_wb_asserted_immediately);
-
- if (test_get_error_count())
- test_reboot_to_next_step(TEST_STATE_FAILED);
- else
- test_reboot_to_next_step(TEST_STATE_PASSED);
-}
-#endif /* CONFIG_EEPROM_CBI_WP */
-
-void test_run_step(uint32_t state)
-{
- if (state & TEST_STATE_MASK(TEST_STATE_STEP_1))
- run_test_step1();
- else if (state & TEST_STATE_MASK(TEST_STATE_STEP_2))
- run_test_step2();
-#ifdef CONFIG_EEPROM_CBI_WP
- else if (state & TEST_STATE_MASK(TEST_STATE_STEP_3))
- run_test_step3();
-#endif /* CONFIG_EEPROM_CBI_WP */
-}
-
-int task_test(void *unused)
-{
- test_run_multistep();
- return EC_SUCCESS;
-}
-
-void run_test(int argc, char **argv)
-{
- msleep(30); /* Wait for TASK_ID_TEST to initialize */
- task_wake(TASK_ID_TEST);
-}