nu_sys.h 56 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838
  1. /**************************************************************************//**
  2. * @file sys.h
  3. * @brief SYS driver header file
  4. *
  5. * SPDX-License-Identifier: Apache-2.0
  6. * @copyright (C) 2018 Nuvoton Technology Corp. All rights reserved.
  7. *****************************************************************************/
  8. #ifndef __NU_SYS_H__
  9. #define __NU_SYS_H__
  10. #ifdef __cplusplus
  11. extern "C"
  12. {
  13. #endif
  14. /** @addtogroup Standard_Driver Standard Driver
  15. @{
  16. */
  17. /** @addtogroup SYS_Driver SYS Driver
  18. @{
  19. */
  20. /** @addtogroup SYS_EXPORTED_CONSTANTS SYS Exported Constants
  21. @{
  22. */
  23. /**
  24. * @details Interrupt Number Definition.
  25. */
  26. typedef enum IRQn
  27. {
  28. IRQ_WDT = 1, // Watch Dog Timer
  29. IRQ_WWDT = 2, // Windowed-WDT Interrupt
  30. IRQ_LVD = 3, // LVD Interrupt
  31. IRQ_EXTI0 = 4, // External Interrupt 0
  32. IRQ_EXTI1 = 5, // External Interrupt 1
  33. IRQ_EXTI2 = 6, // External Interrupt 2
  34. IRQ_EXTI3 = 7, // External Interrupt 3
  35. IRQ_GPA = 8, // GPA Interrupt
  36. IRQ_GPB = 9, // GPB Interrupt
  37. IRQ_GPC = 10, // GPC Interrupt
  38. IRQ_GPD = 11, // GPD Interrupt
  39. IRQ_I2S = 12, // I2S Interrupt
  40. IRQ_CAP0 = 14, // Sensor Interface Controller Interrupt
  41. IRQ_RTC = 15, // RTC interrupt
  42. IRQ_TIMER0 = 16, // Timer 0 interrupt
  43. IRQ_TIMER1 = 17, // Timer 1 interrupt
  44. IRQ_ADC = 18, // ADC interrupt
  45. IRQ_EMC0_RX = 19, // EMC 0 RX Interrupt
  46. IRQ_EMC1_RX = 20, // EMC 1 RX Interrupt
  47. IRQ_EMC0_TX = 21, // EMC 0 TX Interrupt
  48. IRQ_EMC1_TX = 22, // EMC 1 TX Interrupt
  49. IRQ_EHCI = 23, // USB 2.0 Host Controller Interrupt
  50. IRQ_OHCI = 24, // USB 1.1 Host Controller Interrupt
  51. IRQ_PDMA0 = 25, // PDMA Channel 0 Interrupt
  52. IRQ_PDMA1 = 26, // PDMA Channel 1 Interrupt
  53. IRQ_SDH = 27, // SD Host Interrupt
  54. IRQ_FMI = 28, // NAND/eMMC Interrupt
  55. IRQ_UDC = 29, // USB Device Controller Interrupt
  56. IRQ_TIMER2 = 30, // Timer 2 interrupt
  57. IRQ_TIMER3 = 31, // Timer 3 interrupt
  58. IRQ_TIMER4 = 32, // Timer 4 interrupt
  59. IRQ_CAP1 = 33, // VCAP1 Engine Interrupt
  60. IRQ_TIMER5 = 34, // Timer 5 interrupt
  61. IRQ_CRYPTO = 35, // CRYPTO Engine Interrupt
  62. IRQ_UART0 = 36, // UART 0 interrupt
  63. IRQ_UART1 = 37, // UART 1 interrupt
  64. IRQ_UART2 = 38, // UART 2 interrupt
  65. IRQ_UART4 = 39, // UART 4 interrupt
  66. IRQ_UART6 = 40, // UART 6 interrupt
  67. IRQ_UART8 = 41, // UART 8 interrupt
  68. IRQ_CAN3 = 42, // CAN 3 interrupt
  69. IRQ_UART3 = 43, // UART 3 interrupt
  70. IRQ_UART5 = 44, // UART 5 interrupt
  71. IRQ_UART7 = 45, // UART 7 interrupt
  72. IRQ_UART9 = 46, // UART 9 interrupt
  73. IRQ_I2C2 = 47, // I2C 2 interrupt
  74. IRQ_I2C3 = 48, // I2C 3 interrupt
  75. IRQ_GPE = 49, // GPE interrupt
  76. IRQ_SPI1 = 50, // SPI 1 interrupt
  77. IRQ_QSPI0 = 51, // QSPI 0 interrupt
  78. IRQ_SPI0 = 52, // SPI 0 interrupt
  79. IRQ_I2C0 = 53, // I2C 0 Interrupt
  80. IRQ_I2C1 = 54, // I2C 1 Interrupt
  81. IRQ_SMC0 = 55, // SmartCard 0 Interrupt
  82. IRQ_SMC1 = 56, // SmartCard 1 Interrupt
  83. IRQ_GPF = 57, // GPF interrupt
  84. IRQ_CAN0 = 58, // CAN 0 interrupt
  85. IRQ_CAN1 = 59, // CAN 1 interrupt
  86. IRQ_PWM0 = 60, // PWM 0 interrupt
  87. IRQ_PWM1 = 61, // PWM 1 interrupt
  88. IRQ_CAN2 = 62, // CAN 2 interrupt
  89. IRQ_GPG = 63, // GPG interrupt
  90. }
  91. IRQn_Type;
  92. /* Define constants for use AIC in service parameters. */
  93. #define SYS_SWI 0
  94. #define SYS_D_ABORT 1
  95. #define SYS_I_ABORT 2
  96. #define SYS_UNDEFINE 3
  97. /* The parameters for sysSetInterruptPriorityLevel() and
  98. sysInstallISR() use */
  99. #define FIQ_LEVEL_0 0 /*!< FIQ Level 0 */
  100. #define IRQ_LEVEL_1 1 /*!< IRQ Level 1 */
  101. #define IRQ_LEVEL_2 2 /*!< IRQ Level 2 */
  102. #define IRQ_LEVEL_3 3 /*!< IRQ Level 3 */
  103. #define IRQ_LEVEL_4 4 /*!< IRQ Level 4 */
  104. #define IRQ_LEVEL_5 5 /*!< IRQ Level 5 */
  105. #define IRQ_LEVEL_6 6 /*!< IRQ Level 6 */
  106. #define IRQ_LEVEL_7 7 /*!< IRQ Level 7 */
  107. /* The parameters for sysSetLocalInterrupt() use */
  108. #define ENABLE_IRQ 0x7F /*!< Enable I-bit of CP15 */
  109. #define ENABLE_FIQ 0xBF /*!< Enable F-bit of CP15 */
  110. #define ENABLE_FIQ_IRQ 0x3F /*!< Enable I-bit and F-bit of CP15 */
  111. #define DISABLE_IRQ 0x80 /*!< Disable I-bit of CP15 */
  112. #define DISABLE_FIQ 0x40 /*!< Disable F-bit of CP15 */
  113. #define DISABLE_FIQ_IRQ 0xC0 /*!< Disable I-bit and F-bit of CP15 */
  114. /* Define Cache type */
  115. #define CACHE_WRITE_BACK 0 /*!< Cache Write-back mode */
  116. #define CACHE_WRITE_THROUGH 1 /*!< Cache Write-through mode */
  117. #define CACHE_DISABLE -1 /*!< Cache Disable */
  118. /** \brief Structure type of clock source
  119. */
  120. typedef enum CLKn
  121. {
  122. SYS_UPLL = 1, /*!< UPLL clock */
  123. SYS_APLL = 2, /*!< APLL clock */
  124. SYS_SYSTEM = 3, /*!< System clock */
  125. SYS_HCLK = 4, /*!< HCLK1 clock */
  126. SYS_PCLK01 = 5, /*!< HCLK234 clock */
  127. SYS_PCLK2 = 6, /*!< PCLK clock */
  128. SYS_CPU = 7, /*!< CPU clock */
  129. } CLK_Type;
  130. /* The parameters for sysSetInterruptType() use */
  131. #define LOW_LEVEL_SENSITIVE 0x00
  132. #define HIGH_LEVEL_SENSITIVE 0x40
  133. #define NEGATIVE_EDGE_TRIGGER 0x80
  134. #define POSITIVE_EDGE_TRIGGER 0xC0
  135. /* The parameters for sysSetGlobalInterrupt() use */
  136. #define ENABLE_ALL_INTERRUPTS 0
  137. #define DISABLE_ALL_INTERRUPTS 1
  138. #define MMU_DIRECT_MAPPING 0
  139. /* Define constants for use Cache in service parameters. */
  140. #define I_CACHE 6
  141. #define D_CACHE 7
  142. #define I_D_CACHE 8
  143. /// @endcond HIDDEN_SYMBOLS
  144. /*@}*/ /* end of group SYS_EXPORTED_CONSTANTS */
  145. /*---------------------- System Manger Controller -------------------------*/
  146. /**
  147. @addtogroup SYS System Manger Controller(SYS)
  148. Memory Mapped Structure for SYS Controller
  149. @{ */
  150. #define SYS ((SYS_T *) SYS_BA)
  151. typedef struct
  152. {
  153. __I uint32_t PDID; /* Offset: 0x00 */
  154. __IO uint32_t PWRON; /* Offset: 0x04 */
  155. __IO uint32_t ARBCON; /* Offset: 0x08 */
  156. __I uint32_t RESERVE0[5];
  157. __IO uint32_t LVRDCR; /* Offset: 0x20 */
  158. __I uint32_t RESERVE1[3];
  159. __IO uint32_t MISCFCR; /* Offset: 0x30 */
  160. __I uint32_t RESERVE2[3];
  161. __IO uint32_t MISCIER; /* Offset: 0x40 */
  162. __IO uint32_t MISCISR; /* Offset: 0x44 */
  163. __I uint32_t RESERVE3[2];
  164. __IO uint32_t WKUPSER0; /* Offset: 0x50 */
  165. __IO uint32_t WKUPSER1; /* Offset: 0x54 */
  166. __IO uint32_t WKUPSSR0; /* Offset: 0x58 */
  167. __IO uint32_t WKUPSSR1; /* Offset: 0x5C */
  168. __IO uint32_t AHBIPRST; /* Offset: 0x60 */
  169. __IO uint32_t APBIPRST0; /* Offset: 0x64 */
  170. __IO uint32_t APBIPRST1; /* Offset: 0x68 */
  171. __IO uint32_t RSTSTS; /* Offset: 0x6C */
  172. __IO uint32_t GPA_MFPL; /* Offset: 0x70 */
  173. __IO uint32_t GPA_MFPH; /* Offset: 0x74 */
  174. __IO uint32_t GPB_MFPL; /* Offset: 0x78 */
  175. __IO uint32_t GPB_MFPH; /* Offset: 0x7C */
  176. __IO uint32_t GPC_MFPL; /* Offset: 0x80 */
  177. __IO uint32_t GPC_MFPH; /* Offset: 0x84 */
  178. __IO uint32_t GPD_MFPL; /* Offset: 0x88 */
  179. __IO uint32_t GPD_MFPH; /* Offset: 0x8C */
  180. __IO uint32_t GPE_MFPL; /* Offset: 0x90 */
  181. __IO uint32_t GPE_MFPH; /* Offset: 0x94 */
  182. __IO uint32_t GPF_MFPL; /* Offset: 0x98 */
  183. __IO uint32_t GPF_MFPH; /* Offset: 0x9c */
  184. __IO uint32_t GPG_MFPL; /* Offset: 0xA0 */
  185. __IO uint32_t GPG_MFPH; /* Offset: 0xA4 */
  186. __I uint32_t RESERVE4[18];
  187. __IO uint32_t DDR_DSCTL; /* Offset: 0xF0 */
  188. __I uint32_t RESERVE5[3];
  189. __IO uint32_t PORDISCR; /* Offset: 0x100 */
  190. __IO uint32_t ICEDBGCR; /* Offset: 0x104 */
  191. __IO uint32_t ERRADDCR; /* Offset: 0x108 */
  192. __I uint32_t RESERVE6[59];
  193. __IO uint32_t IRCTCTL; /* Offset: 0x1F8 */
  194. __IO uint32_t REGWPCTL; /* Offset: 0x1FC */
  195. } SYS_T;
  196. /* SYS GPA_MFPL Bit Field Definitions */
  197. #define SYS_GPA_MFPL_PA0MFP_Pos (0) /*!< SYS_T::GPA_MFPL: PA0MFP Position */
  198. #define SYS_GPA_MFPL_PA0MFP_Msk (0xful << SYS_GPA_MFPL_PA0MFP_Pos) /*!< SYS_T::GPA_MFPL: PA0MFP Mask */
  199. #define SYS_GPA_MFPL_PA1MFP_Pos (4) /*!< SYS_T::GPA_MFPL: PA1MFP Position */
  200. #define SYS_GPA_MFPL_PA1MFP_Msk (0xful << SYS_GPA_MFPL_PA1MFP_Pos) /*!< SYS_T::GPA_MFPL: PA1MFP Mask */
  201. #define SYS_GPA_MFPL_PA2MFP_Pos (8) /*!< SYS_T::GPA_MFPL: PA2MFP Position */
  202. #define SYS_GPA_MFPL_PA2MFP_Msk (0xful << SYS_GPA_MFPL_PA2MFP_Pos) /*!< SYS_T::GPA_MFPL: PA2MFP Mask */
  203. #define SYS_GPA_MFPL_PA3MFP_Pos (12) /*!< SYS_T::GPA_MFPL: PA3MFP Position */
  204. #define SYS_GPA_MFPL_PA3MFP_Msk (0xful << SYS_GPA_MFPL_PA3MFP_Pos) /*!< SYS_T::GPA_MFPL: PA3MFP Mask */
  205. #define SYS_GPA_MFPL_PA4MFP_Pos (16) /*!< SYS_T::GPA_MFPL: PA4MFP Position */
  206. #define SYS_GPA_MFPL_PA4MFP_Msk (0xful << SYS_GPA_MFPL_PA4MFP_Pos) /*!< SYS_T::GPA_MFPL: PA4MFP Mask */
  207. #define SYS_GPA_MFPL_PA5MFP_Pos (20) /*!< SYS_T::GPA_MFPL: PA5MFP Position */
  208. #define SYS_GPA_MFPL_PA5MFP_Msk (0xful << SYS_GPA_MFPL_PA5MFP_Pos) /*!< SYS_T::GPA_MFPL: PA5MFP Mask */
  209. #define SYS_GPA_MFPL_PA6MFP_Pos (24) /*!< SYS_T::GPA_MFPL: PA6MFP Position */
  210. #define SYS_GPA_MFPL_PA6MFP_Msk (0xful << SYS_GPA_MFPL_PA6MFP_Pos) /*!< SYS_T::GPA_MFPL: PA6MFP Mask */
  211. #define SYS_GPA_MFPL_PA7MFP_Pos (28) /*!< SYS_T::GPA_MFPL: PA7MFP Position */
  212. #define SYS_GPA_MFPL_PA7MFP_Msk (0xful << SYS_GPA_MFPL_PA7MFP_Pos) /*!< SYS_T::GPA_MFPL: PA7MFP Mask */
  213. /* SYS GPA_MFPH Bit Field Definitions */
  214. #define SYS_GPA_MFPH_PA8MFP_Pos (0) /*!< SYS_T::GPA_MFPH: PA8MFP Position */
  215. #define SYS_GPA_MFPH_PA8MFP_Msk (0xful << SYS_GPA_MFPH_PA8MFP_Pos) /*!< SYS_T::GPA_MFPH: PA8MFP Mask */
  216. #define SYS_GPA_MFPH_PA9MFP_Pos (4) /*!< SYS_T::GPA_MFPH: PA9MFP Position */
  217. #define SYS_GPA_MFPH_PA9MFP_Msk (0xful << SYS_GPA_MFPH_PA9MFP_Pos) /*!< SYS_T::GPA_MFPH: PA9MFP Mask */
  218. #define SYS_GPA_MFPH_PA10MFP_Pos (8) /*!< SYS_T::GPA_MFPH: PA10MFP Position */
  219. #define SYS_GPA_MFPH_PA10MFP_Msk (0xful << SYS_GPA_MFPH_PA10MFP_Pos) /*!< SYS_T::GPA_MFPH: PA10MFP Mask */
  220. #define SYS_GPA_MFPH_PA11MFP_Pos (12) /*!< SYS_T::GPA_MFPH: PA11MFP Position */
  221. #define SYS_GPA_MFPH_PA11MFP_Msk (0xful << SYS_GPA_MFPH_PA11MFP_Pos) /*!< SYS_T::GPA_MFPH: PA11MFP Mask */
  222. #define SYS_GPA_MFPH_PA12MFP_Pos (16) /*!< SYS_T::GPA_MFPH: PA12MFP Position */
  223. #define SYS_GPA_MFPH_PA12MFP_Msk (0xful << SYS_GPA_MFPH_PA12MFP_Pos) /*!< SYS_T::GPA_MFPH: PA12MFP Mask */
  224. #define SYS_GPA_MFPH_PA13MFP_Pos (20) /*!< SYS_T::GPA_MFPH: PA13MFP Position */
  225. #define SYS_GPA_MFPH_PA13MFP_Msk (0xful << SYS_GPA_MFPH_PA13MFP_Pos) /*!< SYS_T::GPA_MFPH: PA13MFP Mask */
  226. #define SYS_GPA_MFPH_PA14MFP_Pos (24) /*!< SYS_T::GPA_MFPH: PA14MFP Position */
  227. #define SYS_GPA_MFPH_PA14MFP_Msk (0xful << SYS_GPA_MFPH_PA14MFP_Pos) /*!< SYS_T::GPA_MFPH: PA14MFP Mask */
  228. #define SYS_GPA_MFPH_PA15MFP_Pos (28) /*!< SYS_T::GPA_MFPH: PA15MFP Position */
  229. #define SYS_GPA_MFPH_PA15MFP_Msk (0xful << SYS_GPA_MFPH_PA15MFP_Pos) /*!< SYS_T::GPA_MFPH: PA15MFP Mask */
  230. /* SYS GPB_MFPL Bit Field Definitions */
  231. #define SYS_GPB_MFPL_PB0MFP_Pos (0) /*!< SYS_T::GPB_MFPL: PB0MFP Position */
  232. #define SYS_GPB_MFPL_PB0MFP_Msk (0xful << SYS_GPB_MFPL_PB0MFP_Pos) /*!< SYS_T::GPB_MFPL: PB0MFP Mask */
  233. #define SYS_GPB_MFPL_PB1MFP_Pos (4) /*!< SYS_T::GPB_MFPL: PB1MFP Position */
  234. #define SYS_GPB_MFPL_PB1MFP_Msk (0xful << SYS_GPB_MFPL_PB1MFP_Pos) /*!< SYS_T::GPB_MFPL: PB1MFP Mask */
  235. #define SYS_GPB_MFPL_PB2MFP_Pos (8) /*!< SYS_T::GPB_MFPL: PB2MFP Position */
  236. #define SYS_GPB_MFPL_PB2MFP_Msk (0xful << SYS_GPB_MFPL_PB2MFP_Pos) /*!< SYS_T::GPB_MFPL: PB2MFP Mask */
  237. #define SYS_GPB_MFPL_PB3MFP_Pos (12) /*!< SYS_T::GPB_MFPL: PB3MFP Position */
  238. #define SYS_GPB_MFPL_PB3MFP_Msk (0xful << SYS_GPB_MFPL_PB3MFP_Pos) /*!< SYS_T::GPB_MFPL: PB3MFP Mask */
  239. #define SYS_GPB_MFPL_PB4MFP_Pos (16) /*!< SYS_T::GPB_MFPL: PB4MFP Position */
  240. #define SYS_GPB_MFPL_PB4MFP_Msk (0xful << SYS_GPB_MFPL_PB4MFP_Pos) /*!< SYS_T::GPB_MFPL: PB4MFP Mask */
  241. #define SYS_GPB_MFPL_PB5MFP_Pos (20) /*!< SYS_T::GPB_MFPL: PB5MFP Position */
  242. #define SYS_GPB_MFPL_PB5MFP_Msk (0xful << SYS_GPB_MFPL_PB5MFP_Pos) /*!< SYS_T::GPB_MFPL: PB5MFP Mask */
  243. #define SYS_GPB_MFPL_PB6MFP_Pos (24) /*!< SYS_T::GPB_MFPL: PB6MFP Position */
  244. #define SYS_GPB_MFPL_PB6MFP_Msk (0xful << SYS_GPB_MFPL_PB6MFP_Pos) /*!< SYS_T::GPB_MFPL: PB6MFP Mask */
  245. #define SYS_GPB_MFPL_PB7MFP_Pos (28) /*!< SYS_T::GPB_MFPL: PB7MFP Position */
  246. #define SYS_GPB_MFPL_PB7MFP_Msk (0xful << SYS_GPB_MFPL_PB7MFP_Pos) /*!< SYS_T::GPB_MFPL: PB7MFP Mask */
  247. /* SYS GPB_MFPH Bit Field Definitions */
  248. #define SYS_GPB_MFPH_PB8MFP_Pos (0) /*!< SYS_T::GPB_MFPH: PB8MFP Position */
  249. #define SYS_GPB_MFPH_PB8MFP_Msk (0xful << SYS_GPB_MFPH_PB8MFP_Pos) /*!< SYS_T::GPB_MFPH: PB8MFP Mask */
  250. #define SYS_GPB_MFPH_PB9MFP_Pos (4) /*!< SYS_T::GPB_MFPH: PB9MFP Position */
  251. #define SYS_GPB_MFPH_PB9MFP_Msk (0xful << SYS_GPB_MFPH_PB9MFP_Pos) /*!< SYS_T::GPB_MFPH: PB9MFP Mask */
  252. #define SYS_GPB_MFPH_PB10MFP_Pos (8) /*!< SYS_T::GPB_MFPH: PB10MFP Position */
  253. #define SYS_GPB_MFPH_PB10MFP_Msk (0xful << SYS_GPB_MFPH_PB10MFP_Pos) /*!< SYS_T::GPB_MFPH: PB10MFP Mask */
  254. #define SYS_GPB_MFPH_PB11MFP_Pos (12) /*!< SYS_T::GPB_MFPH: PB11MFP Position */
  255. #define SYS_GPB_MFPH_PB11MFP_Msk (0xful << SYS_GPB_MFPH_PB11MFP_Pos) /*!< SYS_T::GPB_MFPH: PB11MFP Mask */
  256. #define SYS_GPB_MFPH_PB12MFP_Pos (16) /*!< SYS_T::GPB_MFPH: PB12MFP Position */
  257. #define SYS_GPB_MFPH_PB12MFP_Msk (0xful << SYS_GPB_MFPH_PB12MFP_Pos) /*!< SYS_T::GPB_MFPH: PB12MFP Mask */
  258. #define SYS_GPB_MFPH_PB13MFP_Pos (20) /*!< SYS_T::GPB_MFPH: PB13MFP Position */
  259. #define SYS_GPB_MFPH_PB13MFP_Msk (0xful << SYS_GPB_MFPH_PB13MFP_Pos) /*!< SYS_T::GPB_MFPH: PB13MFP Mask */
  260. #define SYS_GPB_MFPH_PB14MFP_Pos (24) /*!< SYS_T::GPB_MFPH: PB14MFP Position */
  261. #define SYS_GPB_MFPH_PB14MFP_Msk (0xful << SYS_GPB_MFPH_PB14MFP_Pos) /*!< SYS_T::GPB_MFPH: PB14MFP Mask */
  262. #define SYS_GPB_MFPH_PB15MFP_Pos (28) /*!< SYS_T::GPB_MFPH: PB15MFP Position */
  263. #define SYS_GPB_MFPH_PB15MFP_Msk (0xful << SYS_GPB_MFPH_PB15MFP_Pos) /*!< SYS_T::GPB_MFPH: PB15MFP Mask */
  264. /* SYS GPC_MFPL Bit Field Definitions */
  265. #define SYS_GPC_MFPL_PC0MFP_Pos (0) /*!< SYS_T::GPC_MFPL: PC0MFP Position */
  266. #define SYS_GPC_MFPL_PC0MFP_Msk (0xful << SYS_GPC_MFPL_PC0MFP_Pos) /*!< SYS_T::GPC_MFPL: PC0MFP Mask */
  267. #define SYS_GPC_MFPL_PC1MFP_Pos (4) /*!< SYS_T::GPC_MFPL: PC1MFP Position */
  268. #define SYS_GPC_MFPL_PC1MFP_Msk (0xful << SYS_GPC_MFPL_PC1MFP_Pos) /*!< SYS_T::GPC_MFPL: PC1MFP Mask */
  269. #define SYS_GPC_MFPL_PC2MFP_Pos (8) /*!< SYS_T::GPC_MFPL: PC2MFP Position */
  270. #define SYS_GPC_MFPL_PC2MFP_Msk (0xful << SYS_GPC_MFPL_PC2MFP_Pos) /*!< SYS_T::GPC_MFPL: PC2MFP Mask */
  271. #define SYS_GPC_MFPL_PC3MFP_Pos (12) /*!< SYS_T::GPC_MFPL: PC3MFP Position */
  272. #define SYS_GPC_MFPL_PC3MFP_Msk (0xful << SYS_GPC_MFPL_PC3MFP_Pos) /*!< SYS_T::GPC_MFPL: PC3MFP Mask */
  273. #define SYS_GPC_MFPL_PC4MFP_Pos (16) /*!< SYS_T::GPC_MFPL: PC4MFP Position */
  274. #define SYS_GPC_MFPL_PC4MFP_Msk (0xful << SYS_GPC_MFPL_PC4MFP_Pos) /*!< SYS_T::GPC_MFPL: PC4MFP Mask */
  275. #define SYS_GPC_MFPL_PC5MFP_Pos (20) /*!< SYS_T::GPC_MFPL: PC5MFP Position */
  276. #define SYS_GPC_MFPL_PC5MFP_Msk (0xful << SYS_GPC_MFPL_PC5MFP_Pos) /*!< SYS_T::GPC_MFPL: PC5MFP Mask */
  277. #define SYS_GPC_MFPL_PC6MFP_Pos (24) /*!< SYS_T::GPC_MFPL: PC6MFP Position */
  278. #define SYS_GPC_MFPL_PC6MFP_Msk (0xful << SYS_GPC_MFPL_PC6MFP_Pos) /*!< SYS_T::GPC_MFPL: PC6MFP Mask */
  279. #define SYS_GPC_MFPL_PC7MFP_Pos (28) /*!< SYS_T::GPC_MFPL: PC7MFP Position */
  280. #define SYS_GPC_MFPL_PC7MFP_Msk (0xful << SYS_GPC_MFPL_PC7MFP_Pos) /*!< SYS_T::GPC_MFPL: PC7MFP Mask */
  281. /* SYS GPC_MFPH Bit Field Definitions */
  282. #define SYS_GPC_MFPH_PC8MFP_Pos (0) /*!< SYS_T::GPC_MFPH: PC8MFP Position */
  283. #define SYS_GPC_MFPH_PC8MFP_Msk (0xful << SYS_GPC_MFPH_PC8MFP_Pos) /*!< SYS_T::GPC_MFPH: PC8MFP Mask */
  284. #define SYS_GPC_MFPH_PC9MFP_Pos (4) /*!< SYS_T::GPC_MFPH: PC9MFP Position */
  285. #define SYS_GPC_MFPH_PC9MFP_Msk (0xful << SYS_GPC_MFPH_PC9MFP_Pos) /*!< SYS_T::GPC_MFPH: PC9MFP Mask */
  286. #define SYS_GPC_MFPH_PC10MFP_Pos (8) /*!< SYS_T::GPC_MFPH: PC10MFP Position */
  287. #define SYS_GPC_MFPH_PC10MFP_Msk (0xful << SYS_GPC_MFPH_PC10MFP_Pos) /*!< SYS_T::GPC_MFPH: PC10MFP Mask */
  288. #define SYS_GPC_MFPH_PC11MFP_Pos (12) /*!< SYS_T::GPC_MFPH: PC11MFP Position */
  289. #define SYS_GPC_MFPH_PC11MFP_Msk (0xful << SYS_GPC_MFPH_PC11MFP_Pos) /*!< SYS_T::GPC_MFPH: PC11MFP Mask */
  290. #define SYS_GPC_MFPH_PC12MFP_Pos (16) /*!< SYS_T::GPC_MFPH: PC12MFP Position */
  291. #define SYS_GPC_MFPH_PC12MFP_Msk (0xful << SYS_GPC_MFPH_PC12MFP_Pos) /*!< SYS_T::GPC_MFPH: PC12MFP Mask */
  292. #define SYS_GPC_MFPH_PC13MFP_Pos (20) /*!< SYS_T::GPC_MFPH: PC13MFP Position */
  293. #define SYS_GPC_MFPH_PC13MFP_Msk (0xful << SYS_GPC_MFPH_PC13MFP_Pos) /*!< SYS_T::GPC_MFPH: PC13MFP Mask */
  294. #define SYS_GPC_MFPH_PC14MFP_Pos (24) /*!< SYS_T::GPC_MFPH: PC14MFP Position */
  295. #define SYS_GPC_MFPH_PC14MFP_Msk (0xful << SYS_GPC_MFPH_PC14MFP_Pos) /*!< SYS_T::GPC_MFPH: PC14MFP Mask */
  296. #define SYS_GPC_MFPH_PC15MFP_Pos (28) /*!< SYS_T::GPC_MFPH: PC15MFP Position */
  297. #define SYS_GPC_MFPH_PC15MFP_Msk (0xful << SYS_GPC_MFPH_PC15MFP_Pos) /*!< SYS_T::GPC_MFPH: PC15MFP Mask */
  298. /* SYS GPD_MFPL Bit Field Definitions */
  299. #define SYS_GPD_MFPL_PD0MFP_Pos (0) /*!< SYS_T::GPD_MFPL: PD0MFP Position */
  300. #define SYS_GPD_MFPL_PD0MFP_Msk (0xful << SYS_GPD_MFPL_PD0MFP_Pos) /*!< SYS_T::GPD_MFPL: PD0MFP Mask */
  301. #define SYS_GPD_MFPL_PD1MFP_Pos (4) /*!< SYS_T::GPD_MFPL: PD1MFP Position */
  302. #define SYS_GPD_MFPL_PD1MFP_Msk (0xful << SYS_GPD_MFPL_PD1MFP_Pos) /*!< SYS_T::GPD_MFPL: PD1MFP Mask */
  303. #define SYS_GPD_MFPL_PD2MFP_Pos (8) /*!< SYS_T::GPD_MFPL: PD2MFP Position */
  304. #define SYS_GPD_MFPL_PD2MFP_Msk (0xful << SYS_GPD_MFPL_PD2MFP_Pos) /*!< SYS_T::GPD_MFPL: PD2MFP Mask */
  305. #define SYS_GPD_MFPL_PD3MFP_Pos (12) /*!< SYS_T::GPD_MFPL: PD3MFP Position */
  306. #define SYS_GPD_MFPL_PD3MFP_Msk (0xful << SYS_GPD_MFPL_PD3MFP_Pos) /*!< SYS_T::GPD_MFPL: PD3MFP Mask */
  307. #define SYS_GPD_MFPL_PD4MFP_Pos (16) /*!< SYS_T::GPD_MFPL: PD4MFP Position */
  308. #define SYS_GPD_MFPL_PD4MFP_Msk (0xful << SYS_GPD_MFPL_PD4MFP_Pos) /*!< SYS_T::GPD_MFPL: PD4MFP Mask */
  309. #define SYS_GPD_MFPL_PD5MFP_Pos (20) /*!< SYS_T::GPD_MFPL: PD5MFP Position */
  310. #define SYS_GPD_MFPL_PD5MFP_Msk (0xful << SYS_GPD_MFPL_PD5MFP_Pos) /*!< SYS_T::GPD_MFPL: PD5MFP Mask */
  311. #define SYS_GPD_MFPL_PD6MFP_Pos (24) /*!< SYS_T::GPD_MFPL: PD6MFP Position */
  312. #define SYS_GPD_MFPL_PD6MFP_Msk (0xful << SYS_GPD_MFPL_PD6MFP_Pos) /*!< SYS_T::GPD_MFPL: PD6MFP Mask */
  313. #define SYS_GPD_MFPL_PD7MFP_Pos (28) /*!< SYS_T::GPD_MFPL: PD7MFP Position */
  314. #define SYS_GPD_MFPL_PD7MFP_Msk (0xful << SYS_GPD_MFPL_PD7MFP_Pos) /*!< SYS_T::GPD_MFPL: PD7MFP Mask */
  315. /* SYS GPD_MFPH Bit Field Definitions */
  316. #define SYS_GPD_MFPH_PD8MFP_Pos (0) /*!< SYS_T::GPD_MFPH: PD8MFP Position */
  317. #define SYS_GPD_MFPH_PD8MFP_Msk (0xful << SYS_GPD_MFPH_PD8MFP_Pos) /*!< SYS_T::GPD_MFPH: PD8MFP Mask */
  318. #define SYS_GPD_MFPH_PD9MFP_Pos (4) /*!< SYS_T::GPD_MFPH: PD9MFP Position */
  319. #define SYS_GPD_MFPH_PD9MFP_Msk (0xful << SYS_GPD_MFPH_PD9MFP_Pos) /*!< SYS_T::GPD_MFPH: PD9MFP Mask */
  320. #define SYS_GPD_MFPH_PD10MFP_Pos (8) /*!< SYS_T::GPD_MFPH: PD10MFP Position */
  321. #define SYS_GPD_MFPH_PD10MFP_Msk (0xful << SYS_GPD_MFPH_PD10MFP_Pos) /*!< SYS_T::GPD_MFPH: PD10MFP Mask */
  322. #define SYS_GPD_MFPH_PD11MFP_Pos (12) /*!< SYS_T::GPD_MFPH: PD11MFP Position */
  323. #define SYS_GPD_MFPH_PD11MFP_Msk (0xful << SYS_GPD_MFPH_PD11MFP_Pos) /*!< SYS_T::GPD_MFPH: PD11MFP Mask */
  324. #define SYS_GPD_MFPH_PD12MFP_Pos (16) /*!< SYS_T::GPD_MFPH: PD12MFP Position */
  325. #define SYS_GPD_MFPH_PD12MFP_Msk (0xful << SYS_GPD_MFPH_PD12MFP_Pos) /*!< SYS_T::GPD_MFPH: PD12MFP Mask */
  326. #define SYS_GPD_MFPH_PD13MFP_Pos (20) /*!< SYS_T::GPD_MFPH: PD13MFP Position */
  327. #define SYS_GPD_MFPH_PD13MFP_Msk (0xful << SYS_GPD_MFPH_PD13MFP_Pos) /*!< SYS_T::GPD_MFPH: PD13MFP Mask */
  328. #define SYS_GPD_MFPH_PD14MFP_Pos (24) /*!< SYS_T::GPD_MFPH: PD14MFP Position */
  329. #define SYS_GPD_MFPH_PD14MFP_Msk (0xful << SYS_GPD_MFPH_PD14MFP_Pos) /*!< SYS_T::GPD_MFPH: PD14MFP Mask */
  330. #define SYS_GPD_MFPH_PD15MFP_Pos (28) /*!< SYS_T::GPD_MFPH: PD15MFP Position */
  331. #define SYS_GPD_MFPH_PD15MFP_Msk (0xful << SYS_GPD_MFPH_PD15MFP_Pos) /*!< SYS_T::GPD_MFPH: PD15MFP Mask */
  332. /* SYS GPE_MFPL Bit Field Definitions */
  333. #define SYS_GPE_MFPL_PE0MFP_Pos (0) /*!< SYS_T::GPE_MFPL: PE0MFP Position */
  334. #define SYS_GPE_MFPL_PE0MFP_Msk (0xful << SYS_GPE_MFPL_PE0MFP_Pos) /*!< SYS_T::GPE_MFPL: PE0MFP Mask */
  335. #define SYS_GPE_MFPL_PE1MFP_Pos (4) /*!< SYS_T::GPE_MFPL: PE1MFP Position */
  336. #define SYS_GPE_MFPL_PE1MFP_Msk (0xful << SYS_GPE_MFPL_PE1MFP_Pos) /*!< SYS_T::GPE_MFPL: PE1MFP Mask */
  337. #define SYS_GPE_MFPL_PE2MFP_Pos (8) /*!< SYS_T::GPE_MFPL: PE2MFP Position */
  338. #define SYS_GPE_MFPL_PE2MFP_Msk (0xful << SYS_GPE_MFPL_PE2MFP_Pos) /*!< SYS_T::GPE_MFPL: PE2MFP Mask */
  339. #define SYS_GPE_MFPL_PE3MFP_Pos (12) /*!< SYS_T::GPE_MFPL: PE3MFP Position */
  340. #define SYS_GPE_MFPL_PE3MFP_Msk (0xful << SYS_GPE_MFPL_PE3MFP_Pos) /*!< SYS_T::GPE_MFPL: PE3MFP Mask */
  341. #define SYS_GPE_MFPL_PE4MFP_Pos (16) /*!< SYS_T::GPE_MFPL: PE4MFP Position */
  342. #define SYS_GPE_MFPL_PE4MFP_Msk (0xful << SYS_GPE_MFPL_PE4MFP_Pos) /*!< SYS_T::GPE_MFPL: PE4MFP Mask */
  343. #define SYS_GPE_MFPL_PE5MFP_Pos (20) /*!< SYS_T::GPE_MFPL: PE5MFP Position */
  344. #define SYS_GPE_MFPL_PE5MFP_Msk (0xful << SYS_GPE_MFPL_PE5MFP_Pos) /*!< SYS_T::GPE_MFPL: PE5MFP Mask */
  345. #define SYS_GPE_MFPL_PE6MFP_Pos (24) /*!< SYS_T::GPE_MFPL: PE6MFP Position */
  346. #define SYS_GPE_MFPL_PE6MFP_Msk (0xful << SYS_GPE_MFPL_PE6MFP_Pos) /*!< SYS_T::GPE_MFPL: PE6MFP Mask */
  347. #define SYS_GPE_MFPL_PE7MFP_Pos (28) /*!< SYS_T::GPE_MFPL: PE7MFP Position */
  348. #define SYS_GPE_MFPL_PE7MFP_Msk (0xful << SYS_GPE_MFPL_PE7MFP_Pos) /*!< SYS_T::GPE_MFPL: PE7MFP Mask */
  349. /* SYS GPE_MFPH Bit Field Definitions */
  350. #define SYS_GPE_MFPH_PE8MFP_Pos (0) /*!< SYS_T::GPE_MFPH: PE8MFP Position */
  351. #define SYS_GPE_MFPH_PE8MFP_Msk (0xful << SYS_GPE_MFPH_PE8MFP_Pos) /*!< SYS_T::GPE_MFPH: PE8MFP Mask */
  352. #define SYS_GPE_MFPH_PE9MFP_Pos (4) /*!< SYS_T::GPE_MFPH: PE9MFP Position */
  353. #define SYS_GPE_MFPH_PE9MFP_Msk (0xful << SYS_GPE_MFPH_PE9MFP_Pos) /*!< SYS_T::GPE_MFPH: PE9MFP Mask */
  354. #define SYS_GPE_MFPH_PE10MFP_Pos (8) /*!< SYS_T::GPE_MFPH: PE10MFP Position */
  355. #define SYS_GPE_MFPH_PE10MFP_Msk (0xful << SYS_GPE_MFPH_PE10MFP_Pos) /*!< SYS_T::GPE_MFPH: PE10MFP Mask */
  356. #define SYS_GPE_MFPH_PE11MFP_Pos (12) /*!< SYS_T::GPE_MFPH: PE11MFP Position */
  357. #define SYS_GPE_MFPH_PE11MFP_Msk (0xful << SYS_GPE_MFPH_PE11MFP_Pos) /*!< SYS_T::GPE_MFPH: PE11MFP Mask */
  358. #define SYS_GPE_MFPH_PE12MFP_Pos (16) /*!< SYS_T::GPE_MFPH: PE12MFP Position */
  359. #define SYS_GPE_MFPH_PE12MFP_Msk (0xful << SYS_GPE_MFPH_PE12MFP_Pos) /*!< SYS_T::GPE_MFPH: PE12MFP Mask */
  360. #define SYS_GPE_MFPH_PE13MFP_Pos (20) /*!< SYS_T::GPE_MFPH: PE13MFP Position */
  361. #define SYS_GPE_MFPH_PE13MFP_Msk (0xful << SYS_GPE_MFPH_PE13MFP_Pos) /*!< SYS_T::GPE_MFPH: PE13MFP Mask */
  362. #define SYS_GPE_MFPH_PE14MFP_Pos (24) /*!< SYS_T::GPE_MFPH: PE14MFP Position */
  363. #define SYS_GPE_MFPH_PE14MFP_Msk (0xful << SYS_GPE_MFPH_PE14MFP_Pos) /*!< SYS_T::GPE_MFPH: PE14MFP Mask */
  364. #define SYS_GPE_MFPH_PE15MFP_Pos (28) /*!< SYS_T::GPE_MFPH: PE15MFP Position */
  365. #define SYS_GPE_MFPH_PE15MFP_Msk (0xful << SYS_GPE_MFPH_PE15MFP_Pos) /*!< SYS_T::GPE_MFPH: PE15MFP Mask */
  366. /* SYS GPF_MFPL Bit Field Definitions */
  367. #define SYS_GPF_MFPL_PF0MFP_Pos (0) /*!< SYS_T::GPF_MFPL: PF0MFP Position */
  368. #define SYS_GPF_MFPL_PF0MFP_Msk (0xful << SYS_GPF_MFPL_PF0MFP_Pos) /*!< SYS_T::GPF_MFPL: PF0MFP Mask */
  369. #define SYS_GPF_MFPL_PF1MFP_Pos (4) /*!< SYS_T::GPF_MFPL: PF1MFP Position */
  370. #define SYS_GPF_MFPL_PF1MFP_Msk (0xful << SYS_GPF_MFPL_PF1MFP_Pos) /*!< SYS_T::GPF_MFPL: PF1MFP Mask */
  371. #define SYS_GPF_MFPL_PF2MFP_Pos (8) /*!< SYS_T::GPF_MFPL: PF2MFP Position */
  372. #define SYS_GPF_MFPL_PF2MFP_Msk (0xful << SYS_GPF_MFPL_PF2MFP_Pos) /*!< SYS_T::GPF_MFPL: PF2MFP Mask */
  373. #define SYS_GPF_MFPL_PF3MFP_Pos (12) /*!< SYS_T::GPF_MFPL: PF3MFP Position */
  374. #define SYS_GPF_MFPL_PF3MFP_Msk (0xful << SYS_GPF_MFPL_PF3MFP_Pos) /*!< SYS_T::GPF_MFPL: PF3MFP Mask */
  375. #define SYS_GPF_MFPL_PF4MFP_Pos (16) /*!< SYS_T::GPF_MFPL: PF4MFP Position */
  376. #define SYS_GPF_MFPL_PF4MFP_Msk (0xful << SYS_GPF_MFPL_PF4MFP_Pos) /*!< SYS_T::GPF_MFPL: PF4MFP Mask */
  377. #define SYS_GPF_MFPL_PF5MFP_Pos (20) /*!< SYS_T::GPF_MFPL: PF5MFP Position */
  378. #define SYS_GPF_MFPL_PF5MFP_Msk (0xful << SYS_GPF_MFPL_PF5MFP_Pos) /*!< SYS_T::GPF_MFPL: PF5MFP Mask */
  379. #define SYS_GPF_MFPL_PF6MFP_Pos (24) /*!< SYS_T::GPF_MFPL: PF6MFP Position */
  380. #define SYS_GPF_MFPL_PF6MFP_Msk (0xful << SYS_GPF_MFPL_PF6MFP_Pos) /*!< SYS_T::GPF_MFPL: PF6MFP Mask */
  381. #define SYS_GPF_MFPL_PF7MFP_Pos (28) /*!< SYS_T::GPF_MFPL: PF7MFP Position */
  382. #define SYS_GPF_MFPL_PF7MFP_Msk (0xful << SYS_GPF_MFPL_PF7MFP_Pos) /*!< SYS_T::GPF_MFPL: PF7MFP Mask */
  383. /* SYS GPF_MFPH Bit Field Definitions */
  384. #define SYS_GPF_MFPH_PF8MFP_Pos (0) /*!< SYS_T::GPF_MFPH: PF8MFP Position */
  385. #define SYS_GPF_MFPH_PF8MFP_Msk (0xful << SYS_GPF_MFPH_PF8MFP_Pos) /*!< SYS_T::GPF_MFPH: PF8MFP Mask */
  386. #define SYS_GPF_MFPH_PF9MFP_Pos (4) /*!< SYS_T::GPF_MFPH: PF9MFP Position */
  387. #define SYS_GPF_MFPH_PF9MFP_Msk (0xful << SYS_GPF_MFPH_PF9MFP_Pos) /*!< SYS_T::GPF_MFPH: PF9MFP Mask */
  388. #define SYS_GPF_MFPH_PF10MFP_Pos (8) /*!< SYS_T::GPF_MFPH: PF10MFP Position */
  389. #define SYS_GPF_MFPH_PF10MFP_Msk (0xful << SYS_GPF_MFPH_PF10MFP_Pos) /*!< SYS_T::GPF_MFPH: PF10MFP Mask */
  390. #define SYS_GPF_MFPH_PF11MFP_Pos (12) /*!< SYS_T::GPF_MFPH: PF11MFP Position */
  391. #define SYS_GPF_MFPH_PF11MFP_Msk (0xful << SYS_GPF_MFPH_PF11MFP_Pos) /*!< SYS_T::GPF_MFPH: PF11MFP Mask */
  392. #define SYS_GPF_MFPH_PF12MFP_Pos (16) /*!< SYS_T::GPF_MFPH: PF12MFP Position */
  393. #define SYS_GPF_MFPH_PF12MFP_Msk (0xful << SYS_GPF_MFPH_PF12MFP_Pos) /*!< SYS_T::GPF_MFPH: PF12MFP Mask */
  394. #define SYS_GPF_MFPH_PF13MFP_Pos (20) /*!< SYS_T::GPF_MFPH: PF13MFP Position */
  395. #define SYS_GPF_MFPH_PF13MFP_Msk (0xful << SYS_GPF_MFPH_PF13MFP_Pos) /*!< SYS_T::GPF_MFPH: PF13MFP Mask */
  396. #define SYS_GPF_MFPH_PF14MFP_Pos (24) /*!< SYS_T::GPF_MFPH: PF14MFP Position */
  397. #define SYS_GPF_MFPH_PF14MFP_Msk (0xful << SYS_GPF_MFPH_PF14MFP_Pos) /*!< SYS_T::GPF_MFPH: PF14MFP Mask */
  398. #define SYS_GPF_MFPH_PF15MFP_Pos (28) /*!< SYS_T::GPF_MFPH: PF15MFP Position */
  399. #define SYS_GPF_MFPH_PF15MFP_Msk (0xful << SYS_GPF_MFPH_PF15MFP_Pos) /*!< SYS_T::GPF_MFPH: PF15MFP Mask */
  400. /* SYS GPG_MFPL Bit Field Definitions */
  401. #define SYS_GPG_MFPL_PG0MFP_Pos (0) /*!< SYS_T::GPG_MFPL: PG0MFP Position */
  402. #define SYS_GPG_MFPL_PG0MFP_Msk (0xful << SYS_GPG_MFPL_PG0MFP_Pos) /*!< SYS_T::GPG_MFPL: PG0MFP Mask */
  403. #define SYS_GPG_MFPL_PG1MFP_Pos (4) /*!< SYS_T::GPG_MFPL: PG1MFP Position */
  404. #define SYS_GPG_MFPL_PG1MFP_Msk (0xful << SYS_GPG_MFPL_PG1MFP_Pos) /*!< SYS_T::GPG_MFPL: PG1MFP Mask */
  405. #define SYS_GPG_MFPL_PG2MFP_Pos (8) /*!< SYS_T::GPG_MFPL: PG2MFP Position */
  406. #define SYS_GPG_MFPL_PG2MFP_Msk (0xful << SYS_GPG_MFPL_PG2MFP_Pos) /*!< SYS_T::GPG_MFPL: PG2MFP Mask */
  407. #define SYS_GPG_MFPL_PG3MFP_Pos (12) /*!< SYS_T::GPG_MFPL: PG3MFP Position */
  408. #define SYS_GPG_MFPL_PG3MFP_Msk (0xful << SYS_GPG_MFPL_PG3MFP_Pos) /*!< SYS_T::GPG_MFPL: PG3MFP Mask */
  409. #define SYS_GPG_MFPL_PG4MFP_Pos (16) /*!< SYS_T::GPG_MFPL: PG4MFP Position */
  410. #define SYS_GPG_MFPL_PG4MFP_Msk (0xful << SYS_GPG_MFPL_PG4MFP_Pos) /*!< SYS_T::GPG_MFPL: PG4MFP Mask */
  411. #define SYS_GPG_MFPL_PG5MFP_Pos (20) /*!< SYS_T::GPG_MFPL: PG5MFP Position */
  412. #define SYS_GPG_MFPL_PG5MFP_Msk (0xful << SYS_GPG_MFPL_PG5MFP_Pos) /*!< SYS_T::GPG_MFPL: PG5MFP Mask */
  413. #define SYS_GPG_MFPL_PG6MFP_Pos (24) /*!< SYS_T::GPG_MFPL: PG6MFP Position */
  414. #define SYS_GPG_MFPL_PG6MFP_Msk (0xful << SYS_GPG_MFPL_PG6MFP_Pos) /*!< SYS_T::GPG_MFPL: PG6MFP Mask */
  415. #define SYS_GPG_MFPL_PG7MFP_Pos (28) /*!< SYS_T::GPG_MFPL: PG7MFP Position */
  416. #define SYS_GPG_MFPL_PG7MFP_Msk (0xful << SYS_GPG_MFPL_PG7MFP_Pos) /*!< SYS_T::GPG_MFPL: PG7MFP Mask */
  417. /* SYS GPG_MFPH Bit Field Definitions */
  418. #define SYS_GPG_MFPH_PG8MFP_Pos (0) /*!< SYS_T::GPG_MFPH: PG8MFP Position */
  419. #define SYS_GPG_MFPH_PG8MFP_Msk (0xful << SYS_GPG_MFPH_PG8MFP_Pos) /*!< SYS_T::GPG_MFPH: PG8MFP Mask */
  420. #define SYS_GPG_MFPH_PG9MFP_Pos (4) /*!< SYS_T::GPG_MFPH: PG9MFP Position */
  421. #define SYS_GPG_MFPH_PG9MFP_Msk (0xful << SYS_GPG_MFPH_PG9MFP_Pos) /*!< SYS_T::GPG_MFPH: PG9MFP Mask */
  422. #define SYS_GPG_MFPH_PG10MFP_Pos (8) /*!< SYS_T::GPG_MFPH: PG10MFP Position */
  423. #define SYS_GPG_MFPH_PG10MFP_Msk (0xful << SYS_GPG_MFPH_PG10MFP_Pos) /*!< SYS_T::GPG_MFPH: PG10MFP Mask */
  424. #define SYS_GPG_MFPH_PG11MFP_Pos (12) /*!< SYS_T::GPG_MFPH: PG11MFP Position */
  425. #define SYS_GPG_MFPH_PG11MFP_Msk (0xful << SYS_GPG_MFPH_PG11MFP_Pos) /*!< SYS_T::GPG_MFPH: PG11MFP Mask */
  426. #define SYS_GPG_MFPH_PG12MFP_Pos (16) /*!< SYS_T::GPG_MFPH: PG12MFP Position */
  427. #define SYS_GPG_MFPH_PG12MFP_Msk (0xful << SYS_GPG_MFPH_PG12MFP_Pos) /*!< SYS_T::GPG_MFPH: PG12MFP Mask */
  428. #define SYS_GPG_MFPH_PG13MFP_Pos (20) /*!< SYS_T::GPG_MFPH: PG13MFP Position */
  429. #define SYS_GPG_MFPH_PG13MFP_Msk (0xful << SYS_GPG_MFPH_PG13MFP_Pos) /*!< SYS_T::GPG_MFPH: PG13MFP Mask */
  430. #define SYS_GPG_MFPH_PG14MFP_Pos (24) /*!< SYS_T::GPG_MFPH: PG14MFP Position */
  431. #define SYS_GPG_MFPH_PG14MFP_Msk (0xful << SYS_GPG_MFPH_PG14MFP_Pos) /*!< SYS_T::GPG_MFPH: PG14MFP Mask */
  432. #define SYS_GPG_MFPH_PG15MFP_Pos (28) /*!< SYS_T::GPG_MFPH: PG15MFP Position */
  433. #define SYS_GPG_MFPH_PG15MFP_Msk (0xful << SYS_GPG_MFPH_PG15MFP_Pos) /*!< SYS_T::GPG_MFPH: PG15MFP Mask */
  434. /*@}*/ /* end of group NUC980_SYS_EXPORTED_CONSTANTS */
  435. /********************* Bit definition of GPA_MFPL register **********************/
  436. #define SYS_GPA_MFPL_PA0MFP_GPIO (0x00UL<<SYS_GPA_MFPL_PA0MFP_Pos)
  437. #define SYS_GPA_MFPL_PA1MFP_GPIO (0x00UL<<SYS_GPA_MFPL_PA1MFP_Pos)
  438. #define SYS_GPA_MFPL_PA1MFP_EBI_nCS2 (0x01UL<<SYS_GPA_MFPL_PA1MFP_Pos)
  439. #define SYS_GPA_MFPL_PA1MFP_EBI_MCLK (0x02UL<<SYS_GPA_MFPL_PA1MFP_Pos)
  440. #define SYS_GPA_MFPL_PA2MFP_GPIO (0x00UL<<SYS_GPA_MFPL_PA2MFP_Pos)
  441. #define SYS_GPA_MFPL_PA3MFP_GPIO (0x00UL<<SYS_GPA_MFPL_PA3MFP_Pos)
  442. #define SYS_GPA_MFPL_PA4MFP_GPIO (0x00UL<<SYS_GPA_MFPL_PA4MFP_Pos)
  443. #define SYS_GPA_MFPL_PA5MFP_GPIO (0x00UL<<SYS_GPA_MFPL_PA5MFP_Pos)
  444. #define SYS_GPA_MFPL_PA6MFP_GPIO (0x00UL<<SYS_GPA_MFPL_PA6MFP_Pos)
  445. #define SYS_GPA_MFPL_PA6MFP_EBI_nCS1 (0x01UL<<SYS_GPA_MFPL_PA6MFP_Pos)
  446. #define SYS_GPA_MFPL_PA7MFP_GPIO (0x00UL<<SYS_GPA_MFPL_PA7MFP_Pos)
  447. #define SYS_GPA_MFPL_PA7MFP_EBI_nWE (0x01UL<<SYS_GPA_MFPL_PA7MFP_Pos)
  448. /********************* Bit definition of GPA_MFPH register **********************/
  449. #define SYS_GPA_MFPH_PA8MFP_GPIO (0x00UL<<SYS_GPA_MFPH_PA8MFP_Pos)
  450. #define SYS_GPA_MFPH_PA8MFP_EBI_nRE (0x01UL<<SYS_GPA_MFPH_PA8MFP_Pos)
  451. #define SYS_GPA_MFPH_PA9MFP_GPIO (0x00UL<<SYS_GPA_MFPH_PA9MFP_Pos)
  452. #define SYS_GPA_MFPH_PA9MFP_EBI_nCS0 (0x01UL<<SYS_GPA_MFPH_PA9MFP_Pos)
  453. #define SYS_GPA_MFPH_PA10MFP_GPIO (0x00UL<<SYS_GPA_MFPH_PA10MFP_Pos)
  454. #define SYS_GPA_MFPH_PA10MFP_EBI_ADDR10 (0x01UL<<SYS_GPA_MFPH_PA10MFP_Pos)
  455. #define SYS_GPA_MFPH_PA11MFP_GPIO (0x00UL<<SYS_GPA_MFPH_PA11MFP_Pos)
  456. #define SYS_GPA_MFPH_PA11MFP_EBI_ADDR9 (0x01UL<<SYS_GPA_MFPH_PA11MFP_Pos)
  457. #define SYS_GPA_MFPH_PA12MFP_GPIO (0x00UL<<SYS_GPA_MFPH_PA12MFP_Pos)
  458. #define SYS_GPA_MFPH_PA12MFP_EBI_ADDR8 (0x01UL<<SYS_GPA_MFPH_PA12MFP_Pos)
  459. #define SYS_GPA_MFPH_PA13MFP_GPIO (0x00UL<<SYS_GPA_MFPH_PA13MFP_Pos)
  460. #define SYS_GPA_MFPH_PA13MFP_EBI_ADDR13 (0x01UL<<SYS_GPA_MFPH_PA13MFP_Pos)
  461. #define SYS_GPA_MFPH_PA14MFP_GPIO (0x00UL<<SYS_GPA_MFPH_PA14MFP_Pos)
  462. #define SYS_GPA_MFPH_PA14MFP_EBI_ADDR14 (0x01UL<<SYS_GPA_MFPH_PA14MFP_Pos)
  463. #define SYS_GPA_MFPH_PA15MFP_GPIO (0x00UL<<SYS_GPA_MFPH_PA15MFP_Pos)
  464. #define SYS_GPA_MFPH_PA15MFP_EBI_ADDR19 (0x01UL<<SYS_GPA_MFPH_PA15MFP_Pos)
  465. /********************* Bit definition of GPB_MFPL register **********************/
  466. #define SYS_GPB_MFPL_PB0MFP_GPIO (0x00UL<<SYS_GPB_MFPL_PB0MFP_Pos)
  467. #define SYS_GPB_MFPL_PB0MFP_EBI_ADDR12 (0x01UL<<SYS_GPB_MFPL_PB0MFP_Pos)
  468. #define SYS_GPB_MFPL_PB1MFP_GPIO (0x00UL<<SYS_GPB_MFPL_PB1MFP_Pos)
  469. #define SYS_GPB_MFPL_PB1MFP_EBI_ADDR17 (0x01UL<<SYS_GPB_MFPL_PB1MFP_Pos)
  470. #define SYS_GPB_MFPL_PB2MFP_GPIO (0x00UL<<SYS_GPB_MFPL_PB2MFP_Pos)
  471. #define SYS_GPB_MFPL_PB2MFP_EBI_ADDR2 (0x01UL<<SYS_GPB_MFPL_PB2MFP_Pos)
  472. #define SYS_GPB_MFPL_PB2MFP_EBI_MCLK (0x03UL<<SYS_GPB_MFPL_PB2MFP_Pos)
  473. #define SYS_GPB_MFPL_PB3MFP_GPIO (0x00UL<<SYS_GPB_MFPL_PB3MFP_Pos)
  474. #define SYS_GPB_MFPL_PB3MFP_EBI_ADDR18 (0x01UL<<SYS_GPB_MFPL_PB3MFP_Pos)
  475. #define SYS_GPB_MFPL_PB4MFP_GPIO (0x00UL<<SYS_GPB_MFPL_PB4MFP_Pos)
  476. #define SYS_GPB_MFPL_PB4MFP_EBI_ADDR14 (0x01UL<<SYS_GPB_MFPL_PB4MFP_Pos)
  477. #define SYS_GPB_MFPL_PB5MFP_GPIO (0x00UL<<SYS_GPB_MFPL_PB5MFP_Pos)
  478. #define SYS_GPB_MFPL_PB5MFP_EBI_ADDR16 (0x01UL<<SYS_GPB_MFPL_PB5MFP_Pos)
  479. #define SYS_GPB_MFPL_PB6MFP_GPIO (0x00UL<<SYS_GPB_MFPL_PB6MFP_Pos)
  480. #define SYS_GPB_MFPL_PB6MFP_EBI_ADDR13 (0x01UL<<SYS_GPB_MFPL_PB6MFP_Pos)
  481. #define SYS_GPB_MFPL_PB7MFP_GPIO (0x00UL<<SYS_GPB_MFPL_PB7MFP_Pos)
  482. #define SYS_GPB_MFPL_PB7MFP_EBI_ADDR15 (0x01UL<<SYS_GPB_MFPL_PB7MFP_Pos)
  483. /********************* Bit definition of GPB_MFPH register **********************/
  484. #define SYS_GPB_MFPH_PB8MFP_GPIO (0x00UL<<SYS_GPB_MFPH_PB8MFP_Pos)
  485. #define SYS_GPB_MFPH_PB8MFP_EBI_ADDR11 (0x01UL<<SYS_GPB_MFPH_PB8MFP_Pos)
  486. #define SYS_GPB_MFPH_PB9MFP_GPIO (0x00UL<<SYS_GPB_MFPH_PB9MFP_Pos)
  487. #define SYS_GPB_MFPH_PB10MFP_GPIO (0x00UL<<SYS_GPB_MFPH_PB10MFP_Pos)
  488. #define SYS_GPB_MFPH_PB11MFP_GPIO (0x00UL<<SYS_GPB_MFPH_PB11MFP_Pos)
  489. #define SYS_GPB_MFPH_PB12MFP_GPIO (0x00UL<<SYS_GPB_MFPH_PB12MFP_Pos)
  490. #define SYS_GPB_MFPH_PB13MFP_GPIO (0x00UL<<SYS_GPB_MFPH_PB13MFP_Pos)
  491. /********************* Bit definition of GPC_MFPL register **********************/
  492. #define SYS_GPC_MFPL_PC0MFP_GPIO (0x00UL<<SYS_GPC_MFPL_PC0MFP_Pos)
  493. #define SYS_GPC_MFPL_PC0MFP_EBI_DATA0 (0x01UL<<SYS_GPC_MFPL_PC0MFP_Pos)
  494. #define SYS_GPC_MFPL_PC1MFP_GPIO (0x00UL<<SYS_GPC_MFPL_PC1MFP_Pos)
  495. #define SYS_GPC_MFPL_PC1MFP_EBI_DATA1 (0x01UL<<SYS_GPC_MFPL_PC1MFP_Pos)
  496. #define SYS_GPC_MFPL_PC2MFP_GPIO (0x00UL<<SYS_GPC_MFPL_PC2MFP_Pos)
  497. #define SYS_GPC_MFPL_PC2MFP_EBI_DATA2 (0x01UL<<SYS_GPC_MFPL_PC2MFP_Pos)
  498. #define SYS_GPC_MFPL_PC3MFP_GPIO (0x00UL<<SYS_GPC_MFPL_PC3MFP_Pos)
  499. #define SYS_GPC_MFPL_PC3MFP_EBI_DATA3 (0x01UL<<SYS_GPC_MFPL_PC3MFP_Pos)
  500. #define SYS_GPC_MFPL_PC4MFP_GPIO (0x00UL<<SYS_GPC_MFPL_PC4MFP_Pos)
  501. #define SYS_GPC_MFPL_PC4MFP_EBI_DATA4 (0x01UL<<SYS_GPC_MFPL_PC4MFP_Pos)
  502. #define SYS_GPC_MFPL_PC5MFP_GPIO (0x00UL<<SYS_GPC_MFPL_PC5MFP_Pos)
  503. #define SYS_GPC_MFPL_PC5MFP_EBI_DATA5 (0x01UL<<SYS_GPC_MFPL_PC5MFP_Pos)
  504. #define SYS_GPC_MFPL_PC6MFP_GPIO (0x00UL<<SYS_GPC_MFPL_PC6MFP_Pos)
  505. #define SYS_GPC_MFPL_PC6MFP_EBI_DATA6 (0x01UL<<SYS_GPC_MFPL_PC6MFP_Pos)
  506. #define SYS_GPC_MFPL_PC7MFP_GPIO (0x00UL<<SYS_GPC_MFPL_PC7MFP_Pos)
  507. #define SYS_GPC_MFPL_PC7MFP_EBI_DATA7 (0x01UL<<SYS_GPC_MFPL_PC7MFP_Pos)
  508. /********************* Bit definition of GPC_MFPH register **********************/
  509. #define SYS_GPC_MFPH_PC8MFP_GPIO (0x00UL<<SYS_GPC_MFPH_PC8MFP_Pos)
  510. #define SYS_GPC_MFPH_PC8MFP_EBI_DATA8 (0x01UL<<SYS_GPC_MFPH_PC8MFP_Pos)
  511. #define SYS_GPC_MFPH_PC9MFP_GPIO (0x00UL<<SYS_GPC_MFPH_PC9MFP_Pos)
  512. #define SYS_GPC_MFPH_PC9MFP_EBI_DATA9 (0x01UL<<SYS_GPC_MFPH_PC9MFP_Pos)
  513. #define SYS_GPC_MFPH_PC10MFP_GPIO (0x00UL<<SYS_GPC_MFPH_PC10MFP_Pos)
  514. #define SYS_GPC_MFPH_PC10MFP_EBI_DATA10 (0x01UL<<SYS_GPC_MFPH_PC10MFP_Pos)
  515. #define SYS_GPC_MFPH_PC11MFP_GPIO (0x00UL<<SYS_GPC_MFPH_PC11MFP_Pos)
  516. #define SYS_GPC_MFPH_PC11MFP_EBI_DATA11 (0x01UL<<SYS_GPC_MFPH_PC11MFP_Pos)
  517. #define SYS_GPC_MFPH_PC12MFP_GPIO (0x00UL<<SYS_GPC_MFPH_PC12MFP_Pos)
  518. #define SYS_GPC_MFPH_PC12MFP_EBI_DATA12 (0x01UL<<SYS_GPC_MFPH_PC12MFP_Pos)
  519. #define SYS_GPC_MFPH_PC13MFP_GPIO (0x00UL<<SYS_GPC_MFPH_PC13MFP_Pos)
  520. #define SYS_GPC_MFPH_PC13MFP_EBI_DATA13 (0x01UL<<SYS_GPC_MFPH_PC13MFP_Pos)
  521. #define SYS_GPC_MFPH_PC14MFP_GPIO (0x00UL<<SYS_GPC_MFPH_PC14MFP_Pos)
  522. #define SYS_GPC_MFPH_PC14MFP_EBI_DATA14 (0x01UL<<SYS_GPC_MFPH_PC14MFP_Pos)
  523. #define SYS_GPC_MFPH_PC15MFP_GPIO (0x00UL<<SYS_GPC_MFPH_PC15MFP_Pos)
  524. #define SYS_GPC_MFPH_PC15MFP_EBI_DATA15 (0x01UL<<SYS_GPC_MFPH_PC15MFP_Pos)
  525. /********************* Bit definition of GPD_MFPL register **********************/
  526. #define SYS_GPD_MFPL_PD0MFP_GPIO (0x00UL<<SYS_GPD_MFPL_PD0MFP_Pos)
  527. #define SYS_GPD_MFPL_PD1MFP_GPIO (0x00UL<<SYS_GPD_MFPL_PD1MFP_Pos)
  528. #define SYS_GPD_MFPL_PD2MFP_GPIO (0x00UL<<SYS_GPD_MFPL_PD2MFP_Pos)
  529. #define SYS_GPD_MFPL_PD3MFP_GPIO (0x00UL<<SYS_GPD_MFPL_PD3MFP_Pos)
  530. #define SYS_GPD_MFPL_PD4MFP_GPIO (0x00UL<<SYS_GPD_MFPL_PD4MFP_Pos)
  531. #define SYS_GPD_MFPL_PD5MFP_GPIO (0x00UL<<SYS_GPD_MFPL_PD5MFP_Pos)
  532. #define SYS_GPD_MFPL_PD6MFP_GPIO (0x00UL<<SYS_GPD_MFPL_PD6MFP_Pos)
  533. #define SYS_GPD_MFPL_PD7MFP_GPIO (0x00UL<<SYS_GPD_MFPL_PD7MFP_Pos)
  534. /********************* Bit definition of GPD_MFPH register **********************/
  535. #define SYS_GPD_MFPH_PD8MFP_GPIO (0x00UL<<SYS_GPD_MFPH_PD8MFP_Pos)
  536. #define SYS_GPD_MFPH_PD9MFP_GPIO (0x00UL<<SYS_GPD_MFPH_PD9MFP_Pos)
  537. #define SYS_GPD_MFPH_PD10MFP_GPIO (0x00UL<<SYS_GPD_MFPH_PD10MFP_Pos)
  538. #define SYS_GPD_MFPH_PD11MFP_GPIO (0x00UL<<SYS_GPD_MFPH_PD11MFP_Pos)
  539. #define SYS_GPD_MFPH_PD12MFP_GPIO (0x00UL<<SYS_GPD_MFPH_PD12MFP_Pos)
  540. #define SYS_GPD_MFPH_PD12MFP_EBI_DATA1 (0x08UL<<SYS_GPD_MFPH_PD12MFP_Pos)
  541. #define SYS_GPD_MFPH_PD13MFP_GPIO (0x00UL<<SYS_GPD_MFPH_PD13MFP_Pos)
  542. #define SYS_GPD_MFPH_PD13MFP_EBI_DATA2 (0x08UL<<SYS_GPD_MFPH_PD13MFP_Pos)
  543. #define SYS_GPD_MFPH_PD14MFP_GPIO (0x00UL<<SYS_GPD_MFPH_PD14MFP_Pos)
  544. #define SYS_GPD_MFPH_PD14MFP_EBI_DATA3 (0x08UL<<SYS_GPD_MFPH_PD14MFP_Pos)
  545. #define SYS_GPD_MFPH_PD15MFP_GPIO (0x00UL<<SYS_GPD_MFPH_PD15MFP_Pos)
  546. #define SYS_GPD_MFPH_PD15MFP_EBI_DATA4 (0x08UL<<SYS_GPD_MFPH_PD15MFP_Pos)
  547. /********************* Bit definition of GPE_MFPL register **********************/
  548. #define SYS_GPE_MFPL_PE0MFP_GPIO (0x00UL<<SYS_GPE_MFPL_PE0MFP_Pos)
  549. #define SYS_GPE_MFPL_PE1MFP_GPIO (0x00UL<<SYS_GPE_MFPL_PE1MFP_Pos)
  550. #define SYS_GPE_MFPL_PE2MFP_GPIO (0x00UL<<SYS_GPE_MFPL_PE2MFP_Pos)
  551. #define SYS_GPE_MFPL_PE3MFP_GPIO (0x00UL<<SYS_GPE_MFPL_PE3MFP_Pos)
  552. #define SYS_GPE_MFPL_PE4MFP_GPIO (0x00UL<<SYS_GPE_MFPL_PE4MFP_Pos)
  553. #define SYS_GPE_MFPL_PE5MFP_GPIO (0x00UL<<SYS_GPE_MFPL_PE5MFP_Pos)
  554. #define SYS_GPE_MFPL_PE6MFP_GPIO (0x00UL<<SYS_GPE_MFPL_PE6MFP_Pos)
  555. #define SYS_GPE_MFPL_PE7MFP_GPIO (0x00UL<<SYS_GPE_MFPL_PE7MFP_Pos)
  556. /********************* Bit definition of GPE_MFPH register **********************/
  557. #define SYS_GPE_MFPH_PE8MFP_GPIO (0x00UL<<SYS_GPE_MFPH_PE8MFP_Pos)
  558. #define SYS_GPE_MFPH_PE9MFP_GPIO (0x00UL<<SYS_GPE_MFPH_PE9MFP_Pos)
  559. #define SYS_GPE_MFPH_PE10MFP_GPIO (0x00UL<<SYS_GPE_MFPH_PE10MFP_Pos)
  560. #define SYS_GPE_MFPH_PE11MFP_GPIO (0x00UL<<SYS_GPE_MFPH_PE11MFP_Pos)
  561. #define SYS_GPE_MFPH_PE12MFP_GPIO (0x00UL<<SYS_GPE_MFPH_PE12MFP_Pos)
  562. /********************* Bit definition of GPF_MFPL register **********************/
  563. #define SYS_GPF_MFPL_PF0MFP_GPIO (0x00UL<<SYS_GPF_MFPL_PF0MFP_Pos)
  564. #define SYS_GPF_MFPL_PF0MFP_EBI_DATA5 (0x08UL<<SYS_GPF_MFPL_PF0MFP_Pos)
  565. #define SYS_GPF_MFPL_PF1MFP_GPIO (0x00UL<<SYS_GPF_MFPL_PF1MFP_Pos)
  566. #define SYS_GPF_MFPL_PF1MFP_EBI_DATA6 (0x08UL<<SYS_GPF_MFPL_PF1MFP_Pos)
  567. #define SYS_GPF_MFPL_PF2MFP_GPIO (0x00UL<<SYS_GPF_MFPL_PF2MFP_Pos)
  568. #define SYS_GPF_MFPL_PF2MFP_EBI_DATA7 (0x08UL<<SYS_GPF_MFPL_PF2MFP_Pos)
  569. #define SYS_GPF_MFPL_PF3MFP_GPIO (0x00UL<<SYS_GPF_MFPL_PF3MFP_Pos)
  570. #define SYS_GPF_MFPL_PF3MFP_EBI_DATA8 (0x08UL<<SYS_GPF_MFPL_PF3MFP_Pos)
  571. #define SYS_GPF_MFPL_PF4MFP_GPIO (0x00UL<<SYS_GPF_MFPL_PF4MFP_Pos)
  572. #define SYS_GPF_MFPL_PF4MFP_EBI_DATA9 (0x08UL<<SYS_GPF_MFPL_PF4MFP_Pos)
  573. #define SYS_GPF_MFPL_PF5MFP_GPIO (0x00UL<<SYS_GPF_MFPL_PF5MFP_Pos)
  574. #define SYS_GPF_MFPL_PF5MFP_EBI_DATA10 (0x08UL<<SYS_GPF_MFPL_PF5MFP_Pos)
  575. #define SYS_GPF_MFPL_PF6MFP_GPIO (0x00UL<<SYS_GPF_MFPL_PF6MFP_Pos)
  576. #define SYS_GPF_MFPL_PF6MFP_EBI_DATA11 (0x08UL<<SYS_GPF_MFPL_PF6MFP_Pos)
  577. #define SYS_GPF_MFPL_PF7MFP_GPIO (0x00UL<<SYS_GPF_MFPL_PF7MFP_Pos)
  578. #define SYS_GPF_MFPL_PF7MFP_EBI_DATA12 (0x08UL<<SYS_GPF_MFPL_PF7MFP_Pos)
  579. /********************* Bit definition of GPF_MFPH register **********************/
  580. #define SYS_GPF_MFPH_PF8MFP_GPIO (0x00UL<<SYS_GPF_MFPH_PF8MFP_Pos)
  581. #define SYS_GPF_MFPH_PF8MFP_EBI_DATA13 (0x08UL<<SYS_GPF_MFPH_PF8MFP_Pos)
  582. #define SYS_GPF_MFPH_PF9MFP_GPIO (0x00UL<<SYS_GPF_MFPH_PF9MFP_Pos)
  583. #define SYS_GPF_MFPH_PF9MFP_EBI_DATA14 (0x08UL<<SYS_GPF_MFPH_PF9MFP_Pos)
  584. #define SYS_GPF_MFPH_PF10MFP_GPIO (0x00UL<<SYS_GPF_MFPH_PF10MFP_Pos)
  585. #define SYS_GPF_MFPH_PF10MFP_EBI_DATA15 (0x08UL<<SYS_GPF_MFPH_PF10MFP_Pos)
  586. #define SYS_GPF_MFPH_PF11MFP_GPIO (0x00UL<<SYS_GPF_MFPH_PF11MFP_Pos)
  587. #define SYS_GPF_MFPH_PF12MFP_GPIO (0x00UL<<SYS_GPF_MFPH_PF12MFP_Pos)
  588. /********************* Bit definition of GPG_MFPL register **********************/
  589. #define SYS_GPG_MFPL_PG0MFP_GPIO (0x00UL<<SYS_GPG_MFPL_PG0MFP_Pos)
  590. #define SYS_GPG_MFPL_PG0MFP_EBI_ADDR0 (0x01UL<<SYS_GPG_MFPL_PG0MFP_Pos)
  591. #define SYS_GPG_MFPL_PG1MFP_GPIO (0x00UL<<SYS_GPG_MFPL_PG1MFP_Pos)
  592. #define SYS_GPG_MFPL_PG1MFP_EBI_ADDR1 (0x01UL<<SYS_GPG_MFPL_PG1MFP_Pos)
  593. #define SYS_GPG_MFPL_PG2MFP_GPIO (0x00UL<<SYS_GPG_MFPL_PG2MFP_Pos)
  594. #define SYS_GPG_MFPL_PG2MFP_EBI_ADDR2 (0x01UL<<SYS_GPG_MFPL_PG2MFP_Pos)
  595. #define SYS_GPG_MFPL_PG3MFP_GPIO (0x00UL<<SYS_GPG_MFPL_PG3MFP_Pos)
  596. #define SYS_GPG_MFPL_PG3MFP_EBI_ADDR3 (0x01UL<<SYS_GPG_MFPL_PG3MFP_Pos)
  597. #define SYS_GPG_MFPL_PG4MFP_GPIO (0x00UL<<SYS_GPG_MFPL_PG4MFP_Pos)
  598. #define SYS_GPG_MFPL_PG4MFP_EBI_ADDR18 (0x01UL<<SYS_GPG_MFPL_PG4MFP_Pos)
  599. #define SYS_GPG_MFPL_PG5MFP_GPIO (0x00UL<<SYS_GPG_MFPL_PG5MFP_Pos)
  600. #define SYS_GPG_MFPL_PG5MFP_EBI_ADDR12 (0x01UL<<SYS_GPG_MFPL_PG5MFP_Pos)
  601. #define SYS_GPG_MFPL_PG6MFP_GPIO (0x00UL<<SYS_GPG_MFPL_PG6MFP_Pos)
  602. #define SYS_GPG_MFPL_PG6MFP_EBI_ADDR4 (0x01UL<<SYS_GPG_MFPL_PG6MFP_Pos)
  603. #define SYS_GPG_MFPL_PG7MFP_GPIO (0x00UL<<SYS_GPG_MFPL_PG7MFP_Pos)
  604. #define SYS_GPG_MFPL_PG7MFP_EBI_ADDR5 (0x01UL<<SYS_GPG_MFPL_PG7MFP_Pos)
  605. /********************* Bit definition of GPG_MFPH register **********************/
  606. #define SYS_GPG_MFPH_PG8MFP_GPIO (0x00UL<<SYS_GPG_MFPH_PG8MFP_Pos)
  607. #define SYS_GPG_MFPH_PG8MFP_EBI_ADDR6 (0x01UL<<SYS_GPG_MFPH_PG8MFP_Pos)
  608. #define SYS_GPG_MFPH_PG9MFP_GPIO (0x00UL<<SYS_GPG_MFPH_PG9MFP_Pos)
  609. #define SYS_GPG_MFPH_PG9MFP_EBI_ADDR7 (0x01UL<<SYS_GPG_MFPH_PG9MFP_Pos)
  610. #define SYS_GPG_MFPH_PG10MFP_GPIO (0x00UL<<SYS_GPG_MFPH_PG10MFP_Pos)
  611. #define SYS_GPG_MFPH_PG10MFP_EBI_DATA0 (0x01UL<<SYS_GPG_MFPH_PG10MFP_Pos)
  612. #define SYS_GPG_MFPH_PG11MFP_GPIO (0x00UL<<SYS_GPG_MFPH_PG11MFP_Pos)
  613. #define SYS_GPG_MFPH_PG12MFP_GPIO (0x00UL<<SYS_GPG_MFPH_PG12MFP_Pos)
  614. #define SYS_GPG_MFPH_PG13MFP_GPIO (0x00UL<<SYS_GPG_MFPH_PG13MFP_Pos)
  615. #define SYS_GPG_MFPH_PG14MFP_GPIO (0x00UL<<SYS_GPG_MFPH_PG14MFP_Pos)
  616. #define SYS_GPG_MFPH_PG15MFP_GPIO (0x00UL<<SYS_GPG_MFPH_PG15MFP_Pos)
  617. /** @addtogroup SYS_EXPORTED_FUNCTIONS SYS Exported Functions
  618. @{
  619. */
  620. /**
  621. * @brief Disable register write-protection function
  622. * @param None
  623. * @return None
  624. * @details This function disable register write-protection function.
  625. * To unlock the protected register to allow write access.
  626. */
  627. static __inline void SYS_UnlockReg(void)
  628. {
  629. do
  630. {
  631. outpw(0xB00001FC, 0x59UL);
  632. outpw(0xB00001FC, 0x16UL);
  633. outpw(0xB00001FC, 0x88UL);
  634. }
  635. while (inpw(0xB00001FC) == 0UL);
  636. }
  637. /**
  638. * @brief Enable register write-protection function
  639. * @param None
  640. * @return None
  641. * @details This function is used to enable register write-protection function.
  642. * To lock the protected register to forbid write access.
  643. */
  644. static __inline void SYS_LockReg(void)
  645. {
  646. outpw(0xB00001FC, 0);
  647. }
  648. /* Define system library AIC functions */
  649. INT32 sysDisableInterrupt(IRQn_Type eIntNo);
  650. INT32 sysEnableInterrupt(IRQn_Type eIntNo);
  651. BOOL sysGetIBitState(void);
  652. UINT32 sysGetInterruptEnableStatus(void);
  653. UINT32 sysGetInterruptEnableStatusH(void);
  654. PVOID sysInstallExceptionHandler(INT32 nExceptType, PVOID pvNewHandler);
  655. PVOID sysInstallFiqHandler(PVOID pvNewISR);
  656. PVOID sysInstallIrqHandler(PVOID pvNewISR);
  657. PVOID sysInstallISR(INT32 nIntTypeLevel, IRQn_Type eIntNo, PVOID pvNewISR);
  658. INT32 sysSetGlobalInterrupt(INT32 nIntState);
  659. INT32 sysSetInterruptPriorityLevel(IRQn_Type eIntNo, UINT32 uIntLevel);
  660. INT32 sysSetInterruptType(IRQn_Type eIntNo, UINT32 uIntSourceType);
  661. INT32 sysSetLocalInterrupt(INT32 nIntState);
  662. /* Define system library Cache functions */
  663. void sysDisableCache(void);
  664. INT32 sysEnableCache(UINT32 uCacheOpMode);
  665. void sysFlushCache(INT32 nCacheType);
  666. BOOL sysGetCacheState(void);
  667. INT32 sysGetSdramSizebyMB(void);
  668. void sysInvalidCache(void);
  669. UINT32 sysGetClock(CLK_Type clk);
  670. typedef void (*sys_pvFunPtr)(); /* function pointer */
  671. extern sys_pvFunPtr sysIrqHandlerTable[];
  672. extern UINT32 volatile _sys_bIsAICInitial;
  673. #ifdef __cplusplus
  674. }
  675. #endif
  676. /*@}*/ /* end of group SYS_EXPORTED_FUNCTIONS */
  677. /*@}*/ /* end of group SYS_Driver */
  678. /*@}*/ /* end of group Standard_Driver */
  679. #endif //__SYS_H__
  680. /*** (C) COPYRIGHT 2018 Nuvoton Technology Corp. ***/