13 #ifndef ADI_RTC_DEF_H__ 14 #define ADI_RTC_DEF_H__ 17 #define ADI_RTC_NUM_INSTANCE 2u 21 #define ADI_RTC_INT_ENA_MASK_CR0 0XF804u 23 #define ADI_RTC_INT_ENA_MASK_CR1 0X1Fu 25 #define ADI_RTC_INT_ENA_MASK_CR2IC 0xF41C 26 #define ADI_RTC_INT_ENA_MASK_CR3SS 0x1FFE 27 #define ADI_RTC_INT_ENA_MASK_CR4SS 0x0E0E 28 #define ADI_RTC_INT_ENA_MASK_CR5SSS 0x0FFF 31 #define ADI_RTC_WRITE_STATUS_MASK 0X3F80u 34 #define ADI_RTC_TRIM_MASK (BITM_RTC_TRM_VALUE | BITM_RTC_TRM_ADD|BITM_RTC_TRM_IVL | BITM_RTC_TRM_IVL2EXPMIN ) 36 #define ALWAYS_PEND_BEFORE_WRITE(reg,mask) while((pDevice->pRTCRegs->reg&(mask))!=0u)\ 40 #define ALWAYS_SYNC_AFTER_WRITE(reg,mask) while((pDevice->pRTCRegs->reg&(mask))!=(mask))\ 44 #if (ADI_RTC_CFG_ENABLE_SAFE_WRITE == 1) 53 #pragma diag_suppress=Pm154 56 #define PEND_BEFORE_WRITE(reg,mask) while((pDevice->pRTCRegs->reg&(mask))!=0u)\ 60 #define SYNC_AFTER_WRITE(reg,mask) while((pDevice->pRTCRegs->reg&(mask))!=(mask))\ 65 #pragma diag_default=Pm154 70 #define PEND_BEFORE_WRITE(reg,mask) 71 #define SYNC_AFTER_WRITE(reg,mask) 93 #if defined(__ADUCM302x__) 95 #elif defined(__ADUCM4x50__) 112 typedef struct _ADI_RTC_DEVICE_INFO
114 volatile ADI_RTC_TypeDef *pRTCRegs;
115 const IRQn_Type eIRQn;
117 }ADI_RTC_DEVICE_INFO;
120 typedef struct _ADI_RTC_DEVICE
122 volatile ADI_RTC_TypeDef *pRTCRegs;
124 ADI_CALLBACK pfCallback;
129 ADI_RTC_DEVICE_INFO *pDeviceInfo;
134 static void rtc_init(ADI_RTC_DEVICE *pDevice,ADI_RTC_CONFIG *pConfig);