Lines Matching refs:dev

18 static void top_handler(const struct device *dev, void *user_data);
30 typedef void (*counter_test_func_t)(const struct device *dev);
32 typedef bool (*counter_capability_func_t)(const struct device *dev);
35 static void counter_setup_instance(const struct device *dev) in counter_setup_instance() argument
40 static void counter_tear_down_instance(const struct device *dev) in counter_tear_down_instance() argument
49 top_cfg.ticks = counter_get_max_top_value(dev); in counter_tear_down_instance()
50 err = counter_set_top_value(dev, &top_cfg); in counter_tear_down_instance()
54 err = counter_set_top_value(dev, &top_cfg); in counter_tear_down_instance()
58 "%s: Setting top value to default failed", dev->name); in counter_tear_down_instance()
60 err = counter_stop(dev); in counter_tear_down_instance()
62 zassert_equal(-ENOTSUP, err, "%s: Counter failed to stop", dev->name); in counter_tear_down_instance()
84 static bool set_top_value_capable(const struct device *dev) in set_top_value_capable() argument
87 .ticks = counter_get_top_value(dev) - 1 in set_top_value_capable()
91 err = counter_set_top_value(dev, &cfg); in set_top_value_capable()
97 err = counter_set_top_value(dev, &cfg); in set_top_value_capable()
105 static void top_handler(const struct device *dev, void *user_data) in top_handler() argument
108 "%s: Unexpected callback", dev->name); in top_handler()
112 void test_set_top_value_with_alarm_instance(const struct device *dev) in test_set_top_value_with_alarm_instance() argument
125 top_cfg.ticks = counter_us_to_ticks(dev, COUNTER_PERIOD_US); in test_set_top_value_with_alarm_instance()
126 err = counter_start(dev); in test_set_top_value_with_alarm_instance()
127 zassert_equal(0, err, "%s: Counter failed to start", dev->name); in test_set_top_value_with_alarm_instance()
131 err = counter_get_value(dev, &cnt); in test_set_top_value_with_alarm_instance()
132 zassert_true(err == 0, "%s: Counter read failed (err: %d)", dev->name, in test_set_top_value_with_alarm_instance()
134 if (counter_is_counting_up(dev)) { in test_set_top_value_with_alarm_instance()
137 top_cnt = counter_get_top_value(dev); in test_set_top_value_with_alarm_instance()
140 zassert_true(err == 0, "%s: Counter should progress", dev->name); in test_set_top_value_with_alarm_instance()
142 err = counter_set_top_value(dev, &top_cfg); in test_set_top_value_with_alarm_instance()
144 dev->name, err); in test_set_top_value_with_alarm_instance()
151 dev->name, top_cnt); in test_set_top_value_with_alarm_instance()
160 void test_set_top_value_without_alarm_instance(const struct device *dev) in test_set_top_value_without_alarm_instance() argument
171 top_cfg.ticks = counter_us_to_ticks(dev, COUNTER_PERIOD_US); in test_set_top_value_without_alarm_instance()
172 err = counter_start(dev); in test_set_top_value_without_alarm_instance()
173 zassert_equal(0, err, "%s: Counter failed to start", dev->name); in test_set_top_value_without_alarm_instance()
177 err = counter_get_value(dev, &cnt); in test_set_top_value_without_alarm_instance()
178 zassert_true(err == 0, "%s: Counter read failed (err: %d)", dev->name, in test_set_top_value_without_alarm_instance()
180 if (counter_is_counting_up(dev)) { in test_set_top_value_without_alarm_instance()
183 top_cnt = counter_get_top_value(dev); in test_set_top_value_without_alarm_instance()
186 zassert_true(err == 0, "%s: Counter should progress", dev->name); in test_set_top_value_without_alarm_instance()
188 err = counter_set_top_value(dev, &top_cfg); in test_set_top_value_without_alarm_instance()
190 dev->name, err); in test_set_top_value_without_alarm_instance()
192 zassert_true(counter_get_top_value(dev) == top_cfg.ticks, in test_set_top_value_without_alarm_instance()
194 dev->name); in test_set_top_value_without_alarm_instance()
203 static void alarm_handler(const struct device *dev, uint8_t chan_id, in alarm_handler() argument
210 err = counter_get_value(dev, &now); in alarm_handler()
212 dev->name, err); in alarm_handler()
214 if (counter_is_counting_up(dev)) { in alarm_handler()
217 dev->name, counter, now); in alarm_handler()
221 dev->name, counter, now); in alarm_handler()
226 "%s: Unexpected callback", dev->name); in alarm_handler()
231 dev->name); in alarm_handler()
235 void test_single_shot_alarm_instance(const struct device *dev, bool set_top) in test_single_shot_alarm_instance() argument
246 ticks = counter_us_to_ticks(dev, COUNTER_PERIOD_US); in test_single_shot_alarm_instance()
255 if (counter_get_num_of_channels(dev) < 1U) { in test_single_shot_alarm_instance()
260 err = counter_start(dev); in test_single_shot_alarm_instance()
261 zassert_equal(-EALREADY, err, "%s: Counter failed to start", dev->name); in test_single_shot_alarm_instance()
264 err = counter_set_top_value(dev, &top_cfg); in test_single_shot_alarm_instance()
267 "%s: Counter failed to set top value", dev->name); in test_single_shot_alarm_instance()
270 err = counter_set_channel_alarm(dev, 0, &alarm_cfg); in test_single_shot_alarm_instance()
273 " exceeded the limit set alarm", dev->name); in test_single_shot_alarm_instance()
278 err = counter_set_channel_alarm(dev, 0, &alarm_cfg); in test_single_shot_alarm_instance()
280 dev->name, err); in test_single_shot_alarm_instance()
282 err = counter_set_top_value(dev, &top_cfg); in test_single_shot_alarm_instance()
283 k_sleep(K_USEC(2 * (uint32_t)counter_ticks_to_us(dev, ticks))); in test_single_shot_alarm_instance()
287 "%s: Expecting alarm callback", dev->name); in test_single_shot_alarm_instance()
289 k_sleep(K_USEC(1.5 * counter_ticks_to_us(dev, ticks))); in test_single_shot_alarm_instance()
292 "%s: Expecting alarm callback", dev->name); in test_single_shot_alarm_instance()
294 err = counter_cancel_channel_alarm(dev, 0); in test_single_shot_alarm_instance()
295 zassert_equal(0, err, "%s: Counter disabling alarm failed %d", dev->name, err); in test_single_shot_alarm_instance()
297 top_cfg.ticks = counter_get_max_top_value(dev); in test_single_shot_alarm_instance()
300 err = counter_set_top_value(dev, &top_cfg); in test_single_shot_alarm_instance()
304 err = counter_set_top_value(dev, &top_cfg); in test_single_shot_alarm_instance()
308 "%s: Setting top value to default failed", dev->name); in test_single_shot_alarm_instance()
310 err = counter_stop(dev); in test_single_shot_alarm_instance()
312 zassert_equal(-ENOTSUP, err, "%s: Counter failed to stop", dev->name); in test_single_shot_alarm_instance()
315 void test_single_shot_alarm_notop_instance(const struct device *dev) in test_single_shot_alarm_notop_instance() argument
317 test_single_shot_alarm_instance(dev, false); in test_single_shot_alarm_notop_instance()
320 void test_single_shot_alarm_top_instance(const struct device *dev) in test_single_shot_alarm_top_instance() argument
322 test_single_shot_alarm_instance(dev, true); in test_single_shot_alarm_top_instance()
325 static bool single_channel_alarm_capable(const struct device *dev) in single_channel_alarm_capable() argument
327 return (counter_get_num_of_channels(dev) > 0); in single_channel_alarm_capable()
330 static bool single_channel_alarm_and_custom_top_capable(const struct device *dev) in single_channel_alarm_and_custom_top_capable() argument
332 return single_channel_alarm_capable(dev) && in single_channel_alarm_and_custom_top_capable()
333 set_top_value_capable(dev); in single_channel_alarm_and_custom_top_capable()
350 static void alarm_handler2(const struct device *dev, uint8_t chan_id, in alarm_handler2() argument
364 void test_multiple_alarms_instance(const struct device *dev) in test_multiple_alarms_instance() argument
375 ticks = counter_us_to_ticks(dev, COUNTER_PERIOD_US); in test_multiple_alarms_instance()
379 alarm_cfg.ticks = counter_us_to_ticks(dev, 2000); in test_multiple_alarms_instance()
384 alarm_cfg2.ticks = counter_us_to_ticks(dev, 2000); in test_multiple_alarms_instance()
390 if (counter_get_num_of_channels(dev) < 2U) { in test_multiple_alarms_instance()
395 err = counter_start(dev); in test_multiple_alarms_instance()
397 zassert_equal(-EALREADY, err, "%s: Counter failed to start", dev->name); in test_multiple_alarms_instance()
399 err = counter_set_top_value(dev, &top_cfg); in test_multiple_alarms_instance()
401 "%s: Counter failed to set top value: %d", dev->name); in test_multiple_alarms_instance()
403 k_sleep(K_USEC(3 * (uint32_t)counter_ticks_to_us(dev, alarm_cfg.ticks))); in test_multiple_alarms_instance()
405 err = counter_set_channel_alarm(dev, 0, &alarm_cfg); in test_multiple_alarms_instance()
406 zassert_equal(0, err, "%s: Counter set alarm failed", dev->name); in test_multiple_alarms_instance()
408 err = counter_set_channel_alarm(dev, 1, &alarm_cfg2); in test_multiple_alarms_instance()
409 zassert_equal(0, err, "%s: Counter set alarm failed", dev->name); in test_multiple_alarms_instance()
411 k_sleep(K_USEC(1.2 * counter_ticks_to_us(dev, ticks * 2U))); in test_multiple_alarms_instance()
415 dev->name, alarm_cnt, 2); in test_multiple_alarms_instance()
419 dev->name); in test_multiple_alarms_instance()
422 dev->name); in test_multiple_alarms_instance()
425 err = counter_cancel_channel_alarm(dev, 0); in test_multiple_alarms_instance()
426 zassert_equal(0, err, "%s: Counter disabling alarm failed", dev->name); in test_multiple_alarms_instance()
428 err = counter_cancel_channel_alarm(dev, 1); in test_multiple_alarms_instance()
429 zassert_equal(0, err, "%s: Counter disabling alarm failed", dev->name); in test_multiple_alarms_instance()
432 static bool multiple_channel_alarm_capable(const struct device *dev) in multiple_channel_alarm_capable() argument
434 return (counter_get_num_of_channels(dev) > 1); in multiple_channel_alarm_capable()
437 static bool not_capable(const struct device *dev) in not_capable() argument
456 void test_all_channels_instance(const struct device *dev) in test_all_channels_instance() argument
469 ticks = counter_us_to_ticks(dev, 61U * COUNTER_PERIOD_US); in test_all_channels_instance()
476 err = counter_start(dev); in test_all_channels_instance()
477 zassert_equal(-EALREADY, err, "%s: Counter failed to start", dev->name); in test_all_channels_instance()
480 err = counter_set_channel_alarm(dev, i, &alarm_cfgs); in test_all_channels_instance()
488 dev->name, err); in test_all_channels_instance()
494 k_sleep(K_USEC(counter_ticks_to_us(dev, ticks + 1U))); in test_all_channels_instance()
497 "%s: Expecting alarm callback", dev->name); in test_all_channels_instance()
500 err = counter_cancel_channel_alarm(dev, i); in test_all_channels_instance()
502 "%s: Unexpected error on disabling alarm", dev->name); in test_all_channels_instance()
506 err = counter_cancel_channel_alarm(dev, i); in test_all_channels_instance()
508 "%s: Unexpected error on disabling alarm", dev->name); in test_all_channels_instance()
522 void test_late_alarm_instance(const struct device *dev) in test_late_alarm_instance() argument
526 uint32_t tick_us = (uint32_t)counter_ticks_to_us(dev, 1); in test_late_alarm_instance()
527 uint32_t guard = counter_us_to_ticks(dev, 200); in test_late_alarm_instance()
535 err = counter_set_guard_period(dev, guard, in test_late_alarm_instance()
537 zassert_equal(0, err, "%s: Unexpected error", dev->name); in test_late_alarm_instance()
539 err = counter_start(dev); in test_late_alarm_instance()
540 zassert_equal(0, err, "%s: Unexpected error", dev->name); in test_late_alarm_instance()
545 err = counter_set_channel_alarm(dev, 0, &alarm_cfg); in test_late_alarm_instance()
546 zassert_equal(-ETIME, err, "%s: Unexpected error (%d)", dev->name, err); in test_late_alarm_instance()
554 dev->name, 1, alarm_cnt); in test_late_alarm_instance()
556 err = counter_get_value(dev, &(alarm_cfg.ticks)); in test_late_alarm_instance()
557 zassert_true(err == 0, "%s: Counter read failed (err: %d)", dev->name, in test_late_alarm_instance()
560 err = counter_set_channel_alarm(dev, 0, &alarm_cfg); in test_late_alarm_instance()
562 dev->name, err); in test_late_alarm_instance()
570 dev->name, 2, alarm_cnt); in test_late_alarm_instance()
573 void test_late_alarm_error_instance(const struct device *dev) in test_late_alarm_error_instance() argument
576 uint32_t tick_us = (uint32_t)counter_ticks_to_us(dev, 1); in test_late_alarm_error_instance()
577 uint32_t guard = counter_us_to_ticks(dev, 200); in test_late_alarm_error_instance()
584 err = counter_set_guard_period(dev, guard, in test_late_alarm_error_instance()
586 zassert_equal(0, err, "%s: Unexpected error", dev->name); in test_late_alarm_error_instance()
588 err = counter_start(dev); in test_late_alarm_error_instance()
589 zassert_equal(0, err, "%s: Unexpected error", dev->name); in test_late_alarm_error_instance()
594 err = counter_set_channel_alarm(dev, 0, &alarm_cfg); in test_late_alarm_error_instance()
597 dev->name, err); in test_late_alarm_error_instance()
599 err = counter_get_value(dev, &(alarm_cfg.ticks)); in test_late_alarm_error_instance()
600 zassert_true(err == 0, "%s: Counter read failed (err: %d)", dev->name, in test_late_alarm_error_instance()
603 err = counter_set_channel_alarm(dev, 0, &alarm_cfg); in test_late_alarm_error_instance()
606 dev->name, err); in test_late_alarm_error_instance()
609 static bool late_detection_capable(const struct device *dev) in late_detection_capable() argument
611 uint32_t guard = counter_get_guard_period(dev, in late_detection_capable()
613 int err = counter_set_guard_period(dev, guard, in late_detection_capable()
634 static void test_short_relative_alarm_instance(const struct device *dev) in test_short_relative_alarm_instance() argument
638 uint32_t tick_us = (uint32_t)counter_ticks_to_us(dev, 1); in test_short_relative_alarm_instance()
645 err = counter_start(dev); in test_short_relative_alarm_instance()
646 zassert_equal(0, err, "%s: Unexpected error", dev->name); in test_short_relative_alarm_instance()
651 err = counter_set_channel_alarm(dev, 0, &alarm_cfg); in test_short_relative_alarm_instance()
654 dev->name, err); in test_short_relative_alarm_instance()
662 dev->name, i + 1, alarm_cnt); in test_short_relative_alarm_instance()
670 static bool short_relative_capable(const struct device *dev) in short_relative_capable() argument
681 if (single_channel_alarm_capable(dev) == false) { in short_relative_capable()
685 err = counter_start(dev); in short_relative_capable()
692 err = counter_set_channel_alarm(dev, 0, &alarm_cfg); in short_relative_capable()
698 k_sleep(K_USEC(counter_ticks_to_us(dev, 10))); in short_relative_capable()
703 (void)counter_cancel_channel_alarm(dev, 0); in short_relative_capable()
708 counter_stop(dev); in short_relative_capable()
722 const struct device *dev = devices[0]; in test_ds3231_synchronize() local
732 rc = maxim_ds3231_synchronize(dev, &notify); in test_ds3231_synchronize()
734 "%s: Failed to initiate synchronize: %d", dev->name, rc); in test_ds3231_synchronize()
738 "%s: Sync wait failed: %d\n", dev->name, rc); in test_ds3231_synchronize()
743 "%s: Sync result read failed: %d", dev->name, rc); in test_ds3231_synchronize()
745 "%s: Sync operation failed: %d", dev->name, res); in test_ds3231_synchronize()
750 const struct device *dev = devices[0]; in ds3231_get_syncpoint() local
754 rc = maxim_ds3231_get_syncpoint(dev, &syncpoint); in ds3231_get_syncpoint()
756 "%s: Failed to read syncpoint: %d", dev->name, rc); in ds3231_get_syncpoint()
758 "%s: Unexpected nanoseconds\n", dev->name); in ds3231_get_syncpoint()
766 const struct device *dev = devices[0]; in test_ds3231_req_syncpoint() local
773 rc = maxim_ds3231_req_syncpoint(dev, &sync_sig); in test_ds3231_req_syncpoint()
775 "%s: Failed to request syncpoint: %d", dev->name, rc); in test_ds3231_req_syncpoint()
779 "%s: Syncpoint poll failed: %d\n", dev->name, rc); in test_ds3231_req_syncpoint()
782 "%s: Syncpoint operation failed: %d\n", dev->name, rc); in test_ds3231_req_syncpoint()