1 /*
2  * Copyright (c) 2023 Prevas A/S
3  *
4  * SPDX-License-Identifier: Apache-2.0
5  */
6 
7 #ifndef ZEPHYR_INCLUDE_DRIVERS_RTC_RTC_FAKE_H_
8 #define ZEPHYR_INCLUDE_DRIVERS_RTC_RTC_FAKE_H_
9 
10 #include <zephyr/drivers/rtc.h>
11 #include <zephyr/fff.h>
12 
13 #ifdef __cplusplus
14 extern "C" {
15 #endif
16 
17 DECLARE_FAKE_VALUE_FUNC(int, rtc_fake_set_time, const struct device *, const struct rtc_time *);
18 DECLARE_FAKE_VALUE_FUNC(int, rtc_fake_get_time, const struct device *, struct rtc_time *);
19 
20 #ifdef CONFIG_RTC_ALARM
21 DECLARE_FAKE_VALUE_FUNC(int, rtc_fake_alarm_get_supported_fields, const struct device *, uint16_t,
22 			uint16_t *);
23 DECLARE_FAKE_VALUE_FUNC(int, rtc_fake_alarm_set_time, const struct device *, uint16_t, uint16_t,
24 			const struct rtc_time *);
25 DECLARE_FAKE_VALUE_FUNC(int, rtc_fake_alarm_get_time, const struct device *, uint16_t, uint16_t *,
26 			struct rtc_time *);
27 DECLARE_FAKE_VALUE_FUNC(int, rtc_fake_alarm_is_pending, const struct device *, uint16_t);
28 DECLARE_FAKE_VALUE_FUNC(int, rtc_fake_alarm_set_callback, const struct device *, uint16_t,
29 			rtc_alarm_callback, void *);
30 #endif /* CONFIG_RTC_ALARM */
31 
32 #ifdef CONFIG_RTC_UPDATE
33 DECLARE_FAKE_VALUE_FUNC(int, rtc_fake_update_set_callback, const struct device *,
34 			rtc_update_callback, void *);
35 #endif /* CONFIG_RTC_UPDATE */
36 
37 #ifdef CONFIG_RTC_CALIBRATION
38 DECLARE_FAKE_VALUE_FUNC(int, rtc_fake_set_calibration, const struct device *, int32_t);
39 DECLARE_FAKE_VALUE_FUNC(int, rtc_fake_get_calibration, const struct device *, int32_t *);
40 #endif /* CONFIG_RTC_CALIBRATION */
41 
42 #ifdef __cplusplus
43 }
44 #endif
45 
46 #endif /* ZEPHYR_INCLUDE_DRIVERS_RTC_RTC_FAKE_H_ */
47