diff options
Diffstat (limited to 'cts/timer/th.c')
-rw-r--r-- | cts/timer/th.c | 62 |
1 files changed, 0 insertions, 62 deletions
diff --git a/cts/timer/th.c b/cts/timer/th.c deleted file mode 100644 index e82cac71ab..0000000000 --- a/cts/timer/th.c +++ /dev/null @@ -1,62 +0,0 @@ -/* 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 "cts_common.h" -#include "gpio.h" -#include "registers.h" -#include "task.h" -#include "timer.h" -#include "watchdog.h" - -/* - * Interrupt handler - * - * DUT is supposed to trigger an interrupt when it's done counting down, - * causing this function to be invoked. - */ -void cts_irq(enum gpio_signal signal) -{ - /* Wake up the CTS task */ - task_wake(TASK_ID_CTS); -} - -static enum cts_rc timer_calibration_test(void) -{ - /* Error margin: +/-2 msec (0.2% for one second) */ - const int32_t margin = 2 * MSEC; - int32_t elapsed, delta; - timestamp_t t0, t1; - - gpio_enable_interrupt(GPIO_CTS_NOTIFY); - interrupt_enable(); - - sync(); - t0 = get_time(); - /* Wait for interrupt */ - task_wait_event(-1); - t1 = get_time(); - - elapsed = (int32_t)(t1.val - t0.val); - delta = elapsed - SECOND; - if (delta < -margin) { - CPRINTS("DUT clock runs too fast: %+d usec", delta); - return CTS_RC_FAILURE; - } - if (margin < delta) { - CPRINTS("DUT clock runs too slow: %+d usec", delta); - return CTS_RC_FAILURE; - } - - return CTS_RC_SUCCESS; -} - -#include "cts_testlist.h" - -void cts_task(void) -{ - cts_main_loop(tests, "Timer"); - task_wait_event(-1); -} |