aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorAnup Patel <anup.patel@wdc.com>2020-04-24 16:50:40 +0530
committerAnup Patel <anup@brainfault.org>2020-05-01 09:57:55 +0530
commit8ff2b94ea16ccd361cb1821390fffde1e7ff7a5d (patch)
tree1b1301ee66cad162c8fd5b9d4a2de4536abcfe31 /include
parent1ac794cb618fea55db81cc697f46442bf70469d8 (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.h35
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