summaryrefslogtreecommitdiff
path: root/include/bcd.h
diff options
context:
space:
mode:
authorStefan Roese <sr@denx.de>2007-10-21 08:16:12 +0200
committerStefan Roese <sr@denx.de>2007-10-31 21:20:50 +0100
commit758c037aeead34b49631b8da3a90b1bba14c0410 (patch)
tree1903eb3f89f7c58ca7331fe117a2c69770ea64f2 /include/bcd.h
parent087dfdb79b5fd1ab99a26990c62a732c01a8c7f6 (diff)
rtc: Add Xicor/Intersil X1205 RTC support
This patch adds support for the Xicor/Intersil X1205 RTC used on the AMCC Makalu eval board. This driver is basically cloned from the Linux driver version (2.6.23). This patch also introduces the Linux bcd.h header for the BCD2BIN/ BIN2BCD conversions. In the future some of the other U-Boot RTC driver should be converted to also use this header instead of implementing their own local copy of these functions/macros. Signed-off-by: Stefan Roese <sr@denx.de>
Diffstat (limited to 'include/bcd.h')
-rw-r--r--include/bcd.h20
1 files changed, 20 insertions, 0 deletions
diff --git a/include/bcd.h b/include/bcd.h
new file mode 100644
index 00000000000..c545308125b
--- /dev/null
+++ b/include/bcd.h
@@ -0,0 +1,20 @@
+/* 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.
+ */
+
+/* macros to translate to/from binary and binary-coded decimal (frequently
+ * found in RTC chips).
+ */
+
+#ifndef _BCD_H
+#define _BCD_H
+
+#define BCD2BIN(val) (((val) & 0x0f) + ((val)>>4)*10)
+#define BIN2BCD(val) ((((val)/10)<<4) + (val)%10)
+
+/* backwards compat */
+#define BCD_TO_BIN(val) ((val)=BCD2BIN(val))
+#define BIN_TO_BCD(val) ((val)=BIN2BCD(val))
+
+#endif /* _BCD_H */