summaryrefslogtreecommitdiffstats
path: root/u-boot/include/bcd.h
diff options
context:
space:
mode:
Diffstat (limited to 'u-boot/include/bcd.h')
-rw-r--r--u-boot/include/bcd.h25
1 files changed, 25 insertions, 0 deletions
diff --git a/u-boot/include/bcd.h b/u-boot/include/bcd.h
new file mode 100644
index 0000000..af4aa9c
--- /dev/null
+++ b/u-boot/include/bcd.h
@@ -0,0 +1,25 @@
+/* Permission is hereby granted to copy, modify and redistribute this code
+ * in terms of the GNU Library General Public License, Version 2 or later,
+ * at your option.
+ */
+
+/* inline functions to translate to/from binary and binary-coded decimal
+ * (frequently found in RTC chips).
+ */
+
+#ifndef _BCD_H
+#define _BCD_H
+
+#include <linux/types.h>
+
+static inline unsigned int bcd2bin(u8 val)
+{
+ return ((val) & 0x0f) + ((val) >> 4) * 10;
+}
+
+static inline u8 bin2bcd (unsigned int val)
+{
+ return (((val / 10) << 4) | (val % 10));
+}
+
+#endif /* _BCD_H */