defines.h 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123
  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. /////////////////////////////////////////////////////////////////////////////
  15. #define KFW_MAX_IMG_MATERIAL_NUM_LENGTH 16 // including the zero terminator
  16. #define KFW_MAX_IMG_SERIAL_NUM_LENGTH 16 // including the zero terminator
  17. #define KFW_MAX_IMG_NAME_BUILD_LENGTH 24 // including the zero terminator
  18. #define KFW_IMG_HEADER_PREFIX_0 ((unsigned int)0xFF01FF02)
  19. #define KFW_IMG_HEADER_PREFIX_1 ((unsigned int)0xFF03FF04)
  20. /////////////////////////////////////////////////////////////////////////////
  21. /////////////////////////////////////////////////////////////////////////////
  22. typedef struct _TIVA_MAT_SER
  23. {
  24. char szImgMaterialNum[KFW_MAX_IMG_MATERIAL_NUM_LENGTH];
  25. char szImgNameBuild[KFW_MAX_IMG_NAME_BUILD_LENGTH];
  26. }TIVA_MAT_SER, *LPTIVA_MAT_SER;
  27. typedef const TIVA_MAT_SER *LPCTIVA_MAT_SER;
  28. /////////////////////////////////////////////////////////////////////////////
  29. typedef struct _KFW_IMG_HEADER
  30. {
  31. const unsigned int nPrefix0;
  32. const unsigned int nPrefix1;
  33. const unsigned int nImgLength;
  34. const unsigned int nImgCRC32;
  35. const unsigned int nReserved[4];
  36. union
  37. {
  38. struct
  39. {
  40. const char * const pszImgMaterialNum;
  41. const char * const pszImgNameBuild;
  42. }app;
  43. struct
  44. {
  45. const char szImgMaterialNum[KFW_MAX_IMG_MATERIAL_NUM_LENGTH];
  46. const char szImgNameBuild[KFW_MAX_IMG_NAME_BUILD_LENGTH];
  47. }bl;
  48. };
  49. }KFW_IMG_HEADER, *LPKFW_IMG_HEADER;
  50. typedef const KFW_IMG_HEADER *LPCKFW_IMG_HEADER;
  51. /////////////////////////////////////////////////////////////////////////////
  52. typedef struct _TIVA_UPLOAD_INFO
  53. {
  54. const void *pData;
  55. size_t nCbData;
  56. LPCKFW_IMG_HEADER pkih;
  57. const char *pszMat;
  58. const char *pszBld;
  59. atomic_t flgUIReady;
  60. }TIVA_UPLOAD_INFO, *LPTIVA_UPLOAD_INFO;
  61. typedef const TIVA_UPLOAD_INFO *LPCTIVA_UPLOAD_INFO;
  62. /////////////////////////////////////////////////////////////////////////////
  63. #define _min(a, b) (((a) < (b)) ? (a) : (b))
  64. #define _countof(a) (sizeof(a) / sizeof(*a))
  65. #define _JIFFY_DIFF(a, b) ((long)((unsigned long)(a) - (unsigned long)(b)))
  66. #define KALERT(...) printk(KERN_ALERT __VA_ARGS__)
  67. /////////////////////////////////////////////////////////////////////////////
  68. #if _SITARA_EGGELSBERG
  69. #define _SPI_SPEED_HZ 100000
  70. #else // _SITARA_EGGELSBERG
  71. #define _SPI_SPEED_HZ 1000000
  72. #endif // _SITARA_EGGELSBERG
  73. #define _SPI_BITS_PER_WORD 8
  74. #define _SPI_DEVICE "/dev/spidev1.0"
  75. #define _TIMER_INTERVAL (jiffies + HZ) // 1 sec
  76. #define _FIRMWARE_PAGES_COUNT 6
  77. #define _FIRMWARE_BUFFER_SIZE (64 * PAGE_SIZE) // = 2 ^ 6 * PAGE_SIZE
  78. #define _BACKLIGHT_FREQ_MIN_HZ 10
  79. #define _BACKLIGHT_FREQ_MAX_HZ 10000
  80. #define _BACKLIGHT_DEF_FREQ_HZ 1000
  81. #define _BACKLIGHT_DEF_BRIGHT_PERC 50
  82. #define KFW_DEFAULT_PAGE_ERASE_TIME 20
  83. #define KFW_FLASH_PAGE_SIZE 1024
  84. #define KFW_DEFAULT_BASE_ADDRESS 0
  85. //#define KFW_DEFAULT_BASE_ADDRESS 0x2000
  86. #define KFW_MIN_UPLOAD_BLOCKSIZE 4
  87. #define KFW_MAX_UPLOAD_BLOCKSIZE 76
  88. #define KFW_DEFAULT_UPLOAD_BLOCKSIZE 76
  89. #define KFW_MIN_HAS_MATERIAL_NR_VERSION 0x0202
  90. /////////////////////////////////////////////////////////////////////////////
  91. #ifdef __cplusplus
  92. }
  93. #endif // __cplusplus
  94. #endif // !defined(AGD_DEFINES_H__C7EAD575_99C7_4047_8E24_F5887CACEC73__INCLUDED_)