diff options
author | Anup Patel <anup.patel@wdc.com> | 2020-04-24 16:50:40 +0530 |
---|---|---|
committer | Anup Patel <anup@brainfault.org> | 2020-05-01 09:57:55 +0530 |
commit | 8ff2b94ea16ccd361cb1821390fffde1e7ff7a5d (patch) | |
tree | 1b1301ee66cad162c8fd5b9d4a2de4536abcfe31 /include | |
parent | 1ac794cb618fea55db81cc697f46442bf70469d8 (diff) |
lib: utils: Add simple FDT timer framework
We add simple timer framework which will select and use timer driver
based on details in FDT passed by previous booting stage.
Signed-off-by: Anup Patel <anup.patel@wdc.com>
Reviewed-by: Atish Patra <atish.patra@wdc.com>
Diffstat (limited to 'include')
-rw-r--r-- | include/sbi_utils/timer/fdt_timer.h | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/include/sbi_utils/timer/fdt_timer.h b/include/sbi_utils/timer/fdt_timer.h new file mode 100644 index 0000000..770a0f3 --- /dev/null +++ b/include/sbi_utils/timer/fdt_timer.h @@ -0,0 +1,35 @@ +/* + * SPDX-License-Identifier: BSD-2-Clause + * + * Copyright (c) 2020 Western Digital Corporation or its affiliates. + * + * Authors: + * Anup Patel <anup.patel@wdc.com> + */ + +#ifndef __FDT_TIMER_H__ +#define __FDT_TIMER_H__ + +#include <sbi/sbi_types.h> + +struct fdt_timer { + const struct fdt_match *match_table; + int (*cold_init)(void *fdt, int nodeoff, const struct fdt_match *match); + int (*warm_init)(void); + void (*exit)(void); + u64 (*value)(void); + void (*event_stop)(void); + void (*event_start)(u64 next_event); +}; + +u64 fdt_timer_value(void); + +void fdt_timer_event_stop(void); + +void fdt_timer_event_start(u64 next_event); + +void fdt_timer_exit(void); + +int fdt_timer_init(bool cold_boot); + +#endif |