[T106][ZXW-22]7520V3SCV2.01.01.02P42U09_VEC_V0.8_AP_VEC origin source commit
Change-Id: Ic6e05d89ecd62fc34f82b23dcf306c93764aec4b
diff --git a/cp/ps/driver/inc/misc/drvs_rtt.h b/cp/ps/driver/inc/misc/drvs_rtt.h
new file mode 100644
index 0000000..f9d53b1
--- /dev/null
+++ b/cp/ps/driver/inc/misc/drvs_rtt.h
@@ -0,0 +1,179 @@
+/*******************************************************************************
+ * Copyright (C) 2007, ZTE Corporation.
+ *
+ * File Name: drvs_rtt.h
+ * File Mark:
+ * Description:
+ * Others:
+ * Version: 1.0
+ * Author: wangxia
+ * Date: 2010-4-29
+ * History 1:
+ * Date:
+ * Version:
+ * Author:
+ * Modification:
+ * History 2:
+ ********************************************************************************/
+
+#ifndef _DRVS_RTT_H
+#define _DRVS_RTT_H
+
+
+/****************************************************************************
+* Include files
+****************************************************************************/
+#include "os_ose.h"
+
+/****************************************************************************
+* Macros
+****************************************************************************/
+#define RTT_INT_LEVEL_USER_0 0x5
+#define RTT_INT_LEVEL_USER_1 0x5
+#define RTT_INT_LEVEL_USER_2 0x5
+#define RTT_INT_LEVEL_USER_3 0x5
+#define RTT_INT_LEVEL_USER_4 0x5
+#define RTT_INT_LEVEL_USER_COMMON 0x7
+
+/*The RTT Clock resolution on creation. RTT Clock is available only for predefined users.
+ The resolution can be modified at runtime using RTT_set_clock_resolution
+ */
+#define RTT_DEFAULT_CLOCK_RESOLUTION rtt_clock_100_microseconds
+
+/****************************************************************************
+* Types
+****************************************************************************/
+ typedef enum
+ {
+ rtt_uicc, /* Reserved timer : GPT0T1 */
+ rtt_free1, /* Reserved timer : GPT0T0 */
+ rtt_meas, /* Reserved timer : GPT1T0 */
+ rtt_mmci, /* Reserved timer : GPT1T1 */
+ rtt_free2, /* Reserved timer : GPT1T2 */
+ rtt_common = 5, /* Reserved timer : GPT0T2 */
+ rtt_with_clock = 15, /* !!! use MSB special exception for turning of powersave !!!*/
+ rtt_max_nof_timers = 40
+ } rtt_timer_user_id_enum;
+
+ typedef enum
+ {
+ rtt_one_shot,
+ rtt_repetitive,
+ rtt_one_shot_timer_with_clock,
+ rtt_repetitive_timer_with_clock
+ } rtt_timer_mode_enum;
+
+ typedef enum
+ {
+ rtt_clock_1_microsecond,
+ rtt_clock_10_microseconds,
+ rtt_clock_100_microseconds,
+ rtt_clock_5_milliseconds,
+ rtt_clock_10_milliseconds,
+ rtt_clock_100_milliseconds
+ }rtt_clock_resolution_type;
+
+ /*---------------------------------------------*/
+ /* Typedefinition . */
+ /*---------------------------------------------*/
+ typedef struct
+ {
+ VOID (*timeout_func)(VOID ); /* Callback function on timeout */
+ VOID *arg; /* Argument list to the above callback function */
+ rtt_timer_user_id_enum user_id;
+ rtt_timer_mode_enum timer_mode;
+ UINT32 created;
+ UINT32 started;
+ UINT32 duration;
+ UINT32 restart_duration;
+ UINT32 hw_timer_id;
+ UINT32 process_id;
+ } rtt_timer_list_type;
+ /* end of UICC_Driver_2007_11_2_dcm */
+
+ typedef struct
+ {
+ unsigned int creation_time[2]; //64 bit creation timestamp
+ unsigned int scaled_creation_time; //scaled to current resolution
+ unsigned long resolution;
+ }rtt_clock_data_type;
+
+
+/****************************************************************************
+* Constants
+****************************************************************************/
+
+/****************************************************************************
+* Global Variables
+****************************************************************************/
+
+/****************************************************************************
+* Function Prototypes
+****************************************************************************/
+
+/*******************************************************************************
+ * Function: RTT_create_timer
+ * Description:
+ * Parameters:
+ * Input:
+ *
+ * Output:
+ *
+ * Returns:
+ *
+ *
+ * Others:
+ ********************************************************************************/
+extern rtt_timer_list_type *RTT_create_timer(VOID (*timeout_func)(VOID ),
+ VOID *arg,
+ rtt_timer_user_id_enum user_id,
+ rtt_timer_mode_enum timer_mode);
+
+/*******************************************************************************
+ * Function: RTT_remove_timer
+ * Description:
+ * Parameters:
+ * Input:
+ *
+ * Output:
+ *
+ * Returns:
+ *
+ *
+ * Others:
+ ********************************************************************************/
+extern SINT32 RTT_remove_timer(rtt_timer_list_type *timer);
+
+
+/*******************************************************************************
+ * Function: RTT_start_timer
+ * Description:
+ * Parameters:
+ * Input:
+ *
+ * Output:
+ *
+ * Returns:
+ *
+ *
+ * Others:
+ ********************************************************************************/
+extern SINT32 RTT_start_timer(rtt_timer_list_type *timer, UINT32 duration);
+
+
+/*******************************************************************************
+ * Function: RTT_stop_timer
+ * Description:
+ * Parameters:
+ * Input:
+ *
+ * Output:
+ *
+ * Returns:
+ *
+ *
+ * Others:
+ ********************************************************************************/
+extern SINT32 RTT_stop_timer(volatile rtt_timer_list_type * volatile timer);
+#endif/*_DRVS_RTT_H*/
+