efm32gg_i2c.h 69 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700
  1. /**************************************************************************//**
  2. * @file
  3. * @brief efm32gg_i2c Register and Bit Field definitions
  4. * @author Energy Micro AS
  5. * @version 3.0.0
  6. ******************************************************************************
  7. * @section License
  8. * <b>(C) Copyright 2012 Energy Micro AS, http://www.energymicro.com</b>
  9. ******************************************************************************
  10. *
  11. * Permission is granted to anyone to use this software for any purpose,
  12. * including commercial applications, and to alter it and redistribute it
  13. * freely, subject to the following restrictions:
  14. *
  15. * 1. The origin of this software must not be misrepresented; you must not
  16. * claim that you wrote the original software.
  17. * 2. Altered source versions must be plainly marked as such, and must not be
  18. * misrepresented as being the original software.
  19. * 3. This notice may not be removed or altered from any source distribution.
  20. *
  21. * DISCLAIMER OF WARRANTY/LIMITATION OF REMEDIES: Energy Micro AS has no
  22. * obligation to support this Software. Energy Micro AS is providing the
  23. * Software "AS IS", with no express or implied warranties of any kind,
  24. * including, but not limited to, any implied warranties of merchantability
  25. * or fitness for any particular purpose or warranties against infringement
  26. * of any proprietary rights of a third party.
  27. *
  28. * Energy Micro AS will not be liable for any consequential, incidental, or
  29. * special damages, or any other relief, or for any claim by any third party,
  30. * arising from your use of this Software.
  31. *
  32. *****************************************************************************/
  33. /**************************************************************************//**
  34. * @defgroup EFM32GG_I2C
  35. * @{
  36. * @brief EFM32GG_I2C Register Declaration
  37. *****************************************************************************/
  38. typedef struct
  39. {
  40. __IO uint32_t CTRL; /**< Control Register */
  41. __IO uint32_t CMD; /**< Command Register */
  42. __I uint32_t STATE; /**< State Register */
  43. __I uint32_t STATUS; /**< Status Register */
  44. __IO uint32_t CLKDIV; /**< Clock Division Register */
  45. __IO uint32_t SADDR; /**< Slave Address Register */
  46. __IO uint32_t SADDRMASK; /**< Slave Address Mask Register */
  47. __I uint32_t RXDATA; /**< Receive Buffer Data Register */
  48. __I uint32_t RXDATAP; /**< Receive Buffer Data Peek Register */
  49. __IO uint32_t TXDATA; /**< Transmit Buffer Data Register */
  50. __I uint32_t IF; /**< Interrupt Flag Register */
  51. __IO uint32_t IFS; /**< Interrupt Flag Set Register */
  52. __IO uint32_t IFC; /**< Interrupt Flag Clear Register */
  53. __IO uint32_t IEN; /**< Interrupt Enable Register */
  54. __IO uint32_t ROUTE; /**< I/O Routing Register */
  55. } I2C_TypeDef; /** @} */
  56. /**************************************************************************//**
  57. * @defgroup EFM32GG_I2C_BitFields
  58. * @{
  59. *****************************************************************************/
  60. /* Bit fields for I2C CTRL */
  61. #define _I2C_CTRL_RESETVALUE 0x00000000UL /**< Default value for I2C_CTRL */
  62. #define _I2C_CTRL_MASK 0x0007B37FUL /**< Mask for I2C_CTRL */
  63. #define I2C_CTRL_EN (0x1UL << 0) /**< I2C Enable */
  64. #define _I2C_CTRL_EN_SHIFT 0 /**< Shift value for I2C_EN */
  65. #define _I2C_CTRL_EN_MASK 0x1UL /**< Bit mask for I2C_EN */
  66. #define _I2C_CTRL_EN_DEFAULT 0x00000000UL /**< Mode DEFAULT for I2C_CTRL */
  67. #define I2C_CTRL_EN_DEFAULT (_I2C_CTRL_EN_DEFAULT << 0) /**< Shifted mode DEFAULT for I2C_CTRL */
  68. #define I2C_CTRL_SLAVE (0x1UL << 1) /**< Addressable as Slave */
  69. #define _I2C_CTRL_SLAVE_SHIFT 1 /**< Shift value for I2C_SLAVE */
  70. #define _I2C_CTRL_SLAVE_MASK 0x2UL /**< Bit mask for I2C_SLAVE */
  71. #define _I2C_CTRL_SLAVE_DEFAULT 0x00000000UL /**< Mode DEFAULT for I2C_CTRL */
  72. #define I2C_CTRL_SLAVE_DEFAULT (_I2C_CTRL_SLAVE_DEFAULT << 1) /**< Shifted mode DEFAULT for I2C_CTRL */
  73. #define I2C_CTRL_AUTOACK (0x1UL << 2) /**< Automatic Acknowledge */
  74. #define _I2C_CTRL_AUTOACK_SHIFT 2 /**< Shift value for I2C_AUTOACK */
  75. #define _I2C_CTRL_AUTOACK_MASK 0x4UL /**< Bit mask for I2C_AUTOACK */
  76. #define _I2C_CTRL_AUTOACK_DEFAULT 0x00000000UL /**< Mode DEFAULT for I2C_CTRL */
  77. #define I2C_CTRL_AUTOACK_DEFAULT (_I2C_CTRL_AUTOACK_DEFAULT << 2) /**< Shifted mode DEFAULT for I2C_CTRL */
  78. #define I2C_CTRL_AUTOSE (0x1UL << 3) /**< Automatic STOP when Empty */
  79. #define _I2C_CTRL_AUTOSE_SHIFT 3 /**< Shift value for I2C_AUTOSE */
  80. #define _I2C_CTRL_AUTOSE_MASK 0x8UL /**< Bit mask for I2C_AUTOSE */
  81. #define _I2C_CTRL_AUTOSE_DEFAULT 0x00000000UL /**< Mode DEFAULT for I2C_CTRL */
  82. #define I2C_CTRL_AUTOSE_DEFAULT (_I2C_CTRL_AUTOSE_DEFAULT << 3) /**< Shifted mode DEFAULT for I2C_CTRL */
  83. #define I2C_CTRL_AUTOSN (0x1UL << 4) /**< Automatic STOP on NACK */
  84. #define _I2C_CTRL_AUTOSN_SHIFT 4 /**< Shift value for I2C_AUTOSN */
  85. #define _I2C_CTRL_AUTOSN_MASK 0x10UL /**< Bit mask for I2C_AUTOSN */
  86. #define _I2C_CTRL_AUTOSN_DEFAULT 0x00000000UL /**< Mode DEFAULT for I2C_CTRL */
  87. #define I2C_CTRL_AUTOSN_DEFAULT (_I2C_CTRL_AUTOSN_DEFAULT << 4) /**< Shifted mode DEFAULT for I2C_CTRL */
  88. #define I2C_CTRL_ARBDIS (0x1UL << 5) /**< Arbitration Disable */
  89. #define _I2C_CTRL_ARBDIS_SHIFT 5 /**< Shift value for I2C_ARBDIS */
  90. #define _I2C_CTRL_ARBDIS_MASK 0x20UL /**< Bit mask for I2C_ARBDIS */
  91. #define _I2C_CTRL_ARBDIS_DEFAULT 0x00000000UL /**< Mode DEFAULT for I2C_CTRL */
  92. #define I2C_CTRL_ARBDIS_DEFAULT (_I2C_CTRL_ARBDIS_DEFAULT << 5) /**< Shifted mode DEFAULT for I2C_CTRL */
  93. #define I2C_CTRL_GCAMEN (0x1UL << 6) /**< General Call Address Match Enable */
  94. #define _I2C_CTRL_GCAMEN_SHIFT 6 /**< Shift value for I2C_GCAMEN */
  95. #define _I2C_CTRL_GCAMEN_MASK 0x40UL /**< Bit mask for I2C_GCAMEN */
  96. #define _I2C_CTRL_GCAMEN_DEFAULT 0x00000000UL /**< Mode DEFAULT for I2C_CTRL */
  97. #define I2C_CTRL_GCAMEN_DEFAULT (_I2C_CTRL_GCAMEN_DEFAULT << 6) /**< Shifted mode DEFAULT for I2C_CTRL */
  98. #define _I2C_CTRL_CLHR_SHIFT 8 /**< Shift value for I2C_CLHR */
  99. #define _I2C_CTRL_CLHR_MASK 0x300UL /**< Bit mask for I2C_CLHR */
  100. #define _I2C_CTRL_CLHR_DEFAULT 0x00000000UL /**< Mode DEFAULT for I2C_CTRL */
  101. #define _I2C_CTRL_CLHR_STANDARD 0x00000000UL /**< Mode STANDARD for I2C_CTRL */
  102. #define _I2C_CTRL_CLHR_ASYMMETRIC 0x00000001UL /**< Mode ASYMMETRIC for I2C_CTRL */
  103. #define _I2C_CTRL_CLHR_FAST 0x00000002UL /**< Mode FAST for I2C_CTRL */
  104. #define I2C_CTRL_CLHR_DEFAULT (_I2C_CTRL_CLHR_DEFAULT << 8) /**< Shifted mode DEFAULT for I2C_CTRL */
  105. #define I2C_CTRL_CLHR_STANDARD (_I2C_CTRL_CLHR_STANDARD << 8) /**< Shifted mode STANDARD for I2C_CTRL */
  106. #define I2C_CTRL_CLHR_ASYMMETRIC (_I2C_CTRL_CLHR_ASYMMETRIC << 8) /**< Shifted mode ASYMMETRIC for I2C_CTRL */
  107. #define I2C_CTRL_CLHR_FAST (_I2C_CTRL_CLHR_FAST << 8) /**< Shifted mode FAST for I2C_CTRL */
  108. #define _I2C_CTRL_BITO_SHIFT 12 /**< Shift value for I2C_BITO */
  109. #define _I2C_CTRL_BITO_MASK 0x3000UL /**< Bit mask for I2C_BITO */
  110. #define _I2C_CTRL_BITO_DEFAULT 0x00000000UL /**< Mode DEFAULT for I2C_CTRL */
  111. #define _I2C_CTRL_BITO_OFF 0x00000000UL /**< Mode OFF for I2C_CTRL */
  112. #define _I2C_CTRL_BITO_40PCC 0x00000001UL /**< Mode 40PCC for I2C_CTRL */
  113. #define _I2C_CTRL_BITO_80PCC 0x00000002UL /**< Mode 80PCC for I2C_CTRL */
  114. #define _I2C_CTRL_BITO_160PCC 0x00000003UL /**< Mode 160PCC for I2C_CTRL */
  115. #define I2C_CTRL_BITO_DEFAULT (_I2C_CTRL_BITO_DEFAULT << 12) /**< Shifted mode DEFAULT for I2C_CTRL */
  116. #define I2C_CTRL_BITO_OFF (_I2C_CTRL_BITO_OFF << 12) /**< Shifted mode OFF for I2C_CTRL */
  117. #define I2C_CTRL_BITO_40PCC (_I2C_CTRL_BITO_40PCC << 12) /**< Shifted mode 40PCC for I2C_CTRL */
  118. #define I2C_CTRL_BITO_80PCC (_I2C_CTRL_BITO_80PCC << 12) /**< Shifted mode 80PCC for I2C_CTRL */
  119. #define I2C_CTRL_BITO_160PCC (_I2C_CTRL_BITO_160PCC << 12) /**< Shifted mode 160PCC for I2C_CTRL */
  120. #define I2C_CTRL_GIBITO (0x1UL << 15) /**< Go Idle on Bus Idle Timeout */
  121. #define _I2C_CTRL_GIBITO_SHIFT 15 /**< Shift value for I2C_GIBITO */
  122. #define _I2C_CTRL_GIBITO_MASK 0x8000UL /**< Bit mask for I2C_GIBITO */
  123. #define _I2C_CTRL_GIBITO_DEFAULT 0x00000000UL /**< Mode DEFAULT for I2C_CTRL */
  124. #define I2C_CTRL_GIBITO_DEFAULT (_I2C_CTRL_GIBITO_DEFAULT << 15) /**< Shifted mode DEFAULT for I2C_CTRL */
  125. #define _I2C_CTRL_CLTO_SHIFT 16 /**< Shift value for I2C_CLTO */
  126. #define _I2C_CTRL_CLTO_MASK 0x70000UL /**< Bit mask for I2C_CLTO */
  127. #define _I2C_CTRL_CLTO_DEFAULT 0x00000000UL /**< Mode DEFAULT for I2C_CTRL */
  128. #define _I2C_CTRL_CLTO_OFF 0x00000000UL /**< Mode OFF for I2C_CTRL */
  129. #define _I2C_CTRL_CLTO_40PCC 0x00000001UL /**< Mode 40PCC for I2C_CTRL */
  130. #define _I2C_CTRL_CLTO_80PCC 0x00000002UL /**< Mode 80PCC for I2C_CTRL */
  131. #define _I2C_CTRL_CLTO_160PCC 0x00000003UL /**< Mode 160PCC for I2C_CTRL */
  132. #define _I2C_CTRL_CLTO_320PPC 0x00000004UL /**< Mode 320PPC for I2C_CTRL */
  133. #define _I2C_CTRL_CLTO_1024PPC 0x00000005UL /**< Mode 1024PPC for I2C_CTRL */
  134. #define I2C_CTRL_CLTO_DEFAULT (_I2C_CTRL_CLTO_DEFAULT << 16) /**< Shifted mode DEFAULT for I2C_CTRL */
  135. #define I2C_CTRL_CLTO_OFF (_I2C_CTRL_CLTO_OFF << 16) /**< Shifted mode OFF for I2C_CTRL */
  136. #define I2C_CTRL_CLTO_40PCC (_I2C_CTRL_CLTO_40PCC << 16) /**< Shifted mode 40PCC for I2C_CTRL */
  137. #define I2C_CTRL_CLTO_80PCC (_I2C_CTRL_CLTO_80PCC << 16) /**< Shifted mode 80PCC for I2C_CTRL */
  138. #define I2C_CTRL_CLTO_160PCC (_I2C_CTRL_CLTO_160PCC << 16) /**< Shifted mode 160PCC for I2C_CTRL */
  139. #define I2C_CTRL_CLTO_320PPC (_I2C_CTRL_CLTO_320PPC << 16) /**< Shifted mode 320PPC for I2C_CTRL */
  140. #define I2C_CTRL_CLTO_1024PPC (_I2C_CTRL_CLTO_1024PPC << 16) /**< Shifted mode 1024PPC for I2C_CTRL */
  141. /* Bit fields for I2C CMD */
  142. #define _I2C_CMD_RESETVALUE 0x00000000UL /**< Default value for I2C_CMD */
  143. #define _I2C_CMD_MASK 0x000000FFUL /**< Mask for I2C_CMD */
  144. #define I2C_CMD_START (0x1UL << 0) /**< Send start condition */
  145. #define _I2C_CMD_START_SHIFT 0 /**< Shift value for I2C_START */
  146. #define _I2C_CMD_START_MASK 0x1UL /**< Bit mask for I2C_START */
  147. #define _I2C_CMD_START_DEFAULT 0x00000000UL /**< Mode DEFAULT for I2C_CMD */
  148. #define I2C_CMD_START_DEFAULT (_I2C_CMD_START_DEFAULT << 0) /**< Shifted mode DEFAULT for I2C_CMD */
  149. #define I2C_CMD_STOP (0x1UL << 1) /**< Send stop condition */
  150. #define _I2C_CMD_STOP_SHIFT 1 /**< Shift value for I2C_STOP */
  151. #define _I2C_CMD_STOP_MASK 0x2UL /**< Bit mask for I2C_STOP */
  152. #define _I2C_CMD_STOP_DEFAULT 0x00000000UL /**< Mode DEFAULT for I2C_CMD */
  153. #define I2C_CMD_STOP_DEFAULT (_I2C_CMD_STOP_DEFAULT << 1) /**< Shifted mode DEFAULT for I2C_CMD */
  154. #define I2C_CMD_ACK (0x1UL << 2) /**< Send ACK */
  155. #define _I2C_CMD_ACK_SHIFT 2 /**< Shift value for I2C_ACK */
  156. #define _I2C_CMD_ACK_MASK 0x4UL /**< Bit mask for I2C_ACK */
  157. #define _I2C_CMD_ACK_DEFAULT 0x00000000UL /**< Mode DEFAULT for I2C_CMD */
  158. #define I2C_CMD_ACK_DEFAULT (_I2C_CMD_ACK_DEFAULT << 2) /**< Shifted mode DEFAULT for I2C_CMD */
  159. #define I2C_CMD_NACK (0x1UL << 3) /**< Send NACK */
  160. #define _I2C_CMD_NACK_SHIFT 3 /**< Shift value for I2C_NACK */
  161. #define _I2C_CMD_NACK_MASK 0x8UL /**< Bit mask for I2C_NACK */
  162. #define _I2C_CMD_NACK_DEFAULT 0x00000000UL /**< Mode DEFAULT for I2C_CMD */
  163. #define I2C_CMD_NACK_DEFAULT (_I2C_CMD_NACK_DEFAULT << 3) /**< Shifted mode DEFAULT for I2C_CMD */
  164. #define I2C_CMD_CONT (0x1UL << 4) /**< Continue transmission */
  165. #define _I2C_CMD_CONT_SHIFT 4 /**< Shift value for I2C_CONT */
  166. #define _I2C_CMD_CONT_MASK 0x10UL /**< Bit mask for I2C_CONT */
  167. #define _I2C_CMD_CONT_DEFAULT 0x00000000UL /**< Mode DEFAULT for I2C_CMD */
  168. #define I2C_CMD_CONT_DEFAULT (_I2C_CMD_CONT_DEFAULT << 4) /**< Shifted mode DEFAULT for I2C_CMD */
  169. #define I2C_CMD_ABORT (0x1UL << 5) /**< Abort transmission */
  170. #define _I2C_CMD_ABORT_SHIFT 5 /**< Shift value for I2C_ABORT */
  171. #define _I2C_CMD_ABORT_MASK 0x20UL /**< Bit mask for I2C_ABORT */
  172. #define _I2C_CMD_ABORT_DEFAULT 0x00000000UL /**< Mode DEFAULT for I2C_CMD */
  173. #define I2C_CMD_ABORT_DEFAULT (_I2C_CMD_ABORT_DEFAULT << 5) /**< Shifted mode DEFAULT for I2C_CMD */
  174. #define I2C_CMD_CLEARTX (0x1UL << 6) /**< Clear TX */
  175. #define _I2C_CMD_CLEARTX_SHIFT 6 /**< Shift value for I2C_CLEARTX */
  176. #define _I2C_CMD_CLEARTX_MASK 0x40UL /**< Bit mask for I2C_CLEARTX */
  177. #define _I2C_CMD_CLEARTX_DEFAULT 0x00000000UL /**< Mode DEFAULT for I2C_CMD */
  178. #define I2C_CMD_CLEARTX_DEFAULT (_I2C_CMD_CLEARTX_DEFAULT << 6) /**< Shifted mode DEFAULT for I2C_CMD */
  179. #define I2C_CMD_CLEARPC (0x1UL << 7) /**< Clear Pending Commands */
  180. #define _I2C_CMD_CLEARPC_SHIFT 7 /**< Shift value for I2C_CLEARPC */
  181. #define _I2C_CMD_CLEARPC_MASK 0x80UL /**< Bit mask for I2C_CLEARPC */
  182. #define _I2C_CMD_CLEARPC_DEFAULT 0x00000000UL /**< Mode DEFAULT for I2C_CMD */
  183. #define I2C_CMD_CLEARPC_DEFAULT (_I2C_CMD_CLEARPC_DEFAULT << 7) /**< Shifted mode DEFAULT for I2C_CMD */
  184. /* Bit fields for I2C STATE */
  185. #define _I2C_STATE_RESETVALUE 0x00000001UL /**< Default value for I2C_STATE */
  186. #define _I2C_STATE_MASK 0x000000FFUL /**< Mask for I2C_STATE */
  187. #define I2C_STATE_BUSY (0x1UL << 0) /**< Bus Busy */
  188. #define _I2C_STATE_BUSY_SHIFT 0 /**< Shift value for I2C_BUSY */
  189. #define _I2C_STATE_BUSY_MASK 0x1UL /**< Bit mask for I2C_BUSY */
  190. #define _I2C_STATE_BUSY_DEFAULT 0x00000001UL /**< Mode DEFAULT for I2C_STATE */
  191. #define I2C_STATE_BUSY_DEFAULT (_I2C_STATE_BUSY_DEFAULT << 0) /**< Shifted mode DEFAULT for I2C_STATE */
  192. #define I2C_STATE_MASTER (0x1UL << 1) /**< Master */
  193. #define _I2C_STATE_MASTER_SHIFT 1 /**< Shift value for I2C_MASTER */
  194. #define _I2C_STATE_MASTER_MASK 0x2UL /**< Bit mask for I2C_MASTER */
  195. #define _I2C_STATE_MASTER_DEFAULT 0x00000000UL /**< Mode DEFAULT for I2C_STATE */
  196. #define I2C_STATE_MASTER_DEFAULT (_I2C_STATE_MASTER_DEFAULT << 1) /**< Shifted mode DEFAULT for I2C_STATE */
  197. #define I2C_STATE_TRANSMITTER (0x1UL << 2) /**< Transmitter */
  198. #define _I2C_STATE_TRANSMITTER_SHIFT 2 /**< Shift value for I2C_TRANSMITTER */
  199. #define _I2C_STATE_TRANSMITTER_MASK 0x4UL /**< Bit mask for I2C_TRANSMITTER */
  200. #define _I2C_STATE_TRANSMITTER_DEFAULT 0x00000000UL /**< Mode DEFAULT for I2C_STATE */
  201. #define I2C_STATE_TRANSMITTER_DEFAULT (_I2C_STATE_TRANSMITTER_DEFAULT << 2) /**< Shifted mode DEFAULT for I2C_STATE */
  202. #define I2C_STATE_NACKED (0x1UL << 3) /**< Nack Received */
  203. #define _I2C_STATE_NACKED_SHIFT 3 /**< Shift value for I2C_NACKED */
  204. #define _I2C_STATE_NACKED_MASK 0x8UL /**< Bit mask for I2C_NACKED */
  205. #define _I2C_STATE_NACKED_DEFAULT 0x00000000UL /**< Mode DEFAULT for I2C_STATE */
  206. #define I2C_STATE_NACKED_DEFAULT (_I2C_STATE_NACKED_DEFAULT << 3) /**< Shifted mode DEFAULT for I2C_STATE */
  207. #define I2C_STATE_BUSHOLD (0x1UL << 4) /**< Bus Held */
  208. #define _I2C_STATE_BUSHOLD_SHIFT 4 /**< Shift value for I2C_BUSHOLD */
  209. #define _I2C_STATE_BUSHOLD_MASK 0x10UL /**< Bit mask for I2C_BUSHOLD */
  210. #define _I2C_STATE_BUSHOLD_DEFAULT 0x00000000UL /**< Mode DEFAULT for I2C_STATE */
  211. #define I2C_STATE_BUSHOLD_DEFAULT (_I2C_STATE_BUSHOLD_DEFAULT << 4) /**< Shifted mode DEFAULT for I2C_STATE */
  212. #define _I2C_STATE_STATE_SHIFT 5 /**< Shift value for I2C_STATE */
  213. #define _I2C_STATE_STATE_MASK 0xE0UL /**< Bit mask for I2C_STATE */
  214. #define _I2C_STATE_STATE_DEFAULT 0x00000000UL /**< Mode DEFAULT for I2C_STATE */
  215. #define _I2C_STATE_STATE_IDLE 0x00000000UL /**< Mode IDLE for I2C_STATE */
  216. #define _I2C_STATE_STATE_WAIT 0x00000001UL /**< Mode WAIT for I2C_STATE */
  217. #define _I2C_STATE_STATE_START 0x00000002UL /**< Mode START for I2C_STATE */
  218. #define _I2C_STATE_STATE_ADDR 0x00000003UL /**< Mode ADDR for I2C_STATE */
  219. #define _I2C_STATE_STATE_ADDRACK 0x00000004UL /**< Mode ADDRACK for I2C_STATE */
  220. #define _I2C_STATE_STATE_DATA 0x00000005UL /**< Mode DATA for I2C_STATE */
  221. #define _I2C_STATE_STATE_DATAACK 0x00000006UL /**< Mode DATAACK for I2C_STATE */
  222. #define I2C_STATE_STATE_DEFAULT (_I2C_STATE_STATE_DEFAULT << 5) /**< Shifted mode DEFAULT for I2C_STATE */
  223. #define I2C_STATE_STATE_IDLE (_I2C_STATE_STATE_IDLE << 5) /**< Shifted mode IDLE for I2C_STATE */
  224. #define I2C_STATE_STATE_WAIT (_I2C_STATE_STATE_WAIT << 5) /**< Shifted mode WAIT for I2C_STATE */
  225. #define I2C_STATE_STATE_START (_I2C_STATE_STATE_START << 5) /**< Shifted mode START for I2C_STATE */
  226. #define I2C_STATE_STATE_ADDR (_I2C_STATE_STATE_ADDR << 5) /**< Shifted mode ADDR for I2C_STATE */
  227. #define I2C_STATE_STATE_ADDRACK (_I2C_STATE_STATE_ADDRACK << 5) /**< Shifted mode ADDRACK for I2C_STATE */
  228. #define I2C_STATE_STATE_DATA (_I2C_STATE_STATE_DATA << 5) /**< Shifted mode DATA for I2C_STATE */
  229. #define I2C_STATE_STATE_DATAACK (_I2C_STATE_STATE_DATAACK << 5) /**< Shifted mode DATAACK for I2C_STATE */
  230. /* Bit fields for I2C STATUS */
  231. #define _I2C_STATUS_RESETVALUE 0x00000080UL /**< Default value for I2C_STATUS */
  232. #define _I2C_STATUS_MASK 0x000001FFUL /**< Mask for I2C_STATUS */
  233. #define I2C_STATUS_PSTART (0x1UL << 0) /**< Pending START */
  234. #define _I2C_STATUS_PSTART_SHIFT 0 /**< Shift value for I2C_PSTART */
  235. #define _I2C_STATUS_PSTART_MASK 0x1UL /**< Bit mask for I2C_PSTART */
  236. #define _I2C_STATUS_PSTART_DEFAULT 0x00000000UL /**< Mode DEFAULT for I2C_STATUS */
  237. #define I2C_STATUS_PSTART_DEFAULT (_I2C_STATUS_PSTART_DEFAULT << 0) /**< Shifted mode DEFAULT for I2C_STATUS */
  238. #define I2C_STATUS_PSTOP (0x1UL << 1) /**< Pending STOP */
  239. #define _I2C_STATUS_PSTOP_SHIFT 1 /**< Shift value for I2C_PSTOP */
  240. #define _I2C_STATUS_PSTOP_MASK 0x2UL /**< Bit mask for I2C_PSTOP */
  241. #define _I2C_STATUS_PSTOP_DEFAULT 0x00000000UL /**< Mode DEFAULT for I2C_STATUS */
  242. #define I2C_STATUS_PSTOP_DEFAULT (_I2C_STATUS_PSTOP_DEFAULT << 1) /**< Shifted mode DEFAULT for I2C_STATUS */
  243. #define I2C_STATUS_PACK (0x1UL << 2) /**< Pending ACK */
  244. #define _I2C_STATUS_PACK_SHIFT 2 /**< Shift value for I2C_PACK */
  245. #define _I2C_STATUS_PACK_MASK 0x4UL /**< Bit mask for I2C_PACK */
  246. #define _I2C_STATUS_PACK_DEFAULT 0x00000000UL /**< Mode DEFAULT for I2C_STATUS */
  247. #define I2C_STATUS_PACK_DEFAULT (_I2C_STATUS_PACK_DEFAULT << 2) /**< Shifted mode DEFAULT for I2C_STATUS */
  248. #define I2C_STATUS_PNACK (0x1UL << 3) /**< Pending NACK */
  249. #define _I2C_STATUS_PNACK_SHIFT 3 /**< Shift value for I2C_PNACK */
  250. #define _I2C_STATUS_PNACK_MASK 0x8UL /**< Bit mask for I2C_PNACK */
  251. #define _I2C_STATUS_PNACK_DEFAULT 0x00000000UL /**< Mode DEFAULT for I2C_STATUS */
  252. #define I2C_STATUS_PNACK_DEFAULT (_I2C_STATUS_PNACK_DEFAULT << 3) /**< Shifted mode DEFAULT for I2C_STATUS */
  253. #define I2C_STATUS_PCONT (0x1UL << 4) /**< Pending continue */
  254. #define _I2C_STATUS_PCONT_SHIFT 4 /**< Shift value for I2C_PCONT */
  255. #define _I2C_STATUS_PCONT_MASK 0x10UL /**< Bit mask for I2C_PCONT */
  256. #define _I2C_STATUS_PCONT_DEFAULT 0x00000000UL /**< Mode DEFAULT for I2C_STATUS */
  257. #define I2C_STATUS_PCONT_DEFAULT (_I2C_STATUS_PCONT_DEFAULT << 4) /**< Shifted mode DEFAULT for I2C_STATUS */
  258. #define I2C_STATUS_PABORT (0x1UL << 5) /**< Pending abort */
  259. #define _I2C_STATUS_PABORT_SHIFT 5 /**< Shift value for I2C_PABORT */
  260. #define _I2C_STATUS_PABORT_MASK 0x20UL /**< Bit mask for I2C_PABORT */
  261. #define _I2C_STATUS_PABORT_DEFAULT 0x00000000UL /**< Mode DEFAULT for I2C_STATUS */
  262. #define I2C_STATUS_PABORT_DEFAULT (_I2C_STATUS_PABORT_DEFAULT << 5) /**< Shifted mode DEFAULT for I2C_STATUS */
  263. #define I2C_STATUS_TXC (0x1UL << 6) /**< TX Complete */
  264. #define _I2C_STATUS_TXC_SHIFT 6 /**< Shift value for I2C_TXC */
  265. #define _I2C_STATUS_TXC_MASK 0x40UL /**< Bit mask for I2C_TXC */
  266. #define _I2C_STATUS_TXC_DEFAULT 0x00000000UL /**< Mode DEFAULT for I2C_STATUS */
  267. #define I2C_STATUS_TXC_DEFAULT (_I2C_STATUS_TXC_DEFAULT << 6) /**< Shifted mode DEFAULT for I2C_STATUS */
  268. #define I2C_STATUS_TXBL (0x1UL << 7) /**< TX Buffer Level */
  269. #define _I2C_STATUS_TXBL_SHIFT 7 /**< Shift value for I2C_TXBL */
  270. #define _I2C_STATUS_TXBL_MASK 0x80UL /**< Bit mask for I2C_TXBL */
  271. #define _I2C_STATUS_TXBL_DEFAULT 0x00000001UL /**< Mode DEFAULT for I2C_STATUS */
  272. #define I2C_STATUS_TXBL_DEFAULT (_I2C_STATUS_TXBL_DEFAULT << 7) /**< Shifted mode DEFAULT for I2C_STATUS */
  273. #define I2C_STATUS_RXDATAV (0x1UL << 8) /**< RX Data Valid */
  274. #define _I2C_STATUS_RXDATAV_SHIFT 8 /**< Shift value for I2C_RXDATAV */
  275. #define _I2C_STATUS_RXDATAV_MASK 0x100UL /**< Bit mask for I2C_RXDATAV */
  276. #define _I2C_STATUS_RXDATAV_DEFAULT 0x00000000UL /**< Mode DEFAULT for I2C_STATUS */
  277. #define I2C_STATUS_RXDATAV_DEFAULT (_I2C_STATUS_RXDATAV_DEFAULT << 8) /**< Shifted mode DEFAULT for I2C_STATUS */
  278. /* Bit fields for I2C CLKDIV */
  279. #define _I2C_CLKDIV_RESETVALUE 0x00000000UL /**< Default value for I2C_CLKDIV */
  280. #define _I2C_CLKDIV_MASK 0x000001FFUL /**< Mask for I2C_CLKDIV */
  281. #define _I2C_CLKDIV_DIV_SHIFT 0 /**< Shift value for I2C_DIV */
  282. #define _I2C_CLKDIV_DIV_MASK 0x1FFUL /**< Bit mask for I2C_DIV */
  283. #define _I2C_CLKDIV_DIV_DEFAULT 0x00000000UL /**< Mode DEFAULT for I2C_CLKDIV */
  284. #define I2C_CLKDIV_DIV_DEFAULT (_I2C_CLKDIV_DIV_DEFAULT << 0) /**< Shifted mode DEFAULT for I2C_CLKDIV */
  285. /* Bit fields for I2C SADDR */
  286. #define _I2C_SADDR_RESETVALUE 0x00000000UL /**< Default value for I2C_SADDR */
  287. #define _I2C_SADDR_MASK 0x000000FEUL /**< Mask for I2C_SADDR */
  288. #define _I2C_SADDR_ADDR_SHIFT 1 /**< Shift value for I2C_ADDR */
  289. #define _I2C_SADDR_ADDR_MASK 0xFEUL /**< Bit mask for I2C_ADDR */
  290. #define _I2C_SADDR_ADDR_DEFAULT 0x00000000UL /**< Mode DEFAULT for I2C_SADDR */
  291. #define I2C_SADDR_ADDR_DEFAULT (_I2C_SADDR_ADDR_DEFAULT << 1) /**< Shifted mode DEFAULT for I2C_SADDR */
  292. /* Bit fields for I2C SADDRMASK */
  293. #define _I2C_SADDRMASK_RESETVALUE 0x00000000UL /**< Default value for I2C_SADDRMASK */
  294. #define _I2C_SADDRMASK_MASK 0x000000FEUL /**< Mask for I2C_SADDRMASK */
  295. #define _I2C_SADDRMASK_MASK_SHIFT 1 /**< Shift value for I2C_MASK */
  296. #define _I2C_SADDRMASK_MASK_MASK 0xFEUL /**< Bit mask for I2C_MASK */
  297. #define _I2C_SADDRMASK_MASK_DEFAULT 0x00000000UL /**< Mode DEFAULT for I2C_SADDRMASK */
  298. #define I2C_SADDRMASK_MASK_DEFAULT (_I2C_SADDRMASK_MASK_DEFAULT << 1) /**< Shifted mode DEFAULT for I2C_SADDRMASK */
  299. /* Bit fields for I2C RXDATA */
  300. #define _I2C_RXDATA_RESETVALUE 0x00000000UL /**< Default value for I2C_RXDATA */
  301. #define _I2C_RXDATA_MASK 0x000000FFUL /**< Mask for I2C_RXDATA */
  302. #define _I2C_RXDATA_RXDATA_SHIFT 0 /**< Shift value for I2C_RXDATA */
  303. #define _I2C_RXDATA_RXDATA_MASK 0xFFUL /**< Bit mask for I2C_RXDATA */
  304. #define _I2C_RXDATA_RXDATA_DEFAULT 0x00000000UL /**< Mode DEFAULT for I2C_RXDATA */
  305. #define I2C_RXDATA_RXDATA_DEFAULT (_I2C_RXDATA_RXDATA_DEFAULT << 0) /**< Shifted mode DEFAULT for I2C_RXDATA */
  306. /* Bit fields for I2C RXDATAP */
  307. #define _I2C_RXDATAP_RESETVALUE 0x00000000UL /**< Default value for I2C_RXDATAP */
  308. #define _I2C_RXDATAP_MASK 0x000000FFUL /**< Mask for I2C_RXDATAP */
  309. #define _I2C_RXDATAP_RXDATAP_SHIFT 0 /**< Shift value for I2C_RXDATAP */
  310. #define _I2C_RXDATAP_RXDATAP_MASK 0xFFUL /**< Bit mask for I2C_RXDATAP */
  311. #define _I2C_RXDATAP_RXDATAP_DEFAULT 0x00000000UL /**< Mode DEFAULT for I2C_RXDATAP */
  312. #define I2C_RXDATAP_RXDATAP_DEFAULT (_I2C_RXDATAP_RXDATAP_DEFAULT << 0) /**< Shifted mode DEFAULT for I2C_RXDATAP */
  313. /* Bit fields for I2C TXDATA */
  314. #define _I2C_TXDATA_RESETVALUE 0x00000000UL /**< Default value for I2C_TXDATA */
  315. #define _I2C_TXDATA_MASK 0x000000FFUL /**< Mask for I2C_TXDATA */
  316. #define _I2C_TXDATA_TXDATA_SHIFT 0 /**< Shift value for I2C_TXDATA */
  317. #define _I2C_TXDATA_TXDATA_MASK 0xFFUL /**< Bit mask for I2C_TXDATA */
  318. #define _I2C_TXDATA_TXDATA_DEFAULT 0x00000000UL /**< Mode DEFAULT for I2C_TXDATA */
  319. #define I2C_TXDATA_TXDATA_DEFAULT (_I2C_TXDATA_TXDATA_DEFAULT << 0) /**< Shifted mode DEFAULT for I2C_TXDATA */
  320. /* Bit fields for I2C IF */
  321. #define _I2C_IF_RESETVALUE 0x00000010UL /**< Default value for I2C_IF */
  322. #define _I2C_IF_MASK 0x0001FFFFUL /**< Mask for I2C_IF */
  323. #define I2C_IF_START (0x1UL << 0) /**< START condition Interrupt Flag */
  324. #define _I2C_IF_START_SHIFT 0 /**< Shift value for I2C_START */
  325. #define _I2C_IF_START_MASK 0x1UL /**< Bit mask for I2C_START */
  326. #define _I2C_IF_START_DEFAULT 0x00000000UL /**< Mode DEFAULT for I2C_IF */
  327. #define I2C_IF_START_DEFAULT (_I2C_IF_START_DEFAULT << 0) /**< Shifted mode DEFAULT for I2C_IF */
  328. #define I2C_IF_RSTART (0x1UL << 1) /**< Repeated START condition Interrupt Flag */
  329. #define _I2C_IF_RSTART_SHIFT 1 /**< Shift value for I2C_RSTART */
  330. #define _I2C_IF_RSTART_MASK 0x2UL /**< Bit mask for I2C_RSTART */
  331. #define _I2C_IF_RSTART_DEFAULT 0x00000000UL /**< Mode DEFAULT for I2C_IF */
  332. #define I2C_IF_RSTART_DEFAULT (_I2C_IF_RSTART_DEFAULT << 1) /**< Shifted mode DEFAULT for I2C_IF */
  333. #define I2C_IF_ADDR (0x1UL << 2) /**< Address Interrupt Flag */
  334. #define _I2C_IF_ADDR_SHIFT 2 /**< Shift value for I2C_ADDR */
  335. #define _I2C_IF_ADDR_MASK 0x4UL /**< Bit mask for I2C_ADDR */
  336. #define _I2C_IF_ADDR_DEFAULT 0x00000000UL /**< Mode DEFAULT for I2C_IF */
  337. #define I2C_IF_ADDR_DEFAULT (_I2C_IF_ADDR_DEFAULT << 2) /**< Shifted mode DEFAULT for I2C_IF */
  338. #define I2C_IF_TXC (0x1UL << 3) /**< Transfer Completed Interrupt Flag */
  339. #define _I2C_IF_TXC_SHIFT 3 /**< Shift value for I2C_TXC */
  340. #define _I2C_IF_TXC_MASK 0x8UL /**< Bit mask for I2C_TXC */
  341. #define _I2C_IF_TXC_DEFAULT 0x00000000UL /**< Mode DEFAULT for I2C_IF */
  342. #define I2C_IF_TXC_DEFAULT (_I2C_IF_TXC_DEFAULT << 3) /**< Shifted mode DEFAULT for I2C_IF */
  343. #define I2C_IF_TXBL (0x1UL << 4) /**< Transmit Buffer Level Interrupt Flag */
  344. #define _I2C_IF_TXBL_SHIFT 4 /**< Shift value for I2C_TXBL */
  345. #define _I2C_IF_TXBL_MASK 0x10UL /**< Bit mask for I2C_TXBL */
  346. #define _I2C_IF_TXBL_DEFAULT 0x00000000UL /**< Mode DEFAULT for I2C_IF */
  347. #define I2C_IF_TXBL_DEFAULT (_I2C_IF_TXBL_DEFAULT << 4) /**< Shifted mode DEFAULT for I2C_IF */
  348. #define I2C_IF_RXDATAV (0x1UL << 5) /**< Receive Data Valid Interrupt Flag */
  349. #define _I2C_IF_RXDATAV_SHIFT 5 /**< Shift value for I2C_RXDATAV */
  350. #define _I2C_IF_RXDATAV_MASK 0x20UL /**< Bit mask for I2C_RXDATAV */
  351. #define _I2C_IF_RXDATAV_DEFAULT 0x00000000UL /**< Mode DEFAULT for I2C_IF */
  352. #define I2C_IF_RXDATAV_DEFAULT (_I2C_IF_RXDATAV_DEFAULT << 5) /**< Shifted mode DEFAULT for I2C_IF */
  353. #define I2C_IF_ACK (0x1UL << 6) /**< Acknowledge Received Interrupt Flag */
  354. #define _I2C_IF_ACK_SHIFT 6 /**< Shift value for I2C_ACK */
  355. #define _I2C_IF_ACK_MASK 0x40UL /**< Bit mask for I2C_ACK */
  356. #define _I2C_IF_ACK_DEFAULT 0x00000000UL /**< Mode DEFAULT for I2C_IF */
  357. #define I2C_IF_ACK_DEFAULT (_I2C_IF_ACK_DEFAULT << 6) /**< Shifted mode DEFAULT for I2C_IF */
  358. #define I2C_IF_NACK (0x1UL << 7) /**< Not Acknowledge Received Interrupt Flag */
  359. #define _I2C_IF_NACK_SHIFT 7 /**< Shift value for I2C_NACK */
  360. #define _I2C_IF_NACK_MASK 0x80UL /**< Bit mask for I2C_NACK */
  361. #define _I2C_IF_NACK_DEFAULT 0x00000000UL /**< Mode DEFAULT for I2C_IF */
  362. #define I2C_IF_NACK_DEFAULT (_I2C_IF_NACK_DEFAULT << 7) /**< Shifted mode DEFAULT for I2C_IF */
  363. #define I2C_IF_MSTOP (0x1UL << 8) /**< Master STOP Condition Interrupt Flag */
  364. #define _I2C_IF_MSTOP_SHIFT 8 /**< Shift value for I2C_MSTOP */
  365. #define _I2C_IF_MSTOP_MASK 0x100UL /**< Bit mask for I2C_MSTOP */
  366. #define _I2C_IF_MSTOP_DEFAULT 0x00000000UL /**< Mode DEFAULT for I2C_IF */
  367. #define I2C_IF_MSTOP_DEFAULT (_I2C_IF_MSTOP_DEFAULT << 8) /**< Shifted mode DEFAULT for I2C_IF */
  368. #define I2C_IF_ARBLOST (0x1UL << 9) /**< Arbitration Lost Interrupt Flag */
  369. #define _I2C_IF_ARBLOST_SHIFT 9 /**< Shift value for I2C_ARBLOST */
  370. #define _I2C_IF_ARBLOST_MASK 0x200UL /**< Bit mask for I2C_ARBLOST */
  371. #define _I2C_IF_ARBLOST_DEFAULT 0x00000000UL /**< Mode DEFAULT for I2C_IF */
  372. #define I2C_IF_ARBLOST_DEFAULT (_I2C_IF_ARBLOST_DEFAULT << 9) /**< Shifted mode DEFAULT for I2C_IF */
  373. #define I2C_IF_BUSERR (0x1UL << 10) /**< Bus Error Interrupt Flag */
  374. #define _I2C_IF_BUSERR_SHIFT 10 /**< Shift value for I2C_BUSERR */
  375. #define _I2C_IF_BUSERR_MASK 0x400UL /**< Bit mask for I2C_BUSERR */
  376. #define _I2C_IF_BUSERR_DEFAULT 0x00000000UL /**< Mode DEFAULT for I2C_IF */
  377. #define I2C_IF_BUSERR_DEFAULT (_I2C_IF_BUSERR_DEFAULT << 10) /**< Shifted mode DEFAULT for I2C_IF */
  378. #define I2C_IF_BUSHOLD (0x1UL << 11) /**< Bus Held Interrupt Flag */
  379. #define _I2C_IF_BUSHOLD_SHIFT 11 /**< Shift value for I2C_BUSHOLD */
  380. #define _I2C_IF_BUSHOLD_MASK 0x800UL /**< Bit mask for I2C_BUSHOLD */
  381. #define _I2C_IF_BUSHOLD_DEFAULT 0x00000000UL /**< Mode DEFAULT for I2C_IF */
  382. #define I2C_IF_BUSHOLD_DEFAULT (_I2C_IF_BUSHOLD_DEFAULT << 11) /**< Shifted mode DEFAULT for I2C_IF */
  383. #define I2C_IF_TXOF (0x1UL << 12) /**< Transmit Buffer Overflow Interrupt Flag */
  384. #define _I2C_IF_TXOF_SHIFT 12 /**< Shift value for I2C_TXOF */
  385. #define _I2C_IF_TXOF_MASK 0x1000UL /**< Bit mask for I2C_TXOF */
  386. #define _I2C_IF_TXOF_DEFAULT 0x00000000UL /**< Mode DEFAULT for I2C_IF */
  387. #define I2C_IF_TXOF_DEFAULT (_I2C_IF_TXOF_DEFAULT << 12) /**< Shifted mode DEFAULT for I2C_IF */
  388. #define I2C_IF_RXUF (0x1UL << 13) /**< Receive Buffer Underflow Interrupt Flag */
  389. #define _I2C_IF_RXUF_SHIFT 13 /**< Shift value for I2C_RXUF */
  390. #define _I2C_IF_RXUF_MASK 0x2000UL /**< Bit mask for I2C_RXUF */
  391. #define _I2C_IF_RXUF_DEFAULT 0x00000000UL /**< Mode DEFAULT for I2C_IF */
  392. #define I2C_IF_RXUF_DEFAULT (_I2C_IF_RXUF_DEFAULT << 13) /**< Shifted mode DEFAULT for I2C_IF */
  393. #define I2C_IF_BITO (0x1UL << 14) /**< Bus Idle Timeout Interrupt Flag */
  394. #define _I2C_IF_BITO_SHIFT 14 /**< Shift value for I2C_BITO */
  395. #define _I2C_IF_BITO_MASK 0x4000UL /**< Bit mask for I2C_BITO */
  396. #define _I2C_IF_BITO_DEFAULT 0x00000000UL /**< Mode DEFAULT for I2C_IF */
  397. #define I2C_IF_BITO_DEFAULT (_I2C_IF_BITO_DEFAULT << 14) /**< Shifted mode DEFAULT for I2C_IF */
  398. #define I2C_IF_CLTO (0x1UL << 15) /**< Clock Low Timeout Interrupt Flag */
  399. #define _I2C_IF_CLTO_SHIFT 15 /**< Shift value for I2C_CLTO */
  400. #define _I2C_IF_CLTO_MASK 0x8000UL /**< Bit mask for I2C_CLTO */
  401. #define _I2C_IF_CLTO_DEFAULT 0x00000000UL /**< Mode DEFAULT for I2C_IF */
  402. #define I2C_IF_CLTO_DEFAULT (_I2C_IF_CLTO_DEFAULT << 15) /**< Shifted mode DEFAULT for I2C_IF */
  403. #define I2C_IF_SSTOP (0x1UL << 16) /**< Slave STOP condition Interrupt Flag */
  404. #define _I2C_IF_SSTOP_SHIFT 16 /**< Shift value for I2C_SSTOP */
  405. #define _I2C_IF_SSTOP_MASK 0x10000UL /**< Bit mask for I2C_SSTOP */
  406. #define _I2C_IF_SSTOP_DEFAULT 0x00000000UL /**< Mode DEFAULT for I2C_IF */
  407. #define I2C_IF_SSTOP_DEFAULT (_I2C_IF_SSTOP_DEFAULT << 16) /**< Shifted mode DEFAULT for I2C_IF */
  408. /* Bit fields for I2C IFS */
  409. #define _I2C_IFS_RESETVALUE 0x00000000UL /**< Default value for I2C_IFS */
  410. #define _I2C_IFS_MASK 0x0001FFFFUL /**< Mask for I2C_IFS */
  411. #define I2C_IFS_START (0x1UL << 0) /**< Set START Interrupt Flag */
  412. #define _I2C_IFS_START_SHIFT 0 /**< Shift value for I2C_START */
  413. #define _I2C_IFS_START_MASK 0x1UL /**< Bit mask for I2C_START */
  414. #define _I2C_IFS_START_DEFAULT 0x00000000UL /**< Mode DEFAULT for I2C_IFS */
  415. #define I2C_IFS_START_DEFAULT (_I2C_IFS_START_DEFAULT << 0) /**< Shifted mode DEFAULT for I2C_IFS */
  416. #define I2C_IFS_RSTART (0x1UL << 1) /**< Set Repeated START Interrupt Flag */
  417. #define _I2C_IFS_RSTART_SHIFT 1 /**< Shift value for I2C_RSTART */
  418. #define _I2C_IFS_RSTART_MASK 0x2UL /**< Bit mask for I2C_RSTART */
  419. #define _I2C_IFS_RSTART_DEFAULT 0x00000000UL /**< Mode DEFAULT for I2C_IFS */
  420. #define I2C_IFS_RSTART_DEFAULT (_I2C_IFS_RSTART_DEFAULT << 1) /**< Shifted mode DEFAULT for I2C_IFS */
  421. #define I2C_IFS_ADDR (0x1UL << 2) /**< Set Address Interrupt Flag */
  422. #define _I2C_IFS_ADDR_SHIFT 2 /**< Shift value for I2C_ADDR */
  423. #define _I2C_IFS_ADDR_MASK 0x4UL /**< Bit mask for I2C_ADDR */
  424. #define _I2C_IFS_ADDR_DEFAULT 0x00000000UL /**< Mode DEFAULT for I2C_IFS */
  425. #define I2C_IFS_ADDR_DEFAULT (_I2C_IFS_ADDR_DEFAULT << 2) /**< Shifted mode DEFAULT for I2C_IFS */
  426. #define I2C_IFS_TXC (0x1UL << 3) /**< Set Transfer Completed Interrupt Flag */
  427. #define _I2C_IFS_TXC_SHIFT 3 /**< Shift value for I2C_TXC */
  428. #define _I2C_IFS_TXC_MASK 0x8UL /**< Bit mask for I2C_TXC */
  429. #define _I2C_IFS_TXC_DEFAULT 0x00000000UL /**< Mode DEFAULT for I2C_IFS */
  430. #define I2C_IFS_TXC_DEFAULT (_I2C_IFS_TXC_DEFAULT << 3) /**< Shifted mode DEFAULT for I2C_IFS */
  431. #define I2C_IFS_ACK (0x1UL << 6) /**< Set Acknowledge Received Interrupt Flag */
  432. #define _I2C_IFS_ACK_SHIFT 6 /**< Shift value for I2C_ACK */
  433. #define _I2C_IFS_ACK_MASK 0x40UL /**< Bit mask for I2C_ACK */
  434. #define _I2C_IFS_ACK_DEFAULT 0x00000000UL /**< Mode DEFAULT for I2C_IFS */
  435. #define I2C_IFS_ACK_DEFAULT (_I2C_IFS_ACK_DEFAULT << 6) /**< Shifted mode DEFAULT for I2C_IFS */
  436. #define I2C_IFS_NACK (0x1UL << 7) /**< Set Not Acknowledge Received Interrupt Flag */
  437. #define _I2C_IFS_NACK_SHIFT 7 /**< Shift value for I2C_NACK */
  438. #define _I2C_IFS_NACK_MASK 0x80UL /**< Bit mask for I2C_NACK */
  439. #define _I2C_IFS_NACK_DEFAULT 0x00000000UL /**< Mode DEFAULT for I2C_IFS */
  440. #define I2C_IFS_NACK_DEFAULT (_I2C_IFS_NACK_DEFAULT << 7) /**< Shifted mode DEFAULT for I2C_IFS */
  441. #define I2C_IFS_MSTOP (0x1UL << 8) /**< Set MSTOP Interrupt Flag */
  442. #define _I2C_IFS_MSTOP_SHIFT 8 /**< Shift value for I2C_MSTOP */
  443. #define _I2C_IFS_MSTOP_MASK 0x100UL /**< Bit mask for I2C_MSTOP */
  444. #define _I2C_IFS_MSTOP_DEFAULT 0x00000000UL /**< Mode DEFAULT for I2C_IFS */
  445. #define I2C_IFS_MSTOP_DEFAULT (_I2C_IFS_MSTOP_DEFAULT << 8) /**< Shifted mode DEFAULT for I2C_IFS */
  446. #define I2C_IFS_ARBLOST (0x1UL << 9) /**< Set Arbitration Lost Interrupt Flag */
  447. #define _I2C_IFS_ARBLOST_SHIFT 9 /**< Shift value for I2C_ARBLOST */
  448. #define _I2C_IFS_ARBLOST_MASK 0x200UL /**< Bit mask for I2C_ARBLOST */
  449. #define _I2C_IFS_ARBLOST_DEFAULT 0x00000000UL /**< Mode DEFAULT for I2C_IFS */
  450. #define I2C_IFS_ARBLOST_DEFAULT (_I2C_IFS_ARBLOST_DEFAULT << 9) /**< Shifted mode DEFAULT for I2C_IFS */
  451. #define I2C_IFS_BUSERR (0x1UL << 10) /**< Set Bus Error Interrupt Flag */
  452. #define _I2C_IFS_BUSERR_SHIFT 10 /**< Shift value for I2C_BUSERR */
  453. #define _I2C_IFS_BUSERR_MASK 0x400UL /**< Bit mask for I2C_BUSERR */
  454. #define _I2C_IFS_BUSERR_DEFAULT 0x00000000UL /**< Mode DEFAULT for I2C_IFS */
  455. #define I2C_IFS_BUSERR_DEFAULT (_I2C_IFS_BUSERR_DEFAULT << 10) /**< Shifted mode DEFAULT for I2C_IFS */
  456. #define I2C_IFS_BUSHOLD (0x1UL << 11) /**< Set Bus Held Interrupt Flag */
  457. #define _I2C_IFS_BUSHOLD_SHIFT 11 /**< Shift value for I2C_BUSHOLD */
  458. #define _I2C_IFS_BUSHOLD_MASK 0x800UL /**< Bit mask for I2C_BUSHOLD */
  459. #define _I2C_IFS_BUSHOLD_DEFAULT 0x00000000UL /**< Mode DEFAULT for I2C_IFS */
  460. #define I2C_IFS_BUSHOLD_DEFAULT (_I2C_IFS_BUSHOLD_DEFAULT << 11) /**< Shifted mode DEFAULT for I2C_IFS */
  461. #define I2C_IFS_TXOF (0x1UL << 12) /**< Set Transmit Buffer Overflow Interrupt Flag */
  462. #define _I2C_IFS_TXOF_SHIFT 12 /**< Shift value for I2C_TXOF */
  463. #define _I2C_IFS_TXOF_MASK 0x1000UL /**< Bit mask for I2C_TXOF */
  464. #define _I2C_IFS_TXOF_DEFAULT 0x00000000UL /**< Mode DEFAULT for I2C_IFS */
  465. #define I2C_IFS_TXOF_DEFAULT (_I2C_IFS_TXOF_DEFAULT << 12) /**< Shifted mode DEFAULT for I2C_IFS */
  466. #define I2C_IFS_RXUF (0x1UL << 13) /**< Set Receive Buffer Underflow Interrupt Flag */
  467. #define _I2C_IFS_RXUF_SHIFT 13 /**< Shift value for I2C_RXUF */
  468. #define _I2C_IFS_RXUF_MASK 0x2000UL /**< Bit mask for I2C_RXUF */
  469. #define _I2C_IFS_RXUF_DEFAULT 0x00000000UL /**< Mode DEFAULT for I2C_IFS */
  470. #define I2C_IFS_RXUF_DEFAULT (_I2C_IFS_RXUF_DEFAULT << 13) /**< Shifted mode DEFAULT for I2C_IFS */
  471. #define I2C_IFS_BITO (0x1UL << 14) /**< Set Bus Idle Timeout Interrupt Flag */
  472. #define _I2C_IFS_BITO_SHIFT 14 /**< Shift value for I2C_BITO */
  473. #define _I2C_IFS_BITO_MASK 0x4000UL /**< Bit mask for I2C_BITO */
  474. #define _I2C_IFS_BITO_DEFAULT 0x00000000UL /**< Mode DEFAULT for I2C_IFS */
  475. #define I2C_IFS_BITO_DEFAULT (_I2C_IFS_BITO_DEFAULT << 14) /**< Shifted mode DEFAULT for I2C_IFS */
  476. #define I2C_IFS_CLTO (0x1UL << 15) /**< Set Clock Low Interrupt Flag */
  477. #define _I2C_IFS_CLTO_SHIFT 15 /**< Shift value for I2C_CLTO */
  478. #define _I2C_IFS_CLTO_MASK 0x8000UL /**< Bit mask for I2C_CLTO */
  479. #define _I2C_IFS_CLTO_DEFAULT 0x00000000UL /**< Mode DEFAULT for I2C_IFS */
  480. #define I2C_IFS_CLTO_DEFAULT (_I2C_IFS_CLTO_DEFAULT << 15) /**< Shifted mode DEFAULT for I2C_IFS */
  481. #define I2C_IFS_SSTOP (0x1UL << 16) /**< Set SSTOP Interrupt Flag */
  482. #define _I2C_IFS_SSTOP_SHIFT 16 /**< Shift value for I2C_SSTOP */
  483. #define _I2C_IFS_SSTOP_MASK 0x10000UL /**< Bit mask for I2C_SSTOP */
  484. #define _I2C_IFS_SSTOP_DEFAULT 0x00000000UL /**< Mode DEFAULT for I2C_IFS */
  485. #define I2C_IFS_SSTOP_DEFAULT (_I2C_IFS_SSTOP_DEFAULT << 16) /**< Shifted mode DEFAULT for I2C_IFS */
  486. /* Bit fields for I2C IFC */
  487. #define _I2C_IFC_RESETVALUE 0x00000000UL /**< Default value for I2C_IFC */
  488. #define _I2C_IFC_MASK 0x0001FFFFUL /**< Mask for I2C_IFC */
  489. #define I2C_IFC_START (0x1UL << 0) /**< Clear START Interrupt Flag */
  490. #define _I2C_IFC_START_SHIFT 0 /**< Shift value for I2C_START */
  491. #define _I2C_IFC_START_MASK 0x1UL /**< Bit mask for I2C_START */
  492. #define _I2C_IFC_START_DEFAULT 0x00000000UL /**< Mode DEFAULT for I2C_IFC */
  493. #define I2C_IFC_START_DEFAULT (_I2C_IFC_START_DEFAULT << 0) /**< Shifted mode DEFAULT for I2C_IFC */
  494. #define I2C_IFC_RSTART (0x1UL << 1) /**< Clear Repeated START Interrupt Flag */
  495. #define _I2C_IFC_RSTART_SHIFT 1 /**< Shift value for I2C_RSTART */
  496. #define _I2C_IFC_RSTART_MASK 0x2UL /**< Bit mask for I2C_RSTART */
  497. #define _I2C_IFC_RSTART_DEFAULT 0x00000000UL /**< Mode DEFAULT for I2C_IFC */
  498. #define I2C_IFC_RSTART_DEFAULT (_I2C_IFC_RSTART_DEFAULT << 1) /**< Shifted mode DEFAULT for I2C_IFC */
  499. #define I2C_IFC_ADDR (0x1UL << 2) /**< Clear Address Interrupt Flag */
  500. #define _I2C_IFC_ADDR_SHIFT 2 /**< Shift value for I2C_ADDR */
  501. #define _I2C_IFC_ADDR_MASK 0x4UL /**< Bit mask for I2C_ADDR */
  502. #define _I2C_IFC_ADDR_DEFAULT 0x00000000UL /**< Mode DEFAULT for I2C_IFC */
  503. #define I2C_IFC_ADDR_DEFAULT (_I2C_IFC_ADDR_DEFAULT << 2) /**< Shifted mode DEFAULT for I2C_IFC */
  504. #define I2C_IFC_TXC (0x1UL << 3) /**< Clear Transfer Completed Interrupt Flag */
  505. #define _I2C_IFC_TXC_SHIFT 3 /**< Shift value for I2C_TXC */
  506. #define _I2C_IFC_TXC_MASK 0x8UL /**< Bit mask for I2C_TXC */
  507. #define _I2C_IFC_TXC_DEFAULT 0x00000000UL /**< Mode DEFAULT for I2C_IFC */
  508. #define I2C_IFC_TXC_DEFAULT (_I2C_IFC_TXC_DEFAULT << 3) /**< Shifted mode DEFAULT for I2C_IFC */
  509. #define I2C_IFC_ACK (0x1UL << 6) /**< Clear Acknowledge Received Interrupt Flag */
  510. #define _I2C_IFC_ACK_SHIFT 6 /**< Shift value for I2C_ACK */
  511. #define _I2C_IFC_ACK_MASK 0x40UL /**< Bit mask for I2C_ACK */
  512. #define _I2C_IFC_ACK_DEFAULT 0x00000000UL /**< Mode DEFAULT for I2C_IFC */
  513. #define I2C_IFC_ACK_DEFAULT (_I2C_IFC_ACK_DEFAULT << 6) /**< Shifted mode DEFAULT for I2C_IFC */
  514. #define I2C_IFC_NACK (0x1UL << 7) /**< Clear Not Acknowledge Received Interrupt Flag */
  515. #define _I2C_IFC_NACK_SHIFT 7 /**< Shift value for I2C_NACK */
  516. #define _I2C_IFC_NACK_MASK 0x80UL /**< Bit mask for I2C_NACK */
  517. #define _I2C_IFC_NACK_DEFAULT 0x00000000UL /**< Mode DEFAULT for I2C_IFC */
  518. #define I2C_IFC_NACK_DEFAULT (_I2C_IFC_NACK_DEFAULT << 7) /**< Shifted mode DEFAULT for I2C_IFC */
  519. #define I2C_IFC_MSTOP (0x1UL << 8) /**< Clear MSTOP Interrupt Flag */
  520. #define _I2C_IFC_MSTOP_SHIFT 8 /**< Shift value for I2C_MSTOP */
  521. #define _I2C_IFC_MSTOP_MASK 0x100UL /**< Bit mask for I2C_MSTOP */
  522. #define _I2C_IFC_MSTOP_DEFAULT 0x00000000UL /**< Mode DEFAULT for I2C_IFC */
  523. #define I2C_IFC_MSTOP_DEFAULT (_I2C_IFC_MSTOP_DEFAULT << 8) /**< Shifted mode DEFAULT for I2C_IFC */
  524. #define I2C_IFC_ARBLOST (0x1UL << 9) /**< Clear Arbitration Lost Interrupt Flag */
  525. #define _I2C_IFC_ARBLOST_SHIFT 9 /**< Shift value for I2C_ARBLOST */
  526. #define _I2C_IFC_ARBLOST_MASK 0x200UL /**< Bit mask for I2C_ARBLOST */
  527. #define _I2C_IFC_ARBLOST_DEFAULT 0x00000000UL /**< Mode DEFAULT for I2C_IFC */
  528. #define I2C_IFC_ARBLOST_DEFAULT (_I2C_IFC_ARBLOST_DEFAULT << 9) /**< Shifted mode DEFAULT for I2C_IFC */
  529. #define I2C_IFC_BUSERR (0x1UL << 10) /**< Clear Bus Error Interrupt Flag */
  530. #define _I2C_IFC_BUSERR_SHIFT 10 /**< Shift value for I2C_BUSERR */
  531. #define _I2C_IFC_BUSERR_MASK 0x400UL /**< Bit mask for I2C_BUSERR */
  532. #define _I2C_IFC_BUSERR_DEFAULT 0x00000000UL /**< Mode DEFAULT for I2C_IFC */
  533. #define I2C_IFC_BUSERR_DEFAULT (_I2C_IFC_BUSERR_DEFAULT << 10) /**< Shifted mode DEFAULT for I2C_IFC */
  534. #define I2C_IFC_BUSHOLD (0x1UL << 11) /**< Clear Bus Held Interrupt Flag */
  535. #define _I2C_IFC_BUSHOLD_SHIFT 11 /**< Shift value for I2C_BUSHOLD */
  536. #define _I2C_IFC_BUSHOLD_MASK 0x800UL /**< Bit mask for I2C_BUSHOLD */
  537. #define _I2C_IFC_BUSHOLD_DEFAULT 0x00000000UL /**< Mode DEFAULT for I2C_IFC */
  538. #define I2C_IFC_BUSHOLD_DEFAULT (_I2C_IFC_BUSHOLD_DEFAULT << 11) /**< Shifted mode DEFAULT for I2C_IFC */
  539. #define I2C_IFC_TXOF (0x1UL << 12) /**< Clear Transmit Buffer Overflow Interrupt Flag */
  540. #define _I2C_IFC_TXOF_SHIFT 12 /**< Shift value for I2C_TXOF */
  541. #define _I2C_IFC_TXOF_MASK 0x1000UL /**< Bit mask for I2C_TXOF */
  542. #define _I2C_IFC_TXOF_DEFAULT 0x00000000UL /**< Mode DEFAULT for I2C_IFC */
  543. #define I2C_IFC_TXOF_DEFAULT (_I2C_IFC_TXOF_DEFAULT << 12) /**< Shifted mode DEFAULT for I2C_IFC */
  544. #define I2C_IFC_RXUF (0x1UL << 13) /**< Clear Receive Buffer Underflow Interrupt Flag */
  545. #define _I2C_IFC_RXUF_SHIFT 13 /**< Shift value for I2C_RXUF */
  546. #define _I2C_IFC_RXUF_MASK 0x2000UL /**< Bit mask for I2C_RXUF */
  547. #define _I2C_IFC_RXUF_DEFAULT 0x00000000UL /**< Mode DEFAULT for I2C_IFC */
  548. #define I2C_IFC_RXUF_DEFAULT (_I2C_IFC_RXUF_DEFAULT << 13) /**< Shifted mode DEFAULT for I2C_IFC */
  549. #define I2C_IFC_BITO (0x1UL << 14) /**< Clear Bus Idle Timeout Interrupt Flag */
  550. #define _I2C_IFC_BITO_SHIFT 14 /**< Shift value for I2C_BITO */
  551. #define _I2C_IFC_BITO_MASK 0x4000UL /**< Bit mask for I2C_BITO */
  552. #define _I2C_IFC_BITO_DEFAULT 0x00000000UL /**< Mode DEFAULT for I2C_IFC */
  553. #define I2C_IFC_BITO_DEFAULT (_I2C_IFC_BITO_DEFAULT << 14) /**< Shifted mode DEFAULT for I2C_IFC */
  554. #define I2C_IFC_CLTO (0x1UL << 15) /**< Clear Clock Low Interrupt Flag */
  555. #define _I2C_IFC_CLTO_SHIFT 15 /**< Shift value for I2C_CLTO */
  556. #define _I2C_IFC_CLTO_MASK 0x8000UL /**< Bit mask for I2C_CLTO */
  557. #define _I2C_IFC_CLTO_DEFAULT 0x00000000UL /**< Mode DEFAULT for I2C_IFC */
  558. #define I2C_IFC_CLTO_DEFAULT (_I2C_IFC_CLTO_DEFAULT << 15) /**< Shifted mode DEFAULT for I2C_IFC */
  559. #define I2C_IFC_SSTOP (0x1UL << 16) /**< Clear SSTOP Interrupt Flag */
  560. #define _I2C_IFC_SSTOP_SHIFT 16 /**< Shift value for I2C_SSTOP */
  561. #define _I2C_IFC_SSTOP_MASK 0x10000UL /**< Bit mask for I2C_SSTOP */
  562. #define _I2C_IFC_SSTOP_DEFAULT 0x00000000UL /**< Mode DEFAULT for I2C_IFC */
  563. #define I2C_IFC_SSTOP_DEFAULT (_I2C_IFC_SSTOP_DEFAULT << 16) /**< Shifted mode DEFAULT for I2C_IFC */
  564. /* Bit fields for I2C IEN */
  565. #define _I2C_IEN_RESETVALUE 0x00000000UL /**< Default value for I2C_IEN */
  566. #define _I2C_IEN_MASK 0x0001FFFFUL /**< Mask for I2C_IEN */
  567. #define I2C_IEN_START (0x1UL << 0) /**< START Condition Interrupt Enable */
  568. #define _I2C_IEN_START_SHIFT 0 /**< Shift value for I2C_START */
  569. #define _I2C_IEN_START_MASK 0x1UL /**< Bit mask for I2C_START */
  570. #define _I2C_IEN_START_DEFAULT 0x00000000UL /**< Mode DEFAULT for I2C_IEN */
  571. #define I2C_IEN_START_DEFAULT (_I2C_IEN_START_DEFAULT << 0) /**< Shifted mode DEFAULT for I2C_IEN */
  572. #define I2C_IEN_RSTART (0x1UL << 1) /**< Repeated START condition Interrupt Enable */
  573. #define _I2C_IEN_RSTART_SHIFT 1 /**< Shift value for I2C_RSTART */
  574. #define _I2C_IEN_RSTART_MASK 0x2UL /**< Bit mask for I2C_RSTART */
  575. #define _I2C_IEN_RSTART_DEFAULT 0x00000000UL /**< Mode DEFAULT for I2C_IEN */
  576. #define I2C_IEN_RSTART_DEFAULT (_I2C_IEN_RSTART_DEFAULT << 1) /**< Shifted mode DEFAULT for I2C_IEN */
  577. #define I2C_IEN_ADDR (0x1UL << 2) /**< Address Interrupt Enable */
  578. #define _I2C_IEN_ADDR_SHIFT 2 /**< Shift value for I2C_ADDR */
  579. #define _I2C_IEN_ADDR_MASK 0x4UL /**< Bit mask for I2C_ADDR */
  580. #define _I2C_IEN_ADDR_DEFAULT 0x00000000UL /**< Mode DEFAULT for I2C_IEN */
  581. #define I2C_IEN_ADDR_DEFAULT (_I2C_IEN_ADDR_DEFAULT << 2) /**< Shifted mode DEFAULT for I2C_IEN */
  582. #define I2C_IEN_TXC (0x1UL << 3) /**< Transfer Completed Interrupt Enable */
  583. #define _I2C_IEN_TXC_SHIFT 3 /**< Shift value for I2C_TXC */
  584. #define _I2C_IEN_TXC_MASK 0x8UL /**< Bit mask for I2C_TXC */
  585. #define _I2C_IEN_TXC_DEFAULT 0x00000000UL /**< Mode DEFAULT for I2C_IEN */
  586. #define I2C_IEN_TXC_DEFAULT (_I2C_IEN_TXC_DEFAULT << 3) /**< Shifted mode DEFAULT for I2C_IEN */
  587. #define I2C_IEN_TXBL (0x1UL << 4) /**< Transmit Buffer level Interrupt Enable */
  588. #define _I2C_IEN_TXBL_SHIFT 4 /**< Shift value for I2C_TXBL */
  589. #define _I2C_IEN_TXBL_MASK 0x10UL /**< Bit mask for I2C_TXBL */
  590. #define _I2C_IEN_TXBL_DEFAULT 0x00000000UL /**< Mode DEFAULT for I2C_IEN */
  591. #define I2C_IEN_TXBL_DEFAULT (_I2C_IEN_TXBL_DEFAULT << 4) /**< Shifted mode DEFAULT for I2C_IEN */
  592. #define I2C_IEN_RXDATAV (0x1UL << 5) /**< Receive Data Valid Interrupt Enable */
  593. #define _I2C_IEN_RXDATAV_SHIFT 5 /**< Shift value for I2C_RXDATAV */
  594. #define _I2C_IEN_RXDATAV_MASK 0x20UL /**< Bit mask for I2C_RXDATAV */
  595. #define _I2C_IEN_RXDATAV_DEFAULT 0x00000000UL /**< Mode DEFAULT for I2C_IEN */
  596. #define I2C_IEN_RXDATAV_DEFAULT (_I2C_IEN_RXDATAV_DEFAULT << 5) /**< Shifted mode DEFAULT for I2C_IEN */
  597. #define I2C_IEN_ACK (0x1UL << 6) /**< Acknowledge Received Interrupt Enable */
  598. #define _I2C_IEN_ACK_SHIFT 6 /**< Shift value for I2C_ACK */
  599. #define _I2C_IEN_ACK_MASK 0x40UL /**< Bit mask for I2C_ACK */
  600. #define _I2C_IEN_ACK_DEFAULT 0x00000000UL /**< Mode DEFAULT for I2C_IEN */
  601. #define I2C_IEN_ACK_DEFAULT (_I2C_IEN_ACK_DEFAULT << 6) /**< Shifted mode DEFAULT for I2C_IEN */
  602. #define I2C_IEN_NACK (0x1UL << 7) /**< Not Acknowledge Received Interrupt Enable */
  603. #define _I2C_IEN_NACK_SHIFT 7 /**< Shift value for I2C_NACK */
  604. #define _I2C_IEN_NACK_MASK 0x80UL /**< Bit mask for I2C_NACK */
  605. #define _I2C_IEN_NACK_DEFAULT 0x00000000UL /**< Mode DEFAULT for I2C_IEN */
  606. #define I2C_IEN_NACK_DEFAULT (_I2C_IEN_NACK_DEFAULT << 7) /**< Shifted mode DEFAULT for I2C_IEN */
  607. #define I2C_IEN_MSTOP (0x1UL << 8) /**< MSTOP Interrupt Enable */
  608. #define _I2C_IEN_MSTOP_SHIFT 8 /**< Shift value for I2C_MSTOP */
  609. #define _I2C_IEN_MSTOP_MASK 0x100UL /**< Bit mask for I2C_MSTOP */
  610. #define _I2C_IEN_MSTOP_DEFAULT 0x00000000UL /**< Mode DEFAULT for I2C_IEN */
  611. #define I2C_IEN_MSTOP_DEFAULT (_I2C_IEN_MSTOP_DEFAULT << 8) /**< Shifted mode DEFAULT for I2C_IEN */
  612. #define I2C_IEN_ARBLOST (0x1UL << 9) /**< Arbitration Lost Interrupt Enable */
  613. #define _I2C_IEN_ARBLOST_SHIFT 9 /**< Shift value for I2C_ARBLOST */
  614. #define _I2C_IEN_ARBLOST_MASK 0x200UL /**< Bit mask for I2C_ARBLOST */
  615. #define _I2C_IEN_ARBLOST_DEFAULT 0x00000000UL /**< Mode DEFAULT for I2C_IEN */
  616. #define I2C_IEN_ARBLOST_DEFAULT (_I2C_IEN_ARBLOST_DEFAULT << 9) /**< Shifted mode DEFAULT for I2C_IEN */
  617. #define I2C_IEN_BUSERR (0x1UL << 10) /**< Bus Error Interrupt Enable */
  618. #define _I2C_IEN_BUSERR_SHIFT 10 /**< Shift value for I2C_BUSERR */
  619. #define _I2C_IEN_BUSERR_MASK 0x400UL /**< Bit mask for I2C_BUSERR */
  620. #define _I2C_IEN_BUSERR_DEFAULT 0x00000000UL /**< Mode DEFAULT for I2C_IEN */
  621. #define I2C_IEN_BUSERR_DEFAULT (_I2C_IEN_BUSERR_DEFAULT << 10) /**< Shifted mode DEFAULT for I2C_IEN */
  622. #define I2C_IEN_BUSHOLD (0x1UL << 11) /**< Bus Held Interrupt Enable */
  623. #define _I2C_IEN_BUSHOLD_SHIFT 11 /**< Shift value for I2C_BUSHOLD */
  624. #define _I2C_IEN_BUSHOLD_MASK 0x800UL /**< Bit mask for I2C_BUSHOLD */
  625. #define _I2C_IEN_BUSHOLD_DEFAULT 0x00000000UL /**< Mode DEFAULT for I2C_IEN */
  626. #define I2C_IEN_BUSHOLD_DEFAULT (_I2C_IEN_BUSHOLD_DEFAULT << 11) /**< Shifted mode DEFAULT for I2C_IEN */
  627. #define I2C_IEN_TXOF (0x1UL << 12) /**< Transmit Buffer Overflow Interrupt Enable */
  628. #define _I2C_IEN_TXOF_SHIFT 12 /**< Shift value for I2C_TXOF */
  629. #define _I2C_IEN_TXOF_MASK 0x1000UL /**< Bit mask for I2C_TXOF */
  630. #define _I2C_IEN_TXOF_DEFAULT 0x00000000UL /**< Mode DEFAULT for I2C_IEN */
  631. #define I2C_IEN_TXOF_DEFAULT (_I2C_IEN_TXOF_DEFAULT << 12) /**< Shifted mode DEFAULT for I2C_IEN */
  632. #define I2C_IEN_RXUF (0x1UL << 13) /**< Receive Buffer Underflow Interrupt Enable */
  633. #define _I2C_IEN_RXUF_SHIFT 13 /**< Shift value for I2C_RXUF */
  634. #define _I2C_IEN_RXUF_MASK 0x2000UL /**< Bit mask for I2C_RXUF */
  635. #define _I2C_IEN_RXUF_DEFAULT 0x00000000UL /**< Mode DEFAULT for I2C_IEN */
  636. #define I2C_IEN_RXUF_DEFAULT (_I2C_IEN_RXUF_DEFAULT << 13) /**< Shifted mode DEFAULT for I2C_IEN */
  637. #define I2C_IEN_BITO (0x1UL << 14) /**< Bus Idle Timeout Interrupt Enable */
  638. #define _I2C_IEN_BITO_SHIFT 14 /**< Shift value for I2C_BITO */
  639. #define _I2C_IEN_BITO_MASK 0x4000UL /**< Bit mask for I2C_BITO */
  640. #define _I2C_IEN_BITO_DEFAULT 0x00000000UL /**< Mode DEFAULT for I2C_IEN */
  641. #define I2C_IEN_BITO_DEFAULT (_I2C_IEN_BITO_DEFAULT << 14) /**< Shifted mode DEFAULT for I2C_IEN */
  642. #define I2C_IEN_CLTO (0x1UL << 15) /**< Clock Low Interrupt Enable */
  643. #define _I2C_IEN_CLTO_SHIFT 15 /**< Shift value for I2C_CLTO */
  644. #define _I2C_IEN_CLTO_MASK 0x8000UL /**< Bit mask for I2C_CLTO */
  645. #define _I2C_IEN_CLTO_DEFAULT 0x00000000UL /**< Mode DEFAULT for I2C_IEN */
  646. #define I2C_IEN_CLTO_DEFAULT (_I2C_IEN_CLTO_DEFAULT << 15) /**< Shifted mode DEFAULT for I2C_IEN */
  647. #define I2C_IEN_SSTOP (0x1UL << 16) /**< SSTOP Interrupt Enable */
  648. #define _I2C_IEN_SSTOP_SHIFT 16 /**< Shift value for I2C_SSTOP */
  649. #define _I2C_IEN_SSTOP_MASK 0x10000UL /**< Bit mask for I2C_SSTOP */
  650. #define _I2C_IEN_SSTOP_DEFAULT 0x00000000UL /**< Mode DEFAULT for I2C_IEN */
  651. #define I2C_IEN_SSTOP_DEFAULT (_I2C_IEN_SSTOP_DEFAULT << 16) /**< Shifted mode DEFAULT for I2C_IEN */
  652. /* Bit fields for I2C ROUTE */
  653. #define _I2C_ROUTE_RESETVALUE 0x00000000UL /**< Default value for I2C_ROUTE */
  654. #define _I2C_ROUTE_MASK 0x00000703UL /**< Mask for I2C_ROUTE */
  655. #define I2C_ROUTE_SDAPEN (0x1UL << 0) /**< SDA Pin Enable */
  656. #define _I2C_ROUTE_SDAPEN_SHIFT 0 /**< Shift value for I2C_SDAPEN */
  657. #define _I2C_ROUTE_SDAPEN_MASK 0x1UL /**< Bit mask for I2C_SDAPEN */
  658. #define _I2C_ROUTE_SDAPEN_DEFAULT 0x00000000UL /**< Mode DEFAULT for I2C_ROUTE */
  659. #define I2C_ROUTE_SDAPEN_DEFAULT (_I2C_ROUTE_SDAPEN_DEFAULT << 0) /**< Shifted mode DEFAULT for I2C_ROUTE */
  660. #define I2C_ROUTE_SCLPEN (0x1UL << 1) /**< SCL Pin Enable */
  661. #define _I2C_ROUTE_SCLPEN_SHIFT 1 /**< Shift value for I2C_SCLPEN */
  662. #define _I2C_ROUTE_SCLPEN_MASK 0x2UL /**< Bit mask for I2C_SCLPEN */
  663. #define _I2C_ROUTE_SCLPEN_DEFAULT 0x00000000UL /**< Mode DEFAULT for I2C_ROUTE */
  664. #define I2C_ROUTE_SCLPEN_DEFAULT (_I2C_ROUTE_SCLPEN_DEFAULT << 1) /**< Shifted mode DEFAULT for I2C_ROUTE */
  665. #define _I2C_ROUTE_LOCATION_SHIFT 8 /**< Shift value for I2C_LOCATION */
  666. #define _I2C_ROUTE_LOCATION_MASK 0x700UL /**< Bit mask for I2C_LOCATION */
  667. #define _I2C_ROUTE_LOCATION_LOC0 0x00000000UL /**< Mode LOC0 for I2C_ROUTE */
  668. #define _I2C_ROUTE_LOCATION_LOC1 0x00000001UL /**< Mode LOC1 for I2C_ROUTE */
  669. #define _I2C_ROUTE_LOCATION_LOC2 0x00000002UL /**< Mode LOC2 for I2C_ROUTE */
  670. #define _I2C_ROUTE_LOCATION_LOC3 0x00000003UL /**< Mode LOC3 for I2C_ROUTE */
  671. #define _I2C_ROUTE_LOCATION_LOC4 0x00000004UL /**< Mode LOC4 for I2C_ROUTE */
  672. #define _I2C_ROUTE_LOCATION_LOC5 0x00000005UL /**< Mode LOC5 for I2C_ROUTE */
  673. #define _I2C_ROUTE_LOCATION_LOC6 0x00000006UL /**< Mode LOC6 for I2C_ROUTE */
  674. #define I2C_ROUTE_LOCATION_LOC0 (_I2C_ROUTE_LOCATION_LOC0 << 8) /**< Shifted mode LOC0 for I2C_ROUTE */
  675. #define I2C_ROUTE_LOCATION_LOC1 (_I2C_ROUTE_LOCATION_LOC1 << 8) /**< Shifted mode LOC1 for I2C_ROUTE */
  676. #define I2C_ROUTE_LOCATION_LOC2 (_I2C_ROUTE_LOCATION_LOC2 << 8) /**< Shifted mode LOC2 for I2C_ROUTE */
  677. #define I2C_ROUTE_LOCATION_LOC3 (_I2C_ROUTE_LOCATION_LOC3 << 8) /**< Shifted mode LOC3 for I2C_ROUTE */
  678. #define I2C_ROUTE_LOCATION_LOC4 (_I2C_ROUTE_LOCATION_LOC4 << 8) /**< Shifted mode LOC4 for I2C_ROUTE */
  679. #define I2C_ROUTE_LOCATION_LOC5 (_I2C_ROUTE_LOCATION_LOC5 << 8) /**< Shifted mode LOC5 for I2C_ROUTE */
  680. #define I2C_ROUTE_LOCATION_LOC6 (_I2C_ROUTE_LOCATION_LOC6 << 8) /**< Shifted mode LOC6 for I2C_ROUTE */
  681. /** @} End of group EFM32GG_I2C */