48 #ifndef ADI_RTC_DEF_H__ 49 #define ADI_RTC_DEF_H__ 52 #define ADI_RTC_NUM_INSTANCE 2u 56 #define ADI_RTC_INT_ENA_MASK_CR0 0XF804u 58 #define ADI_RTC_INT_ENA_MASK_CR1 0X1Fu 60 #define ADI_RTC_INT_ENA_MASK_CR2IC 0xF41C 61 #define ADI_RTC_INT_ENA_MASK_CR3SS 0x1FFE 62 #define ADI_RTC_INT_ENA_MASK_CR4SS 0x0E0E 63 #define ADI_RTC_INT_ENA_MASK_CR5SSS 0x0FFF 66 #define ADI_RTC_WRITE_STATUS_MASK 0X3F80u 69 #define ADI_RTC_TRIM_MASK (BITM_RTC_TRM_VALUE | BITM_RTC_TRM_ADD|BITM_RTC_TRM_IVL | BITM_RTC_TRM_IVL2EXPMIN ) 71 #define ALWAYS_PEND_BEFORE_WRITE(reg,mask) while((pDevice->pRTCRegs->reg&(mask))!=0u)\ 75 #define ALWAYS_SYNC_AFTER_WRITE(reg,mask) while((pDevice->pRTCRegs->reg&(mask))!=(mask))\ 79 #if (ADI_RTC_CFG_ENABLE_SAFE_WRITE == 1) 88 #pragma diag_suppress=Pm154 91 #define PEND_BEFORE_WRITE(reg,mask) while((pDevice->pRTCRegs->reg&(mask))!=0u)\ 95 #define SYNC_AFTER_WRITE(reg,mask) while((pDevice->pRTCRegs->reg&(mask))!=(mask))\ 100 #pragma diag_default=Pm154 105 #define PEND_BEFORE_WRITE(reg,mask) 106 #define SYNC_AFTER_WRITE(reg,mask) 128 #if defined(__ADUCM302x__) 130 #elif defined(__ADUCM4x50__) 147 typedef struct _ADI_RTC_DEVICE_INFO
149 volatile ADI_RTC_TypeDef *pRTCRegs;
150 const IRQn_Type eIRQn;
152 }ADI_RTC_DEVICE_INFO;
155 typedef struct _ADI_RTC_DEVICE
157 volatile ADI_RTC_TypeDef *pRTCRegs;
159 ADI_CALLBACK pfCallback;
164 ADI_RTC_DEVICE_INFO *pDeviceInfo;
169 static void rtc_init(ADI_RTC_DEVICE *pDevice,ADI_RTC_CONFIG *pConfig);