git://scm.lunaixsky.com
/
lunaix-os.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
fix dependency check logic cause config always disabled
[lunaix-os.git]
/
lunaix-os
/
includes
/
hal
/
hwtimer.h
diff --git
a/lunaix-os/includes/hal/hwtimer.h
b/lunaix-os/includes/hal/hwtimer.h
index efa72d8f2d995ce16f2c286648332281f43929dd..e7a22a7644fdfb7b7ff9e65eeb00159058fd5c45 100644
(file)
--- a/
lunaix-os/includes/hal/hwtimer.h
+++ b/
lunaix-os/includes/hal/hwtimer.h
@@
-1,36
+1,48
@@
#ifndef __LUNAIX_HWTIMER_H
#define __LUNAIX_HWTIMER_H
#ifndef __LUNAIX_HWTIMER_H
#define __LUNAIX_HWTIMER_H
+#include <lunaix/device.h>
#include <lunaix/time.h>
#include <lunaix/types.h>
typedef void (*timer_tick_cb)();
#include <lunaix/time.h>
#include <lunaix/types.h>
typedef void (*timer_tick_cb)();
-struct hwtimer_context
+#define HWTIMER_MIN_PRECEDENCE 0
+#define HWTIMER_MAX_PRECEDENCE 15
+
+struct hwtimer_pot;
+struct hwtimer_pot_ops
{
{
-
char* name
;
-
void* data
;
+
void (*calibrate)(struct hwtimer_pot*, u32_t hertz)
;
+
}
;
- int (*supported)(struct hwtimer_context*);
- void (*init)(struct hwtimer_context*, u32_t hertz, timer_tick_cb);
- ticks_t (*systicks)();
+struct hwtimer_pot
+{
+ POTENS_META;
+
+ struct llist_header timers;
+
+ int precedence;
+ timer_tick_cb callback;
ticks_t base_freq;
ticks_t running_freq;
ticks_t base_freq;
ticks_t running_freq;
+ volatile ticks_t systick_raw;
+
+ struct hwtimer_pot_ops* ops;
};
void
hwtimer_init(u32_t hertz, void* tick_callback);
};
void
hwtimer_init(u32_t hertz, void* tick_callback);
-struct hwtimer_context*
-hwtimer_choose();
-
-ticks_t
-hwtimer_base_frequency();
-
ticks_t
hwtimer_current_systicks();
ticks_t
hwtimer_to_ticks(u32_t value, int unit);
ticks_t
hwtimer_current_systicks();
ticks_t
hwtimer_to_ticks(u32_t value, int unit);
+struct hwtimer_pot*
+hwtimer_attach_potens(struct device* dev, int precedence,
+ struct hwtimer_pot_ops* ops);
+
+
#endif /* __LUNAIX_HWTIMER_H */
#endif /* __LUNAIX_HWTIMER_H */