sec_rom_info.h 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. #ifndef SEC_ROMINFO_H
  2. #define SEC_ROMINFO_H
  3. #include "sec_boot.h"
  4. #include "sec_key.h"
  5. #include "sec_ctrl.h"
  6. /**************************************************************************
  7. * INIT VARIABLES
  8. **************************************************************************/
  9. #define RI_NAME "AND_ROMINFO_v"
  10. #define RI_NAME_LEN 13
  11. /* VER1 - only a ROM INFO region is provided */
  12. /* VER2 - ANTI-CLONE feature is supported */
  13. #define ROM_INFO_VER 0x2
  14. #define ROM_INFO_SEC_RO_EXIST 0x1
  15. #define ROM_INFO_ANTI_CLONE_OFFSET 0x54
  16. #define ROM_INFO_ANTI_CLONE_LENGTH 0xE0
  17. #define ROM_INFO_DEFAULT_SEC_CFG_OFFSET 0x360000
  18. #define ROM_INFO_SEC_CFG_LENGTH 0x20000
  19. /**************************************************************************
  20. * ANDRIOD ROM INFO FORMAT
  21. **************************************************************************/
  22. /* this structure should always sync with FlashLib
  23. because FlashLib will search storage to find ROM_INFO */
  24. #define AND_ROM_INFO_SIZE (960)
  25. typedef struct {
  26. unsigned char m_id[16]; /* MTK */
  27. unsigned int m_rom_info_ver; /* MTK */
  28. unsigned char m_platform_id[16]; /* CUSTOMER */
  29. unsigned char m_project_id[16];
  30. unsigned int m_sec_ro_exist; /* MTK */
  31. unsigned int m_sec_ro_offset; /* MTK */
  32. unsigned int m_sec_ro_length; /* MTK */
  33. unsigned int m_ac_offset; /* MTK :
  34. no use */
  35. unsigned int m_ac_length; /* MTK :
  36. no use */
  37. unsigned int m_sec_cfg_offset; /* MTK :
  38. part info. from
  39. parititon table.
  40. tool will refer to
  41. this setting to
  42. find SEC CFG */
  43. unsigned int m_sec_cfg_length; /* MTK :
  44. part info. from
  45. parititon table.
  46. tool will refer to
  47. this setting to
  48. find SEC CFG */
  49. unsigned char m_reserve1[128];
  50. AND_SECCTRL_T m_SEC_CTRL; /* CUSTOMER :
  51. secure feature
  52. control */
  53. unsigned char m_reserve2[18];
  54. /* CUSTOMER :
  55. secure boot check
  56. partition */
  57. AND_SECBOOT_CHECK_PART_T m_SEC_BOOT_CHECK_PART;
  58. AND_SECKEY_T m_SEC_KEY; /* CUSTOMER :
  59. key */
  60. } AND_ROMINFO_T;
  61. #endif /* SEC_ROMINFO_H */