DSP2803x_PieCtrl.h 5.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151
  1. //###########################################################################
  2. //
  3. // FILE: DSP2803x_PieCtrl.h
  4. //
  5. // TITLE: DSP2803x Device PIE Control Register Definitions.
  6. //
  7. //###########################################################################
  8. // $TI Release: F2803x C/C++ Header Files and Peripheral Examples V130 $
  9. // $Release Date: May 8, 2015 $
  10. // $Copyright: Copyright (C) 2009-2015 Texas Instruments Incorporated -
  11. // http://www.ti.com/ ALL RIGHTS RESERVED $
  12. //###########################################################################
  13. #ifndef DSP2803x_PIE_CTRL_H
  14. #define DSP2803x_PIE_CTRL_H
  15. #ifdef __cplusplus
  16. extern "C" {
  17. #endif
  18. //---------------------------------------------------------------------------
  19. // PIE Control Register Bit Definitions:
  20. //
  21. // PIECTRL: Register bit definitions:
  22. struct PIECTRL_BITS { // bits description
  23. Uint16 ENPIE:1; // 0 Enable PIE block
  24. Uint16 PIEVECT:15; // 15:1 Fetched vector address
  25. };
  26. union PIECTRL_REG {
  27. Uint16 all;
  28. struct PIECTRL_BITS bit;
  29. };
  30. // PIEIER: Register bit definitions:
  31. struct PIEIER_BITS { // bits description
  32. Uint16 INTx1:1; // 0 INTx.1
  33. Uint16 INTx2:1; // 1 INTx.2
  34. Uint16 INTx3:1; // 2 INTx.3
  35. Uint16 INTx4:1; // 3 INTx.4
  36. Uint16 INTx5:1; // 4 INTx.5
  37. Uint16 INTx6:1; // 5 INTx.6
  38. Uint16 INTx7:1; // 6 INTx.7
  39. Uint16 INTx8:1; // 7 INTx.8
  40. Uint16 rsvd:8; // 15:8 reserved
  41. };
  42. union PIEIER_REG {
  43. Uint16 all;
  44. struct PIEIER_BITS bit;
  45. };
  46. // PIEIFR: Register bit definitions:
  47. struct PIEIFR_BITS { // bits description
  48. Uint16 INTx1:1; // 0 INTx.1
  49. Uint16 INTx2:1; // 1 INTx.2
  50. Uint16 INTx3:1; // 2 INTx.3
  51. Uint16 INTx4:1; // 3 INTx.4
  52. Uint16 INTx5:1; // 4 INTx.5
  53. Uint16 INTx6:1; // 5 INTx.6
  54. Uint16 INTx7:1; // 6 INTx.7
  55. Uint16 INTx8:1; // 7 INTx.8
  56. Uint16 rsvd:8; // 15:8 reserved
  57. };
  58. union PIEIFR_REG {
  59. Uint16 all;
  60. struct PIEIFR_BITS bit;
  61. };
  62. // PIEACK: Register bit definitions:
  63. struct PIEACK_BITS { // bits description
  64. Uint16 ACK1:1; // 0 Acknowledge PIE interrupt group 1
  65. Uint16 ACK2:1; // 1 Acknowledge PIE interrupt group 2
  66. Uint16 ACK3:1; // 2 Acknowledge PIE interrupt group 3
  67. Uint16 ACK4:1; // 3 Acknowledge PIE interrupt group 4
  68. Uint16 ACK5:1; // 4 Acknowledge PIE interrupt group 5
  69. Uint16 ACK6:1; // 5 Acknowledge PIE interrupt group 6
  70. Uint16 ACK7:1; // 6 Acknowledge PIE interrupt group 7
  71. Uint16 ACK8:1; // 7 Acknowledge PIE interrupt group 8
  72. Uint16 ACK9:1; // 8 Acknowledge PIE interrupt group 9
  73. Uint16 ACK10:1; // 9 Acknowledge PIE interrupt group 10
  74. Uint16 ACK11:1; // 10 Acknowledge PIE interrupt group 11
  75. Uint16 ACK12:1; // 11 Acknowledge PIE interrupt group 12
  76. Uint16 rsvd:4; // 15:12 reserved
  77. };
  78. union PIEACK_REG {
  79. Uint16 all;
  80. struct PIEACK_BITS bit;
  81. };
  82. //---------------------------------------------------------------------------
  83. // PIE Control Register File:
  84. //
  85. struct PIE_CTRL_REGS {
  86. union PIECTRL_REG PIECTRL; // PIE control register
  87. union PIEACK_REG PIEACK; // PIE acknowledge
  88. union PIEIER_REG PIEIER1; // PIE INT1 IER register
  89. union PIEIFR_REG PIEIFR1; // PIE INT1 IFR register
  90. union PIEIER_REG PIEIER2; // PIE INT2 IER register
  91. union PIEIFR_REG PIEIFR2; // PIE INT2 IFR register
  92. union PIEIER_REG PIEIER3; // PIE INT3 IER register
  93. union PIEIFR_REG PIEIFR3; // PIE INT3 IFR register
  94. union PIEIER_REG PIEIER4; // PIE INT4 IER register
  95. union PIEIFR_REG PIEIFR4; // PIE INT4 IFR register
  96. union PIEIER_REG PIEIER5; // PIE INT5 IER register
  97. union PIEIFR_REG PIEIFR5; // PIE INT5 IFR register
  98. union PIEIER_REG PIEIER6; // PIE INT6 IER register
  99. union PIEIFR_REG PIEIFR6; // PIE INT6 IFR register
  100. union PIEIER_REG PIEIER7; // PIE INT7 IER register
  101. union PIEIFR_REG PIEIFR7; // PIE INT7 IFR register
  102. union PIEIER_REG PIEIER8; // PIE INT8 IER register
  103. union PIEIFR_REG PIEIFR8; // PIE INT8 IFR register
  104. union PIEIER_REG PIEIER9; // PIE INT9 IER register
  105. union PIEIFR_REG PIEIFR9; // PIE INT9 IFR register
  106. union PIEIER_REG PIEIER10; // PIE INT10 IER register
  107. union PIEIFR_REG PIEIFR10; // PIE INT10 IFR register
  108. union PIEIER_REG PIEIER11; // PIE INT11 IER register
  109. union PIEIFR_REG PIEIFR11; // PIE INT11 IFR register
  110. union PIEIER_REG PIEIER12; // PIE INT12 IER register
  111. union PIEIFR_REG PIEIFR12; // PIE INT12 IFR register
  112. };
  113. #define PIEACK_GROUP1 0x0001
  114. #define PIEACK_GROUP2 0x0002
  115. #define PIEACK_GROUP3 0x0004
  116. #define PIEACK_GROUP4 0x0008
  117. #define PIEACK_GROUP5 0x0010
  118. #define PIEACK_GROUP6 0x0020
  119. #define PIEACK_GROUP7 0x0040
  120. #define PIEACK_GROUP8 0x0080
  121. #define PIEACK_GROUP9 0x0100
  122. #define PIEACK_GROUP10 0x0200
  123. #define PIEACK_GROUP11 0x0400
  124. #define PIEACK_GROUP12 0x0800
  125. //---------------------------------------------------------------------------
  126. // PIE Control Registers External References & Function Declarations:
  127. //
  128. extern volatile struct PIE_CTRL_REGS PieCtrlRegs;
  129. #ifdef __cplusplus
  130. }
  131. #endif /* extern "C" */
  132. #endif // end of DSP2803x_PIE_CTRL_H definition
  133. //===========================================================================
  134. // End of file.
  135. //===========================================================================