summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libbsp/m68k/mcf5206elite/tod/ds1307.c
diff options
context:
space:
mode:
Diffstat (limited to 'c/src/lib/libbsp/m68k/mcf5206elite/tod/ds1307.c')
-rw-r--r--c/src/lib/libbsp/m68k/mcf5206elite/tod/ds1307.c30
1 files changed, 15 insertions, 15 deletions
diff --git a/c/src/lib/libbsp/m68k/mcf5206elite/tod/ds1307.c b/c/src/lib/libbsp/m68k/mcf5206elite/tod/ds1307.c
index 559b7bdb5d..a2c62ebcc1 100644
--- a/c/src/lib/libbsp/m68k/mcf5206elite/tod/ds1307.c
+++ b/c/src/lib/libbsp/m68k/mcf5206elite/tod/ds1307.c
@@ -53,17 +53,17 @@ ds1307_initialize(int minor)
uint8_t sec;
i2c_bus_number bus;
i2c_address addr;
-
+
bus = RTC_Table[minor].ulCtrlPort1;
addr = RTC_Table[minor].ulDataPort;
-
+
/* Read SECONDS register */
try = 0;
do {
status = i2c_wbrd(bus, addr, 0, &sec, sizeof(sec));
try++;
} while ((status != I2C_SUCCESSFUL) && (try < 15));
-
+
/* If clock is halted, reset and start the clock */
if ((sec & DS1307_SECOND_HALT) != 0)
{
@@ -98,13 +98,13 @@ ds1307_get_time(int minor, rtems_time_of_day *time)
uint32_t v1, v2;
i2c_message_status status;
int try;
-
+
if (time == NULL)
return -1;
-
+
bus = RTC_Table[minor].ulCtrlPort1;
addr = RTC_Table[minor].ulDataPort;
-
+
memset(time, 0, sizeof(rtems_time_of_day));
try = 0;
do {
@@ -116,20 +116,20 @@ ds1307_get_time(int minor, rtems_time_of_day *time)
{
return -1;
}
-
+
v1 = info[DS1307_YEAR];
v2 = From_BCD(v1);
if (v2 < 88)
time->year = 2000 + v2;
else
time->year = 1900 + v2;
-
+
v1 = info[DS1307_MONTH] & ~0xE0;
time->month = From_BCD(v1);
-
+
v1 = info[DS1307_DAY] & ~0xC0;
time->day = From_BCD(v1);
-
+
v1 = info[DS1307_HOUR];
if (v1 & DS1307_HOUR_12)
{
@@ -151,11 +151,11 @@ ds1307_get_time(int minor, rtems_time_of_day *time)
v1 = info[DS1307_MINUTE] & ~0x80;
time->minute = From_BCD(v1);
-
+
v1 = info[DS1307_SECOND];
v2 = v1 & ~0x80;
time->second = From_BCD(v2);
-
+
return 0;
}
@@ -178,7 +178,7 @@ ds1307_set_time(int minor, rtems_time_of_day *time)
uint8_t info[8];
i2c_message_status status;
int try;
-
+
if (time == NULL)
return -1;
@@ -187,7 +187,7 @@ ds1307_set_time(int minor, rtems_time_of_day *time)
if (time->year >= 2088)
rtems_fatal_error_occurred(RTEMS_INVALID_NUMBER);
-
+
info[0] = DS1307_SECOND;
info[1 + DS1307_YEAR] = To_BCD(time->year % 100);
info[1 + DS1307_MONTH] = To_BCD(time->month);
@@ -196,7 +196,7 @@ ds1307_set_time(int minor, rtems_time_of_day *time)
info[1 + DS1307_MINUTE] = To_BCD(time->minute);
info[1 + DS1307_SECOND] = To_BCD(time->second);
info[1 + DS1307_DAY_OF_WEEK] = 1; /* Do not set day of week */
-
+
try = 0;
do {
status = i2c_write(bus, addr, info, 8);