reg_flash.h 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111
  1. /** @file reg_flash.h
  2. * @brief Flash Register Layer Header File
  3. * @date 29.May.2013
  4. * @version 03.05.02
  5. *
  6. * This file contains:
  7. * - Definitions
  8. * - Types
  9. * .
  10. * which are relevant for the System driver.
  11. */
  12. /* (c) Texas Instruments 2009-2013, All rights reserved. */
  13. #ifndef __REG_FLASH_H__
  14. #define __REG_FLASH_H__
  15. #include "sys_common.h"
  16. /* Flash Register Frame Definition */
  17. /** @struct flashWBase
  18. * @brief Flash Wrapper Register Frame Definition
  19. *
  20. * This type is used to access the Flash Wrapper Registers.
  21. */
  22. /** @typedef flashWBASE_t
  23. * @brief Flash Wrapper Register Frame Type Definition
  24. *
  25. * This type is used to access the Flash Wrapper Registers.
  26. */
  27. typedef volatile struct flashWBase
  28. {
  29. uint32 FRDCNTL; /* 0x0000 */
  30. uint32 FSPRD; /* 0x0004 */
  31. uint32 FEDACCTRL1; /* 0x0008 */
  32. uint32 FEDACCTRL2; /* 0x000C */
  33. uint32 FCORERRCNT; /* 0x0010 */
  34. uint32 FCORERRADD; /* 0x0014 */
  35. uint32 FCORERRPOS; /* 0x0018 */
  36. uint32 FEDACSTATUS; /* 0x001C */
  37. uint32 FUNCERRADD; /* 0x0020 */
  38. uint32 FEDACSDIS; /* 0x0024 */
  39. uint32 FPRIMADDTAG; /* 0x0028 */
  40. uint32 FREDUADDTAG; /* 0x002C */
  41. uint32 FBPROT; /* 0x0030 */
  42. uint32 FBSE; /* 0x0034 */
  43. uint32 FBBUSY; /* 0x0038 */
  44. uint32 FBAC; /* 0x003C */
  45. uint32 FBFALLBACK; /* 0x0040 */
  46. uint32 FBPRDY; /* 0x0044 */
  47. uint32 FPAC1; /* 0x0048 */
  48. uint32 FPAC2; /* 0x004C */
  49. uint32 FMAC; /* 0x0050 */
  50. uint32 FMSTAT; /* 0x0054 */
  51. uint32 FEMUDMSW; /* 0x0058 */
  52. uint32 FEMUDLSW; /* 0x005C */
  53. uint32 FEMUECC; /* 0x0060 */
  54. uint32 FLOCK; /* 0x0064 */
  55. uint32 FEMUADDR; /* 0x0068 */
  56. uint32 FDIAGCTRL; /* 0x006C */
  57. uint32 FRAWDATAH; /* 0x0070 */
  58. uint32 FRAWDATAL; /* 0x0074 */
  59. uint32 FRAWECC; /* 0x0078 */
  60. uint32 FPAROVR; /* 0x007C */
  61. uint32 FVREADCT; /* 0x0080 */
  62. uint32 FVHVCT1; /* 0x0084 */
  63. uint32 FVHVCT2; /* 0x0088 */
  64. uint32 FVNVCT; /* 0x008C */
  65. uint32 FVPPCT; /* 0x0090 */
  66. uint32 FVWLCT; /* 0x0094 */
  67. uint32 FEFUSE; /* 0x0098 */
  68. uint32 rsvd1[9U]; /* 0x009C */
  69. uint32 FEDACSDIS2; /* 0x00C0 */
  70. uint32 rsvd2[15U]; /* 0x00C4 */
  71. uint32 FBSTROBES; /* 0x0100 */
  72. uint32 FPSTROBES; /* 0x0104 */
  73. uint32 FBMODE; /* 0x0108 */
  74. uint32 FTCR; /* 0x010C */
  75. uint32 FADDR; /* 0x0110 */
  76. uint32 FWRITE; /* 0x0114 */
  77. uint32 FCBITSEL; /* 0x0118 */
  78. uint32 FTCTRL; /* 0x011C */
  79. uint32 FWPWRITE0; /* 0x0120 */
  80. uint32 FWPWRITE1; /* 0x0124 */
  81. uint32 FWPWRITE2; /* 0x0128 */
  82. uint32 FWPWRITE3; /* 0x012C */
  83. uint32 FWPWRITE4; /* 0x0130 */
  84. uint32 rsvd3[85U]; /* 0x0134 */
  85. uint32 FSMWRENA; /* 0x0288 */
  86. uint32 rsvd4[6U]; /* 0x028C */
  87. uint32 FSMSECTOR; /* 0x02A4 */
  88. uint32 rsvd5[4U]; /* 0x02A8 */
  89. uint32 EEPROMCONFIG;/* 0x02B8 */
  90. uint32 rsvd6[19U]; /* 0x02BC */
  91. uint32 EECTRL1; /* 0x0308 */
  92. uint32 EECTRL2; /* 0x030C */
  93. uint32 EECORRERRCNT;/* 0x0310 */
  94. uint32 EECORRERRADD;/* 0x0314 */
  95. uint32 EECORRERRPOS;/* 0x0318 */
  96. uint32 EESTATUS; /* 0x031C */
  97. uint32 EEUNCERRADD; /* 0x0320 */
  98. } flashWBASE_t;
  99. /** @def flashWREG
  100. * @brief Flash Wrapper Register Frame Pointer
  101. *
  102. * This pointer is used by the system driver to access the flash wrapper registers.
  103. */
  104. #define flashWREG ((flashWBASE_t *)(0xFFF87000U))
  105. #endif