1 /* 2 * Copyright 2008-2012 Freescale Semiconductor Inc. 3 * 4 * Redistribution and use in source and binary forms, with or without 5 * modification, are permitted provided that the following conditions are met: 6 * * Redistributions of source code must retain the above copyright 7 * notice, this list of conditions and the following disclaimer. 8 * * Redistributions in binary form must reproduce the above copyright 9 * notice, this list of conditions and the following disclaimer in the 10 * documentation and/or other materials provided with the distribution. 11 * * Neither the name of Freescale Semiconductor nor the 12 * names of its contributors may be used to endorse or promote products 13 * derived from this software without specific prior written permission. 14 * 15 * 16 * ALTERNATIVELY, this software may be distributed under the terms of the 17 * GNU General Public License ("GPL") as published by the Free Software 18 * Foundation, either version 2 of that License or (at your option) any 19 * later version. 20 * 21 * THIS SOFTWARE IS PROVIDED BY Freescale Semiconductor ``AS IS'' AND ANY 22 * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 23 * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 24 * DISCLAIMED. IN NO EVENT SHALL Freescale Semiconductor BE LIABLE FOR ANY 25 * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 26 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 27 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 28 * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 29 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 30 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 31 */ 32 33 34 /**************************************************************************//** 35 @File fm_rtc_ext.h 36 37 @Description External definitions and API for FM RTC IEEE1588 Timer Module. 38 39 @Cautions None. 40 *//***************************************************************************/ 41 42 #ifndef __FM_RTC_EXT_H__ 43 #define __FM_RTC_EXT_H__ 44 45 46 #include "error_ext.h" 47 #include "std_ext.h" 48 #include "fsl_fman_rtc.h" 49 50 /**************************************************************************//** 51 52 @Group FM_grp Frame Manager API 53 54 @Description FM API functions, definitions and enums 55 56 @{ 57 *//***************************************************************************/ 58 59 /**************************************************************************//** 60 @Group fm_rtc_grp FM RTC 61 62 @Description FM RTC functions, definitions and enums. 63 64 @{ 65 *//***************************************************************************/ 66 67 /**************************************************************************//** 68 @Group fm_rtc_init_grp FM RTC Initialization Unit 69 70 @Description FM RTC initialization API. 71 72 @{ 73 *//***************************************************************************/ 74 75 /**************************************************************************//** 76 @Description FM RTC Alarm Polarity Options. 77 *//***************************************************************************/ 78 typedef enum e_FmRtcAlarmPolarity 79 { 80 e_FM_RTC_ALARM_POLARITY_ACTIVE_HIGH = E_FMAN_RTC_ALARM_POLARITY_ACTIVE_HIGH, /**< Active-high output polarity */ 81 e_FM_RTC_ALARM_POLARITY_ACTIVE_LOW = E_FMAN_RTC_ALARM_POLARITY_ACTIVE_LOW /**< Active-low output polarity */ 82 } e_FmRtcAlarmPolarity; 83 84 /**************************************************************************//** 85 @Description FM RTC Trigger Polarity Options. 86 *//***************************************************************************/ 87 typedef enum e_FmRtcTriggerPolarity 88 { 89 e_FM_RTC_TRIGGER_ON_RISING_EDGE = E_FMAN_RTC_TRIGGER_ON_RISING_EDGE, /**< Trigger on rising edge */ 90 e_FM_RTC_TRIGGER_ON_FALLING_EDGE = E_FMAN_RTC_TRIGGER_ON_FALLING_EDGE /**< Trigger on falling edge */ 91 } e_FmRtcTriggerPolarity; 92 93 /**************************************************************************//** 94 @Description IEEE1588 Timer Module FM RTC Optional Clock Sources. 95 *//***************************************************************************/ 96 typedef enum e_FmSrcClock 97 { 98 e_FM_RTC_SOURCE_CLOCK_EXTERNAL = E_FMAN_RTC_SOURCE_CLOCK_EXTERNAL, /**< external high precision timer reference clock */ 99 e_FM_RTC_SOURCE_CLOCK_SYSTEM = E_FMAN_RTC_SOURCE_CLOCK_SYSTEM, /**< MAC system clock */ 100 e_FM_RTC_SOURCE_CLOCK_OSCILATOR = E_FMAN_RTC_SOURCE_CLOCK_OSCILATOR /**< RTC clock oscilator */ 101 }e_FmSrcClk; 102 103 /**************************************************************************//** 104 @Description FM RTC configuration parameters structure. 105 106 This structure should be passed to FM_RTC_Config(). 107 *//***************************************************************************/ 108 typedef struct t_FmRtcParams 109 { 110 t_Handle h_Fm; /**< FM Handle*/ 111 uintptr_t baseAddress; /**< Base address of FM RTC registers */ 112 t_Handle h_App; /**< A handle to an application layer object; This handle will 113 be passed by the driver upon calling the above callbacks */ 114 } t_FmRtcParams; 115 116 117 /**************************************************************************//** 118 @Function FM_RTC_Config 119 120 @Description Configures the FM RTC module according to user's parameters. 121 122 The driver assigns default values to some FM RTC parameters. 123 These parameters can be overwritten using the advanced 124 configuration routines. 125 126 @Param[in] p_FmRtcParam - FM RTC configuration parameters. 127 128 @Return Handle to the new FM RTC object; NULL pointer on failure. 129 130 @Cautions None 131 *//***************************************************************************/ 132 t_Handle FM_RTC_Config(t_FmRtcParams *p_FmRtcParam); 133 134 /**************************************************************************//** 135 @Function FM_RTC_Init 136 137 @Description Initializes the FM RTC driver and hardware. 138 139 @Param[in] h_FmRtc - Handle to FM RTC object. 140 141 @Return E_OK on success; Error code otherwise. 142 143 @Cautions h_FmRtc must have been previously created using FM_RTC_Config(). 144 *//***************************************************************************/ 145 t_Error FM_RTC_Init(t_Handle h_FmRtc); 146 147 /**************************************************************************//** 148 @Function FM_RTC_Free 149 150 @Description Frees the FM RTC object and all allocated resources. 151 152 @Param[in] h_FmRtc - Handle to FM RTC object. 153 154 @Return E_OK on success; Error code otherwise. 155 156 @Cautions h_FmRtc must have been previously created using FM_RTC_Config(). 157 *//***************************************************************************/ 158 t_Error FM_RTC_Free(t_Handle h_FmRtc); 159 160 161 /**************************************************************************//** 162 @Group fm_rtc_adv_config_grp FM RTC Advanced Configuration Unit 163 164 @Description FM RTC advanced configuration functions. 165 166 @{ 167 *//***************************************************************************/ 168 169 /**************************************************************************//** 170 @Function FM_RTC_ConfigPeriod 171 172 @Description Configures the period of the timestamp if different than 173 default [DEFAULT_clockPeriod]. 174 175 @Param[in] h_FmRtc - Handle to FM RTC object. 176 @Param[in] period - Period in nano-seconds. 177 178 @Return E_OK on success; Error code otherwise. 179 180 @Cautions h_FmRtc must have been previously created using FM_RTC_Config(). 181 *//***************************************************************************/ 182 t_Error FM_RTC_ConfigPeriod(t_Handle h_FmRtc, uint32_t period); 183 184 /**************************************************************************//** 185 @Function FM_RTC_ConfigSourceClock 186 187 @Description Configures the source clock of the RTC. 188 189 @Param[in] h_FmRtc - Handle to FM RTC object. 190 @Param[in] srcClk - Source clock selection. 191 @Param[in] freqInMhz - the source-clock frequency (in MHz). 192 193 @Return E_OK on success; Error code otherwise. 194 195 @Cautions h_FmRtc must have been previously created using FM_RTC_Config(). 196 *//***************************************************************************/ 197 t_Error FM_RTC_ConfigSourceClock(t_Handle h_FmRtc, 198 e_FmSrcClk srcClk, 199 uint32_t freqInMhz); 200 201 /**************************************************************************//** 202 @Function FM_RTC_ConfigPulseRealignment 203 204 @Description Configures the RTC to automatic FIPER pulse realignment in 205 response to timer adjustments [DEFAULT_pulseRealign] 206 207 In this mode, the RTC clock is identical to the source clock. 208 This feature can be useful when the system contains an external 209 RTC with inherent frequency compensation. 210 211 @Param[in] h_FmRtc - Handle to FM RTC object. 212 @Param[in] enable - TRUE to enable automatic realignment. 213 214 @Return E_OK on success; Error code otherwise. 215 216 @Cautions h_FmRtc must have been previously created using FM_RTC_Config(). 217 *//***************************************************************************/ 218 t_Error FM_RTC_ConfigPulseRealignment(t_Handle h_FmRtc, bool enable); 219 220 /**************************************************************************//** 221 @Function FM_RTC_ConfigFrequencyBypass 222 223 @Description Configures the RTC to bypass the frequency compensation 224 mechanism. [DEFAULT_bypass] 225 226 In this mode, the RTC clock is identical to the source clock. 227 This feature can be useful when the system contains an external 228 RTC with inherent frequency compensation. 229 230 @Param[in] h_FmRtc - Handle to FM RTC object. 231 @Param[in] enabled - TRUE to bypass frequency compensation; 232 FALSE otherwise. 233 234 @Return E_OK on success; Error code otherwise. 235 236 @Cautions h_FmRtc must have been previously created using FM_RTC_Config(). 237 *//***************************************************************************/ 238 t_Error FM_RTC_ConfigFrequencyBypass(t_Handle h_FmRtc, bool enabled); 239 240 /**************************************************************************//** 241 @Function FM_RTC_ConfigInvertedInputClockPhase 242 243 @Description Configures the RTC to invert the source clock phase on input. 244 [DEFAULT_invertInputClkPhase] 245 246 @Param[in] h_FmRtc - Handle to FM RTC object. 247 @Param[in] inverted - TRUE to invert the source clock phase on input. 248 FALSE otherwise. 249 250 @Return E_OK on success; Error code otherwise. 251 252 @Cautions h_FmRtc must have been previously created using FM_RTC_Config(). 253 *//***************************************************************************/ 254 t_Error FM_RTC_ConfigInvertedInputClockPhase(t_Handle h_FmRtc, bool inverted); 255 256 /**************************************************************************//** 257 @Function FM_RTC_ConfigInvertedOutputClockPhase 258 259 @Description Configures the RTC to invert the output clock phase. 260 [DEFAULT_invertOutputClkPhase] 261 262 @Param[in] h_FmRtc - Handle to FM RTC object. 263 @Param[in] inverted - TRUE to invert the output clock phase. 264 FALSE otherwise. 265 266 @Return E_OK on success; Error code otherwise. 267 268 @Cautions h_FmRtc must have been previously created using FM_RTC_Config(). 269 *//***************************************************************************/ 270 t_Error FM_RTC_ConfigInvertedOutputClockPhase(t_Handle h_FmRtc, bool inverted); 271 272 /**************************************************************************//** 273 @Function FM_RTC_ConfigOutputClockDivisor 274 275 @Description Configures the divisor for generating the output clock from 276 the RTC clock. [DEFAULT_outputClockDivisor] 277 278 @Param[in] h_FmRtc - Handle to FM RTC object. 279 @Param[in] divisor - Divisor for generation of the output clock. 280 281 @Return E_OK on success; Error code otherwise. 282 283 @Cautions h_FmRtc must have been previously created using FM_RTC_Config(). 284 *//***************************************************************************/ 285 t_Error FM_RTC_ConfigOutputClockDivisor(t_Handle h_FmRtc, uint16_t divisor); 286 287 /**************************************************************************//** 288 @Function FM_RTC_ConfigAlarmPolarity 289 290 @Description Configures the polarity (active-high/active-low) of a specific 291 alarm signal. [DEFAULT_alarmPolarity] 292 293 @Param[in] h_FmRtc - Handle to FM RTC object. 294 @Param[in] alarmId - Alarm ID. 295 @Param[in] alarmPolarity - Alarm polarity. 296 297 @Return E_OK on success; Error code otherwise. 298 299 @Cautions h_FmRtc must have been previously created using FM_RTC_Config(). 300 *//***************************************************************************/ 301 t_Error FM_RTC_ConfigAlarmPolarity(t_Handle h_FmRtc, 302 uint8_t alarmId, 303 e_FmRtcAlarmPolarity alarmPolarity); 304 305 /**************************************************************************//** 306 @Function FM_RTC_ConfigExternalTriggerPolarity 307 308 @Description Configures the polarity (rising/falling edge) of a specific 309 external trigger signal. [DEFAULT_triggerPolarity] 310 311 @Param[in] h_FmRtc - Handle to FM RTC object. 312 @Param[in] triggerId - Trigger ID. 313 @Param[in] triggerPolarity - Trigger polarity. 314 315 @Return E_OK on success; Error code otherwise. 316 317 @Cautions h_FmRtc must have been previously created using FM_RTC_Config(). 318 *//***************************************************************************/ 319 t_Error FM_RTC_ConfigExternalTriggerPolarity(t_Handle h_FmRtc, 320 uint8_t triggerId, 321 e_FmRtcTriggerPolarity triggerPolarity); 322 323 /** @} */ /* end of fm_rtc_adv_config_grp */ 324 /** @} */ /* end of fm_rtc_init_grp */ 325 326 327 /**************************************************************************//** 328 @Group fm_rtc_control_grp FM RTC Control Unit 329 330 @Description FM RTC runtime control API. 331 332 @{ 333 *//***************************************************************************/ 334 335 /**************************************************************************//** 336 @Function t_FmRtcExceptionsCallback 337 338 @Description Exceptions user callback routine, used for RTC different mechanisms. 339 340 @Param[in] h_App - User's application descriptor. 341 @Param[in] id - source id. 342 *//***************************************************************************/ 343 typedef void (t_FmRtcExceptionsCallback) ( t_Handle h_App, uint8_t id); 344 345 /**************************************************************************//** 346 @Description FM RTC alarm parameters. 347 *//***************************************************************************/ 348 typedef struct t_FmRtcAlarmParams { 349 uint8_t alarmId; /**< 0 or 1 */ 350 uint64_t alarmTime; /**< In nanoseconds, the time when the alarm 351 should go off - must be a multiple of 352 the RTC period */ 353 t_FmRtcExceptionsCallback *f_AlarmCallback; /**< This routine will be called when RTC 354 reaches alarmTime */ 355 bool clearOnExpiration; /**< TRUE to turn off the alarm once expired. */ 356 } t_FmRtcAlarmParams; 357 358 /**************************************************************************//** 359 @Description FM RTC Periodic Pulse parameters. 360 *//***************************************************************************/ 361 typedef struct t_FmRtcPeriodicPulseParams { 362 uint8_t periodicPulseId; /**< 0 or 1 */ 363 uint64_t periodicPulsePeriod; /**< In Nanoseconds. Must be 364 a multiple of the RTC period */ 365 t_FmRtcExceptionsCallback *f_PeriodicPulseCallback; /**< This routine will be called every 366 periodicPulsePeriod. */ 367 } t_FmRtcPeriodicPulseParams; 368 369 /**************************************************************************//** 370 @Description FM RTC Periodic Pulse parameters. 371 *//***************************************************************************/ 372 typedef struct t_FmRtcExternalTriggerParams { 373 uint8_t externalTriggerId; /**< 0 or 1 */ 374 bool usePulseAsInput; /**< Use the pulse interrupt instead of 375 an external signal */ 376 t_FmRtcExceptionsCallback *f_ExternalTriggerCallback; /**< This routine will be called every 377 periodicPulsePeriod. */ 378 } t_FmRtcExternalTriggerParams; 379 380 381 /**************************************************************************//** 382 @Function FM_RTC_Enable 383 384 @Description Enable the RTC (time count is started). 385 386 The user can select to resume the time count from previous 387 point, or to restart the time count. 388 389 @Param[in] h_FmRtc - Handle to FM RTC object. 390 @Param[in] resetClock - Restart the time count from zero. 391 392 @Return E_OK on success; Error code otherwise. 393 394 @Cautions h_FmRtc must have been previously initialized using FM_RTC_Init(). 395 *//***************************************************************************/ 396 t_Error FM_RTC_Enable(t_Handle h_FmRtc, bool resetClock); 397 398 /**************************************************************************//** 399 @Function FM_RTC_Disable 400 401 @Description Disables the RTC (time count is stopped). 402 403 @Param[in] h_FmRtc - Handle to FM RTC object. 404 405 @Return E_OK on success; Error code otherwise. 406 407 @Cautions h_FmRtc must have been previously initialized using FM_RTC_Init(). 408 *//***************************************************************************/ 409 t_Error FM_RTC_Disable(t_Handle h_FmRtc); 410 411 /**************************************************************************//** 412 @Function FM_RTC_SetClockOffset 413 414 @Description Sets the clock offset (usually relative to another clock). 415 416 The user can pass a negative offset value. 417 418 @Param[in] h_FmRtc - Handle to FM RTC object. 419 @Param[in] offset - New clock offset (in nanoseconds). 420 421 @Return E_OK on success; Error code otherwise. 422 423 @Cautions h_FmRtc must have been previously initialized using FM_RTC_Init(). 424 *//***************************************************************************/ 425 t_Error FM_RTC_SetClockOffset(t_Handle h_FmRtc, int64_t offset); 426 427 /**************************************************************************//** 428 @Function FM_RTC_SetAlarm 429 430 @Description Schedules an alarm event to a given RTC time. 431 432 @Param[in] h_FmRtc - Handle to FM RTC object. 433 @Param[in] p_FmRtcAlarmParams - Alarm parameters. 434 435 @Return E_OK on success; Error code otherwise. 436 437 @Cautions h_FmRtc must have been previously initialized using FM_RTC_Init(). 438 Must be called only prior to FM_RTC_Enable(). 439 *//***************************************************************************/ 440 t_Error FM_RTC_SetAlarm(t_Handle h_FmRtc, t_FmRtcAlarmParams *p_FmRtcAlarmParams); 441 442 /**************************************************************************//** 443 @Function FM_RTC_SetPeriodicPulse 444 445 @Description Sets a periodic pulse. 446 447 @Param[in] h_FmRtc - Handle to FM RTC object. 448 @Param[in] p_FmRtcPeriodicPulseParams - Periodic pulse parameters. 449 450 @Return E_OK on success; Error code otherwise. 451 452 @Cautions h_FmRtc must have been previously initialized using FM_RTC_Init(). 453 Must be called only prior to FM_RTC_Enable(). 454 *//***************************************************************************/ 455 t_Error FM_RTC_SetPeriodicPulse(t_Handle h_FmRtc, t_FmRtcPeriodicPulseParams *p_FmRtcPeriodicPulseParams); 456 457 /**************************************************************************//** 458 @Function FM_RTC_ClearPeriodicPulse 459 460 @Description Clears a periodic pulse. 461 462 @Param[in] h_FmRtc - Handle to FM RTC object. 463 @Param[in] periodicPulseId - Periodic pulse id. 464 465 @Return E_OK on success; Error code otherwise. 466 467 @Cautions h_FmRtc must have been previously initialized using FM_RTC_Init(). 468 *//***************************************************************************/ 469 t_Error FM_RTC_ClearPeriodicPulse(t_Handle h_FmRtc, uint8_t periodicPulseId); 470 471 /**************************************************************************//** 472 @Function FM_RTC_SetExternalTrigger 473 474 @Description Sets an external trigger indication and define a callback 475 routine to be called on such event. 476 477 @Param[in] h_FmRtc - Handle to FM RTC object. 478 @Param[in] p_FmRtcExternalTriggerParams - External Trigger parameters. 479 480 @Return E_OK on success; Error code otherwise. 481 482 @Cautions h_FmRtc must have been previously initialized using FM_RTC_Init(). 483 *//***************************************************************************/ 484 t_Error FM_RTC_SetExternalTrigger(t_Handle h_FmRtc, t_FmRtcExternalTriggerParams *p_FmRtcExternalTriggerParams); 485 486 /**************************************************************************//** 487 @Function FM_RTC_ClearExternalTrigger 488 489 @Description Clears external trigger indication. 490 491 @Param[in] h_FmRtc - Handle to FM RTC object. 492 @Param[in] id - External Trigger id. 493 494 @Return E_OK on success; Error code otherwise. 495 496 @Cautions h_FmRtc must have been previously initialized using FM_RTC_Init(). 497 *//***************************************************************************/ 498 t_Error FM_RTC_ClearExternalTrigger(t_Handle h_FmRtc, uint8_t id); 499 500 /**************************************************************************//** 501 @Function FM_RTC_GetExternalTriggerTimeStamp 502 503 @Description Reads the External Trigger TimeStamp. 504 505 @Param[in] h_FmRtc - Handle to FM RTC object. 506 @Param[in] triggerId - External Trigger id. 507 @Param[out] p_TimeStamp - External Trigger timestamp (in nanoseconds). 508 509 @Return E_OK on success; Error code otherwise. 510 511 @Cautions h_FmRtc must have been previously initialized using FM_RTC_Init(). 512 *//***************************************************************************/ 513 t_Error FM_RTC_GetExternalTriggerTimeStamp(t_Handle h_FmRtc, 514 uint8_t triggerId, 515 uint64_t *p_TimeStamp); 516 517 /**************************************************************************//** 518 @Function FM_RTC_GetCurrentTime 519 520 @Description Returns the current RTC time. 521 522 @Param[in] h_FmRtc - Handle to FM RTC object. 523 @Param[out] p_Ts - returned time stamp (in nanoseconds). 524 525 @Return E_OK on success; Error code otherwise. 526 527 @Cautions h_FmRtc must have been previously initialized using FM_RTC_Init(). 528 *//***************************************************************************/ 529 t_Error FM_RTC_GetCurrentTime(t_Handle h_FmRtc, uint64_t *p_Ts); 530 531 /**************************************************************************//** 532 @Function FM_RTC_SetCurrentTime 533 534 @Description Sets the current RTC time. 535 536 @Param[in] h_FmRtc - Handle to FM RTC object. 537 @Param[in] ts - The new time stamp (in nanoseconds). 538 539 @Return E_OK on success; Error code otherwise. 540 541 @Cautions h_FmRtc must have been previously initialized using FM_RTC_Init(). 542 *//***************************************************************************/ 543 t_Error FM_RTC_SetCurrentTime(t_Handle h_FmRtc, uint64_t ts); 544 545 /**************************************************************************//** 546 @Function FM_RTC_GetFreqCompensation 547 548 @Description Retrieves the frequency compensation value 549 550 @Param[in] h_FmRtc - Handle to FM RTC object. 551 @Param[out] p_Compensation - A pointer to the returned value of compensation. 552 553 @Return E_OK on success; Error code otherwise. 554 555 @Cautions h_FmRtc must have been previously initialized using FM_RTC_Init(). 556 *//***************************************************************************/ 557 t_Error FM_RTC_GetFreqCompensation(t_Handle h_FmRtc, uint32_t *p_Compensation); 558 559 /**************************************************************************//** 560 @Function FM_RTC_SetFreqCompensation 561 562 @Description Sets a new frequency compensation value. 563 564 @Param[in] h_FmRtc - Handle to FM RTC object. 565 @Param[in] freqCompensation - The new frequency compensation value to set. 566 567 @Return E_OK on success; Error code otherwise. 568 569 @Cautions h_FmRtc must have been previously initialized using FM_RTC_Init(). 570 *//***************************************************************************/ 571 t_Error FM_RTC_SetFreqCompensation(t_Handle h_FmRtc, uint32_t freqCompensation); 572 573 #ifdef CONFIG_PTP_1588_CLOCK_DPAA 574 /**************************************************************************//** 575 *@Function FM_RTC_EnableInterrupt 576 * 577 *@Description Enable interrupt of FM RTC. 578 * 579 *@Param[in] h_FmRtc - Handle to FM RTC object. 580 *@Param[in] events - Interrupt events. 581 * 582 *@Return E_OK on success; Error code otherwise. 583 *//***************************************************************************/ 584 t_Error FM_RTC_EnableInterrupt(t_Handle h_FmRtc, uint32_t events); 585 586 /**************************************************************************//** 587 *@Function FM_RTC_DisableInterrupt 588 * 589 *@Description Disable interrupt of FM RTC. 590 * 591 *@Param[in] h_FmRtc - Handle to FM RTC object. 592 *@Param[in] events - Interrupt events. 593 * 594 *@Return E_OK on success; Error code otherwise. 595 *//***************************************************************************/ 596 t_Error FM_RTC_DisableInterrupt(t_Handle h_FmRtc, uint32_t events); 597 #endif 598 599 #if (defined(DEBUG_ERRORS) && (DEBUG_ERRORS > 0)) 600 /**************************************************************************//** 601 @Function FM_RTC_DumpRegs 602 603 @Description Dumps all FM registers 604 605 @Param[in] h_FmRtc A handle to an FM RTC Module. 606 607 @Return E_OK on success; 608 609 @Cautions Allowed only FM_Init(). 610 *//***************************************************************************/ 611 t_Error FM_RTC_DumpRegs(t_Handle h_FmRtc); 612 #endif /* (defined(DEBUG_ERRORS) && ... */ 613 614 /** @} */ /* end of fm_rtc_control_grp */ 615 /** @} */ /* end of fm_rtc_grp */ 616 /** @} */ /* end of FM_grp group */ 617 618 619 #endif /* __FM_RTC_EXT_H__ */ 620