110 lines
		
	
	
		
			3.1 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			110 lines
		
	
	
		
			3.1 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 _SYSTEM_H
 | |
| #define _SYSTEM_H
 | |
| 
 | |
| #ifdef __cplusplus
 | |
| extern "C" {
 | |
| #endif
 | |
| 
 | |
| typedef struct {
 | |
|     int fw_mode;      /* fw mode select */
 | |
|     int print_ena;    /* enable iot_printf */
 | |
|     int flash_size;   /* virtual flash size */
 | |
|     int run_in_psram; /* fw run in psram or not */
 | |
| } sbl_param_input_t;
 | |
| 
 | |
| /**
 | |
|  * @brief system_get_mac_addr: get internal mac address information.
 | |
|  * @param mac: pointer of mac address buffer.
 | |
|  * @return 0: succeed, 0xffffffff: failed.
 | |
|  */
 | |
| uint32_t system_get_mac_addr(uint8_t *mac);
 | |
| 
 | |
| /**
 | |
|  * @brief system_get_chip_info: get internal chip id information.
 | |
|  * @return chip id.
 | |
|  */
 | |
| uint32_t system_get_chip_info();
 | |
| 
 | |
| /**
 | |
|  * @brief system_get_chip_subid_info: get internal chip sub id information.
 | |
|  * @return sub id.
 | |
|  */
 | |
| uint32_t system_get_chip_subid_info();
 | |
| 
 | |
| /**
 | |
|  * @brief system_get_chip_efuse_check_status:
 | |
|  *      get internal chip efuse check status.
 | |
|  * @return chip efuse check status.
 | |
|  *  0x00: check succeed; other: the corresponding item fails to be verified.
 | |
|  *      bit 0: chip id check result;
 | |
|  *      bit 1: mac address check result;
 | |
|  *      bit 2: ate calibration check result;
 | |
|  *      bit 3: sadc meter check result.
 | |
|  */
 | |
| uint8_t system_get_chip_efuse_check_status();
 | |
| 
 | |
| /**
 | |
|  * @brief system_check_lic: check license status
 | |
|  * @return 1->internal pa, 0->external pa.
 | |
|  */
 | |
| uint8_t system_check_lic();
 | |
| 
 | |
| /**
 | |
|  * @brief system_set_restart_reason: set restart reason.
 | |
|  * @param reason: restart reason.
 | |
|  * @return none.
 | |
|  */
 | |
| void system_set_restart_reason(uint8_t reason);
 | |
| 
 | |
| /**
 | |
|  * @brief scratch_p_set_fast_boot: set fast boot.
 | |
|  * @param en: set enable or disable.
 | |
|  * @return none.
 | |
|  */
 | |
| void scratch_p_set_fast_boot(bool_t en);
 | |
| 
 | |
| /**
 | |
|  * @brief scratch_p_get_fast_boot: get fast boot stat.
 | |
|  * @return true->fast boot enable; false->fast boot disable.
 | |
|  */
 | |
| bool_t scratch_p_get_fast_boot(void);
 | |
| 
 | |
| /**
 | |
|  * @brief system_get_fw_boot_param - get firmware boot parameter.
 | |
|  * @param ptr: pointer of parameter that sbl load firmware.
 | |
|  * @return none.
 | |
|  */
 | |
| void system_get_fw_boot_param(sbl_param_input_t *ptr);
 | |
| 
 | |
| /**
 | |
|  * @brief system_restart_chip_by_soft - restart chip by software.
 | |
|  * @return none.
 | |
|  */
 | |
| void system_restart_chip_by_soft();
 | |
| 
 | |
| /**
 | |
|  * @brief system_get_rst_flag_reg - get rest flag in register set by hardware.
 | |
|  * @return reset flag.
 | |
|  */
 | |
| uint32_t system_get_rst_flag_reg();
 | |
| 
 | |
| #ifdef __cplusplus
 | |
| }
 | |
| #endif
 | |
| 
 | |
| #endif //_SYSTEM_H
 |