diff --git a/source/driverlib/MSP430F5xx_6xx/rtc_c.h b/source/driverlib/MSP430F5xx_6xx/rtc_c.h
--- /dev/null
@@ -0,0 +1,365 @@
+/* --COPYRIGHT--,BSD\r
+ * Copyright (c) 2014, Texas Instruments Incorporated\r
+ * All rights reserved.\r
+ *\r
+ * Redistribution and use in source and binary forms, with or without\r
+ * modification, are permitted provided that the following conditions\r
+ * are met:\r
+ *\r
+ * * Redistributions of source code must retain the above copyright\r
+ * notice, this list of conditions and the following disclaimer.\r
+ *\r
+ * * Redistributions in binary form must reproduce the above copyright\r
+ * notice, this list of conditions and the following disclaimer in the\r
+ * documentation and/or other materials provided with the distribution.\r
+ *\r
+ * * Neither the name of Texas Instruments Incorporated nor the names of\r
+ * its contributors may be used to endorse or promote products derived\r
+ * from this software without specific prior written permission.\r
+ *\r
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"\r
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,\r
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR\r
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR\r
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,\r
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,\r
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;\r
+ * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,\r
+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR\r
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,\r
+ * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\r
+ * --/COPYRIGHT--*/\r
+//*****************************************************************************\r
+//\r
+// rtc_c.h - Driver for the RTC_C Module.\r
+//\r
+//*****************************************************************************\r
+\r
+#ifndef __MSP430WARE_RTC_C_H__\r
+#define __MSP430WARE_RTC_C_H__\r
+\r
+#include "inc/hw_memmap.h"\r
+\r
+#if defined(__MSP430_HAS_RTC_C__) || defined(__MSP430_HAS_RTC_CE__)\r
+\r
+//*****************************************************************************\r
+//\r
+// If building with a C++ compiler, make all of the definitions in this header\r
+// have a C binding.\r
+//\r
+//*****************************************************************************\r
+#ifdef __cplusplus\r
+extern "C"\r
+{\r
+#endif\r
+\r
+//*****************************************************************************\r
+//\r
+// The following is a struct that can be passed to RTC_C_CalendarInit() in the\r
+// CalendarTime parameter, as well as returned by RTC_C_getCalendarTime()\r
+//\r
+//*****************************************************************************\r
+typedef struct {\r
+ uint8_t Seconds;\r
+ uint8_t Minutes;\r
+ uint8_t Hours;\r
+ uint8_t DayOfWeek;\r
+ uint8_t DayOfMonth;\r
+ uint8_t Month;\r
+ uint16_t Year;\r
+} Calendar;\r
+\r
+//******************************************************************************\r
+//\r
+// The following is a struct that is passed to RTC_C_configureCalendarAlarm()\r
+//\r
+//******************************************************************************\r
+typedef struct RTC_C_configureCalendarAlarmParam {\r
+ uint8_t minutesAlarm;\r
+ uint8_t hoursAlarm;\r
+ uint8_t dayOfWeekAlarm;\r
+ uint8_t dayOfMonthAlarm;\r
+} RTC_C_configureCalendarAlarmParam;\r
+\r
+//*****************************************************************************\r
+//\r
+// The following are values that can be passed to the frequencySelect parameter\r
+// for functions: RTC_C_setCalibrationFrequency().\r
+//\r
+//*****************************************************************************\r
+#define RTC_C_CALIBRATIONFREQ_OFF (RTCCALF_0)\r
+#define RTC_C_CALIBRATIONFREQ_512HZ (RTCCALF_1)\r
+#define RTC_C_CALIBRATIONFREQ_256HZ (RTCCALF_2)\r
+#define RTC_C_CALIBRATIONFREQ_1HZ (RTCCALF_3)\r
+\r
+//*****************************************************************************\r
+//\r
+// The following are values that can be passed to the offsetDirection parameter\r
+// for functions: RTC_C_setCalibrationData().\r
+//\r
+//*****************************************************************************\r
+#define RTC_C_CALIBRATION_DOWN1PPM (!(RTCCALS))\r
+#define RTC_C_CALIBRATION_UP1PPM (RTCCALS)\r
+\r
+//*****************************************************************************\r
+//\r
+// The following are values that can be passed to the offsetDirection parameter\r
+// for functions: RTC_C_setTemperatureCompensation().\r
+//\r
+//*****************************************************************************\r
+#define RTC_C_COMPENSATION_DOWN1PPM (!(RTCTCMPS))\r
+#define RTC_C_COMPENSATION_UP1PPM (RTCTCMPS)\r
+\r
+//*****************************************************************************\r
+//\r
+// The following are values that can be passed to the clockSelect parameter for\r
+// functions: RTC_C_initCounter().\r
+//\r
+//*****************************************************************************\r
+#define RTC_C_CLOCKSELECT_32KHZ_OSC (RTCSSEL_0)\r
+#define RTC_C_CLOCKSELECT_RT1PS (RTCSSEL_2)\r
+\r
+//*****************************************************************************\r
+//\r
+// The following are values that can be passed to the counterSizeSelect\r
+// parameter for functions: RTC_C_initCounter().\r
+//\r
+//*****************************************************************************\r
+#define RTC_C_COUNTERSIZE_8BIT (RTCTEV_0)\r
+#define RTC_C_COUNTERSIZE_16BIT (RTCTEV_1)\r
+#define RTC_C_COUNTERSIZE_24BIT (RTCTEV_2)\r
+#define RTC_C_COUNTERSIZE_32BIT (RTCTEV_3)\r
+\r
+//*****************************************************************************\r
+//\r
+// The following are values that can be passed to the formatSelect parameter\r
+// for functions: RTC_C_initCalendar(), and RTC_C_calendarInit().\r
+//\r
+//*****************************************************************************\r
+#define RTC_C_FORMAT_BINARY (!(RTCBCD))\r
+#define RTC_C_FORMAT_BCD (RTCBCD)\r
+\r
+//*****************************************************************************\r
+//\r
+// The following are values that can be passed to the minutesAlarm parameter\r
+// for functions: RTC_C_setCalendarAlarm(); the dayOfMonthAlarm parameter for\r
+// functions: RTC_C_setCalendarAlarm(); the hoursAlarm parameter for functions:\r
+// RTC_C_setCalendarAlarm(); the dayOfWeekAlarm parameter for functions:\r
+// RTC_C_setCalendarAlarm().\r
+//\r
+//*****************************************************************************\r
+#define RTC_C_ALARMCONDITION_OFF (0x80)\r
+\r
+//*****************************************************************************\r
+//\r
+// The following are values that can be passed to the eventSelect parameter for\r
+// functions: RTC_C_setCalendarEvent().\r
+//\r
+//*****************************************************************************\r
+#define RTC_C_CALENDAREVENT_MINUTECHANGE (RTCTEV_0)\r
+#define RTC_C_CALENDAREVENT_HOURCHANGE (RTCTEV_1)\r
+#define RTC_C_CALENDAREVENT_NOON (RTCTEV_2)\r
+#define RTC_C_CALENDAREVENT_MIDNIGHT (RTCTEV_3)\r
+\r
+//*****************************************************************************\r
+//\r
+// The following are values that can be passed to the prescaleDivider parameter\r
+// for functions: RTC_C_initCounterPrescale().\r
+//\r
+//*****************************************************************************\r
+#define RTC_C_PSDIVIDER_2 (RT0PSDIV_0)\r
+#define RTC_C_PSDIVIDER_4 (RT0PSDIV_1)\r
+#define RTC_C_PSDIVIDER_8 (RT0PSDIV_2)\r
+#define RTC_C_PSDIVIDER_16 (RT0PSDIV_3)\r
+#define RTC_C_PSDIVIDER_32 (RT0PSDIV_4)\r
+#define RTC_C_PSDIVIDER_64 (RT0PSDIV_5)\r
+#define RTC_C_PSDIVIDER_128 (RT0PSDIV_6)\r
+#define RTC_C_PSDIVIDER_256 (RT0PSDIV_7)\r
+\r
+//*****************************************************************************\r
+//\r
+// The following are values that can be passed to the prescaleClockSelect\r
+// parameter for functions: RTC_C_initCounterPrescale().\r
+//\r
+//*****************************************************************************\r
+#define RTC_C_PSCLOCKSELECT_ACLK (RT1SSEL_0)\r
+#define RTC_C_PSCLOCKSELECT_SMCLK (RT1SSEL_1)\r
+#define RTC_C_PSCLOCKSELECT_RT0PS (RT1SSEL_2)\r
+\r
+//*****************************************************************************\r
+//\r
+// The following are values that can be passed to the prescaleEventDivider\r
+// parameter for functions: RTC_C_definePrescaleEvent().\r
+//\r
+//*****************************************************************************\r
+#define RTC_C_PSEVENTDIVIDER_2 (RT0IP_0)\r
+#define RTC_C_PSEVENTDIVIDER_4 (RT0IP_1)\r
+#define RTC_C_PSEVENTDIVIDER_8 (RT0IP_2)\r
+#define RTC_C_PSEVENTDIVIDER_16 (RT0IP_3)\r
+#define RTC_C_PSEVENTDIVIDER_32 (RT0IP_4)\r
+#define RTC_C_PSEVENTDIVIDER_64 (RT0IP_5)\r
+#define RTC_C_PSEVENTDIVIDER_128 (RT0IP_6)\r
+#define RTC_C_PSEVENTDIVIDER_256 (RT0IP_7)\r
+\r
+//*****************************************************************************\r
+//\r
+// The following are values that can be passed to the prescaleSelect parameter\r
+// for functions: RTC_C_initCounterPrescale(), RTC_C_holdCounterPrescale(),\r
+// RTC_C_startCounterPrescale(), RTC_C_definePrescaleEvent(),\r
+// RTC_C_getPrescaleValue(), and RTC_C_setPrescaleValue().\r
+//\r
+//*****************************************************************************\r
+#define RTC_C_PRESCALE_0 (0x0)\r
+#define RTC_C_PRESCALE_1 (0x2)\r
+\r
+//*****************************************************************************\r
+//\r
+// The following are values that can be passed to the interruptMask parameter\r
+// for functions: RTC_C_enableInterrupt(), and RTC_C_disableInterrupt(); the\r
+// interruptFlagMask parameter for functions: RTC_C_getInterruptStatus(), and\r
+// RTC_C_clearInterrupt() as well as returned by the RTC_C_getInterruptStatus()\r
+// function.\r
+//\r
+//*****************************************************************************\r
+#define RTC_C_TIME_EVENT_INTERRUPT RTCTEVIE\r
+#define RTC_C_CLOCK_ALARM_INTERRUPT RTCAIE\r
+#define RTC_C_CLOCK_READ_READY_INTERRUPT RTCRDYIE\r
+#define RTC_C_PRESCALE_TIMER0_INTERRUPT 0x02\r
+#define RTC_C_PRESCALE_TIMER1_INTERRUPT 0x01\r
+#define RTC_C_OSCILLATOR_FAULT_INTERRUPT RTCOFIE\r
+\r
+//*****************************************************************************\r
+//\r
+// Prototypes for the APIs.\r
+//\r
+//*****************************************************************************\r
+extern void RTC_C_startClock(uint16_t baseAddress);\r
+\r
+extern void RTC_C_holdClock(uint16_t baseAddress);\r
+\r
+extern void RTC_C_setCalibrationFrequency(uint16_t baseAddress,\r
+ uint16_t frequencySelect);\r
+\r
+extern void RTC_C_setCalibrationData(uint16_t baseAddress,\r
+ uint8_t offsetDirection,\r
+ uint8_t offsetValue);\r
+\r
+extern void RTC_C_initCounter(uint16_t baseAddress,\r
+ uint16_t clockSelect,\r
+ uint16_t counterSizeSelect);\r
+\r
+extern bool RTC_C_setTemperatureCompensation(uint16_t baseAddress,\r
+ uint16_t offsetDirection,\r
+ uint8_t offsetValue);\r
+\r
+extern void RTC_C_initCalendar(uint16_t baseAddress,\r
+ Calendar *CalendarTime,\r
+ uint16_t formatSelect);\r
+\r
+extern Calendar RTC_C_getCalendarTime(uint16_t baseAddress);\r
+\r
+extern void RTC_C_configureCalendarAlarm(uint16_t baseAddress,\r
+ RTC_C_configureCalendarAlarmParam *param);\r
+\r
+extern void RTC_C_setCalendarEvent(uint16_t baseAddress,\r
+ uint16_t eventSelect);\r
+\r
+extern uint32_t RTC_C_getCounterValue(uint16_t baseAddress);\r
+\r
+extern void RTC_C_setCounterValue(uint16_t baseAddress,\r
+ uint32_t counterValue);\r
+\r
+extern void RTC_C_initCounterPrescale(uint16_t baseAddress,\r
+ uint8_t prescaleSelect,\r
+ uint16_t prescaleClockSelect,\r
+ uint16_t prescaleDivider);\r
+\r
+extern void RTC_C_holdCounterPrescale(uint16_t baseAddress,\r
+ uint8_t prescaleSelect);\r
+\r
+extern void RTC_C_startCounterPrescale(uint16_t baseAddress,\r
+ uint8_t prescaleSelect);\r
+\r
+extern void RTC_C_definePrescaleEvent(uint16_t baseAddress,\r
+ uint8_t prescaleSelect,\r
+ uint8_t prescaleEventDivider);\r
+\r
+extern uint8_t RTC_C_getPrescaleValue(uint16_t baseAddress,\r
+ uint8_t prescaleSelect);\r
+\r
+extern void RTC_C_setPrescaleValue(uint16_t baseAddress,\r
+ uint8_t prescaleSelect,\r
+ uint8_t prescaleCounterValue);\r
+\r
+extern void RTC_C_enableInterrupt(uint16_t baseAddress,\r
+ uint8_t interruptMask);\r
+\r
+extern void RTC_C_disableInterrupt(uint16_t baseAddress,\r
+ uint8_t interruptMask);\r
+\r
+extern uint8_t RTC_C_getInterruptStatus(uint16_t baseAddress,\r
+ uint8_t interruptFlagMask);\r
+\r
+extern void RTC_C_clearInterrupt(uint16_t baseAddress,\r
+ uint8_t interruptFlagMask);\r
+\r
+extern uint16_t RTC_C_convertBCDToBinary(uint16_t baseAddress,\r
+ uint16_t valueToConvert);\r
+\r
+extern uint16_t RTC_C_convertBinaryToBCD(uint16_t baseAddress,\r
+ uint16_t valueToConvert);\r
+\r
+//*****************************************************************************\r
+//\r
+// The following are deprecated APIs.\r
+//\r
+//*****************************************************************************\r
+#define RTC_C_counterInit RTC_C_initCounter\r
+\r
+//*****************************************************************************\r
+//\r
+// The following are deprecated APIs.\r
+//\r
+//*****************************************************************************\r
+#define RTC_C_counterPrescaleInit RTC_C_initCounterPrescale\r
+\r
+//*****************************************************************************\r
+//\r
+// The following are deprecated APIs.\r
+//\r
+//*****************************************************************************\r
+#define RTC_C_counterPrescaleStart RTC_C_startCounterPrescale\r
+\r
+//*****************************************************************************\r
+//\r
+// The following are deprecated APIs.\r
+//\r
+//*****************************************************************************\r
+#define RTC_C_counterPrescaleHold RTC_C_holdCounterPrescale\r
+\r
+//*****************************************************************************\r
+//\r
+// The following are deprecated APIs.\r
+//\r
+//*****************************************************************************\r
+extern void RTC_C_calendarInit(uint16_t baseAddress,\r
+ Calendar CalendarTime,\r
+ uint16_t formatSelect);\r
+\r
+extern void RTC_C_setCalendarAlarm(uint16_t baseAddress,\r
+ uint8_t minutesAlarm,\r
+ uint8_t hoursAlarm,\r
+ uint8_t dayOfWeekAlarm,\r
+ uint8_t dayOfMonthAlarm);\r
+\r
+//*****************************************************************************\r
+//\r
+// Mark the end of the C bindings section for C++ compilers.\r
+//\r
+//*****************************************************************************\r
+#ifdef __cplusplus\r
+}\r
+#endif\r
+\r
+#endif\r
+#endif // __MSP430WARE_RTC_C_H__\r