diff options
author | Sascha Hauer <s.hauer@pengutronix.de> | 2007-07-05 18:01:15 +0200 |
---|---|---|
committer | Sascha Hauer <sha@octopus.labnet.pengutronix.de> | 2007-07-05 18:01:15 +0200 |
commit | 390c9283abc6dd9ea94bad9d82287f100d713822 (patch) | |
tree | e2d963f51d402854dd3089274c898d114980c163 /include/clock.h | |
parent | bfa43fe81aa3845e0188e5d4757bf5658e24233d (diff) | |
download | barebox-390c9283abc6dd9ea94bad9d82287f100d713822.tar.gz barebox-390c9283abc6dd9ea94bad9d82287f100d713822.tar.xz |
svn_rev_031
add clocksource stuff from kernel and first implementation (imx) (WIP)
Diffstat (limited to 'include/clock.h')
-rw-r--r-- | include/clock.h | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/include/clock.h b/include/clock.h new file mode 100644 index 0000000000..a8920f1107 --- /dev/null +++ b/include/clock.h @@ -0,0 +1,29 @@ + +struct clocksource { + uint32_t shift; + uint32_t mult; + uint64_t (*read)(void); + uint64_t cycle_last; + uint64_t mask; + +}; + +inline uint32_t cyc2ns(struct clocksource *cs, uint64_t cycles) +{ + uint64_t ret = cycles; + ret = (ret * cs->mult) >> cs->shift; + return ret; +} + +int init_clock(struct clocksource *); + +uint64_t get_time_ns(void); + +uint32_t clocksource_hz2mult(uint32_t hz, uint32_t shift_constant); + +int is_timeout(uint64_t start_ns, uint64_t time_offset_ns); + +// void udelay(unsigned long usecs); + +void mdelay(unsigned long msecs); + |