zte's code,first commit

Change-Id: I9a04da59e459a9bc0d67f101f700d9d7dc8d681b
diff --git a/cp/ps/driver/inc/cfg/drvs_int_internal.h b/cp/ps/driver/inc/cfg/drvs_int_internal.h
new file mode 100644
index 0000000..bcc9e14
--- /dev/null
+++ b/cp/ps/driver/inc/cfg/drvs_int_internal.h
@@ -0,0 +1,143 @@
+/*******************************************************************************

+ * Copyright (C) 2014, ZTE Corporation.

+ *

+ * File Name:   hal_int_internal.h

+ * File Mark:

+ * Description:  describe functions and related macros and types used by 

+ *               other driver modules

+ * Others:

+ * Version:       1.0

+ * Author:        xuzhiguo

+ * Date:          2014-05-05

+ * History 1:

+ *     Date:

+ *     Version:

+ *     Author:

+ *     Modification:

+ * History 2:

+  ********************************************************************************/

+

+#ifndef _DRVS_INT_INTERNAL_H

+#define _DRVS_INT_INTERNAL_H

+

+/****************************************************************************

+*                                           Include files

+****************************************************************************/

+#include "drvs_general.h"

+#include "drvs_int.h"

+

+/****************************************************************************

+*                                           Macros

+****************************************************************************/

+

+/****************************************************************************

+*                                           Types

+****************************************************************************/

+typedef enum _T_Int_State

+{

+    INT_UNINSTALL,

+    INT_PENDING,

+    INT_ACTIVE,

+} T_Int_State;

+

+/*

+* this struct presents the operation method

+* and state of interrupt controller chip

+*/

+typedef struct _T_Int_Chip

+{

+    VOID (*pMaskIrq)( UINT32 line );

+    VOID (*pUnmaskIrq)( UINT32 line );

+    VOID (*pSetLineLevel)(UINT32 line, T_zDrvIntLineLevel level);

+    VOID (*pSetLinePri)(UINT32 line, UINT32 pri);

+} T_Int_Chip;

+

+typedef VOID (*IsrFunc)(VOID);

+

+/**************************************************************************

+ *                           Global  Variable

+ **************************************************************************/

+

+/**************************************************************************

+ *                           Function Prototypes

+ **************************************************************************/

+ /*******************************************************************************

+ * Function:  zDrvInt_SetMaskRam

+ * Description:  an inline function to set g_IntDev.MaskRegInRam

+ * Parameters:

+ *   Input:

+ *          index: which member in array MaskRegInRam

+ *          value: be writen

+ *

+ *   Output:

+ *

+ * Returns:

+ *

+ * Others:

+ ********************************************************************************/

+ VOID zDrvInt_SetMaskRam(UINT32 index, UINT32 value);

+

+/*******************************************************************************

+ * Function: zDrvInt_GetMaskRam

+ * Description:  an inline function to get g_IntDev.MaskRegInRam

+ * Parameters:

+ *   Input:

+ *          index: which member in array MaskRegInRam

+ *

+ *   Output:

+ *

+ * Returns:

+ *          member's value in array MaskRegInRam

+ *

+ * Others:

+ ********************************************************************************/

+ UINT32 zDrvInt_GetMaskRam(UINT32 index);

+

+/*******************************************************************************

+ * Function: zDrvInt_GetExtraIsr

+ * Description:  get a isr according to ex8in1 int and gpio int

+ * Parameters:

+ *   Input:

+ *          line: interrupt line

+ *

+ *   Output:

+ *

+ * Returns:

+ *          isr for ex8in1 int and gpio int

+ * Others:

+ ********************************************************************************/

+ VOID* zDrvInt_GetExtraIsr(UINT32 line);

+

+/*******************************************************************************

+ * Function: zDrvInt_GetIntState

+ * Description:  an inline function to get g_IntDev.IntState

+ * Parameters:

+ *   Input:

+ *          line:  interrupt line to be disabled 0--INT_LINES_NUM

+ *

+ *   Output:

+ *

+ * Returns:

+ *          member's value in array IntState

+ *

+ * Others:

+ ********************************************************************************/

+ T_Int_State zDrvInt_GetIntState(UINT32 line);

+

+/*******************************************************************************

+ * Function: zDrvInt_SetChipHandler

+ * Description:

+ * Parameters:

+ *   Input:

+ *          line: which member in array IntChipHandler, according to interrupt line

+ *          pChip: point to struct T_Int_Chip to be set

+ *

+ *   Output:

+ *

+ * Returns:

+ *

+ * Others:

+ ********************************************************************************/

+ VOID zDrvInt_SetChipHandler(UINT32 line, T_Int_Chip *pChip);

+

+ #endif