| /**
 | 
 |  * 
 | 
 |  * @file      amtnv.h
 | 
 |  * @brief     
 | 
 |  *            This file is part of FTM.
 | 
 |  *            AMTÄ£¿éNV²Ù×÷½Ó¿Ú
 | 
 |  *            
 | 
 |  * @details   
 | 
 |  * @author    Tools Team.
 | 
 |  * @email     
 | 
 |  * @copyright Copyright (C) 2013 Sanechips Technology Co., Ltd.
 | 
 |  * @warning   
 | 
 |  * @date      2019/02/02
 | 
 |  * @version   1.1
 | 
 |  * @pre       
 | 
 |  * @post      
 | 
 |  *            
 | 
 |  * @par       
 | 
 |  * Change History :
 | 
 |  * ---------------------------------------------------------------------------
 | 
 |  * date        version  author         description
 | 
 |  * ---------------------------------------------------------------------------
 | 
 |  * 2018/04/28  1.0      liu.xin        Create file
 | 
 |  * 2019/02/02  1.1      jiang.fenglin  ÐÞ¸Ä×¢ÊÍ·½Ê½Îªdoxygen
 | 
 |  * ---------------------------------------------------------------------------
 | 
 |  * 
 | 
 |  * 
 | 
 |  */
 | 
 | 
 | 
 | #ifndef __AMTNV_H
 | 
 | #define __AMTNV_H
 | 
 | #include "os_type_def.h"
 | 
 | #include "RONvParam_AMT.h"
 | 
 | #include "RWNvConfig.h"
 | 
 | 
 | 
 | 
 | 
 | /**
 | 
 |  * @brief дnvro
 | 
 |  * @param dwStart nvÆðʼµØÖ·Æ«ÒÆ,0 ~ 2M-1 bytes
 | 
 |  * @param dwLen nv³¤¶È,1 ~ 2M bytes
 | 
 |  * @param from ´ýдÈëµÄÊý¾Ý
 | 
 |  * @return 0 ³É¹¦  
 | 
 |  * @return -1 ʧ°Ü
 | 
 |  * @note   
 | 
 |  * @warning 
 | 
 |  */
 | 
 | unsigned int amt_nvro_write(unsigned int dwStart, unsigned int dwLen, unsigned char *from);
 | 
 | 
 | 
 | /**
 | 
 |  * @brief ¶Ánvro
 | 
 |  * @param dwStart nvÆðʼµØÖ·Æ«ÒÆ,0 ~ 2M-1 bytes
 | 
 |  * @param dwLen nv³¤¶È,1 ~ 2M bytes
 | 
 |  * @param to ¶Á³öµÄÊý¾Ý
 | 
 |  * @return 0 ³É¹¦  
 | 
 |  * @return -1 ʧ°Ü
 | 
 |  * @note   
 | 
 |  * @warning 
 | 
 |  */
 | 
 | unsigned int amt_nvro_read(unsigned int dwStart, unsigned int dwLen, unsigned char *to);
 | 
 | 
 | 
 | /**
 | 
 |  * @brief дһÏîNVROÊý¾Ý
 | 
 |  * @param nvParam ¸ÃNVÏîÀàÐÍ
 | 
 |  * @param NvItemData ´ýдÈëÊý¾ÝµÄµØÖ·
 | 
 |  * @param NvItemLen Êý¾Ý³¤¶È
 | 
 |  * @return 0 ³É¹¦  
 | 
 |  * @return -1 ʧ°Ü
 | 
 |  * @note   
 | 
 |  * @warning 
 | 
 |  */
 | 
 | int  amt_write_nv_item(NvParam_AMT nvParam, UINT8 *NvItemData, UINT32 NvItemLen);
 | 
 | 
 | 
 | /**
 | 
 |  * @brief ¶Á³öÒ»ÏîNVROÊý¾Ý
 | 
 |  * @param nvParam  ¸ÃNVÏîÀàÐÍ
 | 
 |  * @param NvItemData ¶Á³öµÄÊý¾Ý
 | 
 |  * @param NvItemLen  Êý¾Ý³¤¶È
 | 
 |  * @return 0 ³É¹¦  
 | 
 |  * @return -1 ʧ°Ü
 | 
 |  * @note   
 | 
 |  * @warning 
 | 
 |  */
 | 
 | int  amt_read_nv_item(NvParam_AMT nvParam,UINT8 *NvItemData, UINT32 NvItemLen);
 | 
 | 
 | 
 | /**
 | 
 |  * @brief дÉú²ú²âÊÔ±ê־λ
 | 
 |  * @param nvParam  Éú²ú²âÊÔ±ê־λÏîö¾ÙÖµ
 | 
 |  * @param NvItemData ´ýдÈëÊý¾Ý
 | 
 |  * @return 0 ³É¹¦  
 | 
 |  * @return -1 ʧ°Ü
 | 
 |  * @note   
 | 
 |  * @warning 
 | 
 |  */
 | 
 | int  amt_write_test_flag_item(NvParam_AMTFlags nvParam,UINT8 *NvItemData);
 | 
 | 
 | 
 | /**
 | 
 |  * @brief ¶ÁÉú²ú²âÊÔ±ê־λ
 | 
 |  * @param nvParam  Éú²ú²âÊÔ±ê־λÏîö¾ÙÖµ
 | 
 |  * @param NvItemData ¶Á³öµÄÊý¾Ý
 | 
 |  * @return 0 ³É¹¦  
 | 
 |  * @return -1 ʧ°Ü
 | 
 |  * @note   
 | 
 |  * @warning 
 | 
 |  */
 | 
 | int  amt_read_test_flag_item(NvParam_AMTFlags nvParam,UINT8 *NvItemData);
 | 
 | 
 | 
 | /**
 | 
 |  * @brief NVROÓû§×Ô¶¨ÒåÇøÓò¶Áº¯Êý
 | 
 |  * @param dwStart nvÆðʼµØÖ·Æ«ÒÆ,0 ~ 1023
 | 
 |  * @param dwLen nv³¤¶È,1 ~ 1024 bytes
 | 
 |  * @param from ´ýдÈëµÄÊý¾Ý
 | 
 |  * @return 0 ³É¹¦  
 | 
 |  * @return -1 ʧ°Ü
 | 
 |  * @note   
 | 
 |  * @warning 
 | 
 |  */
 | 
 | int  amt_nvro_user_write(UINT32 dwStart, UINT32 dwLen, UINT8* from);
 | 
 | 
 | 
 | /**
 | 
 |  * @brief NVROÓû§×Ô¶¨ÒåÇøÓòдº¯Êý
 | 
 |  * @param dwStart nvÆðʼµØÖ·Æ«ÒÆ,0 ~ 1023
 | 
 |  * @param dwLen nv³¤¶È,1 ~ 1024 bytes
 | 
 |  * @param from ¶Á³öµÄÊý¾Ý
 | 
 |  * @return 0 ³É¹¦  
 | 
 |  * @return -1 ʧ°Ü
 | 
 |  * @note   
 | 
 |  * @warning 
 | 
 |  */
 | 
 | int  amt_nvro_user_read(UINT32 dwStart, UINT32 dwLen, UINT8* to);
 | 
 | 
 | 
 | /**
 | 
 |  * @brief NVRO²Î¿¼Éè¼Æ×Ô¶¨ÒåÇøÓòдº¯Êý
 | 
 |  * @param dwStart nvÆðʼµØÖ·Æ«ÒÆ,0 ~ 1023
 | 
 |  * @param dwLen nv³¤¶È,1 ~ 1024 bytes
 | 
 |  * @param from ´ýдÈëµÄÊý¾Ý
 | 
 |  * @return 0 ³É¹¦  
 | 
 |  * @return -1 ʧ°Ü
 | 
 |  * @note   
 | 
 |  * @warning 
 | 
 |  */
 | 
 | int amt_nvro_ref_write(UINT32 dwStart, UINT32 dwLen, UINT8* from);
 | 
 | 
 | 
 | /**
 | 
 |  * @brief NVRO²Î¿¼Éè¼Æ×Ô¶¨ÒåÇøÓò¶Áº¯Êý
 | 
 |  * @param dwStart nvÆðʼµØÖ·Æ«ÒÆ,0 ~ 1023
 | 
 |  * @param dwLen nv³¤¶È,1 ~ 1024 bytes
 | 
 |  * @param to ¶Á³öµÄÊý¾Ý
 | 
 |  * @return 0 ³É¹¦  
 | 
 |  * @return -1 ʧ°Ü
 | 
 |  * @note   
 | 
 |  * @warning 
 | 
 |  */
 | 
 | int amt_nvro_ref_read(UINT32 dwStart, UINT32 dwLen, UINT8* to);
 | 
 | 
 | 
 | /**
 | 
 | * @brief Ó¦ÓòãÅжϵ±Ç°ÊÇ·ñÊÇamtģʽ
 | 
 | * @param 
 | 
 | * @return 1 amtģʽ
 | 
 | * @return 0 normalģʽ
 | 
 | * @note   
 | 
 | * @warning 
 | 
 | */
 | 
 | int is_amt_mode(void);
 | 
 | 
 | 
 | /**
 | 
 |  * @brief ÉèÖÃbootÆô¶¯Ä£Ê½
 | 
 |  * @param bootmode 2¸ö×ֽڵıêʶ: 
 | 
 |  *              {0x54,0x00} : user,
 | 
 |  *              {0x54,0x01} : debug,
 | 
 |  *              {0x54,0x02} : factory,
 | 
 |  *              {0x54,0x4D} : amt,
 | 
 |  * @return 0 ³É¹¦  
 | 
 |  * @return -1 ʧ°Ü
 | 
 |  * @note   
 | 
 |  * @warning 
 | 
 |  */
 | 
 | unsigned int amt_set_bootmode(unsigned char  bootmode[]);
 | 
 | 
 | 
 | /**
 | 
 |  * @brief ÉèÖÃµç³Ø¼ì²â±ê־λ
 | 
 |  * @param batdet_value µç³Ø¼ì²â±êÖ¾
 | 
 |  *             0 : ¿ª»ú²»¼ì²âµç³Ø,
 | 
 |  *             1 : ¿ª»ú¼ì²âµç³Ø
 | 
 |  * @return 0 ³É¹¦  
 | 
 |  * @return -1 ʧ°Ü
 | 
 |  * @note   
 | 
 |  * @warning 
 | 
 |  */
 | 
 | unsigned int amt_set_batdet_flag(int batdet_value);
 | 
 | 
 | 
 | /**
 | 
 |  * @brief ¶Áµç³Ø¼ì²â±ê־λ
 | 
 |  * @param pbatdet_value ¶Á³öµÄµç³Ø¼ì²â±êÖ¾
 | 
 |  * @return 0 ³É¹¦  
 | 
 |  * @return -1 ʧ°Ü
 | 
 |  * @note   
 | 
 |  * @warning 
 | 
 |  */
 | 
 | unsigned int amt_get_batdet_flag(int *pbatdet_value);
 | 
 | 
 | 
 | /**
 | 
 |  * @brief ÉèÖÃamtģʽϽâÎöATÃüÁî±êÖ¾
 | 
 |  * @param bootmode 2¸ö×ֽڵıêʶ: 
 | 
 |  *              {0x41,0x54} : amtģʽϽâÎöATÃüÁî
 | 
 |  * @return 0 ³É¹¦  
 | 
 |  * @return -1 ʧ°Ü
 | 
 |  * @note   
 | 
 |  * @warning 
 | 
 |  */
 | 
 | unsigned int amt_set_amt_atmode(unsigned char  bootmode[],unsigned char  atmode[]);
 | 
 | unsigned int is_amt_atmode();
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | #endif // __AMTNV_H
 |