summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlexander Krutwig <alexander.krutwig@embedded-brains.de>2016-07-28 12:01:58 +0200
committerSebastian Huber <sebastian.huber@embedded-brains.de>2016-08-08 09:34:58 +0200
commite5fd901141062dce6f372dd391ed11cc676d1d19 (patch)
tree9973962e0b2159ee856eda19e14ed081f38cfa88
parentscore: Add debug support to red-black trees (diff)
downloadrtems-e5fd901141062dce6f372dd391ed11cc676d1d19.tar.bz2
atsam: Add atsam_rtc_get_time()
-rw-r--r--c/src/lib/libbsp/arm/atsam/include/bsp.h2
-rw-r--r--c/src/lib/libbsp/arm/atsam/rtc/rtc-config.c37
2 files changed, 23 insertions, 16 deletions
diff --git a/c/src/lib/libbsp/arm/atsam/include/bsp.h b/c/src/lib/libbsp/arm/atsam/include/bsp.h
index cee20b7cc8..2c1992d9d7 100644
--- a/c/src/lib/libbsp/arm/atsam/include/bsp.h
+++ b/c/src/lib/libbsp/arm/atsam/include/bsp.h
@@ -87,6 +87,8 @@ extern char atsam_memory_sdram_begin[];
extern char atsam_memory_sdram_end[];
extern char atsam_memory_sdram_size[];
+void atsam_rtc_get_time(rtems_time_of_day *tod);
+
/** @} */
#ifdef __cplusplus
diff --git a/c/src/lib/libbsp/arm/atsam/rtc/rtc-config.c b/c/src/lib/libbsp/arm/atsam/rtc/rtc-config.c
index 0ea8d4817a..dca33668ad 100644
--- a/c/src/lib/libbsp/arm/atsam/rtc/rtc-config.c
+++ b/c/src/lib/libbsp/arm/atsam/rtc/rtc-config.c
@@ -19,14 +19,7 @@
#define ARBITRARY_DAY_OF_WEEK 1
-static void atsam_rtc_initialize(int minor)
-{
- Rtc *rtc = RTC;
-
- RTC_DisableIt(rtc, 0x1F);
-}
-
-static int atsam_rtc_get_time(int minor, rtems_time_of_day *tod)
+void atsam_rtc_get_time(rtems_time_of_day *tod)
{
Rtc *rtc = RTC;
uint8_t hour;
@@ -47,11 +40,23 @@ static int atsam_rtc_get_time(int minor, rtems_time_of_day *tod)
tod->day = day;
tod->month = month;
tod->year = year;
+}
+
+static void atsam_rtc_device_initialize(int minor)
+{
+ Rtc *rtc = RTC;
+
+ RTC_DisableIt(rtc, 0x1F);
+}
+
+static int atsam_rtc_device_get_time(int minor, rtems_time_of_day *tod)
+{
+ atsam_rtc_get_time(tod);
return 0;
}
-static int atsam_rtc_set_time(int minor, const rtems_time_of_day *tod)
+static int atsam_rtc_device_set_time(int minor, const rtems_time_of_day *tod)
{
Rtc *rtc = RTC;
uint8_t hour;
@@ -76,23 +81,23 @@ static int atsam_rtc_set_time(int minor, const rtems_time_of_day *tod)
return 0;
}
-static bool atsam_rtc_probe(int minor)
+static bool atsam_rtc_device_probe(int minor)
{
return true;
}
-const rtc_fns atsam_rtc_ops = {
- .deviceInitialize = atsam_rtc_initialize,
- .deviceGetTime = atsam_rtc_get_time,
- .deviceSetTime = atsam_rtc_set_time
+const rtc_fns atsam_rtc_device_ops = {
+ .deviceInitialize = atsam_rtc_device_initialize,
+ .deviceGetTime = atsam_rtc_device_get_time,
+ .deviceSetTime = atsam_rtc_device_set_time
};
rtc_tbl RTC_Table[] = {
{
.sDeviceName = "/dev/rtc",
.deviceType = RTC_CUSTOM,
- .pDeviceFns = &atsam_rtc_ops,
- .deviceProbe = atsam_rtc_probe
+ .pDeviceFns = &atsam_rtc_device_ops,
+ .deviceProbe = atsam_rtc_device_probe
}
};