1 /*""FILE COMMENT""******************************************************* 2 * System Name : Real-time clock API for RX62Nxx 3 * File Name : r_pdl_rtc.h 4 * Version : 1.02 5 * Contents : RTC function prototypes 6 * Customer : 7 * Model : 8 * Order : 9 * CPU : RX 10 * Compiler : RXC 11 * OS : 12 * Programmer : 13 * Note : 14 ************************************************************************ 15 * Copyright, 2011. Renesas Electronics Corporation 16 * and Renesas Solutions Corporation 17 ************************************************************************ 18 * History : 2011.04.08 19 * : Ver 1.02 20 * : CS-5 release. 21 *""FILE COMMENT END""**************************************************/ 22 23 #ifndef R_PDL_RTC_H 24 #define R_PDL_RTC_H 25 26 #include "r_pdl_common_defs_RX62Nxx.h" 27 28 /* Function prototypes */ 29 bool R_RTC_Create( 30 uint32_t, 31 uint32_t, 32 uint32_t, 33 uint32_t, 34 uint32_t, 35 void *, 36 uint8_t, 37 void *, 38 uint8_t 39 ); 40 bool R_RTC_Control( 41 uint32_t, 42 uint16_t, 43 uint32_t, 44 uint32_t, 45 uint32_t, 46 uint32_t 47 ); 48 bool R_RTC_Read( 49 uint8_t *, 50 uint32_t *, 51 uint32_t * 52 ); 53 54 /* Alarm control */ 55 #define PDL_RTC_ALARM_HOUR_DISABLE 0x00000001ul 56 #define PDL_RTC_ALARM_HOUR_ENABLE 0x00000002ul 57 #define PDL_RTC_ALARM_MINUTE_DISABLE 0x00000004ul 58 #define PDL_RTC_ALARM_MINUTE_ENABLE 0x00000008ul 59 #define PDL_RTC_ALARM_SECOND_DISABLE 0x00000010ul 60 #define PDL_RTC_ALARM_SECOND_ENABLE 0x00000020ul 61 #define PDL_RTC_ALARM_YEAR_DISABLE 0x00000040ul 62 #define PDL_RTC_ALARM_YEAR_ENABLE 0x00000080ul 63 #define PDL_RTC_ALARM_MONTH_DISABLE 0x00000100ul 64 #define PDL_RTC_ALARM_MONTH_ENABLE 0x00000200ul 65 #define PDL_RTC_ALARM_DAY_DISABLE 0x00000400ul 66 #define PDL_RTC_ALARM_DAY_ENABLE 0x00000800ul 67 #define PDL_RTC_ALARM_DOW_DISABLE 0x00001000ul 68 #define PDL_RTC_ALARM_DOW_ENABLE 0x00002000ul 69 70 #define PDL_RTC_ALARM_TIME_DISABLE \ 71 (PDL_RTC_ALARM_HOUR_DISABLE | PDL_RTC_ALARM_MINUTE_DISABLE | PDL_RTC_ALARM_SECOND_DISABLE) 72 #define PDL_RTC_ALARM_TIME_ENABLE \ 73 (PDL_RTC_ALARM_HOUR_ENABLE | PDL_RTC_ALARM_MINUTE_ENABLE | PDL_RTC_ALARM_SECOND_ENABLE) 74 #define PDL_RTC_ALARM_DATE_DISABLE \ 75 (PDL_RTC_ALARM_YEAR_DISABLE | PDL_RTC_ALARM_MONTH_DISABLE | \ 76 PDL_RTC_ALARM_DAY_DISABLE | PDL_RTC_ALARM_DOW_DISABLE) 77 #define PDL_RTC_ALARM_DATE_ENABLE \ 78 (PDL_RTC_ALARM_YEAR_ENABLE | PDL_RTC_ALARM_MONTH_ENABLE | \ 79 PDL_RTC_ALARM_DAY_ENABLE | PDL_RTC_ALARM_DOW_ENABLE) 80 81 /* Periodic interrupt selection */ 82 #define PDL_RTC_PERIODIC_DISABLE 0x00004000ul 83 #define PDL_RTC_PERIODIC_256_HZ 0x00008000ul 84 #define PDL_RTC_PERIODIC_64_HZ 0x00010000ul 85 #define PDL_RTC_PERIODIC_16_HZ 0x00020000ul 86 #define PDL_RTC_PERIODIC_4_HZ 0x00040000ul 87 #define PDL_RTC_PERIODIC_2_HZ 0x00080000ul 88 #define PDL_RTC_PERIODIC_1_HZ 0x00100000ul 89 #define PDL_RTC_PERIODIC_2S 0x00200000ul 90 91 /* Clock output control */ 92 #define PDL_RTC_OUTPUT_DISABLE 0x00400000ul 93 #define PDL_RTC_OUTPUT_ENABLE 0x00800000ul 94 95 /* Clock control */ 96 #define PDL_RTC_CLOCK_STOP 0x01000000ul 97 #define PDL_RTC_CLOCK_START 0x02000000ul 98 99 /* 30-second adjustment control */ 100 #define PDL_RTC_ADJUST_START 0x04000000ul 101 102 /* Reset control */ 103 #define PDL_RTC_RESET_START 0x08000000ul 104 105 /* Current time counter selection */ 106 #define PDL_RTC_UPDATE_CURRENT_HOUR 0x0001u 107 #define PDL_RTC_UPDATE_CURRENT_MINUTE 0x0002u 108 #define PDL_RTC_UPDATE_CURRENT_SECOND 0x0004u 109 #define PDL_RTC_UPDATE_CURRENT_TIME \ 110 (PDL_RTC_UPDATE_CURRENT_HOUR | PDL_RTC_UPDATE_CURRENT_MINUTE | PDL_RTC_UPDATE_CURRENT_SECOND) 111 112 /* Current date counter selection */ 113 #define PDL_RTC_UPDATE_CURRENT_YEAR 0x0008u 114 #define PDL_RTC_UPDATE_CURRENT_MONTH 0x0010u 115 #define PDL_RTC_UPDATE_CURRENT_DAY 0x0020u 116 #define PDL_RTC_UPDATE_CURRENT_DOW 0x0040u 117 #define PDL_RTC_UPDATE_CURRENT_DATE \ 118 (PDL_RTC_UPDATE_CURRENT_YEAR | PDL_RTC_UPDATE_CURRENT_MONTH | PDL_RTC_UPDATE_CURRENT_DAY | PDL_RTC_UPDATE_CURRENT_DOW) 119 120 /* Alarm time counter selection */ 121 #define PDL_RTC_UPDATE_ALARM_HOUR 0x0080u 122 #define PDL_RTC_UPDATE_ALARM_MINUTE 0x0100u 123 #define PDL_RTC_UPDATE_ALARM_SECOND 0x0200u 124 #define PDL_RTC_UPDATE_ALARM_TIME \ 125 (PDL_RTC_UPDATE_ALARM_HOUR | PDL_RTC_UPDATE_ALARM_MINUTE | PDL_RTC_UPDATE_ALARM_SECOND) 126 127 /* Alarm date counter selection */ 128 #define PDL_RTC_UPDATE_ALARM_YEAR 0x0400u 129 #define PDL_RTC_UPDATE_ALARM_MONTH 0x0800u 130 #define PDL_RTC_UPDATE_ALARM_DAY 0x1000u 131 #define PDL_RTC_UPDATE_ALARM_DOW 0x2000u 132 #define PDL_RTC_UPDATE_ALARM_DATE \ 133 (PDL_RTC_UPDATE_ALARM_YEAR | PDL_RTC_UPDATE_ALARM_MONTH | PDL_RTC_UPDATE_ALARM_DAY | PDL_RTC_UPDATE_ALARM_DOW) 134 135 #endif 136 /* End of file */ 137