diff options
Diffstat (limited to 'test/flash_physical.c')
-rw-r--r-- | test/flash_physical.c | 132 |
1 files changed, 0 insertions, 132 deletions
diff --git a/test/flash_physical.c b/test/flash_physical.c deleted file mode 100644 index 06dd495254..0000000000 --- a/test/flash_physical.c +++ /dev/null @@ -1,132 +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 "chip/stm32/flash-regs.h" -#include "flash.h" -#include "panic.h" -#include "test_util.h" - -struct flash_info { - int num_flash_banks; - int write_protect_bank_offset; - int write_protect_bank_count; -}; - -#if defined(CHIP_VARIANT_STM32F412) -struct flash_info flash_info = { - .num_flash_banks = 12, - .write_protect_bank_offset = 0, - .write_protect_bank_count = 5, -}; -#elif defined(CHIP_VARIANT_STM32H7X3) -struct flash_info flash_info = { - .num_flash_banks = 16, - .write_protect_bank_offset = 0, - .write_protect_bank_count = 6, -}; -#else -#error "Flash info not defined for this chip. Please add it." -#endif - - -test_static int test_lock_option_bytes(void) -{ - TEST_EQ(flash_option_bytes_locked(), true, "%d"); - - unlock_flash_option_bytes(); - - TEST_EQ(flash_option_bytes_locked(), false, "%d"); - - lock_flash_option_bytes(); - - TEST_EQ(flash_option_bytes_locked(), true, "%d"); - - unlock_flash_option_bytes(); - - TEST_EQ(flash_option_bytes_locked(), false, "%d"); - - return EC_SUCCESS; -} - -test_static int test_disable_option_bytes(void) -{ - TEST_EQ(flash_option_bytes_locked(), false, "%d"); - - disable_flash_option_bytes(); - - TEST_EQ(flash_option_bytes_locked(), true, "%d"); - - /* Since we've disabled the option bytes we'll get a bus fault. */ - ignore_bus_fault(1); - - unlock_flash_option_bytes(); - - ignore_bus_fault(0); - - /* Option bytes should still be locked. */ - TEST_EQ(flash_option_bytes_locked(), true, "%d"); - - return EC_SUCCESS; -} - -test_static int test_lock_flash_control_register(void) -{ - TEST_EQ(flash_control_register_locked(), true, "%d"); - - unlock_flash_control_register(); - - TEST_EQ(flash_control_register_locked(), false, "%d"); - - lock_flash_control_register(); - - TEST_EQ(flash_control_register_locked(), true, "%d"); - - unlock_flash_control_register(); - - TEST_EQ(flash_control_register_locked(), false, "%d"); - - return EC_SUCCESS; -} - -test_static int test_disable_flash_control_register(void) -{ - TEST_EQ(flash_control_register_locked(), false, "%d"); - - disable_flash_control_register(); - - TEST_EQ(flash_control_register_locked(), true, "%d"); - - /* Since we've disabled the option bytes we'll get a bus fault. */ - ignore_bus_fault(1); - - unlock_flash_control_register(); - - ignore_bus_fault(0); - - /* Control register should still be locked. */ - TEST_EQ(flash_control_register_locked(), true, "%d"); - - return EC_SUCCESS; -} - -test_static int test_flash_config(void) -{ - TEST_EQ(PHYSICAL_BANKS, flash_info.num_flash_banks, "%d"); - TEST_EQ(WP_BANK_OFFSET, flash_info.write_protect_bank_offset, "%d"); - TEST_EQ(WP_BANK_COUNT, flash_info.write_protect_bank_count, "%d"); - return EC_SUCCESS; -} - -void run_test(int argc, char **argv) -{ - ccprintf("Running flash physical test\n"); - RUN_TEST(test_flash_config); - - RUN_TEST(test_lock_option_bytes); - RUN_TEST(test_disable_option_bytes); - RUN_TEST(test_lock_flash_control_register); - RUN_TEST(test_disable_flash_control_register); - test_print_result(); -} |