32 #ifndef __RTC_18XX_43XX_H_
33 #define __RTC_18XX_43XX_H_
44 #define RTC_EV_SUPPORT 1
82 __I uint32_t CTIME[3];
85 __I uint32_t RESERVED1[7];
102 __IO uint32_t REGFILE[64];
109 #define RTC_ILR_BITMASK ((0x00000003))
111 #define RTC_IRL_RTCCIF ((1 << 0))
113 #define RTC_IRL_RTCALF ((1 << 1))
119 #define RTC_CCR_BITMASK ((0x00000013))
121 #define RTC_CCR_CLKEN ((1 << 0))
123 #define RTC_CCR_CTCRST ((1 << 1))
125 #define RTC_CCR_CCALEN ((1 << 4))
131 #define RTC_AMR_CIIR_IMSEC ((1 << 0))
133 #define RTC_AMR_CIIR_IMMIN ((1 << 1))
135 #define RTC_AMR_CIIR_IMHOUR ((1 << 2))
137 #define RTC_AMR_CIIR_IMDOM ((1 << 3))
139 #define RTC_AMR_CIIR_IMDOW ((1 << 4))
141 #define RTC_AMR_CIIR_IMDOY ((1 << 5))
143 #define RTC_AMR_CIIR_IMMON ((1 << 6))
145 #define RTC_AMR_CIIR_IMYEAR ((1 << 7))
147 #define RTC_AMR_CIIR_BITMASK ((0xFF))
153 #define RTC_AUX_RTC_OSCF ((1 << 4))
159 #define RTC_AUXEN_RTC_OSCFEN ((1 << 4))
164 #define RTC_CTIME0_SECONDS_MASK ((0x3F))
165 #define RTC_CTIME0_MINUTES_MASK ((0x3F00))
166 #define RTC_CTIME0_HOURS_MASK ((0x1F0000))
167 #define RTC_CTIME0_DOW_MASK ((0x7000000))
172 #define RTC_CTIME1_DOM_MASK ((0x1F))
173 #define RTC_CTIME1_MONTH_MASK ((0xF00))
174 #define RTC_CTIME1_YEAR_MASK ((0xFFF0000))
179 #define RTC_CTIME2_DOY_MASK ((0xFFF))
185 #define RTC_SEC_MASK (0x0000003F)
187 #define RTC_MIN_MASK (0x0000003F)
189 #define RTC_HOUR_MASK (0x0000001F)
191 #define RTC_DOM_MASK (0x0000001F)
193 #define RTC_DOW_MASK (0x00000007)
195 #define RTC_DOY_MASK (0x000001FF)
197 #define RTC_MONTH_MASK (0x0000000F)
199 #define RTC_YEAR_MASK (0x00000FFF)
201 #define RTC_SECOND_MAX 59
202 #define RTC_MINUTE_MAX 59
203 #define RTC_HOUR_MAX 23
204 #define RTC_MONTH_MIN 1
205 #define RTC_MONTH_MAX 12
206 #define RTC_DAYOFMONTH_MIN 1
207 #define RTC_DAYOFMONTH_MAX 31
208 #define RTC_DAYOFWEEK_MAX 6
209 #define RTC_DAYOFYEAR_MIN 1
210 #define RTC_DAYOFYEAR_MAX 366
211 #define RTC_YEAR_MAX 4095
217 #define RTC_CALIBRATION_CALVAL_MASK ((0x1FFFF))
219 #define RTC_CALIBRATION_LIBDIR ((1 << 17))
221 #define RTC_CALIBRATION_MAX ((0x20000))
223 #define RTC_CALIB_DIR_FORWARD ((uint8_t) (0))
224 #define RTC_CALIB_DIR_BACKWARD ((uint8_t) (1))
231 #define RTC_ERCTRL_BITMASK ((uint32_t) 0xC0F03C0F)
233 #define RTC_ERCTRL_INTWAKE_EN ((uint32_t) (1 << 0))
235 #define RTC_ERCTRL_GPCLEAR_EN ((uint32_t) (1 << 1))
237 #define RTC_ERCTRL_POL_NEGATIVE (0)
238 #define RTC_ERCTRL_POL_POSITIVE ((uint32_t) (1 << 2))
240 #define RTC_ERCTRL_INPUT_EN ((uint32_t) (1 << 3))
242 #define RTC_ERCTRL_CHANNEL_CONFIG_BITMASK(ch) ((uint32_t) (0x0F << (10 * ch)))
243 #define RTC_ERCTRL_CHANNEL_CONFIG(ch, flag) ((uint32_t) (flag << (10 * ch)))
246 #define RTC_ERCTRL_MODE_MASK (((uint32_t) 3) << 30)
247 #define RTC_ERCTRL_MODE_CLK_DISABLE (((uint32_t) 0) << 30)
248 #define RTC_ERCTRL_MODE_16HZ (((uint32_t) 1) << 30)
249 #define RTC_ERCTRL_MODE_64HZ (((uint32_t) 2) << 30)
250 #define RTC_ERCTRL_MODE_1KHZ (((uint32_t) 3) << 30)
251 #define RTC_ERCTRL_MODE(n) (((uint32_t) n) << 30)
257 #define RTC_ERSTATUS_CHANNEL_EV(ch) ((uint32_t) (1 << ch))
259 #define RTC_ERSTATUS_GPCLEARED ((uint32_t) (1 << 3))
261 #define RTC_ERSTATUS_WAKEUP ((uint32_t) (((uint32_t) 1) << 31))
267 #define RTC_ER_COUNTER(ch, n) ((uint32_t) ((n >> (8 * ch)) & 0x07))
272 #define RTC_ER_TIMESTAMP_SEC(n) ((uint32_t) (n & 0x3F))
273 #define RTC_ER_TIMESTAMP_MIN(n) ((uint32_t) ((n >> 6) & 0x3F))
274 #define RTC_ER_TIMESTAMP_HOUR(n) ((uint32_t) ((n >> 12) & 0x1F))
275 #define RTC_ER_TIMESTAMP_DOY(n) ((uint32_t) ((n >> 17) & 0x1FF))
280 typedef enum IP_RTC_EV_MODE {
358 pRTC->
TIME[Timetype] = TimeValue;
369 return pRTC->
TIME[Timetype];
397 pRTC->
ALRM[Timetype] = ALValue;
408 return pRTC->
ALRM[Timetype];
440 pRegFile->
REGFILE[index] = value;
455 return pRegFile->
REGFILE[index];