defines.h 4.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171
  1. // defines.h :
  2. //
  3. #if !defined(AGD_DEFINES_H__C7EAD575_99C7_4047_8E24_F5887CACEC73__INCLUDED_)
  4. #define AGD_DEFINES_H__C7EAD575_99C7_4047_8E24_F5887CACEC73__INCLUDED_
  5. #include "gfaspi.h"
  6. #ifdef __cplusplus
  7. extern "C" {
  8. #endif // __cplusplus
  9. /////////////////////////////////////////////////////////////////////////////
  10. // defines.h - Declarations:
  11. #define _SITARA_EGGELSBERG 0
  12. #define _EXTENDED_ERROR_CHECK 1
  13. #define _SUPPORT_LEGACY_UPTIME 0
  14. #define _SCALE_DISPLAY_DUTY_CYCLE 0
  15. /////////////////////////////////////////////////////////////////////////////
  16. #define KFW_MAX_IMG_MATERIAL_NUM_LENGTH 16 // including the zero terminator
  17. #define KFW_MAX_IMG_SERIAL_NUM_LENGTH 16 // including the zero terminator
  18. #define KFW_MAX_IMG_NAME_BUILD_LENGTH 24 // including the zero terminator
  19. #define KFW_IMG_HEADER_PREFIX_0 ((unsigned int)0xFF01FF02)
  20. #define KFW_IMG_HEADER_PREFIX_1 ((unsigned int)0xFF03FF04)
  21. /////////////////////////////////////////////////////////////////////////////
  22. /////////////////////////////////////////////////////////////////////////////
  23. typedef union _TIVA_DCAP
  24. {
  25. struct
  26. {
  27. unsigned int did0;
  28. unsigned int did1;
  29. unsigned int dc0;
  30. };
  31. struct
  32. {
  33. unsigned int min : 8; // Minor Die Revision
  34. unsigned int maj : 8; // Major Die Revision
  35. unsigned int cls : 8; // Device Class
  36. unsigned int res2 : 4;
  37. unsigned int ver0 : 3; // DID0 Version
  38. unsigned int res1 : 1;
  39. unsigned int qual : 2; // Qualification Status
  40. unsigned int rohs : 1; // RoHS-Compliance
  41. unsigned int pkg : 2; // Package Type
  42. unsigned int temp : 3; // Temperature Range
  43. unsigned int res3 : 5;
  44. unsigned int pincnt : 3; // Package Pin Count
  45. unsigned int partno : 8; // Part Number
  46. unsigned int fam : 4; // Family
  47. unsigned int ver1 : 4; // DID1 Version
  48. unsigned short fsize; // Flash Size
  49. unsigned short ssize; // SRAM Size
  50. };
  51. }TIVA_DCAP, *LPTIVA_DCAP;
  52. typedef const TIVA_DCAP *LPCTIVA_DCAP;
  53. /////////////////////////////////////////////////////////////////////////////
  54. typedef struct _TIVA_MEMORY_MAP
  55. {
  56. unsigned int baseAddr;
  57. unsigned int size;
  58. bool bIsRO;
  59. }TIVA_MEMORY_MAP, *LPTIVA_MEMORY_MAP;
  60. typedef const TIVA_MEMORY_MAP *LPCTIVA_MEMORY_MAP;
  61. /////////////////////////////////////////////////////////////////////////////
  62. typedef struct _TIVA_MAT_SER
  63. {
  64. char szImgMaterialNum[KFW_MAX_IMG_MATERIAL_NUM_LENGTH];
  65. char szImgNameBuild[KFW_MAX_IMG_NAME_BUILD_LENGTH];
  66. }TIVA_MAT_SER, *LPTIVA_MAT_SER;
  67. typedef const TIVA_MAT_SER *LPCTIVA_MAT_SER;
  68. /////////////////////////////////////////////////////////////////////////////
  69. typedef struct _KFW_IMG_HEADER
  70. {
  71. const unsigned int nPrefix0;
  72. const unsigned int nPrefix1;
  73. const unsigned int nImgLength;
  74. const unsigned int nImgCRC32;
  75. const unsigned int nReserved[4];
  76. union
  77. {
  78. struct
  79. {
  80. const char * const pszImgMaterialNum;
  81. const char * const pszImgNameBuild;
  82. }app;
  83. struct
  84. {
  85. const char szImgMaterialNum[KFW_MAX_IMG_MATERIAL_NUM_LENGTH];
  86. const char szImgNameBuild[KFW_MAX_IMG_NAME_BUILD_LENGTH];
  87. }bl;
  88. };
  89. }KFW_IMG_HEADER, *LPKFW_IMG_HEADER;
  90. typedef const KFW_IMG_HEADER *LPCKFW_IMG_HEADER;
  91. /////////////////////////////////////////////////////////////////////////////
  92. typedef struct _TIVA_UPLOAD_INFO
  93. {
  94. const void *pData;
  95. size_t nCbData;
  96. LPCKFW_IMG_HEADER pkih;
  97. const char *pszMat;
  98. const char *pszBld;
  99. atomic_t flgUIReady;
  100. }TIVA_UPLOAD_INFO, *LPTIVA_UPLOAD_INFO;
  101. typedef const TIVA_UPLOAD_INFO *LPCTIVA_UPLOAD_INFO;
  102. /////////////////////////////////////////////////////////////////////////////
  103. #define _min(a, b) (((a) < (b)) ? (a) : (b))
  104. #define _countof(a) (sizeof(a) / sizeof(*a))
  105. #define _JIFFY_DIFF(a, b) ((long)((unsigned long)(a) - (unsigned long)(b)))
  106. #define KALERT(...) printk(KERN_ALERT __VA_ARGS__)
  107. /////////////////////////////////////////////////////////////////////////////
  108. #if _SITARA_EGGELSBERG
  109. #define _SPI_SPEED_HZ 100000
  110. #else // _SITARA_EGGELSBERG
  111. #define _SPI_SPEED_HZ 1000000
  112. #endif // _SITARA_EGGELSBERG
  113. #define _SPI_BITS_PER_WORD 8
  114. #define _SPI_DEVICE "/dev/spidev1.0"
  115. #define _TIMER_INTERVAL (jiffies + HZ) // 1 sec
  116. #define _FIRMWARE_PAGES_COUNT 6
  117. #define _FIRMWARE_BUFFER_SIZE (64 * PAGE_SIZE) // = 2 ^ 6 * PAGE_SIZE
  118. #define _BACKLIGHT_PERIOD_MIN 5000
  119. #define _BACKLIGHT_PERIOD_MAX 1000000
  120. #define _BACKLIGHT_PERIOD_DEFAULT 50000
  121. #define _BACKLIGHT_DUTY_CYCLE_PERC_MIN 0
  122. #define _BACKLIGHT_DUTY_CYCLE_PERC_MAX 100
  123. #define _BACKLIGHT_DUTY_CYCLE_PERC_DEF 100
  124. #define KFW_DEFAULT_PAGE_ERASE_TIME 20
  125. #define KFW_FLASH_PAGE_SIZE 1024
  126. #define KFW_DEFAULT_BASE_ADDRESS 0
  127. //#define KFW_DEFAULT_BASE_ADDRESS 0x2000
  128. #define KFW_MIN_UPLOAD_BLOCKSIZE 4
  129. #define KFW_MAX_UPLOAD_BLOCKSIZE 76
  130. #define KFW_DEFAULT_UPLOAD_BLOCKSIZE 76
  131. #define KFW_MIN_HAS_MATERIAL_NR_VERSION 0x0202
  132. /////////////////////////////////////////////////////////////////////////////
  133. #ifdef __cplusplus
  134. }
  135. #endif // __cplusplus
  136. #endif // !defined(AGD_DEFINES_H__C7EAD575_99C7_4047_8E24_F5887CACEC73__INCLUDED_)