1 //<MStar Software> 2 //****************************************************************************** 3 // MStar Software 4 // Copyright (c) 2010 - 2012 MStar Semiconductor, Inc. All rights reserved. 5 // All software, firmware and related documentation herein ("MStar Software") are 6 // intellectual property of MStar Semiconductor, Inc. ("MStar") and protected by 7 // law, including, but not limited to, copyright law and international treaties. 8 // Any use, modification, reproduction, retransmission, or republication of all 9 // or part of MStar Software is expressly prohibited, unless prior written 10 // permission has been granted by MStar. 11 // 12 // By accessing, browsing and/or using MStar Software, you acknowledge that you 13 // have read, understood, and agree, to be bound by below terms ("Terms") and to 14 // comply with all applicable laws and regulations: 15 // 16 // 1. MStar shall retain any and all right, ownership and interest to MStar 17 // Software and any modification/derivatives thereof. 18 // No right, ownership, or interest to MStar Software and any 19 // modification/derivatives thereof is transferred to you under Terms. 20 // 21 // 2. You understand that MStar Software might include, incorporate or be 22 // supplied together with third party`s software and the use of MStar 23 // Software may require additional licenses from third parties. 24 // Therefore, you hereby agree it is your sole responsibility to separately 25 // obtain any and all third party right and license necessary for your use of 26 // such third party`s software. 27 // 28 // 3. MStar Software and any modification/derivatives thereof shall be deemed as 29 // MStar`s confidential information and you agree to keep MStar`s 30 // confidential information in strictest confidence and not disclose to any 31 // third party. 32 // 33 // 4. MStar Software is provided on an "AS IS" basis without warranties of any 34 // kind. Any warranties are hereby expressly disclaimed by MStar, including 35 // without limitation, any warranties of merchantability, non-infringement of 36 // intellectual property rights, fitness for a particular purpose, error free 37 // and in conformity with any international standard. You agree to waive any 38 // claim against MStar for any loss, damage, cost or expense that you may 39 // incur related to your use of MStar Software. 40 // In no event shall MStar be liable for any direct, indirect, incidental or 41 // consequential damages, including without limitation, lost of profit or 42 // revenues, lost or damage of data, and unauthorized system use. 43 // You agree that this Section 4 shall still apply without being affected 44 // even if MStar Software has been modified by MStar in accordance with your 45 // request or instruction for your use, except otherwise agreed by both 46 // parties in writing. 47 // 48 // 5. If requested, MStar may from time to time provide technical supports or 49 // services in relation with MStar Software to you for your use of 50 // MStar Software in conjunction with your or your customer`s product 51 // ("Services"). 52 // You understand and agree that, except otherwise agreed by both parties in 53 // writing, Services are provided on an "AS IS" basis and the warranty 54 // disclaimer set forth in Section 4 above shall apply. 55 // 56 // 6. Nothing contained herein shall be construed as by implication, estoppels 57 // or otherwise: 58 // (a) conferring any license or right to use MStar name, trademark, service 59 // mark, symbol or any other identification; 60 // (b) obligating MStar or any of its affiliates to furnish any person, 61 // including without limitation, you and your customers, any assistance 62 // of any kind whatsoever, or any information; or 63 // (c) conferring any license or right under any intellectual property right. 64 // 65 // 7. These terms shall be governed by and construed in accordance with the laws 66 // of Taiwan, R.O.C., excluding its conflict of law rules. 67 // Any and all dispute arising out hereof or related hereto shall be finally 68 // settled by arbitration referred to the Chinese Arbitration Association, 69 // Taipei in accordance with the ROC Arbitration Law and the Arbitration 70 // Rules of the Association by three (3) arbitrators appointed in accordance 71 // with the said Rules. 72 // The place of arbitration shall be in Taipei, Taiwan and the language shall 73 // be English. 74 // The arbitration award shall be final and binding to both parties. 75 // 76 //****************************************************************************** 77 //<MStar Software> 78 //////////////////////////////////////////////////////////////////////////////// 79 // 80 // Copyright (c) 2008-2009 MStar Semiconductor, Inc. 81 // All rights reserved. 82 // 83 // Unless otherwise stipulated in writing, any and all information contained 84 // herein regardless in any format shall remain the sole proprietary of 85 // MStar Semiconductor Inc. and be kept in strict confidence 86 // ("MStar Confidential Information") by the recipient. 87 // Any unauthorized act including without limitation unauthorized disclosure, 88 // copying, use, reproduction, sale, distribution, modification, disassembling, 89 // reverse engineering and compiling of the contents of MStar Confidential 90 // Information is unlawful and strictly prohibited. MStar hereby reserves the 91 // rights to any and all damages, losses, costs and expenses resulting therefrom. 92 // 93 //////////////////////////////////////////////////////////////////////////////// 94 95 /////////////////////////////////////////////////////////////////////////////////////////////////// 96 /// 97 /// @file drvRTC.h 98 /// @brief Piu Watch Dog Timer Driver Interface 99 /// @author MStar Semiconductor Inc. 100 /////////////////////////////////////////////////////////////////////////////////////////////////// 101 102 /*! 103 \defgroup G_RTC RTC interface 104 \ingroup G_PERIPHERAL 105 106 \brief 107 A real-time clock (RTC) is a computer clock (most often in the form of an integrated circuit) 108 that keeps track of the current time. Although the term often refers to the devices in personal computers, 109 servers and embedded systems, RTCs are present in almost any electronic device which needs to keep accurate time. 110 111 <b> Operation Flow </b> 112 -# Initialize RTC 113 -# Set RTC counter 114 -# Get RTC counter 115 -# Set RTC match counter 116 -# Get RTC match counter 117 -# Enable PM IRQ for the event to wake up 118 -# Disable PM IRQ for the event to wake up 119 120 <b> Architecture </b> 121 \image html RTC.png 122 123 124 \defgroup G_RTC_INIT Initialization Task relative 125 \ingroup G_RTC 126 \defgroup G_RTC_COMMON Common Task relative 127 \ingroup G_RTC 128 \defgroup G_RTC_CONTROL Control relative 129 \ingroup G_RTC 130 \defgroup G_RTC_OTHER other relative 131 \ingroup G_RTC 132 \defgroup G_RTC_ToBeModified RTC api to be modified 133 \ingroup G_RTC 134 \defgroup G_RTC_ToBeRemove RTC api to be removed 135 \ingroup G_RTC 136 */ 137 138 #ifndef _DRV_RTC_H_ 139 #define _DRV_RTC_H_ 140 141 142 143 #ifdef __cplusplus 144 extern "C" 145 { 146 #endif 147 148 #include "MsTypes.h" 149 150 //////////////////////////////////////////////////////////////////////////////// 151 // Type and Structure 152 //////////////////////////////////////////////////////////////////////////////// 153 #define RTC_DRV_VERSION /* Character String for DRV/API version */ \ 154 MSIF_TAG, /* 'MSIF' */ \ 155 MSIF_CLASS, /* '00' */ \ 156 MSIF_CUS, /* 0x0000 */ \ 157 MSIF_MOD, /* 0x0000 */ \ 158 MSIF_CHIP, \ 159 MSIF_CPU, \ 160 {'R','T','C',}, /* IP__ */ \ 161 {'0','0'}, /* 0.0 ~ Z.Z */ \ 162 {'0','0'}, /* 00 ~ 99 */ \ 163 {'0','0','0','0','0','0','0','0'}, /* CL# */ \ 164 MSIF_OS 165 166 #define RTC_VERSION 0x00000001 167 168 typedef enum _RTC_DbgLv 169 { 170 E_RTC_DBGLV_NONE, /* no debug message */ 171 E_RTC_DBGLV_ERR_ONLY, /* show error only */ 172 E_RTC_DBGLV_INFO, /* show error & informaiton */ 173 E_RTC_DBGLV_ALL /* show error, information & funciton name */ 174 }RTC_DbgLv; 175 176 177 typedef enum 178 { 179 E_MS_DRV_RTC_0, 180 E_MS_DRV_RTC_2, 181 }E_MS_DRV_RTC; 182 183 //------------------------------------------------------------------------------------------------- 184 /// MOBF Encrypt 185 /// @ingroup G_RTC_INIT 186 /// @param u32Key \b IN: Key 187 /// @param bEnable \b IN: TRUE/FLASE 188 /// @return DRVAESDMA_OK : Success 189 /// @return Others : Fail 190 //------------------------------------------------------------------------------------------------- 191 MS_BOOL MDrv_RTC_Init(E_MS_DRV_RTC eRtc, MS_U32 u32Freq, MS_U32 u32Xtal, MS_U32 u32Sec,InterruptCb pIntCb); 192 //------------------------------------------------------------------------------------------------- 193 /// MOBF Encrypt 194 /// @ingroup G_RTC_CONTROL 195 /// @param u32Key \b IN: Key 196 /// @param bEnable \b IN: TRUE/FLASE 197 /// @return DRVAESDMA_OK : Success 198 /// @return Others : Fail 199 //------------------------------------------------------------------------------------------------- 200 MS_U32 MDrv_RTC_GetCount(E_MS_DRV_RTC eRtc); 201 //------------------------------------------------------------------------------------------------- 202 /// MOBF Encrypt 203 /// @ingroup G_RTC_INIT 204 /// @param u32Key \b IN: Key 205 /// @param bEnable \b IN: TRUE/FLASE 206 /// @return DRVAESDMA_OK : Success 207 /// @return Others : Fail 208 //------------------------------------------------------------------------------------------------- 209 // void MDrv_RTC_DeInit(E_MS_DRV_RTC eRtc); 210 211 //-------------------------------------------------------------------------------------------------- 212 // Utopia2.0 will call this function to register SAR module 213 //-------------------------------------------------------------------------------------------------- 214 //------------------------------------------------------------------------------------------------- 215 /// MOBF Encrypt 216 /// @ingroup G_RTC_ToBeRemove 217 /// @param u32Key \b IN: Key 218 /// @param bEnable \b IN: TRUE/FLASE 219 /// @return DRVAESDMA_OK : Success 220 /// @return Others : Fail 221 //------------------------------------------------------------------------------------------------- 222 // void RTCRegisterToUtopia(FUtopiaOpen ModuleType); 223 //------------------------------------------------------------------------------------------------- 224 /// MOBF Encrypt 225 /// @ingroup G_RTC_ToBeRemove 226 /// @param u32Key \b IN: Key 227 /// @param bEnable \b IN: TRUE/FLASE 228 /// @return DRVAESDMA_OK : Success 229 /// @return Others : Fail 230 //------------------------------------------------------------------------------------------------- 231 MS_U32 RTCOpen(void** pInstance, MS_U32 u32ModuleVersion, void* pAttribute); 232 //------------------------------------------------------------------------------------------------- 233 /// MOBF Encrypt 234 /// @ingroup G_RTC_ToBeRemove 235 /// @param u32Key \b IN: Key 236 /// @param bEnable \b IN: TRUE/FLASE 237 /// @return DRVAESDMA_OK : Success 238 /// @return Others : Fail 239 //------------------------------------------------------------------------------------------------- 240 // MS_U32 RTCClose(void* pInstance); 241 //------------------------------------------------------------------------------------------------- 242 /// MOBF Encrypt 243 /// @ingroup G_RTC_ToBeRemove 244 /// @param u32Key \b IN: Key 245 /// @param bEnable \b IN: TRUE/FLASE 246 /// @return DRVAESDMA_OK : Success 247 /// @return Others : Fail 248 //------------------------------------------------------------------------------------------------- 249 // MS_U32 RTCIoctl(void* pInstance, MS_U32 u32Cmd, void *pArgs); 250 251 //RTC_Private 252 typedef struct _RTC_RESOURCE_PRIVATE 253 { 254 MS_U32 Dummy; 255 }RTC_RESOURCE_PRIVATE; 256 257 typedef struct _RTC_INSTANT_PRIVATE 258 { 259 260 }RTC_INSTANT_PRIVATE; 261 262 typedef struct _RTC_INIT_PARAM 263 { 264 E_MS_DRV_RTC eRtc; 265 MS_U32 u32Freq; 266 MS_U32 u32Xtal; 267 MS_U32 u32Sec; 268 InterruptCb pIntCb; 269 270 } RTC_INIT_PARAM; 271 272 // MS_U16 MDrv_RTC_SetPowerState(EN_POWER_MODE u16PowerState); 273 274 #ifdef __cplusplus 275 } 276 #endif 277 278 #endif // _DRV_WDT_H_ 279 280