96 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			96 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
/**
 | 
						|
    HW power utility.
 | 
						|
 | 
						|
    HW power utility.
 | 
						|
 | 
						|
    @file       HwPower.h
 | 
						|
    @ingroup    mIUtilHWPower
 | 
						|
    @note       Nothing.
 | 
						|
 | 
						|
    Copyright   Novatek Microelectronics Corp. 2014.  All rights reserved.
 | 
						|
*/
 | 
						|
 | 
						|
#ifndef _HWPOWER_H
 | 
						|
#define _HWPOWER_H
 | 
						|
 | 
						|
#if defined(__FREERTOS) // only support on freertos
 | 
						|
 | 
						|
/**
 | 
						|
    @addtogroup mIUtilHWPower
 | 
						|
*/
 | 
						|
//@{
 | 
						|
 | 
						|
 | 
						|
#define POWER_STATE_SRC     0 ///< power on source (POWER_ID_XXX)
 | 
						|
#define POWER_STATE_FIRST   1 ///< power on first time (power lost)
 | 
						|
 | 
						|
/**
 | 
						|
     Check state
 | 
						|
 | 
						|
     Check state on power on
 | 
						|
 | 
						|
     @param[in] stateID     state index.
 | 
						|
 | 
						|
     @return value.
 | 
						|
 | 
						|
     EX:
 | 
						|
     hwpower_get_poweron_state(POWER_STATE_SRC);
 | 
						|
     hwpower_get_poweron_state(POWER_STATE_FIRST);
 | 
						|
*/
 | 
						|
UINT32 hwpower_get_poweron_state(UINT32 stateID);
 | 
						|
 | 
						|
#define POWER_ID_PSW1       0 ///< power switch 1, power off timer
 | 
						|
#define POWER_ID_PSW2       1 ///< power switch 2
 | 
						|
#define POWER_ID_PSW3       2 ///< power switch 3
 | 
						|
#define POWER_ID_PSW4       3 ///< power switch 4
 | 
						|
#define POWER_ID_HWRT       4 ///< h/w reset timer (power alarm timer)
 | 
						|
#define POWER_ID_SWRT       5 ///< s/w reset timer (watch dog timer)
 | 
						|
 | 
						|
/**
 | 
						|
     Get power key
 | 
						|
 | 
						|
     Get power key
 | 
						|
 | 
						|
     @param[in] pwrID       power index.
 | 
						|
 | 
						|
     @return value.
 | 
						|
 | 
						|
     EX:
 | 
						|
     hwpower_get_power_key(POWER_ID_PSW1);
 | 
						|
     hwpower_get_power_key(POWER_ID_PSW2);
 | 
						|
     hwpower_get_power_key(POWER_ID_PSW3);
 | 
						|
     hwpower_get_power_key(POWER_ID_PSW4);
 | 
						|
     hwpower_get_power_key(POWER_ID_HWRT);
 | 
						|
     hwpower_get_power_key(POWER_ID_SWRT);
 | 
						|
*/
 | 
						|
UINT32 hwpower_get_power_key(UINT32 pwrID);
 | 
						|
 | 
						|
/**
 | 
						|
     Set power key
 | 
						|
 | 
						|
     Set power key
 | 
						|
 | 
						|
     @param[in] pwrID       power index.
 | 
						|
     @param[in] value       value.
 | 
						|
 | 
						|
     EX:
 | 
						|
     hwpower_set_power_key(POWER_ID_PSW1, 0xf0); //keep power on - clear power off timer
 | 
						|
     hwpower_set_power_key(POWER_ID_PSW1, 0xff); //power off NOW
 | 
						|
     hwpower_set_power_key(POWER_ID_HWRT, 0); //disable h/w reset timer
 | 
						|
     hwpower_set_power_key(POWER_ID_HWRT, 1); //enable h/w reset timer
 | 
						|
     hwpower_set_power_key(POWER_ID_HWRT, 0xf0); //keep power on - clear h/w reset timer
 | 
						|
     hwpower_set_power_key(POWER_ID_HWRT, 0xff); //h/w reset NOW
 | 
						|
     hwpower_set_power_key(POWER_ID_SWRT, 0); //disable s/w reset timer
 | 
						|
     hwpower_set_power_key(POWER_ID_SWRT, 1); //enable s/w reset timer
 | 
						|
     hwpower_set_power_key(POWER_ID_SWRT, 0xf0); //keep power on - clear s/w reset timer
 | 
						|
     hwpower_set_power_key(POWER_ID_SWRT, 0xff); //s/w reset NOW
 | 
						|
*/
 | 
						|
void hwpower_set_power_key(UINT32 pwrID, UINT32 value);
 | 
						|
 | 
						|
 | 
						|
//@}
 | 
						|
 | 
						|
#endif
 | 
						|
#endif //_HWPOWER_H
 | 
						|
 |