Zephyr Project API 3.7.0
A Scalable Open Source RTOS
Loading...
Searching...
No Matches
nrf_grtc_timer.h
Go to the documentation of this file.
1/*
2 * Copyright (c) 2024 Nordic Semiconductor ASA
3 *
4 * SPDX-License-Identifier: Apache-2.0
5 */
6
7#ifndef ZEPHYR_INCLUDE_DRIVERS_TIMER_NRF_GRTC_TIMER_H
8#define ZEPHYR_INCLUDE_DRIVERS_TIMER_NRF_GRTC_TIMER_H
9
10#ifdef __cplusplus
11extern "C" {
12#endif
13
14#include <zephyr/sys_clock.h>
15
29typedef void (*z_nrf_grtc_timer_compare_handler_t)(int32_t id, uint64_t expire_time,
30 void *user_data);
31
37int32_t z_nrf_grtc_timer_chan_alloc(void);
38
43void z_nrf_grtc_timer_chan_free(int32_t chan);
44
49uint64_t z_nrf_grtc_timer_read(void);
50
58bool z_nrf_grtc_timer_compare_evt_check(int32_t chan);
59
68uint32_t z_nrf_grtc_timer_compare_evt_address_get(int32_t chan);
69
78uint32_t z_nrf_grtc_timer_capture_task_address_get(int32_t chan);
79
88bool z_nrf_grtc_timer_compare_int_lock(int32_t chan);
89
98void z_nrf_grtc_timer_compare_int_unlock(int32_t chan, bool key);
99
110int z_nrf_grtc_timer_compare_read(int32_t chan, uint64_t *val);
111
125int z_nrf_grtc_timer_set(int32_t chan, uint64_t target_time,
126 z_nrf_grtc_timer_compare_handler_t handler, void *user_data);
127
138void z_nrf_grtc_timer_abort(int32_t chan);
139
147uint64_t z_nrf_grtc_timer_get_ticks(k_timeout_t t);
148
162int z_nrf_grtc_timer_capture_prepare(int32_t chan);
163
176int z_nrf_grtc_timer_capture_read(int32_t chan, uint64_t *captured_time);
177
190int z_nrf_grtc_wakeup_prepare(uint64_t wake_time_us);
191
200
201#ifdef __cplusplus
202}
203#endif
204
205#endif /* ZEPHYR_INCLUDE_DRIVERS_TIMER_NRF_GRTC_TIMER_H */
struct k_thread t
Definition kobject.c:1324
int nrf_grtc_timer_clock_driver_init(void)
Initialize the GRTC clock timer driver from an application- defined function.
static k_spinlock_key_t key
Definition spinlock_error_case.c:15
__UINT32_TYPE__ uint32_t
Definition stdint.h:90
__INT32_TYPE__ int32_t
Definition stdint.h:74
__UINT64_TYPE__ uint64_t
Definition stdint.h:91
Kernel timeout type.
Definition sys_clock.h:65
Variables needed for system clock.
static void handler(struct k_timer *timer)
Definition main.c:19
static const intptr_t user_data[5]
Definition main.c:588