| /* |
| * Copyright (c) 2019-2022, Arm Limited. All rights reserved. |
| * |
| * SPDX-License-Identifier: BSD-3-Clause |
| * |
| */ |
| |
| #include "cmsis.h" |
| #include "device_definition.h" |
| #include "systimer_armv8-m_drv.h" |
| #include "tfm_plat_test.h" |
| |
| /* Interrupt interval is set to 1 ms */ |
| #define TIMER_RELOAD_VALUE (SYSTIMER0_ARMV8M_DEFAULT_FREQ_HZ / 1000) |
| |
| void tfm_plat_test_secure_timer_start(void) |
| { |
| systimer_armv8_m_init(&SYSTIMER0_ARMV8_M_DEV_S); |
| systimer_armv8_m_set_autoinc_reload(&SYSTIMER0_ARMV8_M_DEV_S, TIMER_RELOAD_VALUE); |
| systimer_armv8_m_enable_autoinc(&SYSTIMER0_ARMV8_M_DEV_S); |
| systimer_armv8_m_enable_interrupt(&SYSTIMER0_ARMV8_M_DEV_S); |
| } |
| |
| void tfm_plat_test_secure_timer_clear_intr(void) |
| { |
| systimer_armv8_m_clear_autoinc_interrupt(&SYSTIMER0_ARMV8_M_DEV_S); |
| } |
| |
| void tfm_plat_test_secure_timer_stop(void) |
| { |
| systimer_armv8_m_uninit(&SYSTIMER0_ARMV8_M_DEV_S); |
| systimer_armv8_m_clear_autoinc_interrupt(&SYSTIMER0_ARMV8_M_DEV_S); |
| } |