/******************************************************************************* | |
* Copyright (C) 2007, ZTE Corporation. | |
* | |
* File Name: | |
* File Mark: | |
* Description: all function defines provided by sys module | |
* Others: | |
* Version: 1.0 | |
* Author: chenjianguo | |
* Date: 2013-5-31 | |
* History 1: | |
* Date: | |
* Version: | |
* Author: | |
* Modification: | |
* History 2: | |
********************************************************************************/ | |
#ifndef _DRVS_SPINLOCK_H | |
#define _DRVS_SPINLOCK_H | |
#include "drvs_general.h" | |
/**************************************************************************** | |
* Include files | |
****************************************************************************/ | |
/**************************************************************************** | |
* Macros | |
****************************************************************************/ | |
/**************************************************************************** | |
* Types | |
****************************************************************************/ | |
typedef enum | |
{ | |
CORE_ID_PS=210, | |
CORE_ID_PHY=211, | |
CORE_ID_ZSP=212, | |
CORE_ID_M0=213, | |
CORE_ID_AP=214, | |
CORE_ID_NUM = 215 | |
} T_ZDrvSpinlock_CpuId; | |
/* ±êʶӲ¼þËø*/ | |
typedef enum | |
{ | |
PCU_HWLOCK = 0,/*PCU*/ | |
CLK_HWLOCK = 1,/*Clock*/ | |
REGLOCK_HWLOCK = 2,/*Reg*/ | |
SOFTLOCK_HWLOCK = 3,/*Software*/ | |
HWLOCK_NUM | |
} T_ZDrvSpinlock_HwLockId; | |
/* ±êʶÈí¼þËø*/ | |
typedef enum | |
{ | |
I2C0_SFLOCK = 0,/*i2c0*/ | |
I2C1_SFLOCK = 1,/*i2c1*/ | |
I2C2_SFLOCK = 2,/*pmic-i2c*/ | |
NAND_SFLOCK = 3,/*NAND*/ | |
SD0_SFLOCK, | |
SD1_SFLOCK, | |
ADC_SFLOCK, /*pmic adc*/ | |
UART_SFLOCK, | |
SFLOCK_ID8, | |
SFLOCK_ID9, | |
SFLOCK_ID10, | |
SFLOCK_ID11, | |
SFLOCK_ID12, | |
SFLOCK_ID13, | |
SFLOCK_ID14, | |
SFLOCK_ID15, | |
SFLOCK_ID16, | |
SFLOCK_ID17, | |
SFLOCK_ID18, | |
SFLOCK_ID19, | |
SFLOCK_ID20, | |
SFLOCK_ID21, | |
SFLOCK_ID22, | |
SFLOCK_ID23, | |
SFLOCK_ID24, | |
SFLOCK_ID25, | |
SFLOCK_ID26, | |
SFLOCK_ID27, | |
SFLOCK_ID28, | |
SFLOCK_ID29, | |
SFLOCK_ID30, | |
REG_SFLOCK = 31,/*reg*/ | |
SFLOCK_NUM | |
} T_ZDrvSpinlock_SfLockId; | |
/**************************************************************************** | |
* Constants | |
****************************************************************************/ | |
/**************************************************************************** | |
* Global Variables | |
****************************************************************************/ | |
/**************************************************************************** | |
* Function Prototypes | |
****************************************************************************/ | |
/******************************************************************************* | |
* Function: zDrvSysSpinlock_HwLock | |
* Description:»ñȡӲ¼þËø£¬id 0~1£¬ | |
* id 4±£Áô¸øÈí¼þËøÊ¹Óã¬ÍⲿÇý¶¯²»¿ÉÓᣠ| |
* Parameters: | |
* Input: | |
* | |
* Output: | |
* | |
* Returns: | |
* | |
* | |
* Others: | |
********************************************************************************/ | |
VOID zDrvSysSpinlock_HwLock(T_ZDrvSpinlock_HwLockId hwid); | |
/******************************************************************************* | |
* Function: zDrvSysSpinlock_HwUnlock | |
* Description:Çý¶¯ÊÍ·ÅÓ²¼þËø£¬id 0~1 | |
* Parameters: | |
* Input: | |
* | |
* Output: | |
* | |
* Returns: | |
* | |
* | |
* Others: | |
********************************************************************************/ | |
VOID zDrvSysSpinlock_HwUnlock(T_ZDrvSpinlock_HwLockId hwid); | |
/******************************************************************************* | |
* Function: zDrvSysSpinlock_SoftLock | |
* Description:Çý¶¯»ñµÃÈí¼þËø½Ó¿Ú | |
* Parameters: | |
* Input: sfid: Èí¼þËøid¡£ | |
* | |
* Output: | |
* | |
* Returns: | |
* | |
* | |
* Others: | |
********************************************************************************/ | |
VOID zDrvSysSpinlock_SoftLock(T_ZDrvSpinlock_SfLockId sfid); | |
/******************************************************************************* | |
* Function: zDrvSysSpinlock_soft_unlock | |
* Description:ÓëzDrvSysSpinlock_SoftLock¶ÔÓ¦µÄÊÍ·ÅÈí¼þËø½Ó¿Ú¡£ | |
* Parameters: | |
* Input: | |
* | |
* Output: | |
* | |
* Returns: | |
* | |
* | |
* Others: | |
********************************************************************************/ | |
VOID zDrvSysSpinlock_SoftUnlock(T_ZDrvSpinlock_SfLockId sfid); | |
/******************************************************************************* | |
* Function: zDrvSysSpinlock_SoftLockPsm | |
* Description:Çý¶¯»ñµÃÈí¼þËø½Ó¿Ú(Ê¡µçרÓÃ) | |
* Parameters: | |
* Input: sfid: Èí¼þËøid¡£ | |
* coreid: ±£³ÖidºÅΪsfidÈí¼þËøµÄcpuid¡£ | |
* Output: | |
* | |
* Returns: | |
* | |
* | |
* Others: | |
********************************************************************************/ | |
VOID zDrvSysSpinlock_SoftLockPsm(T_ZDrvSpinlock_SfLockId sfid); | |
/******************************************************************************* | |
* Function: zDrvSysSpinlock_SoftUnlockPsm | |
* Description:ÓëzDrvSysSpinlock_SoftLockPsm¶ÔÓ¦µÄÊÍ·ÅÈí¼þËø½Ó¿Ú¡£ | |
* Parameters: | |
* Input: | |
* | |
* Output: | |
* | |
* Returns: | |
* | |
* | |
* Others: | |
********************************************************************************/ | |
VOID zDrvSysSpinlock_SoftUnlockPsm(T_ZDrvSpinlock_SfLockId sfid); | |
/******************************************************************************* | |
* Function: zDrvSysSpinlock_RegLock | |
* Description:Çý¶¯»ñµÃÈí¼þËø½Ó¿Ú | |
* Parameters: | |
* Input: | |
* | |
* Output: | |
* | |
* Returns: | |
* | |
* | |
* Others: | |
********************************************************************************/ | |
VOID zDrvSysSpinlock_RegLock(VOID); | |
/******************************************************************************* | |
* Function: zDrvSysSpinlock_reg_unlock | |
* Description:ÓëzDrvSysSpinlock_RegLock¶ÔÓ¦µÄÊÍ·ÅÈí¼þËø½Ó¿Ú¡£ | |
* Parameters: | |
* Input: | |
* | |
* Output: | |
* | |
* Returns: | |
* | |
* | |
* Others: | |
********************************************************************************/ | |
VOID zDrvSysSpinlock_RegUnlock(VOID); | |
/******************************************************************************* | |
* Function: zDrvSysSpinlock_Initiate | |
* Description:Èí¼þËø³õʼ»¯¡£ | |
* Parameters: | |
* Input: | |
* | |
* Output: | |
* | |
* Returns: | |
* | |
* | |
* Others: | |
********************************************************************************/ | |
SINT32 zDrvSysSpinlock_Initiate(VOID); | |
#endif/*_DRVS_SYS_H*/ | |