diff options
Diffstat (limited to 'cts/timer')
-rw-r--r-- | cts/timer/cts.testlist | 19 | ||||
-rw-r--r-- | cts/timer/dut.c | 30 | ||||
-rw-r--r-- | cts/timer/th.c | 62 |
3 files changed, 0 insertions, 111 deletions
diff --git a/cts/timer/cts.testlist b/cts/timer/cts.testlist deleted file mode 100644 index 9b5da0d6c9..0000000000 --- a/cts/timer/cts.testlist +++ /dev/null @@ -1,19 +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. - */ - -/* - * Test timer accuracy - * - * After sync, DUT and TH start counting down one second. After one second, - * DUT raises GPIO level, which triggers an interrupt on TH. TH determines - * whether the test passes or not based on how much more or less time elapsed - * than one second. - * - * Requirements: - * - Sync connection - * - GPIO_OUTPUT connection for sending notification from DUT - * - Calibrated TH timer - */ -CTS_TEST(timer_calibration_test,,,,) diff --git a/cts/timer/dut.c b/cts/timer/dut.c deleted file mode 100644 index 96d7c5a3cf..0000000000 --- a/cts/timer/dut.c +++ /dev/null @@ -1,30 +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 "task.h" -#include "timer.h" -#include "watchdog.h" - -static enum cts_rc timer_calibration_test(void) -{ - gpio_set_flags(GPIO_OUTPUT_TEST, GPIO_ODR_HIGH); - - sync(); - sleep(1); - gpio_set_level(GPIO_OUTPUT_TEST, 0); - - return CTS_RC_SUCCESS; -} - -#include "cts_testlist.h" - -void cts_task(void) -{ - cts_main_loop(tests, "Timer"); - task_wait_event(-1); -} 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); -} |