MIMXRT1052_features.h 28 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615
  1. /*
  2. ** ###################################################################
  3. ** Version: rev. 0.1, 2017-01-10
  4. ** Build: b180509
  5. **
  6. ** Abstract:
  7. ** Chip specific module features.
  8. **
  9. ** The Clear BSD License
  10. ** Copyright 2016 Freescale Semiconductor, Inc.
  11. ** Copyright 2016-2018 NXP
  12. ** All rights reserved.
  13. **
  14. ** Redistribution and use in source and binary forms, with or without
  15. ** modification, are permitted (subject to the limitations in the
  16. ** disclaimer below) provided that the following conditions are met:
  17. **
  18. ** * Redistributions of source code must retain the above copyright
  19. ** notice, this list of conditions and the following disclaimer.
  20. **
  21. ** * Redistributions in binary form must reproduce the above copyright
  22. ** notice, this list of conditions and the following disclaimer in the
  23. ** documentation and/or other materials provided with the distribution.
  24. **
  25. ** * Neither the name of the copyright holder nor the names of its
  26. ** contributors may be used to endorse or promote products derived from
  27. ** this software without specific prior written permission.
  28. **
  29. ** NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE
  30. ** GRANTED BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT
  31. ** HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED
  32. ** WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
  33. ** MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
  34. ** DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
  35. ** LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
  36. ** CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
  37. ** SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
  38. ** BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
  39. ** WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
  40. ** OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
  41. ** IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  42. **
  43. ** http: www.nxp.com
  44. ** mail: support@nxp.com
  45. **
  46. ** Revisions:
  47. ** - rev. 0.1 (2017-01-10)
  48. ** Initial version.
  49. **
  50. ** ###################################################################
  51. */
  52. #ifndef _MIMXRT1052_FEATURES_H_
  53. #define _MIMXRT1052_FEATURES_H_
  54. /* SOC module features */
  55. /* @brief ADC availability on the SoC. */
  56. #define FSL_FEATURE_SOC_ADC_COUNT (2)
  57. /* @brief AIPSTZ availability on the SoC. */
  58. #define FSL_FEATURE_SOC_AIPSTZ_COUNT (4)
  59. /* @brief AOI availability on the SoC. */
  60. #define FSL_FEATURE_SOC_AOI_COUNT (2)
  61. /* @brief CCM availability on the SoC. */
  62. #define FSL_FEATURE_SOC_CCM_COUNT (1)
  63. /* @brief CCM_ANALOG availability on the SoC. */
  64. #define FSL_FEATURE_SOC_CCM_ANALOG_COUNT (1)
  65. /* @brief CMP availability on the SoC. */
  66. #define FSL_FEATURE_SOC_CMP_COUNT (4)
  67. /* @brief CSI availability on the SoC. */
  68. #define FSL_FEATURE_SOC_CSI_COUNT (1)
  69. /* @brief DCDC availability on the SoC. */
  70. #define FSL_FEATURE_SOC_DCDC_COUNT (1)
  71. /* @brief DCP availability on the SoC. */
  72. #define FSL_FEATURE_SOC_DCP_COUNT (1)
  73. /* @brief DMAMUX availability on the SoC. */
  74. #define FSL_FEATURE_SOC_DMAMUX_COUNT (1)
  75. /* @brief EDMA availability on the SoC. */
  76. #define FSL_FEATURE_SOC_EDMA_COUNT (1)
  77. /* @brief ENC availability on the SoC. */
  78. #define FSL_FEATURE_SOC_ENC_COUNT (4)
  79. /* @brief ENET availability on the SoC. */
  80. #define FSL_FEATURE_SOC_ENET_COUNT (1)
  81. /* @brief EWM availability on the SoC. */
  82. #define FSL_FEATURE_SOC_EWM_COUNT (1)
  83. /* @brief FLEXCAN availability on the SoC. */
  84. #define FSL_FEATURE_SOC_FLEXCAN_COUNT (2)
  85. /* @brief FLEXIO availability on the SoC. */
  86. #define FSL_FEATURE_SOC_FLEXIO_COUNT (2)
  87. /* @brief FLEXRAM availability on the SoC. */
  88. #define FSL_FEATURE_SOC_FLEXRAM_COUNT (1)
  89. /* @brief FLEXSPI availability on the SoC. */
  90. #define FSL_FEATURE_SOC_FLEXSPI_COUNT (1)
  91. /* @brief GPC availability on the SoC. */
  92. #define FSL_FEATURE_SOC_GPC_COUNT (1)
  93. /* @brief GPT availability on the SoC. */
  94. #define FSL_FEATURE_SOC_GPT_COUNT (2)
  95. /* @brief I2S availability on the SoC. */
  96. #define FSL_FEATURE_SOC_I2S_COUNT (3)
  97. /* @brief IGPIO availability on the SoC. */
  98. #define FSL_FEATURE_SOC_IGPIO_COUNT (5)
  99. /* @brief IOMUXC availability on the SoC. */
  100. #define FSL_FEATURE_SOC_IOMUXC_COUNT (1)
  101. /* @brief IOMUXC_GPR availability on the SoC. */
  102. #define FSL_FEATURE_SOC_IOMUXC_GPR_COUNT (1)
  103. /* @brief IOMUXC_SNVS availability on the SoC. */
  104. #define FSL_FEATURE_SOC_IOMUXC_SNVS_COUNT (1)
  105. /* @brief KPP availability on the SoC. */
  106. #define FSL_FEATURE_SOC_KPP_COUNT (1)
  107. /* @brief LCDIF availability on the SoC. */
  108. #define FSL_FEATURE_SOC_LCDIF_COUNT (1)
  109. /* @brief LPI2C availability on the SoC. */
  110. #define FSL_FEATURE_SOC_LPI2C_COUNT (4)
  111. /* @brief LPSPI availability on the SoC. */
  112. #define FSL_FEATURE_SOC_LPSPI_COUNT (4)
  113. /* @brief LPUART availability on the SoC. */
  114. #define FSL_FEATURE_SOC_LPUART_COUNT (8)
  115. /* @brief OCOTP availability on the SoC. */
  116. #define FSL_FEATURE_SOC_OCOTP_COUNT (1)
  117. /* @brief PIT availability on the SoC. */
  118. #define FSL_FEATURE_SOC_PIT_COUNT (1)
  119. /* @brief PMU availability on the SoC. */
  120. #define FSL_FEATURE_SOC_PMU_COUNT (1)
  121. /* @brief PWM availability on the SoC. */
  122. #define FSL_FEATURE_SOC_PWM_COUNT (4)
  123. /* @brief PXP availability on the SoC. */
  124. #define FSL_FEATURE_SOC_PXP_COUNT (1)
  125. /* @brief ROMC availability on the SoC. */
  126. #define FSL_FEATURE_SOC_ROMC_COUNT (1)
  127. /* @brief SEMC availability on the SoC. */
  128. #define FSL_FEATURE_SOC_SEMC_COUNT (1)
  129. /* @brief SNVS availability on the SoC. */
  130. #define FSL_FEATURE_SOC_SNVS_COUNT (1)
  131. /* @brief SPDIF availability on the SoC. */
  132. #define FSL_FEATURE_SOC_SPDIF_COUNT (1)
  133. /* @brief SRC availability on the SoC. */
  134. #define FSL_FEATURE_SOC_SRC_COUNT (1)
  135. /* @brief TEMPMON availability on the SoC. */
  136. #define FSL_FEATURE_SOC_TEMPMON_COUNT (1)
  137. /* @brief TMR availability on the SoC. */
  138. #define FSL_FEATURE_SOC_TMR_COUNT (4)
  139. /* @brief TRNG availability on the SoC. */
  140. #define FSL_FEATURE_SOC_TRNG_COUNT (1)
  141. /* @brief TSC availability on the SoC. */
  142. #define FSL_FEATURE_SOC_TSC_COUNT (1)
  143. /* @brief USBHS availability on the SoC. */
  144. #define FSL_FEATURE_SOC_USBHS_COUNT (2)
  145. /* @brief USBNC availability on the SoC. */
  146. #define FSL_FEATURE_SOC_USBNC_COUNT (2)
  147. /* @brief USBPHY availability on the SoC. */
  148. #define FSL_FEATURE_SOC_USBPHY_COUNT (2)
  149. /* @brief USDHC availability on the SoC. */
  150. #define FSL_FEATURE_SOC_USDHC_COUNT (2)
  151. /* @brief WDOG availability on the SoC. */
  152. #define FSL_FEATURE_SOC_WDOG_COUNT (2)
  153. /* @brief XBARA availability on the SoC. */
  154. #define FSL_FEATURE_SOC_XBARA_COUNT (1)
  155. /* @brief XBARB availability on the SoC. */
  156. #define FSL_FEATURE_SOC_XBARB_COUNT (2)
  157. /* @brief XTALOSC24M availability on the SoC. */
  158. #define FSL_FEATURE_SOC_XTALOSC24M_COUNT (1)
  159. /* ADC module features */
  160. /* @brief Remove Hardware Trigger feature. */
  161. #define FSL_FEATURE_ADC_SUPPORT_HARDWARE_TRIGGER_REMOVE (0)
  162. /* @brief Remove ALT Clock selection feature. */
  163. #define FSL_FEATURE_ADC_SUPPORT_ALTCLK_REMOVE (1)
  164. /* ADC_ETC module features */
  165. /* @brief Has DMA model control(bit field CTRL[DMA_MODE_SEL]). */
  166. #define FSL_FEATURE_ADC_ETC_HAS_CTRL_DMA_MODE_SEL (1)
  167. /* AOI module features */
  168. /* @brief Maximum value of input mux. */
  169. #define FSL_FEATURE_AOI_MODULE_INPUTS (4)
  170. /* @brief Number of events related to number of registers AOIx_BFCRT01n/AOIx_BFCRT23n. */
  171. #define FSL_FEATURE_AOI_EVENT_COUNT (4)
  172. /* FLEXCAN module features */
  173. /* @brief Message buffer size */
  174. #define FSL_FEATURE_FLEXCAN_HAS_MESSAGE_BUFFER_MAX_NUMBERn(x) (64)
  175. /* @brief Has doze mode support (register bit field MCR[DOZE]). */
  176. #define FSL_FEATURE_FLEXCAN_HAS_DOZE_MODE_SUPPORT (0)
  177. /* @brief Has a glitch filter on the receive pin (register bit field MCR[WAKSRC]). */
  178. #define FSL_FEATURE_FLEXCAN_HAS_GLITCH_FILTER (1)
  179. /* @brief Has extended interrupt mask and flag register (register IMASK2, IFLAG2). */
  180. #define FSL_FEATURE_FLEXCAN_HAS_EXTENDED_FLAG_REGISTER (1)
  181. /* @brief Has extended bit timing register (register CBT). */
  182. #define FSL_FEATURE_FLEXCAN_HAS_EXTENDED_TIMING_REGISTER (0)
  183. /* @brief Has a receive FIFO DMA feature (register bit field MCR[DMA]). */
  184. #define FSL_FEATURE_FLEXCAN_HAS_RX_FIFO_DMA (0)
  185. /* @brief Remove CAN Engine Clock Source Selection from unsupported part. */
  186. #define FSL_FEATURE_FLEXCAN_SUPPORT_ENGINE_CLK_SEL_REMOVE (1)
  187. /* @brief Is affected by errata with ID 5641 (Module does not transmit a message that is enabled to be transmitted at a specific moment during the arbitration process). */
  188. #define FSL_FEATURE_FLEXCAN_HAS_ERRATA_5641 (0)
  189. /* @brief Has CAN with Flexible Data rate (CAN FD) protocol. */
  190. #define FSL_FEATURE_FLEXCAN_HAS_FLEXIBLE_DATA_RATE (0)
  191. /* @brief Has extra MB interrupt or common one. */
  192. #define FSL_FEATURE_FLEXCAN_HAS_EXTRA_MB_INT (1)
  193. /* CMP module features */
  194. /* @brief Has Trigger mode in CMP (register bit field CR1[TRIGM]). */
  195. #define FSL_FEATURE_CMP_HAS_TRIGGER_MODE (0)
  196. /* @brief Has Window mode in CMP (register bit field CR1[WE]). */
  197. #define FSL_FEATURE_CMP_HAS_WINDOW_MODE (1)
  198. /* @brief Has External sample supported in CMP (register bit field CR1[SE]). */
  199. #define FSL_FEATURE_CMP_HAS_EXTERNAL_SAMPLE_SUPPORT (1)
  200. /* @brief Has DMA support in CMP (register bit field SCR[DMAEN]). */
  201. #define FSL_FEATURE_CMP_HAS_DMA (1)
  202. /* @brief Has Pass Through mode in CMP (register bit field MUXCR[PSTM]). */
  203. #define FSL_FEATURE_CMP_HAS_PASS_THROUGH_MODE (0)
  204. /* @brief Has DAC Test function in CMP (register DACTEST). */
  205. #define FSL_FEATURE_CMP_HAS_DAC_TEST (0)
  206. /* EDMA module features */
  207. /* @brief Number of DMA channels (related to number of registers TCD, DCHPRI, bit fields ERQ[ERQn], EEI[EEIn], INT[INTn], ERR[ERRn], HRS[HRSn] and bit field widths ES[ERRCHN], CEEI[CEEI], SEEI[SEEI], CERQ[CERQ], SERQ[SERQ], CDNE[CDNE], SSRT[SSRT], CERR[CERR], CINT[CINT], TCDn_CITER_ELINKYES[LINKCH], TCDn_CSR[MAJORLINKCH], TCDn_BITER_ELINKYES[LINKCH]). (Valid only for eDMA modules.) */
  208. #define FSL_FEATURE_EDMA_MODULE_CHANNEL (32)
  209. /* @brief Total number of DMA channels on all modules. */
  210. #define FSL_FEATURE_EDMA_DMAMUX_CHANNELS (32)
  211. /* @brief Number of DMA channel groups (register bit fields CR[ERGA], CR[GRPnPRI], ES[GPE], DCHPRIn[GRPPRI]). (Valid only for eDMA modules.) */
  212. #define FSL_FEATURE_EDMA_CHANNEL_GROUP_COUNT (1)
  213. /* @brief Has DMA_Error interrupt vector. */
  214. #define FSL_FEATURE_EDMA_HAS_ERROR_IRQ (1)
  215. /* @brief Number of DMA channels with asynchronous request capability (register EARS). (Valid only for eDMA modules.) */
  216. #define FSL_FEATURE_EDMA_ASYNCHRO_REQUEST_CHANNEL_COUNT (32)
  217. /* DMAMUX module features */
  218. /* @brief Number of DMA channels (related to number of register CHCFGn). */
  219. #define FSL_FEATURE_DMAMUX_MODULE_CHANNEL (32)
  220. /* @brief Total number of DMA channels on all modules. */
  221. #define FSL_FEATURE_DMAMUX_DMAMUX_CHANNELS (FSL_FEATURE_SOC_DMAMUX_COUNT * 32)
  222. /* @brief Has the periodic trigger capability for the triggered DMA channel (register bit CHCFG0[TRIG]). */
  223. #define FSL_FEATURE_DMAMUX_HAS_TRIG (1)
  224. /* @brief Has DMA Channel Always ON function (register bit CHCFG0[A_ON]). */
  225. #define FSL_FEATURE_DMAMUX_HAS_A_ON (1)
  226. /* ENET module features */
  227. /* @brief Support Interrupt Coalesce */
  228. #define FSL_FEATURE_ENET_HAS_INTERRUPT_COALESCE (1)
  229. /* @brief Queue Size. */
  230. #define FSL_FEATURE_ENET_QUEUE (1)
  231. /* @brief Has AVB Support. */
  232. #define FSL_FEATURE_ENET_HAS_AVB (0)
  233. /* @brief Has Timer Pulse Width control. */
  234. #define FSL_FEATURE_ENET_HAS_TIMER_PWCONTROL (1)
  235. /* @brief Has Extend MDIO Support. */
  236. #define FSL_FEATURE_ENET_HAS_EXTEND_MDIO (1)
  237. /* @brief Has Additional 1588 Timer Channel Interrupt. */
  238. #define FSL_FEATURE_ENET_HAS_ADD_1588_TIMER_CHN_INT (0)
  239. /* FLEXIO module features */
  240. /* @brief Has Shifter Status Register (FLEXIO_SHIFTSTAT) */
  241. #define FSL_FEATURE_FLEXIO_HAS_SHIFTER_STATUS (1)
  242. /* @brief Has Pin Data Input Register (FLEXIO_PIN) */
  243. #define FSL_FEATURE_FLEXIO_HAS_PIN_STATUS (1)
  244. /* @brief Has Shifter Buffer N Nibble Byte Swapped Register (FLEXIO_SHIFTBUFNBSn) */
  245. #define FSL_FEATURE_FLEXIO_HAS_SHFT_BUFFER_NIBBLE_BYTE_SWAP (1)
  246. /* @brief Has Shifter Buffer N Half Word Swapped Register (FLEXIO_SHIFTBUFHWSn) */
  247. #define FSL_FEATURE_FLEXIO_HAS_SHFT_BUFFER_HALF_WORD_SWAP (1)
  248. /* @brief Has Shifter Buffer N Nibble Swapped Register (FLEXIO_SHIFTBUFNISn) */
  249. #define FSL_FEATURE_FLEXIO_HAS_SHFT_BUFFER_NIBBLE_SWAP (1)
  250. /* @brief Supports Shifter State Mode (FLEXIO_SHIFTCTLn[SMOD]) */
  251. #define FSL_FEATURE_FLEXIO_HAS_STATE_MODE (1)
  252. /* @brief Supports Shifter Logic Mode (FLEXIO_SHIFTCTLn[SMOD]) */
  253. #define FSL_FEATURE_FLEXIO_HAS_LOGIC_MODE (1)
  254. /* @brief Supports paralle width (FLEXIO_SHIFTCFGn[PWIDTH]) */
  255. #define FSL_FEATURE_FLEXIO_HAS_PARALLEL_WIDTH (1)
  256. /* @brief Reset value of the FLEXIO_VERID register */
  257. #define FSL_FEATURE_FLEXIO_VERID_RESET_VALUE (0x1010001)
  258. /* @brief Reset value of the FLEXIO_PARAM register */
  259. #define FSL_FEATURE_FLEXIO_PARAM_RESET_VALUE (0x2200404)
  260. /* FLEXRAM module features */
  261. /* @brief Bank size */
  262. #define FSL_FEATURE_FLEXRAM_INTERNAL_RAM_BANK_SIZE (32 * 1024)
  263. /* @brief Total Bank numbers */
  264. #define FSL_FEATURE_FLEXRAM_INTERNAL_RAM_TOTAL_BANK_NUMBERS (16)
  265. /* FLEXSPI module features */
  266. /* @brief FlexSPI AHB buffer count */
  267. #define FSL_FEATURE_FLEXSPI_AHB_BUFFER_COUNTn(x) (4)
  268. /* @brief FlexSPI has no data learn. */
  269. #define FSL_FEATURE_FLEXSPI_HAS_NO_DATA_LEARN (1)
  270. /* GPC module features */
  271. /* @brief Has DVFS0 Change Request. */
  272. #define FSL_FEATURE_GPC_HAS_CNTR_DVFS0CR (0)
  273. /* @brief Has GPC interrupt/event masking. */
  274. #define FSL_FEATURE_GPC_HAS_CNTR_GPCIRQM (0)
  275. /* @brief Has L2 cache power control. */
  276. #define FSL_FEATURE_GPC_HAS_CNTR_L2PGE (0)
  277. /* @brief Has FLEXRAM PDRAM0(bank1-7) power control. */
  278. #define FSL_FEATURE_GPC_HAS_CNTR_PDRAM0PGE (1)
  279. /* @brief Has VADC power control. */
  280. #define FSL_FEATURE_GPC_HAS_CNTR_VADC (0)
  281. /* @brief Has Display power control. */
  282. #define FSL_FEATURE_GPC_HAS_CNTR_DISPLAY (0)
  283. /* @brief Supports IRQ 0-31. */
  284. #define FSL_FEATURE_GPC_HAS_IRQ_0_31 (1)
  285. /* IGPIO module features */
  286. /* @brief Has data register set DR_SET. */
  287. #define FSL_FEATURE_IGPIO_HAS_DR_SET (1)
  288. /* @brief Has data register clear DR_CLEAR. */
  289. #define FSL_FEATURE_IGPIO_HAS_DR_CLEAR (1)
  290. /* @brief Has data register toggle DR_TOGGLE. */
  291. #define FSL_FEATURE_IGPIO_HAS_DR_TOGGLE (1)
  292. /* LCDIF module features */
  293. /* @brief LCDIF does not support alpha support. */
  294. #define FSL_FEATURE_LCDIF_HAS_NO_AS (1)
  295. /* @brief LCDIF does not support output reset pin to LCD panel. */
  296. #define FSL_FEATURE_LCDIF_HAS_NO_RESET_PIN (1)
  297. /* @brief LCDIF supports LUT. */
  298. #define FSL_FEATURE_LCDIF_HAS_LUT (1)
  299. /* LPI2C module features */
  300. /* @brief Has separate DMA RX and TX requests. */
  301. #define FSL_FEATURE_LPI2C_HAS_SEPARATE_DMA_RX_TX_REQn(x) (0)
  302. /* @brief Capacity (number of entries) of the transmit/receive FIFO (or zero if no FIFO is available). */
  303. #define FSL_FEATURE_LPI2C_FIFO_SIZEn(x) (4)
  304. /* LPSPI module features */
  305. /* @brief Capacity (number of entries) of the transmit/receive FIFO (or zero if no FIFO is available). */
  306. #define FSL_FEATURE_LPSPI_FIFO_SIZEn(x) (16)
  307. /* @brief Has separate DMA RX and TX requests. */
  308. #define FSL_FEATURE_LPSPI_HAS_SEPARATE_DMA_RX_TX_REQn(x) (1)
  309. /* LPUART module features */
  310. /* @brief Has receive FIFO overflow detection (bit field CFIFO[RXOFE]). */
  311. #define FSL_FEATURE_LPUART_HAS_IRQ_EXTENDED_FUNCTIONS (0)
  312. /* @brief Has low power features (can be enabled in wait mode via register bit C1[DOZEEN] or CTRL[DOZEEN] if the registers are 32-bit wide). */
  313. #define FSL_FEATURE_LPUART_HAS_LOW_POWER_UART_SUPPORT (1)
  314. /* @brief Has extended data register ED (or extra flags in the DATA register if the registers are 32-bit wide). */
  315. #define FSL_FEATURE_LPUART_HAS_EXTENDED_DATA_REGISTER_FLAGS (1)
  316. /* @brief Capacity (number of entries) of the transmit/receive FIFO (or zero if no FIFO is available). */
  317. #define FSL_FEATURE_LPUART_HAS_FIFO (1)
  318. /* @brief Has 32-bit register MODIR */
  319. #define FSL_FEATURE_LPUART_HAS_MODIR (1)
  320. /* @brief Hardware flow control (RTS, CTS) is supported. */
  321. #define FSL_FEATURE_LPUART_HAS_MODEM_SUPPORT (1)
  322. /* @brief Infrared (modulation) is supported. */
  323. #define FSL_FEATURE_LPUART_HAS_IR_SUPPORT (1)
  324. /* @brief 2 bits long stop bit is available. */
  325. #define FSL_FEATURE_LPUART_HAS_STOP_BIT_CONFIG_SUPPORT (1)
  326. /* @brief If 10-bit mode is supported. */
  327. #define FSL_FEATURE_LPUART_HAS_10BIT_DATA_SUPPORT (1)
  328. /* @brief If 7-bit mode is supported. */
  329. #define FSL_FEATURE_LPUART_HAS_7BIT_DATA_SUPPORT (1)
  330. /* @brief Baud rate fine adjustment is available. */
  331. #define FSL_FEATURE_LPUART_HAS_BAUD_RATE_FINE_ADJUST_SUPPORT (0)
  332. /* @brief Baud rate oversampling is available (has bit fields C4[OSR], C5[BOTHEDGE], C5[RESYNCDIS] or BAUD[OSR], BAUD[BOTHEDGE], BAUD[RESYNCDIS] if the registers are 32-bit wide). */
  333. #define FSL_FEATURE_LPUART_HAS_BAUD_RATE_OVER_SAMPLING_SUPPORT (1)
  334. /* @brief Baud rate oversampling is available. */
  335. #define FSL_FEATURE_LPUART_HAS_RX_RESYNC_SUPPORT (1)
  336. /* @brief Baud rate oversampling is available. */
  337. #define FSL_FEATURE_LPUART_HAS_BOTH_EDGE_SAMPLING_SUPPORT (1)
  338. /* @brief Peripheral type. */
  339. #define FSL_FEATURE_LPUART_IS_SCI (1)
  340. /* @brief Capacity (number of entries) of the transmit/receive FIFO (or zero if no FIFO is available). */
  341. #define FSL_FEATURE_LPUART_FIFO_SIZEn(x) (4)
  342. /* @brief Maximal data width without parity bit. */
  343. #define FSL_FEATURE_LPUART_MAX_DATA_WIDTH_WITH_NO_PARITY (10)
  344. /* @brief Maximal data width with parity bit. */
  345. #define FSL_FEATURE_LPUART_MAX_DATA_WIDTH_WITH_PARITY (9)
  346. /* @brief Supports two match addresses to filter incoming frames. */
  347. #define FSL_FEATURE_LPUART_HAS_ADDRESS_MATCHING (1)
  348. /* @brief Has transmitter/receiver DMA enable bits C5[TDMAE]/C5[RDMAE] (or BAUD[TDMAE]/BAUD[RDMAE] if the registers are 32-bit wide). */
  349. #define FSL_FEATURE_LPUART_HAS_DMA_ENABLE (1)
  350. /* @brief Has transmitter/receiver DMA select bits C4[TDMAS]/C4[RDMAS], resp. C5[TDMAS]/C5[RDMAS] if IS_SCI = 0. */
  351. #define FSL_FEATURE_LPUART_HAS_DMA_SELECT (0)
  352. /* @brief Data character bit order selection is supported (bit field S2[MSBF] or STAT[MSBF] if the registers are 32-bit wide). */
  353. #define FSL_FEATURE_LPUART_HAS_BIT_ORDER_SELECT (1)
  354. /* @brief Has smart card (ISO7816 protocol) support and no improved smart card support. */
  355. #define FSL_FEATURE_LPUART_HAS_SMART_CARD_SUPPORT (0)
  356. /* @brief Has improved smart card (ISO7816 protocol) support. */
  357. #define FSL_FEATURE_LPUART_HAS_IMPROVED_SMART_CARD_SUPPORT (0)
  358. /* @brief Has local operation network (CEA709.1-B protocol) support. */
  359. #define FSL_FEATURE_LPUART_HAS_LOCAL_OPERATION_NETWORK_SUPPORT (0)
  360. /* @brief Has 32-bit registers (BAUD, STAT, CTRL, DATA, MATCH, MODIR) instead of 8-bit (BDH, BDL, C1, S1, D, etc.). */
  361. #define FSL_FEATURE_LPUART_HAS_32BIT_REGISTERS (1)
  362. /* @brief Lin break detect available (has bit BAUD[LBKDIE]). */
  363. #define FSL_FEATURE_LPUART_HAS_LIN_BREAK_DETECT (1)
  364. /* @brief UART stops in Wait mode available (has bit C1[UARTSWAI]). */
  365. #define FSL_FEATURE_LPUART_HAS_WAIT_MODE_OPERATION (0)
  366. /* @brief Has separate DMA RX and TX requests. */
  367. #define FSL_FEATURE_LPUART_HAS_SEPARATE_DMA_RX_TX_REQn(x) (1)
  368. /* @brief Has separate RX and TX interrupts. */
  369. #define FSL_FEATURE_LPUART_HAS_SEPARATE_RX_TX_IRQ (0)
  370. /* @brief Has LPAURT_PARAM. */
  371. #define FSL_FEATURE_LPUART_HAS_PARAM (1)
  372. /* @brief Has LPUART_VERID. */
  373. #define FSL_FEATURE_LPUART_HAS_VERID (1)
  374. /* @brief Has LPUART_GLOBAL. */
  375. #define FSL_FEATURE_LPUART_HAS_GLOBAL (1)
  376. /* @brief Has LPUART_PINCFG. */
  377. #define FSL_FEATURE_LPUART_HAS_PINCFG (1)
  378. /* interrupt module features */
  379. /* @brief Lowest interrupt request number. */
  380. #define FSL_FEATURE_INTERRUPT_IRQ_MIN (-14)
  381. /* @brief Highest interrupt request number. */
  382. #define FSL_FEATURE_INTERRUPT_IRQ_MAX (159)
  383. /* OCOTP module features */
  384. /* No feature definitions */
  385. /* PIT module features */
  386. /* @brief Number of channels (related to number of registers LDVALn, CVALn, TCTRLn, TFLGn). */
  387. #define FSL_FEATURE_PIT_TIMER_COUNT (4)
  388. /* @brief Has lifetime timer (related to existence of registers LTMR64L and LTMR64H). */
  389. #define FSL_FEATURE_PIT_HAS_LIFETIME_TIMER (1)
  390. /* @brief Has chain mode (related to existence of register bit field TCTRLn[CHN]). */
  391. #define FSL_FEATURE_PIT_HAS_CHAIN_MODE (1)
  392. /* @brief Has shared interrupt handler (has not individual interrupt handler for each channel). */
  393. #define FSL_FEATURE_PIT_HAS_SHARED_IRQ_HANDLER (1)
  394. /* @brief Has timer enable control. */
  395. #define FSL_FEATURE_PIT_HAS_MDIS (1)
  396. /* PMU module features */
  397. /* @brief PMU supports lower power control. */
  398. #define FSL_FEATURE_PMU_HAS_LOWPWR_CTRL (0)
  399. /* PWM module features */
  400. /* @brief Number of each EflexPWM module channels (outputs). */
  401. #define FSL_FEATURE_PWM_CHANNEL_COUNT (12U)
  402. /* @brief Number of EflexPWM module A channels (outputs). */
  403. #define FSL_FEATURE_PWM_CHANNELA_COUNT (4U)
  404. /* @brief Number of EflexPWM module B channels (outputs). */
  405. #define FSL_FEATURE_PWM_CHANNELB_COUNT (4U)
  406. /* @brief Number of EflexPWM module X channels (outputs). */
  407. #define FSL_FEATURE_PWM_CHANNELX_COUNT (4U)
  408. /* @brief Number of each EflexPWM module compare channels interrupts. */
  409. #define FSL_FEATURE_PWM_CMP_INT_HANDLER_COUNT (4U)
  410. /* @brief Number of each EflexPWM module reload channels interrupts. */
  411. #define FSL_FEATURE_PWM_RELOAD_INT_HANDLER_COUNT (4U)
  412. /* @brief Number of each EflexPWM module capture channels interrupts. */
  413. #define FSL_FEATURE_PWM_CAP_INT_HANDLER_COUNT (1U)
  414. /* @brief Number of each EflexPWM module reload error channels interrupts. */
  415. #define FSL_FEATURE_PWM_RERR_INT_HANDLER_COUNT (1U)
  416. /* @brief Number of each EflexPWM module fault channels interrupts. */
  417. #define FSL_FEATURE_PWM_FAULT_INT_HANDLER_COUNT (1U)
  418. /* @brief Number of submodules in each EflexPWM module. */
  419. #define FSL_FEATURE_PWM_SUBMODULE_COUNT (4U)
  420. /* PXP module features */
  421. /* @brief PXP module has dither engine. */
  422. #define FSL_FEATURE_PXP_HAS_DITHER (0)
  423. /* @brief PXP module supports repeat run */
  424. #define FSL_FEATURE_PXP_HAS_EN_REPEAT (1)
  425. /* @brief PXP doesn't have CSC */
  426. #define FSL_FEATURE_PXP_HAS_NO_CSC2 (1)
  427. /* @brief PXP doesn't have LUT */
  428. #define FSL_FEATURE_PXP_HAS_NO_LUT (1)
  429. /* RTWDOG module features */
  430. /* @brief Watchdog is available. */
  431. #define FSL_FEATURE_RTWDOG_HAS_WATCHDOG (1)
  432. /* @brief RTWDOG_CNT can be 32-bit written. */
  433. #define FSL_FEATURE_RTWDOG_HAS_32BIT_ACCESS (1)
  434. /* SAI module features */
  435. /* @brief Receive/transmit FIFO size in item count (register bit fields TCSR[FRDE], TCSR[FRIE], TCSR[FRF], TCR1[TFW], RCSR[FRDE], RCSR[FRIE], RCSR[FRF], RCR1[RFW], registers TFRn, RFRn). */
  436. #define FSL_FEATURE_SAI_FIFO_COUNT (32)
  437. /* @brief Receive/transmit channel number (register bit fields TCR3[TCE], RCR3[RCE], registers TDRn and RDRn). */
  438. #define FSL_FEATURE_SAI_CHANNEL_COUNT (4)
  439. /* @brief Maximum words per frame (register bit fields TCR3[WDFL], TCR4[FRSZ], TMR[TWM], RCR3[WDFL], RCR4[FRSZ], RMR[RWM]). */
  440. #define FSL_FEATURE_SAI_MAX_WORDS_PER_FRAME (32)
  441. /* @brief Has support of combining multiple data channel FIFOs into single channel FIFO (register bit fields TCR3[CFR], TCR4[FCOMB], TFR0[WCP], TFR1[WCP], RCR3[CFR], RCR4[FCOMB], RFR0[RCP], RFR1[RCP]). */
  442. #define FSL_FEATURE_SAI_HAS_FIFO_COMBINE_MODE (1)
  443. /* @brief Has packing of 8-bit and 16-bit data into each 32-bit FIFO word (register bit fields TCR4[FPACK], RCR4[FPACK]). */
  444. #define FSL_FEATURE_SAI_HAS_FIFO_PACKING (1)
  445. /* @brief Configures when the SAI will continue transmitting after a FIFO error has been detected (register bit fields TCR4[FCONT], RCR4[FCONT]). */
  446. #define FSL_FEATURE_SAI_HAS_FIFO_FUNCTION_AFTER_ERROR (1)
  447. /* @brief Configures if the frame sync is generated internally, a frame sync is only generated when the FIFO warning flag is clear or continuously (register bit fields TCR4[ONDEM], RCR4[ONDEM]). */
  448. #define FSL_FEATURE_SAI_HAS_ON_DEMAND_MODE (1)
  449. /* @brief Simplified bit clock source and asynchronous/synchronous mode selection (register bit fields TCR2[CLKMODE], RCR2[CLKMODE]), in comparison with the exclusively implemented TCR2[SYNC,BCS,BCI,MSEL], RCR2[SYNC,BCS,BCI,MSEL]. */
  450. #define FSL_FEATURE_SAI_HAS_CLOCKING_MODE (0)
  451. /* @brief Has register for configuration of the MCLK divide ratio (register bit fields MDR[FRACT], MDR[DIVIDE]). */
  452. #define FSL_FEATURE_SAI_HAS_MCLKDIV_REGISTER (0)
  453. /* @brief Interrupt source number */
  454. #define FSL_FEATURE_SAI_INT_SOURCE_NUM (2)
  455. /* @brief Has register of MCR. */
  456. #define FSL_FEATURE_SAI_HAS_MCR (0)
  457. /* @brief Has register of MDR */
  458. #define FSL_FEATURE_SAI_HAS_MDR (0)
  459. /* SNVS module features */
  460. /* @brief Has Secure Real Time Counter Enabled and Valid (bit field LPCR[SRTC_ENV]). */
  461. #define FSL_FEATURE_SNVS_HAS_SRTC (1)
  462. /* SRC module features */
  463. /* @brief There is MASK_WDOG3_RST bit in SCR register. */
  464. #define FSL_FEATURE_SRC_HAS_SCR_MASK_WDOG3_RST (1)
  465. /* @brief There is MIX_RST_STRCH bit in SCR register. */
  466. #define FSL_FEATURE_SRC_HAS_SCR_MIX_RST_STRCH (0)
  467. /* @brief There is DBG_RST_MSK_PG bit in SCR register. */
  468. #define FSL_FEATURE_SRC_HAS_SCR_DBG_RST_MSK_PG (1)
  469. /* @brief There is WDOG3_RST_OPTN bit in SCR register. */
  470. #define FSL_FEATURE_SRC_HAS_SCR_WDOG3_RST_OPTN (0)
  471. /* @brief There is CORES_DBG_RST bit in SCR register. */
  472. #define FSL_FEATURE_SRC_HAS_SCR_CORES_DBG_RST (0)
  473. /* @brief There is MTSR bit in SCR register. */
  474. #define FSL_FEATURE_SRC_HAS_SCR_MTSR (0)
  475. /* @brief There is CORE0_DBG_RST bit in SCR register. */
  476. #define FSL_FEATURE_SRC_HAS_SCR_CORE0_DBG_RST (1)
  477. /* @brief There is CORE0_RST bit in SCR register. */
  478. #define FSL_FEATURE_SRC_HAS_SCR_CORE0_RST (1)
  479. /* @brief There is LOCKUP_RST bit in SCR register. */
  480. #define FSL_FEATURE_SRC_HAS_SCR_LOCKUP_RST (0)
  481. /* @brief There is SWRC bit in SCR register. */
  482. #define FSL_FEATURE_SRC_HAS_SCR_SWRC (0)
  483. /* @brief There is EIM_RST bit in SCR register. */
  484. #define FSL_FEATURE_SRC_HAS_SCR_EIM_RST (0)
  485. /* @brief There is LUEN bit in SCR register. */
  486. #define FSL_FEATURE_SRC_HAS_SCR_LUEN (0)
  487. /* @brief There is no WRBC bit in SCR register. */
  488. #define FSL_FEATURE_SRC_HAS_NO_SCR_WRBC (1)
  489. /* @brief There is no WRE bit in SCR register. */
  490. #define FSL_FEATURE_SRC_HAS_NO_SCR_WRE (1)
  491. /* @brief There is SISR register. */
  492. #define FSL_FEATURE_SRC_HAS_SISR (0)
  493. /* @brief There is RESET_OUT bit in SRSR register. */
  494. #define FSL_FEATURE_SRC_HAS_SRSR_RESET_OUT (0)
  495. /* @brief There is WDOG3_RST_B bit in SRSR register. */
  496. #define FSL_FEATURE_SRC_HAS_SRSR_WDOG3_RST_B (1)
  497. /* @brief There is SW bit in SRSR register. */
  498. #define FSL_FEATURE_SRC_HAS_SRSR_SW (0)
  499. /* @brief There is IPP_USER_RESET_B bit in SRSR register. */
  500. #define FSL_FEATURE_SRC_HAS_SRSR_IPP_USER_RESET_B (1)
  501. /* @brief There is SNVS bit in SRSR register. */
  502. #define FSL_FEATURE_SRC_HAS_SRSR_SNVS (0)
  503. /* @brief There is CSU_RESET_B bit in SRSR register. */
  504. #define FSL_FEATURE_SRC_HAS_SRSR_CSU_RESET_B (1)
  505. /* @brief There is LOCKUP bit in SRSR register. */
  506. #define FSL_FEATURE_SRC_HAS_SRSR_LOCKUP (0)
  507. /* @brief There is LOCKUP_SYSRESETREQ bit in SRSR register. */
  508. #define FSL_FEATURE_SRC_HAS_SRSR_LOCKUP_SYSRESETREQ (1)
  509. /* @brief There is POR bit in SRSR register. */
  510. #define FSL_FEATURE_SRC_HAS_SRSR_POR (0)
  511. /* @brief There is IPP_RESET_B bit in SRSR register. */
  512. #define FSL_FEATURE_SRC_HAS_SRSR_IPP_RESET_B (1)
  513. /* @brief There is no WBI bit in SCR register. */
  514. #define FSL_FEATURE_SRC_HAS_NO_SRSR_WBI (1)
  515. /* SCB module features */
  516. /* @brief L1 ICACHE line size in byte. */
  517. #define FSL_FEATURE_L1ICACHE_LINESIZE_BYTE (32)
  518. /* @brief L1 DCACHE line size in byte. */
  519. #define FSL_FEATURE_L1DCACHE_LINESIZE_BYTE (32)
  520. /* TRNG module features */
  521. /* @brief TRNG has no TRNG_ACC bitfield. */
  522. #define FSL_FEATURE_TRNG_HAS_NO_TRNG_ACC (1)
  523. /* USBHS module features */
  524. /* @brief EHCI module instance count */
  525. #define FSL_FEATURE_USBHS_EHCI_COUNT (2)
  526. /* @brief Number of endpoints supported */
  527. #define FSL_FEATURE_USBHS_ENDPT_COUNT (8)
  528. /* USDHC module features */
  529. /* @brief Has external DMA support (VEND_SPEC[EXT_DMA_EN]) */
  530. #define FSL_FEATURE_USDHC_HAS_EXT_DMA (0)
  531. /* @brief Has HS400 mode (MIX_CTRL[HS400_MODE]) */
  532. #define FSL_FEATURE_USDHC_HAS_HS400_MODE (0)
  533. /* @brief Has SDR50 support (HOST_CTRL_CAP[SDR50_SUPPORT]) */
  534. #define FSL_FEATURE_USDHC_HAS_SDR50_MODE (1)
  535. /* @brief Has SDR104 support (HOST_CTRL_CAP[SDR104_SUPPORT]) */
  536. #define FSL_FEATURE_USDHC_HAS_SDR104_MODE (1)
  537. /* XBARA module features */
  538. /* @brief DMA_CH_MUX_REQ_30. */
  539. #define FSL_FEATURE_XBARA_OUTPUT_DMA_CH_MUX_REQ_30 (1)
  540. /* @brief DMA_CH_MUX_REQ_31. */
  541. #define FSL_FEATURE_XBARA_OUTPUT_DMA_CH_MUX_REQ_31 (1)
  542. /* @brief DMA_CH_MUX_REQ_94. */
  543. #define FSL_FEATURE_XBARA_OUTPUT_DMA_CH_MUX_REQ_94 (1)
  544. /* @brief DMA_CH_MUX_REQ_95. */
  545. #define FSL_FEATURE_XBARA_OUTPUT_DMA_CH_MUX_REQ_95 (1)
  546. #endif /* _MIMXRT1052_FEATURES_H_ */