]>
git.ipfire.org Git - thirdparty/u-boot.git/blob - drivers/rtc/s3c44b0_rtc.c
4 * http://www.dave-tech.it
5 * http://www.wawnet.biz
6 * mailto:info@wawnet.biz
8 * SPDX-License-Identifier: GPL-2.0+
12 * S3C44B0 CPU specific code
17 #include <asm/hardware.h>
20 int rtc_get (struct rtc_time
* tm
)
23 tm
->tm_year
= bcd2bin(BCDYEAR
);
24 tm
->tm_mon
= bcd2bin(BCDMON
);
25 tm
->tm_wday
= bcd2bin(BCDDATE
);
26 tm
->tm_mday
= bcd2bin(BCDDAY
);
27 tm
->tm_hour
= bcd2bin(BCDHOUR
);
28 tm
->tm_min
= bcd2bin(BCDMIN
);
29 tm
->tm_sec
= bcd2bin(BCDSEC
);
32 /* we have to re-read the rtc data because of the "one second deviation" problem */
33 /* see RTC datasheet for more info about it */
34 tm
->tm_year
= bcd2bin(BCDYEAR
);
35 tm
->tm_mon
= bcd2bin(BCDMON
);
36 tm
->tm_mday
= bcd2bin(BCDDAY
);
37 tm
->tm_wday
= bcd2bin(BCDDATE
);
38 tm
->tm_hour
= bcd2bin(BCDHOUR
);
39 tm
->tm_min
= bcd2bin(BCDMIN
);
40 tm
->tm_sec
= bcd2bin(BCDSEC
);
53 int rtc_set (struct rtc_time
* tm
)
55 if(tm
->tm_year
< 2000)
61 BCDYEAR
= bin2bcd(tm
->tm_year
);
62 BCDMON
= bin2bcd(tm
->tm_mon
);
63 BCDDAY
= bin2bcd(tm
->tm_mday
);
64 BCDDATE
= bin2bcd(tm
->tm_wday
);
65 BCDHOUR
= bin2bcd(tm
->tm_hour
);
66 BCDMIN
= bin2bcd(tm
->tm_min
);
67 BCDSEC
= bin2bcd(tm
->tm_sec
);