summaryrefslogtreecommitdiffstats
path: root/include/clock.h
diff options
context:
space:
mode:
authorSascha Hauer <s.hauer@pengutronix.de>2007-07-05 18:01:15 +0200
committerSascha Hauer <sha@octopus.labnet.pengutronix.de>2007-07-05 18:01:15 +0200
commit390c9283abc6dd9ea94bad9d82287f100d713822 (patch)
treee2d963f51d402854dd3089274c898d114980c163 /include/clock.h
parentbfa43fe81aa3845e0188e5d4757bf5658e24233d (diff)
downloadbarebox-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.h29
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);
+