102 lines
		
	
	
		
			3.7 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			102 lines
		
	
	
		
			3.7 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
/****************************************************************************
 | 
						|
 | 
						|
Copyright(c) 2019 by Aerospace C.Power (Chongqing) Microelectronics. ALL RIGHTS RESERVED.
 | 
						|
 | 
						|
This Information is proprietary to Aerospace C.Power (Chongqing) Microelectronics and MAY NOT
 | 
						|
be copied by any method or incorporated into another program without
 | 
						|
the express written consent of Aerospace C.Power. This Information or any portion
 | 
						|
thereof remains the property of Aerospace C.Power. The Information contained herein
 | 
						|
is believed to be accurate and Aerospace C.Power assumes no responsibility or
 | 
						|
liability for its use in any way and conveys no license or title under
 | 
						|
any patent or copyright and makes no representation or warranty that this
 | 
						|
Information is free from patent or copyright infringement.
 | 
						|
 | 
						|
****************************************************************************/
 | 
						|
#ifndef IOT_SYSTEM_API_H
 | 
						|
#define IOT_SYSTEM_API_H
 | 
						|
 | 
						|
#ifdef __cplusplus
 | 
						|
extern "C" {
 | 
						|
#endif
 | 
						|
 | 
						|
/* SYSTEM_RESET_SOFT category detail reason definition */
 | 
						|
/* invalid system soft reset reason */
 | 
						|
#define IOT_SYS_RST_REASON_INVALID          0
 | 
						|
/* restart due to upgrade */
 | 
						|
#define IOT_SYS_RST_REASON_UPGRADE          1
 | 
						|
/* restart due to power down and up again */
 | 
						|
#define IOT_SYS_RST_REASON_POWER_UP_AGAIN   2
 | 
						|
/* restart due to concentrator request */
 | 
						|
#define IOT_SYS_RST_REASON_CCTT_REQ         3
 | 
						|
/* restart due to infrared radio protocol request */
 | 
						|
#define IOT_SYS_RST_REASON_IR_REQ           4
 | 
						|
/* restart due to app request */
 | 
						|
#define IOT_SYS_RST_REASON_APP_REQ          5
 | 
						|
/* restart due to collector II request */
 | 
						|
#define IOT_SYS_RST_REASON_CT2_REQ          6
 | 
						|
/* restart due to mac tx hang */
 | 
						|
#define IOT_SYS_RST_REASON_MAC_TX_HANG      7
 | 
						|
/* restart due to collector I request */
 | 
						|
#define IOT_SYS_RST_REASON_CT1_REQ          8
 | 
						|
/* restart due to power meter request */
 | 
						|
#define IOT_SYS_RST_REASON_PM_REQ           9
 | 
						|
/* restart due to enter FTM_MODE reason */
 | 
						|
#define IOT_SYS_RST_REASON_FTM              10
 | 
						|
/* restart due to watchdog dog reason */
 | 
						|
#define IOT_SYS_RST_REASON_WDG              14
 | 
						|
/* restart due to unkown reason */
 | 
						|
#define IOT_SYS_RST_REASON_UNKNOWN          0xF
 | 
						|
 | 
						|
/**
 | 
						|
 * @brief   Restart SP and AP CPUs This function can be called both from SP and
 | 
						|
 *          AP CPUs. After successful restart, CHIP will boot from ROM.
 | 
						|
 * @param reason:   software restart reason. see IOT_SYS_RST_REASON_XXX
 | 
						|
 */
 | 
						|
void iot_system_restart(uint8_t reason);
 | 
						|
 | 
						|
/* fastboot scratch set enable */
 | 
						|
#define IOT_FASTBOOT_SCRATCH_ENABLE          0x1
 | 
						|
/* fastboot scratch set disable */
 | 
						|
#define IOT_FASTBOOT_SCRATCH_DISABLE         0x0
 | 
						|
 | 
						|
/**
 | 
						|
 * @brief   iot_fastboot_scratch_set() - Set fast boot.
 | 
						|
 *          Bootup process will fast 2 seconds. 1 sec in rom, another 1 sec in sbl.
 | 
						|
 *          Note, once enable, only software set 0 can disable.or, cut off power.
 | 
						|
 * @param   en        the fast boot state
 | 
						|
 * @return
 | 
						|
 * @return              ERR_OK -- Execute successfully
 | 
						|
 * @return              ERR_FAIL -- On failure
 | 
						|
 */
 | 
						|
uint8_t iot_fastboot_scratch_set(uint8_t en);
 | 
						|
 | 
						|
/**
 | 
						|
 * @brief   iot_fastboot_scratch_get() - get fast boot state
 | 
						|
 * @param   st        Stores the obtained fast boot state
 | 
						|
 * @return
 | 
						|
 * @return              ERR_OK -- Execute successfully
 | 
						|
 * @return              ERR_FAIL -- On failure
 | 
						|
 */
 | 
						|
uint8_t iot_fastboot_scratch_get(uint8_t *st);
 | 
						|
 | 
						|
/**
 | 
						|
 * @brief   iot_data_addr_legal() - Whether the address is legal or not
 | 
						|
 * @param   addr        the input address
 | 
						|
 * @return
 | 
						|
 * @return              true -- the input address is legal
 | 
						|
 * @return              false -- the input address is illegal
 | 
						|
 */
 | 
						|
bool_t iot_data_addr_legal(uint32_t addr);
 | 
						|
 | 
						|
/**
 | 
						|
 * @brief   iot_switch_boot_part() - switch boot part
 | 
						|
 */
 | 
						|
void iot_switch_boot_part(void);
 | 
						|
 | 
						|
#ifdef __cplusplus
 | 
						|
}
 | 
						|
#endif
 | 
						|
 | 
						|
#endif //IOT_SYSTEM_API_H
 | 
						|
 |