1 /*
2 * Copyright 2022 Bjarki Arge Andreasen
3 *
4 * SPDX-License-Identifier: Apache-2.0
5 */
6
7 #include <zephyr/ztest.h>
8 #include <zephyr/drivers/rtc.h>
9
10 struct test_sample {
11 uint32_t frequency;
12 int32_t calibration;
13 };
14
15 static const struct test_sample test_samples[] = {
16 {
17 .frequency = 1000000000,
18 .calibration = 0,
19 },
20 {
21 .frequency = 1000000001,
22 .calibration = -1,
23 },
24 {
25 .frequency = 999999999,
26 .calibration = 1,
27 },
28 {
29 .frequency = 2000000000,
30 .calibration = -500000000,
31 },
32 {
33 .frequency = 500000000,
34 .calibration = 1000000000,
35 },
36 };
37
ZTEST(rtc_api_helpers,test_validate_calibration_from_frequency)38 ZTEST(rtc_api_helpers, test_validate_calibration_from_frequency)
39 {
40 uint32_t frequency;
41 int32_t calibration;
42 int32_t result;
43
44 ARRAY_FOR_EACH(test_samples, i) {
45 frequency = test_samples[i].frequency;
46 calibration = test_samples[i].calibration;
47 result = rtc_calibration_from_frequency(frequency);
48 zassert_equal(result, calibration);
49 }
50 }
51