Teensy 4.1 core updated for C++20
Ви не можете вибрати більше 25 тем Теми мають розпочинатися з літери або цифри, можуть містити дефіси (-) і не повинні перевищувати 35 символів.

6701 lines
330KB

  1. #pragma once
  2. #include <stdint.h>
  3. // Definitions based these documents:
  4. // i.MX RT1050 Reference Manual, Rev. 1, 03/2018
  5. // ARM v7-M Architecture Reference Manual (DDI 0403E.b)
  6. #if !defined(KINETISL) && !defined(KINETISK)
  7. enum IRQ_NUMBER_t {
  8. IRQ_DMA_CH0 = 0,
  9. IRQ_DMA_CH1 = 1,
  10. IRQ_DMA_CH2 = 2,
  11. IRQ_DMA_CH3 = 3,
  12. IRQ_DMA_CH4 = 4,
  13. IRQ_DMA_CH5 = 5,
  14. IRQ_DMA_CH6 = 6,
  15. IRQ_DMA_CH7 = 7,
  16. IRQ_DMA_CH8 = 8,
  17. IRQ_DMA_CH9 = 9,
  18. IRQ_DMA_CH10 = 10,
  19. IRQ_DMA_CH11 = 11,
  20. IRQ_DMA_CH12 = 12,
  21. IRQ_DMA_CH13 = 13,
  22. IRQ_DMA_CH14 = 14,
  23. IRQ_DMA_CH15 = 15,
  24. IRQ_DMA_ERROR = 16,
  25. IRQ_CTI0 = 17,
  26. IRQ_CTI1 = 18,
  27. IRQ_CORE_ERROR = 19, // TODO - name?
  28. IRQ_LPUART1 = 20,
  29. IRQ_LPUART2 = 21,
  30. IRQ_LPUART3 = 22,
  31. IRQ_LPUART4 = 23,
  32. IRQ_LPUART5 = 24,
  33. IRQ_LPUART6 = 25,
  34. IRQ_LPUART7 = 26,
  35. IRQ_LPUART8 = 27,
  36. IRQ_LPI2C1 = 28,
  37. IRQ_LPI2C2 = 29,
  38. IRQ_LPI2C3 = 30,
  39. IRQ_LPI2C4 = 31,
  40. IRQ_LPSPI1 = 32,
  41. IRQ_LPSPI2 = 33,
  42. IRQ_LPSPI3 = 34,
  43. IRQ_LPSPI4 = 35,
  44. IRQ_CAN1 = 36,
  45. IRQ_CAN2 = 37,
  46. IRQ_ADDR_ERR = 38, // TODO: name?
  47. IRQ_KPP = 39,
  48. IRQ_TSC_DIG = 40,
  49. IRQ_GPR_IRQ = 41,
  50. IRQ_LCDIF = 42,
  51. IRQ_CSI = 43,
  52. IRQ_PXP = 44,
  53. IRQ_WDOG2 = 45,
  54. IRQ_SNVS_IRQ = 46,
  55. IRQ_SNVS_SECURITY = 47,
  56. IRQ_SNVS_ONOFF = 48,
  57. IRQ_CSU = 49,
  58. IRQ_DCP0 = 50, // TODO: ???
  59. IRQ_DCP1 = 51, // TODO: ???
  60. IRQ_DCP2 = 52, // TODO: ???
  61. IRQ_TRNG = 53,
  62. IRQ_SJC_IRQ = 54,
  63. IRQ_BEE = 55,
  64. IRQ_SAI1 = 56,
  65. IRQ_SAI2 = 57,
  66. IRQ_SAI3_RX = 58,
  67. IRQ_SAI3_TX = 59,
  68. IRQ_SPDIF = 60,
  69. IRQ_BROWNOUT0 = 61,
  70. IRQ_BROWNOUT1 = 62,
  71. IRQ_TEMPERATURE = 63,
  72. IRQ_TEMPERATURE_PANIC = 64,
  73. IRQ_USBPHY0 = 65,
  74. IRQ_USBPHY1 = 66,
  75. IRQ_ADC1 = 67,
  76. IRQ_ADC2 = 68,
  77. IRQ_DCDC = 69,
  78. IRQ_Reserved1 = 70,
  79. IRQ_Reserved2 = 71,
  80. IRQ_GPIO1_INT0 = 72,
  81. IRQ_GPIO1_INT1 = 73,
  82. IRQ_GPIO1_INT2 = 74,
  83. IRQ_GPIO1_INT3 = 75,
  84. IRQ_GPIO1_INT4 = 76,
  85. IRQ_GPIO1_INT5 = 77,
  86. IRQ_GPIO1_INT6 = 78,
  87. IRQ_GPIO1_INT7 = 79,
  88. IRQ_GPI01_0_15 = 80,
  89. IRQ_GPIO1_16_31 = 81,
  90. IRQ_GPI02_0_15 = 82,
  91. IRQ_GPIO2_16_31 = 83,
  92. IRQ_GPI03_0_15 = 84,
  93. IRQ_GPIO3_16_31 = 85,
  94. IRQ_GPI04_0_15 = 86,
  95. IRQ_GPIO4_16_31 = 87,
  96. IRQ_GPI05_0_15 = 88,
  97. IRQ_GPIO5_16_31 = 89,
  98. IRQ_FLEXIO1 = 90,
  99. IRQ_FLEXIO2 = 91,
  100. IRQ_WDOG1 = 92,
  101. IRQ_WDOG3 = 93,
  102. IRQ_EWM = 94,
  103. IRQ_CCM1 = 95,
  104. IRQ_CCM2 = 96,
  105. IRQ_GPC = 97,
  106. IRQ_SRC = 98,
  107. IRQ_Reserved3 = 99,
  108. IRQ_GPT1 = 100,
  109. IRQ_GPT2 = 101,
  110. IRQ_FLEXPWM1_0 = 102,
  111. IRQ_FLEXPWM1_1 = 103,
  112. IRQ_FLEXPWM1_2 = 104,
  113. IRQ_FLEXPWM1_3 = 105,
  114. IRQ_FLEXPWM1_FAULT = 106,
  115. IRQ_Reserved4 = 107,
  116. IRQ_FLEXSPI = 108,
  117. IRQ_SEMC = 109,
  118. IRQ_SDHC1 = 110,
  119. IRQ_SDHC2 = 111,
  120. IRQ_USB2 = 112,
  121. IRQ_USB1 = 113,
  122. IRQ_ENET = 114,
  123. IRQ_ENET_TIMER = 115,
  124. IRQ_XBAR1_01 = 116,
  125. IRQ_XBAR1_23 = 117,
  126. IRQ_ADC_ETC0 = 118,
  127. IRQ_ADC_ETC1 = 119,
  128. IRQ_ADC_ETC2 = 120,
  129. IRQ_ADC_ETC_ERR = 121,
  130. IRQ_PIT = 122,
  131. IRQ_ACMP0 = 123,
  132. IRQ_ACMP1 = 124,
  133. IRQ_ACMP2 = 125,
  134. IRQ_ACMP3 = 126,
  135. IRQ_Reserved5 = 127,
  136. IRQ_Reserved6 = 128,
  137. IRQ_ENC1 = 129,
  138. IRQ_ENC2 = 130,
  139. IRQ_ENC3 = 131,
  140. IRQ_ENC4 = 132,
  141. IRQ_QTIMER1 = 133,
  142. IRQ_QTIMER2 = 134,
  143. IRQ_QTIMER3 = 135,
  144. IRQ_QTIMER4 = 136,
  145. IRQ_FLEXPWM2_0 = 137,
  146. IRQ_FLEXPWM2_1 = 138,
  147. IRQ_FLEXPWM2_2 = 139,
  148. IRQ_FLEXPWM2_3 = 140,
  149. IRQ_FLEXPWM2_FAULT = 141,
  150. IRQ_FLEXPWM3_0 = 142,
  151. IRQ_FLEXPWM3_1 = 143,
  152. IRQ_FLEXPWM3_2 = 144,
  153. IRQ_FLEXPWM3_3 = 145,
  154. IRQ_FLEXPWM3_FAULT = 146,
  155. IRQ_FLEXPWM4_0 = 147,
  156. IRQ_FLEXPWM4_1 = 148,
  157. IRQ_FLEXPWM4_2 = 149,
  158. IRQ_FLEXPWM4_3 = 150,
  159. IRQ_FLEXPWM4_FAULT = 151,
  160. IRQ_Reserved7 = 152,
  161. IRQ_Reserved8 = 153,
  162. IRQ_Reserved9 = 154,
  163. IRQ_Reserved10 = 155,
  164. IRQ_Reserved11 = 156,
  165. IRQ_Reserved12 = 157,
  166. IRQ_SJC_DEBUG = 158,
  167. IRQ_NMI_WAKEUP = 159
  168. };
  169. #endif
  170. typedef struct {
  171. volatile uint32_t offset000;
  172. volatile uint32_t offset004;
  173. volatile uint32_t offset008;
  174. volatile uint32_t offset00C;
  175. volatile uint32_t offset010;
  176. volatile uint32_t offset014;
  177. volatile uint32_t offset018;
  178. volatile uint32_t offset01C;
  179. volatile uint32_t offset020;
  180. volatile uint32_t offset024;
  181. volatile uint32_t offset028;
  182. volatile uint32_t offset02C;
  183. volatile uint32_t offset030;
  184. volatile uint32_t offset034;
  185. volatile uint32_t offset038;
  186. volatile uint32_t offset03C;
  187. volatile uint32_t offset040;
  188. volatile uint32_t offset044;
  189. volatile uint32_t offset048;
  190. volatile uint32_t offset04C;
  191. volatile uint32_t offset050;
  192. volatile uint32_t offset054;
  193. volatile uint32_t offset058;
  194. volatile uint32_t offset05C;
  195. volatile uint32_t offset060;
  196. volatile uint32_t offset064;
  197. volatile uint32_t offset068;
  198. volatile uint32_t offset06C;
  199. volatile uint32_t offset070;
  200. volatile uint32_t offset074;
  201. volatile uint32_t offset078;
  202. volatile uint32_t offset07C;
  203. volatile uint32_t offset080;
  204. volatile uint32_t offset084;
  205. volatile uint32_t offset088;
  206. volatile uint32_t offset08C;
  207. volatile uint32_t offset090;
  208. volatile uint32_t offset094;
  209. volatile uint32_t offset098;
  210. volatile uint32_t offset09C;
  211. volatile uint32_t offset0A0;
  212. volatile uint32_t offset0A4;
  213. volatile uint32_t offset0A8;
  214. volatile uint32_t offset0AC;
  215. volatile uint32_t offset0B0;
  216. volatile uint32_t offset0B4;
  217. volatile uint32_t offset0B8;
  218. volatile uint32_t offset0BC;
  219. volatile uint32_t offset0C0;
  220. volatile uint32_t offset0C4;
  221. volatile uint32_t offset0C8;
  222. volatile uint32_t offset0CC;
  223. volatile uint32_t offset0D0;
  224. volatile uint32_t offset0D4;
  225. volatile uint32_t offset0D8;
  226. volatile uint32_t offset0DC;
  227. volatile uint32_t offset0E0;
  228. volatile uint32_t offset0E4;
  229. volatile uint32_t offset0E8;
  230. volatile uint32_t offset0EC;
  231. volatile uint32_t offset0F0;
  232. volatile uint32_t offset0F4;
  233. volatile uint32_t offset0F8;
  234. volatile uint32_t offset0FC;
  235. volatile uint32_t offset100;
  236. volatile uint32_t offset104;
  237. volatile uint32_t offset108;
  238. volatile uint32_t offset10C;
  239. volatile uint32_t offset110;
  240. volatile uint32_t offset114;
  241. volatile uint32_t offset118;
  242. volatile uint32_t offset11C;
  243. volatile uint32_t offset120;
  244. volatile uint32_t offset124;
  245. volatile uint32_t offset128;
  246. volatile uint32_t offset12C;
  247. volatile uint32_t offset130;
  248. volatile uint32_t offset134;
  249. volatile uint32_t offset138;
  250. volatile uint32_t offset13C;
  251. volatile uint32_t offset140;
  252. volatile uint32_t offset144;
  253. volatile uint32_t offset148;
  254. volatile uint32_t offset14C;
  255. volatile uint32_t offset150;
  256. volatile uint32_t offset154;
  257. volatile uint32_t offset158;
  258. volatile uint32_t offset15C;
  259. volatile uint32_t offset160;
  260. volatile uint32_t offset164;
  261. volatile uint32_t offset168;
  262. volatile uint32_t offset16C;
  263. volatile uint32_t offset170;
  264. volatile uint32_t offset174;
  265. volatile uint32_t offset178;
  266. volatile uint32_t offset17C;
  267. volatile uint32_t offset180;
  268. volatile uint32_t offset184;
  269. volatile uint32_t offset188;
  270. volatile uint32_t offset18C;
  271. volatile uint32_t offset190;
  272. volatile uint32_t offset194;
  273. volatile uint32_t offset198;
  274. volatile uint32_t offset19C;
  275. volatile uint32_t offset1A0;
  276. volatile uint32_t offset1A4;
  277. volatile uint32_t offset1A8;
  278. volatile uint32_t offset1AC;
  279. volatile uint32_t offset1B0;
  280. volatile uint32_t offset1B4;
  281. volatile uint32_t offset1B8;
  282. volatile uint32_t offset1BC;
  283. volatile uint32_t offset1C0;
  284. volatile uint32_t offset1C4;
  285. volatile uint32_t offset1C8;
  286. volatile uint32_t offset1CC;
  287. volatile uint32_t offset1D0;
  288. volatile uint32_t offset1D4;
  289. volatile uint32_t offset1D8;
  290. volatile uint32_t offset1DC;
  291. volatile uint32_t offset1E0;
  292. volatile uint32_t offset1E4;
  293. volatile uint32_t offset1E8;
  294. volatile uint32_t offset1EC;
  295. volatile uint32_t offset1F0;
  296. volatile uint32_t offset1F4;
  297. volatile uint32_t offset1F8;
  298. volatile uint32_t offset1FC;
  299. volatile uint32_t offset200;
  300. volatile uint32_t offset204;
  301. volatile uint32_t offset208;
  302. volatile uint32_t offset20C;
  303. volatile uint32_t offset210;
  304. volatile uint32_t offset214;
  305. volatile uint32_t offset218;
  306. volatile uint32_t offset21C;
  307. volatile uint32_t offset220;
  308. volatile uint32_t offset224;
  309. volatile uint32_t offset228;
  310. volatile uint32_t offset22C;
  311. volatile uint32_t offset230;
  312. volatile uint32_t offset234;
  313. volatile uint32_t offset238;
  314. volatile uint32_t offset23C;
  315. volatile uint32_t offset240;
  316. volatile uint32_t offset244;
  317. volatile uint32_t offset248;
  318. volatile uint32_t offset24C;
  319. volatile uint32_t offset250;
  320. volatile uint32_t offset254;
  321. volatile uint32_t offset258;
  322. volatile uint32_t offset25C;
  323. volatile uint32_t offset260;
  324. volatile uint32_t offset264;
  325. volatile uint32_t offset268;
  326. volatile uint32_t offset26C;
  327. volatile uint32_t offset270;
  328. volatile uint32_t offset274;
  329. volatile uint32_t offset278;
  330. volatile uint32_t offset27C;
  331. volatile uint32_t offset280;
  332. volatile uint32_t offset284;
  333. volatile uint32_t offset288;
  334. volatile uint32_t offset28C;
  335. volatile uint32_t offset290;
  336. volatile uint32_t offset294;
  337. volatile uint32_t offset298;
  338. volatile uint32_t offset29C;
  339. volatile uint32_t offset2A0;
  340. volatile uint32_t offset2A4;
  341. volatile uint32_t offset2A8;
  342. volatile uint32_t offset2AC;
  343. volatile uint32_t offset2B0;
  344. volatile uint32_t offset2B4;
  345. volatile uint32_t offset2B8;
  346. volatile uint32_t offset2BC;
  347. volatile uint32_t offset2C0;
  348. volatile uint32_t offset2C4;
  349. volatile uint32_t offset2C8;
  350. volatile uint32_t offset2CC;
  351. volatile uint32_t offset2D0;
  352. volatile uint32_t offset2D4;
  353. volatile uint32_t offset2D8;
  354. volatile uint32_t offset2DC;
  355. volatile uint32_t offset2E0;
  356. volatile uint32_t offset2E4;
  357. volatile uint32_t offset2E8;
  358. volatile uint32_t offset2EC;
  359. volatile uint32_t offset2F0;
  360. volatile uint32_t offset2F4;
  361. volatile uint32_t offset2F8;
  362. volatile uint32_t offset2FC;
  363. volatile uint32_t offset300;
  364. volatile uint32_t offset304;
  365. volatile uint32_t offset308;
  366. volatile uint32_t offset30C;
  367. volatile uint32_t offset310;
  368. volatile uint32_t offset314;
  369. volatile uint32_t offset318;
  370. volatile uint32_t offset31C;
  371. volatile uint32_t offset320;
  372. volatile uint32_t offset324;
  373. volatile uint32_t offset328;
  374. volatile uint32_t offset32C;
  375. volatile uint32_t offset330;
  376. volatile uint32_t offset334;
  377. volatile uint32_t offset338;
  378. volatile uint32_t offset33C;
  379. volatile uint32_t offset340;
  380. volatile uint32_t offset344;
  381. volatile uint32_t offset348;
  382. volatile uint32_t offset34C;
  383. volatile uint32_t offset350;
  384. volatile uint32_t offset354;
  385. volatile uint32_t offset358;
  386. volatile uint32_t offset35C;
  387. volatile uint32_t offset360;
  388. volatile uint32_t offset364;
  389. volatile uint32_t offset368;
  390. volatile uint32_t offset36C;
  391. volatile uint32_t offset370;
  392. volatile uint32_t offset374;
  393. volatile uint32_t offset378;
  394. volatile uint32_t offset37C;
  395. volatile uint32_t offset380;
  396. volatile uint32_t offset384;
  397. volatile uint32_t offset388;
  398. volatile uint32_t offset38C;
  399. volatile uint32_t offset390;
  400. volatile uint32_t offset394;
  401. volatile uint32_t offset398;
  402. volatile uint32_t offset39C;
  403. volatile uint32_t offset3A0;
  404. volatile uint32_t offset3A4;
  405. volatile uint32_t offset3A8;
  406. volatile uint32_t offset3AC;
  407. volatile uint32_t offset3B0;
  408. volatile uint32_t offset3B4;
  409. volatile uint32_t offset3B8;
  410. volatile uint32_t offset3BC;
  411. volatile uint32_t offset3C0;
  412. volatile uint32_t offset3C4;
  413. volatile uint32_t offset3C8;
  414. volatile uint32_t offset3CC;
  415. volatile uint32_t offset3D0;
  416. volatile uint32_t offset3D4;
  417. volatile uint32_t offset3D8;
  418. volatile uint32_t offset3DC;
  419. volatile uint32_t offset3E0;
  420. volatile uint32_t offset3E4;
  421. volatile uint32_t offset3E8;
  422. volatile uint32_t offset3EC;
  423. volatile uint32_t offset3F0;
  424. volatile uint32_t offset3F4;
  425. volatile uint32_t offset3F8;
  426. volatile uint32_t offset3FC;
  427. } IMXRT_REGISTER32_t;
  428. typedef struct {
  429. volatile uint16_t offset000;
  430. volatile uint16_t offset002;
  431. volatile uint16_t offset004;
  432. volatile uint16_t offset006;
  433. volatile uint16_t offset008;
  434. volatile uint16_t offset00A;
  435. volatile uint16_t offset00C;
  436. volatile uint16_t offset00E;
  437. volatile uint16_t offset010;
  438. volatile uint16_t offset012;
  439. volatile uint16_t offset014;
  440. volatile uint16_t offset016;
  441. volatile uint16_t offset018;
  442. volatile uint16_t offset01A;
  443. volatile uint16_t offset01C;
  444. volatile uint16_t offset01E;
  445. volatile uint16_t offset020;
  446. volatile uint16_t offset022;
  447. volatile uint16_t offset024;
  448. volatile uint16_t offset026;
  449. volatile uint16_t offset028;
  450. volatile uint16_t offset02A;
  451. volatile uint16_t offset02C;
  452. volatile uint16_t offset02E;
  453. volatile uint16_t offset030;
  454. volatile uint16_t offset032;
  455. volatile uint16_t offset034;
  456. volatile uint16_t offset036;
  457. volatile uint16_t offset038;
  458. volatile uint16_t offset03A;
  459. volatile uint16_t offset03C;
  460. volatile uint16_t offset03E;
  461. volatile uint16_t offset040;
  462. volatile uint16_t offset042;
  463. volatile uint16_t offset044;
  464. volatile uint16_t offset046;
  465. volatile uint16_t offset048;
  466. volatile uint16_t offset04A;
  467. volatile uint16_t offset04C;
  468. volatile uint16_t offset04E;
  469. volatile uint16_t offset050;
  470. volatile uint16_t offset052;
  471. volatile uint16_t offset054;
  472. volatile uint16_t offset056;
  473. volatile uint16_t offset058;
  474. volatile uint16_t offset05A;
  475. volatile uint16_t offset05C;
  476. volatile uint16_t offset05E;
  477. volatile uint16_t offset060;
  478. volatile uint16_t offset062;
  479. volatile uint16_t offset064;
  480. volatile uint16_t offset066;
  481. volatile uint16_t offset068;
  482. volatile uint16_t offset06A;
  483. volatile uint16_t offset06C;
  484. volatile uint16_t offset06E;
  485. volatile uint16_t offset070;
  486. volatile uint16_t offset072;
  487. volatile uint16_t offset074;
  488. volatile uint16_t offset076;
  489. volatile uint16_t offset078;
  490. volatile uint16_t offset07A;
  491. volatile uint16_t offset07C;
  492. volatile uint16_t offset07E;
  493. volatile uint16_t offset080;
  494. volatile uint16_t offset082;
  495. volatile uint16_t offset084;
  496. volatile uint16_t offset086;
  497. volatile uint16_t offset088;
  498. volatile uint16_t offset08A;
  499. volatile uint16_t offset08C;
  500. volatile uint16_t offset08E;
  501. volatile uint16_t offset090;
  502. volatile uint16_t offset092;
  503. volatile uint16_t offset094;
  504. volatile uint16_t offset096;
  505. volatile uint16_t offset098;
  506. volatile uint16_t offset09A;
  507. volatile uint16_t offset09C;
  508. volatile uint16_t offset09E;
  509. volatile uint16_t offset0A0;
  510. volatile uint16_t offset0A2;
  511. volatile uint16_t offset0A4;
  512. volatile uint16_t offset0A6;
  513. volatile uint16_t offset0A8;
  514. volatile uint16_t offset0AA;
  515. volatile uint16_t offset0AC;
  516. volatile uint16_t offset0AE;
  517. volatile uint16_t offset0B0;
  518. volatile uint16_t offset0B2;
  519. volatile uint16_t offset0B4;
  520. volatile uint16_t offset0B6;
  521. volatile uint16_t offset0B8;
  522. volatile uint16_t offset0BA;
  523. volatile uint16_t offset0BC;
  524. volatile uint16_t offset0BE;
  525. volatile uint16_t offset0C0;
  526. volatile uint16_t offset0C2;
  527. volatile uint16_t offset0C4;
  528. volatile uint16_t offset0C6;
  529. volatile uint16_t offset0C8;
  530. volatile uint16_t offset0CA;
  531. volatile uint16_t offset0CC;
  532. volatile uint16_t offset0CE;
  533. volatile uint16_t offset0D0;
  534. volatile uint16_t offset0D2;
  535. volatile uint16_t offset0D4;
  536. volatile uint16_t offset0D6;
  537. volatile uint16_t offset0D8;
  538. volatile uint16_t offset0DA;
  539. volatile uint16_t offset0DC;
  540. volatile uint16_t offset0DE;
  541. volatile uint16_t offset0E0;
  542. volatile uint16_t offset0E2;
  543. volatile uint16_t offset0E4;
  544. volatile uint16_t offset0E6;
  545. volatile uint16_t offset0E8;
  546. volatile uint16_t offset0EA;
  547. volatile uint16_t offset0EC;
  548. volatile uint16_t offset0EE;
  549. volatile uint16_t offset0F0;
  550. volatile uint16_t offset0F2;
  551. volatile uint16_t offset0F4;
  552. volatile uint16_t offset0F6;
  553. volatile uint16_t offset0F8;
  554. volatile uint16_t offset0FA;
  555. volatile uint16_t offset0FC;
  556. volatile uint16_t offset0FE;
  557. volatile uint16_t offset100;
  558. volatile uint16_t offset102;
  559. volatile uint16_t offset104;
  560. volatile uint16_t offset106;
  561. volatile uint16_t offset108;
  562. volatile uint16_t offset10A;
  563. volatile uint16_t offset10C;
  564. volatile uint16_t offset10E;
  565. volatile uint16_t offset110;
  566. volatile uint16_t offset112;
  567. volatile uint16_t offset114;
  568. volatile uint16_t offset116;
  569. volatile uint16_t offset118;
  570. volatile uint16_t offset11A;
  571. volatile uint16_t offset11C;
  572. volatile uint16_t offset11E;
  573. volatile uint16_t offset120;
  574. volatile uint16_t offset122;
  575. volatile uint16_t offset124;
  576. volatile uint16_t offset126;
  577. volatile uint16_t offset128;
  578. volatile uint16_t offset12A;
  579. volatile uint16_t offset12C;
  580. volatile uint16_t offset12E;
  581. volatile uint16_t offset130;
  582. volatile uint16_t offset132;
  583. volatile uint16_t offset134;
  584. volatile uint16_t offset136;
  585. volatile uint16_t offset138;
  586. volatile uint16_t offset13A;
  587. volatile uint16_t offset13C;
  588. volatile uint16_t offset13E;
  589. volatile uint16_t offset140;
  590. volatile uint16_t offset142;
  591. volatile uint16_t offset144;
  592. volatile uint16_t offset146;
  593. volatile uint16_t offset148;
  594. volatile uint16_t offset14A;
  595. volatile uint16_t offset14C;
  596. volatile uint16_t offset14E;
  597. volatile uint16_t offset150;
  598. volatile uint16_t offset152;
  599. volatile uint16_t offset154;
  600. volatile uint16_t offset156;
  601. volatile uint16_t offset158;
  602. volatile uint16_t offset15A;
  603. volatile uint16_t offset15C;
  604. volatile uint16_t offset15E;
  605. volatile uint16_t offset160;
  606. volatile uint16_t offset162;
  607. volatile uint16_t offset164;
  608. volatile uint16_t offset166;
  609. volatile uint16_t offset168;
  610. volatile uint16_t offset16A;
  611. volatile uint16_t offset16C;
  612. volatile uint16_t offset16E;
  613. volatile uint16_t offset170;
  614. volatile uint16_t offset172;
  615. volatile uint16_t offset174;
  616. volatile uint16_t offset176;
  617. volatile uint16_t offset178;
  618. volatile uint16_t offset17A;
  619. volatile uint16_t offset17C;
  620. volatile uint16_t offset17E;
  621. volatile uint16_t offset180;
  622. volatile uint16_t offset182;
  623. volatile uint16_t offset184;
  624. volatile uint16_t offset186;
  625. volatile uint16_t offset188;
  626. volatile uint16_t offset18A;
  627. volatile uint16_t offset18C;
  628. volatile uint16_t offset18E;
  629. volatile uint16_t offset190;
  630. volatile uint16_t offset192;
  631. volatile uint16_t offset194;
  632. volatile uint16_t offset196;
  633. volatile uint16_t offset198;
  634. volatile uint16_t offset19A;
  635. volatile uint16_t offset19C;
  636. volatile uint16_t offset19E;
  637. volatile uint16_t offset1A0;
  638. volatile uint16_t offset1A2;
  639. volatile uint16_t offset1A4;
  640. volatile uint16_t offset1A6;
  641. volatile uint16_t offset1A8;
  642. volatile uint16_t offset1AA;
  643. volatile uint16_t offset1AC;
  644. volatile uint16_t offset1AE;
  645. volatile uint16_t offset1B0;
  646. volatile uint16_t offset1B2;
  647. volatile uint16_t offset1B4;
  648. volatile uint16_t offset1B6;
  649. volatile uint16_t offset1B8;
  650. volatile uint16_t offset1BA;
  651. volatile uint16_t offset1BC;
  652. volatile uint16_t offset1BE;
  653. volatile uint16_t offset1C0;
  654. volatile uint16_t offset1C2;
  655. volatile uint16_t offset1C4;
  656. volatile uint16_t offset1C6;
  657. volatile uint16_t offset1C8;
  658. volatile uint16_t offset1CA;
  659. volatile uint16_t offset1CC;
  660. volatile uint16_t offset1CE;
  661. volatile uint16_t offset1D0;
  662. volatile uint16_t offset1D2;
  663. volatile uint16_t offset1D4;
  664. volatile uint16_t offset1D6;
  665. volatile uint16_t offset1D8;
  666. volatile uint16_t offset1DA;
  667. volatile uint16_t offset1DC;
  668. volatile uint16_t offset1DE;
  669. volatile uint16_t offset1E0;
  670. volatile uint16_t offset1E2;
  671. volatile uint16_t offset1E4;
  672. volatile uint16_t offset1E6;
  673. volatile uint16_t offset1E8;
  674. volatile uint16_t offset1EA;
  675. volatile uint16_t offset1EC;
  676. volatile uint16_t offset1EE;
  677. volatile uint16_t offset1F0;
  678. volatile uint16_t offset1F2;
  679. volatile uint16_t offset1F4;
  680. volatile uint16_t offset1F6;
  681. volatile uint16_t offset1F8;
  682. volatile uint16_t offset1FA;
  683. volatile uint16_t offset1FC;
  684. volatile uint16_t offset1FE;
  685. } IMXRT_REGISTER16_t;
  686. typedef struct {
  687. volatile uint8_t offset00;
  688. volatile uint8_t offset01;
  689. volatile uint8_t offset02;
  690. volatile uint8_t offset03;
  691. volatile uint8_t offset04;
  692. volatile uint8_t offset05;
  693. volatile uint8_t offset06;
  694. volatile uint8_t offset07;
  695. volatile uint8_t offset08;
  696. volatile uint8_t offset09;
  697. volatile uint8_t offset0A;
  698. volatile uint8_t offset0B;
  699. volatile uint8_t offset0C;
  700. volatile uint8_t offset0D;
  701. volatile uint8_t offset0E;
  702. volatile uint8_t offset0F;
  703. } IMXRT_REGISTER8_t;
  704. // 13.3: page 456
  705. #define IMXRT_CMP1 (*(IMXRT_REGISTER8_t *)0x40094000)
  706. #define CMP1_CR0 (IMXRT_CMP1.offset00)
  707. #define CMP1_CR1 (IMXRT_CMP1.offset01)
  708. #define CMP1_FPR (IMXRT_CMP1.offset02)
  709. #define CMP1_SCR (IMXRT_CMP1.offset03)
  710. #define CMP1_DACCR (IMXRT_CMP1.offset04)
  711. #define CMP1_MUXCR (IMXRT_CMP1.offset05)
  712. #define IMXRT_CMP2 (*(IMXRT_REGISTER8_t *)0x40094008)
  713. #define CMP2_CR0 (IMXRT_CMP2.offset00)
  714. #define CMP2_CR1 (IMXRT_CMP2.offset01)
  715. #define CMP2_FPR (IMXRT_CMP2.offset02)
  716. #define CMP2_SCR (IMXRT_CMP2.offset03)
  717. #define CMP2_DACCR (IMXRT_CMP2.offset04)
  718. #define CMP2_MUXCR (IMXRT_CMP2.offset05)
  719. #define IMXRT_CMP3 (*(IMXRT_REGISTER8_t *)0x40094010)
  720. #define CMP3_CR0 (IMXRT_CMP3.offset00)
  721. #define CMP3_CR1 (IMXRT_CMP3.offset01)
  722. #define CMP3_FPR (IMXRT_CMP3.offset02)
  723. #define CMP3_SCR (IMXRT_CMP3.offset03)
  724. #define CMP3_DACCR (IMXRT_CMP3.offset04)
  725. #define CMP3_MUXCR (IMXRT_CMP3.offset05)
  726. #define IMXRT_CMP4 (*(IMXRT_REGISTER8_t *)0x40094018)
  727. #define CMP4_CR0 (IMXRT_CMP4.offset00)
  728. #define CMP4_CR1 (IMXRT_CMP4.offset01)
  729. #define CMP4_FPR (IMXRT_CMP4.offset02)
  730. #define CMP4_SCR (IMXRT_CMP4.offset03)
  731. #define CMP4_DACCR (IMXRT_CMP4.offset04)
  732. #define CMP4_MUXCR (IMXRT_CMP4.offset05)
  733. // 14.6: page 505
  734. #define IMXRT_ADC1 (*(IMXRT_REGISTER32_t *)0x400C4000)
  735. #define ADC1_HC0 (IMXRT_ADC1.offset000)
  736. #define ADC1_HC1 (IMXRT_ADC1.offset004)
  737. #define ADC1_HC2 (IMXRT_ADC1.offset008)
  738. #define ADC1_HC3 (IMXRT_ADC1.offset00C)
  739. #define ADC1_HC4 (IMXRT_ADC1.offset010)
  740. #define ADC1_HC5 (IMXRT_ADC1.offset014)
  741. #define ADC1_HC6 (IMXRT_ADC1.offset018)
  742. #define ADC1_HC7 (IMXRT_ADC1.offset01C)
  743. #define ADC1_HS (IMXRT_ADC1.offset020)
  744. #define ADC1_R0 (IMXRT_ADC1.offset024)
  745. #define ADC1_R1 (IMXRT_ADC1.offset028)
  746. #define ADC1_R2 (IMXRT_ADC1.offset02C)
  747. #define ADC1_R3 (IMXRT_ADC1.offset030)
  748. #define ADC1_R4 (IMXRT_ADC1.offset034)
  749. #define ADC1_R5 (IMXRT_ADC1.offset038)
  750. #define ADC1_R6 (IMXRT_ADC1.offset03C)
  751. #define ADC1_R7 (IMXRT_ADC1.offset040)
  752. #define ADC1_CFG (IMXRT_ADC1.offset044)
  753. #define ADC1_GC (IMXRT_ADC1.offset048)
  754. #define ADC1_GS (IMXRT_ADC1.offset04C)
  755. #define ADC1_CV (IMXRT_ADC1.offset050)
  756. #define ADC1_OFS (IMXRT_ADC1.offset054)
  757. #define ADC1_CAL (IMXRT_ADC1.offset058)
  758. #define IMXRT_ADC2 (*(IMXRT_REGISTER32_t *)0x400C8000)
  759. #define ADC2_HC0 (IMXRT_ADC2.offset000)
  760. #define ADC2_HC1 (IMXRT_ADC2.offset004)
  761. #define ADC2_HC2 (IMXRT_ADC2.offset008)
  762. #define ADC2_HC3 (IMXRT_ADC2.offset00C)
  763. #define ADC2_HC4 (IMXRT_ADC2.offset010)
  764. #define ADC2_HC5 (IMXRT_ADC2.offset014)
  765. #define ADC2_HC6 (IMXRT_ADC2.offset018)
  766. #define ADC2_HC7 (IMXRT_ADC2.offset01C)
  767. #define ADC2_HS (IMXRT_ADC2.offset020)
  768. #define ADC2_R0 (IMXRT_ADC2.offset024)
  769. #define ADC2_R1 (IMXRT_ADC2.offset028)
  770. #define ADC2_R2 (IMXRT_ADC2.offset02C)
  771. #define ADC2_R3 (IMXRT_ADC2.offset030)
  772. #define ADC2_R4 (IMXRT_ADC2.offset034)
  773. #define ADC2_R5 (IMXRT_ADC2.offset038)
  774. #define ADC2_R6 (IMXRT_ADC2.offset03C)
  775. #define ADC2_R7 (IMXRT_ADC2.offset040)
  776. #define ADC2_CFG (IMXRT_ADC2.offset044)
  777. #define ADC2_GC (IMXRT_ADC2.offset048)
  778. #define ADC2_GS (IMXRT_ADC2.offset04C)
  779. #define ADC2_CV (IMXRT_ADC2.offset050)
  780. #define ADC2_OFS (IMXRT_ADC2.offset054)
  781. #define ADC2_CAL (IMXRT_ADC2.offset058)
  782. #define ADC_HC_AIEN ((uint32_t)(1<<7))
  783. #define ADC_HC_ADCH(n) ((uint32_t)(((n) & 0x1F) << 0))
  784. #define ADC_HS_COCO0 ((uint32_t)(1<<0))
  785. #define ADC_CFG_OVWREN ((uint32_t)(1<<16))
  786. #define ADC_CFG_AVGS(n) ((uint32_t)(((n) & 0x03) << 14))
  787. #define ADC_CFG_ADTRG ((uint32_t)(1<<13))
  788. #define ADC_CFG_REFSEL(n) ((uint32_t)(((n) & 0x03) << 11))
  789. #define ADC_CFG_ADHSC ((uint32_t)(1<<10))
  790. #define ADC_CFG_ADSTS(n) ((uint32_t)(((n) & 0x03) << 8))
  791. #define ADC_CFG_ADLPC ((uint32_t)(1<<7))
  792. #define ADC_CFG_ADIV(n) ((uint32_t)(((n) & 0x03) << 5))
  793. #define ADC_CFG_ADLSMP ((uint32_t)(1<<4))
  794. #define ADC_CFG_MODE(n) ((uint32_t)(((n) & 0x03) << 2))
  795. #define ADC_CFG_ADICLK(n) ((uint32_t)(((n) & 0x03) << 0))
  796. #define ADC_GC_CAL ((uint32_t)(1<<7))
  797. #define ADC_GC_ADCO ((uint32_t)(1<<6))
  798. #define ADC_GC_AVGE ((uint32_t)(1<<5))
  799. #define ADC_GC_ACFE ((uint32_t)(1<<4))
  800. #define ADC_GC_ACFGT ((uint32_t)(1<<3))
  801. #define ADC_GC_ACREN ((uint32_t)(1<<2))
  802. #define ADC_GC_DMAEN ((uint32_t)(1<<1))
  803. #define ADC_GC_ADACKEN ((uint32_t)(1<<0))
  804. #define ADC_GS_AWKST ((uint32_t)(1<<2))
  805. #define ADC_GS_CALF ((uint32_t)(1<<1))
  806. #define ADC_GS_ADACT ((uint32_t)(1<<0))
  807. #define ADC_CV_CV2(n) ((uint32_t)(((n) & 0xFFF) << 16))
  808. #define ADC_CV_CV1(n) ((uint32_t)(((n) & 0xFFF) << 0))
  809. #define ADC_OFS_SIGN ((uint32_t)(1<<12))
  810. #define ADC_OFS_OFS(n) ((uint32_t)(((n) & 0xFFF) << 0))
  811. #define ADC_CAL_CAL_CODE(n) ((uint32_t)(((n) & 0x0F) << 0))
  812. // 15.4.1.1: page 527
  813. #define IMXRT_ADC_ETC (*(IMXRT_REGISTER32_t *)0x403B0000)
  814. #define ADC_ETC_CTRL (IMXRT_ADC_ETC.offset000)
  815. #define ADC_ETC_DONE0_1_IRQ (IMXRT_ADC_ETC.offset004)
  816. #define ADC_ETC_DONE2_ERR_IRQ (IMXRT_ADC_ETC.offset008)
  817. #define ADC_ETC_DMA_CTRL (IMXRT_ADC_ETC.offset00C)
  818. #define ADC_ETC_TRIG0_CTRL (IMXRT_ADC_ETC.offset010)
  819. #define ADC_ETC_TRIG0_COUNTER (IMXRT_ADC_ETC.offset014)
  820. #define ADC_ETC_TRIG0_CHAIN_1_0 (IMXRT_ADC_ETC.offset018)
  821. #define ADC_ETC_TRIG0_CHAIN_3_2 (IMXRT_ADC_ETC.offset01C)
  822. #define ADC_ETC_TRIG0_CHAIN_5_4 (IMXRT_ADC_ETC.offset020)
  823. #define ADC_ETC_TRIG0_CHAIN_7_6 (IMXRT_ADC_ETC.offset024)
  824. #define ADC_ETC_TRIG0_RESULT_1_0 (IMXRT_ADC_ETC.offset028)
  825. #define ADC_ETC_TRIG0_RESULT_3_2 (IMXRT_ADC_ETC.offset02C)
  826. #define ADC_ETC_TRIG0_RESULT_5_4 (IMXRT_ADC_ETC.offset030)
  827. #define ADC_ETC_TRIG0_RESULT_7_6 (IMXRT_ADC_ETC.offset034)
  828. #define ADC_ETC_TRIG1_CTRL (IMXRT_ADC_ETC.offset038)
  829. #define ADC_ETC_TRIG1_COUNTER (IMXRT_ADC_ETC.offset03C)
  830. #define ADC_ETC_TRIG1_CHAIN_1_0 (IMXRT_ADC_ETC.offset040)
  831. #define ADC_ETC_TRIG1_CHAIN_3_2 (IMXRT_ADC_ETC.offset044)
  832. #define ADC_ETC_TRIG1_CHAIN_5_4 (IMXRT_ADC_ETC.offset048)
  833. #define ADC_ETC_TRIG1_CHAIN_7_6 (IMXRT_ADC_ETC.offset04C)
  834. #define ADC_ETC_TRIG1_RESULT_1_0 (IMXRT_ADC_ETC.offset050)
  835. #define ADC_ETC_TRIG1_RESULT_3_2 (IMXRT_ADC_ETC.offset054)
  836. #define ADC_ETC_TRIG1_RESULT_5_4 (IMXRT_ADC_ETC.offset058)
  837. #define ADC_ETC_TRIG1_RESULT_7_6 (IMXRT_ADC_ETC.offset05C)
  838. #define ADC_ETC_TRIG2_CTRL (IMXRT_ADC_ETC.offset060)
  839. #define ADC_ETC_TRIG2_COUNTER (IMXRT_ADC_ETC.offset064)
  840. #define ADC_ETC_TRIG2_CHAIN_1_0 (IMXRT_ADC_ETC.offset068)
  841. #define ADC_ETC_TRIG2_CHAIN_3_2 (IMXRT_ADC_ETC.offset06C)
  842. #define ADC_ETC_TRIG2_CHAIN_5_4 (IMXRT_ADC_ETC.offset070)
  843. #define ADC_ETC_TRIG2_CHAIN_7_6 (IMXRT_ADC_ETC.offset074)
  844. #define ADC_ETC_TRIG2_RESULT_1_0 (IMXRT_ADC_ETC.offset078)
  845. #define ADC_ETC_TRIG2_RESULT_3_2 (IMXRT_ADC_ETC.offset07C)
  846. #define ADC_ETC_TRIG2_RESULT_5_4 (IMXRT_ADC_ETC.offset080)
  847. #define ADC_ETC_TRIG2_RESULT_7_6 (IMXRT_ADC_ETC.offset084)
  848. #define ADC_ETC_TRIG3_CTRL (IMXRT_ADC_ETC.offset088)
  849. #define ADC_ETC_TRIG3_COUNTER (IMXRT_ADC_ETC.offset08C)
  850. #define ADC_ETC_TRIG3_CHAIN_1_0 (IMXRT_ADC_ETC.offset090)
  851. #define ADC_ETC_TRIG3_CHAIN_3_2 (IMXRT_ADC_ETC.offset094)
  852. #define ADC_ETC_TRIG3_CHAIN_5_4 (IMXRT_ADC_ETC.offset098)
  853. #define ADC_ETC_TRIG3_CHAIN_7_6 (IMXRT_ADC_ETC.offset09C)
  854. #define ADC_ETC_TRIG3_RESULT_1_0 (IMXRT_ADC_ETC.offset0A0)
  855. #define ADC_ETC_TRIG3_RESULT_3_2 (IMXRT_ADC_ETC.offset0A4)
  856. #define ADC_ETC_TRIG3_RESULT_5_4 (IMXRT_ADC_ETC.offset0A8)
  857. #define ADC_ETC_TRIG3_RESULT_7_6 (IMXRT_ADC_ETC.offset0AC)
  858. #define ADC_ETC_TRIG4_CTRL (IMXRT_ADC_ETC.offset0B0)
  859. #define ADC_ETC_TRIG4_COUNTER (IMXRT_ADC_ETC.offset0B4)
  860. #define ADC_ETC_TRIG4_CHAIN_1_0 (IMXRT_ADC_ETC.offset0B8)
  861. #define ADC_ETC_TRIG4_CHAIN_3_2 (IMXRT_ADC_ETC.offset0BC)
  862. #define ADC_ETC_TRIG4_CHAIN_5_4 (IMXRT_ADC_ETC.offset0C0)
  863. #define ADC_ETC_TRIG4_CHAIN_7_6 (IMXRT_ADC_ETC.offset0C4)
  864. #define ADC_ETC_TRIG4_RESULT_1_0 (IMXRT_ADC_ETC.offset0C8)
  865. #define ADC_ETC_TRIG4_RESULT_3_2 (IMXRT_ADC_ETC.offset0CC)
  866. #define ADC_ETC_TRIG4_RESULT_5_4 (IMXRT_ADC_ETC.offset0D0)
  867. #define ADC_ETC_TRIG4_RESULT_7_6 (IMXRT_ADC_ETC.offset0D4)
  868. #define ADC_ETC_TRIG5_CTRL (IMXRT_ADC_ETC.offset0D8)
  869. #define ADC_ETC_TRIG5_COUNTER (IMXRT_ADC_ETC.offset0DC)
  870. #define ADC_ETC_TRIG5_CHAIN_1_0 (IMXRT_ADC_ETC.offset0E0)
  871. #define ADC_ETC_TRIG5_CHAIN_3_2 (IMXRT_ADC_ETC.offset0E4)
  872. #define ADC_ETC_TRIG5_CHAIN_5_4 (IMXRT_ADC_ETC.offset0E8)
  873. #define ADC_ETC_TRIG5_CHAIN_7_6 (IMXRT_ADC_ETC.offset0EC)
  874. #define ADC_ETC_TRIG5_RESULT_1_0 (IMXRT_ADC_ETC.offset0F0)
  875. #define ADC_ETC_TRIG5_RESULT_3_2 (IMXRT_ADC_ETC.offset0F4)
  876. #define ADC_ETC_TRIG5_RESULT_5_4 (IMXRT_ADC_ETC.offset0F8)
  877. #define ADC_ETC_TRIG5_RESULT_7_6 (IMXRT_ADC_ETC.offset0FC)
  878. #define ADC_ETC_TRIG6_CTRL (IMXRT_ADC_ETC.offset100)
  879. #define ADC_ETC_TRIG6_COUNTER (IMXRT_ADC_ETC.offset104)
  880. #define ADC_ETC_TRIG6_CHAIN_1_0 (IMXRT_ADC_ETC.offset108)
  881. #define ADC_ETC_TRIG6_CHAIN_3_2 (IMXRT_ADC_ETC.offset10C)
  882. #define ADC_ETC_TRIG6_CHAIN_5_4 (IMXRT_ADC_ETC.offset110)
  883. #define ADC_ETC_TRIG6_CHAIN_7_6 (IMXRT_ADC_ETC.offset114)
  884. #define ADC_ETC_TRIG6_RESULT_1_0 (IMXRT_ADC_ETC.offset118)
  885. #define ADC_ETC_TRIG6_RESULT_3_2 (IMXRT_ADC_ETC.offset11C)
  886. #define ADC_ETC_TRIG6_RESULT_5_4 (IMXRT_ADC_ETC.offset120)
  887. #define ADC_ETC_TRIG6_RESULT_7_6 (IMXRT_ADC_ETC.offset124)
  888. #define ADC_ETC_TRIG7_CTRL (IMXRT_ADC_ETC.offset128)
  889. #define ADC_ETC_TRIG7_COUNTER (IMXRT_ADC_ETC.offset12C)
  890. #define ADC_ETC_TRIG7_CHAIN_1_0 (IMXRT_ADC_ETC.offset130)
  891. #define ADC_ETC_TRIG7_CHAIN_3_2 (IMXRT_ADC_ETC.offset134)
  892. #define ADC_ETC_TRIG7_CHAIN_5_4 (IMXRT_ADC_ETC.offset138)
  893. #define ADC_ETC_TRIG7_CHAIN_7_6 (IMXRT_ADC_ETC.offset13C)
  894. #define ADC_ETC_TRIG7_RESULT_1_0 (IMXRT_ADC_ETC.offset140)
  895. #define ADC_ETC_TRIG7_RESULT_3_2 (IMXRT_ADC_ETC.offset144)
  896. #define ADC_ETC_TRIG7_RESULT_5_4 (IMXRT_ADC_ETC.offset148)
  897. #define ADC_ETC_TRIG7_RESULT_7_6 (IMXRT_ADC_ETC.offset14C)
  898. // 16.7: page 640
  899. #define IMXRT_AIPSTZ1 (*(IMXRT_REGISTER32_t *)0x4007C000)
  900. #define AIPSTZ1_MPR (IMXRT_AIPSTZ1.offset000)
  901. #define AIPSTZ1_OPACR (IMXRT_AIPSTZ1.offset040)
  902. #define AIPSTZ1_OPACR1 (IMXRT_AIPSTZ1.offset044)
  903. #define AIPSTZ1_OPACR2 (IMXRT_AIPSTZ1.offset048)
  904. #define AIPSTZ1_OPACR3 (IMXRT_AIPSTZ1.offset04C)
  905. #define AIPSTZ1_OPACR4 (IMXRT_AIPSTZ1.offset050)
  906. #define IMXRT_AIPSTZ2 (*(IMXRT_REGISTER32_t *)0x4017C000)
  907. #define AIPSTZ2_MPR (IMXRT_AIPSTZ2.offset000)
  908. #define AIPSTZ2_OPACR (IMXRT_AIPSTZ2.offset040)
  909. #define AIPSTZ2_OPACR1 (IMXRT_AIPSTZ2.offset044)
  910. #define AIPSTZ2_OPACR2 (IMXRT_AIPSTZ2.offset048)
  911. #define AIPSTZ2_OPACR3 (IMXRT_AIPSTZ2.offset04C)
  912. #define AIPSTZ2_OPACR4 (IMXRT_AIPSTZ2.offset050)
  913. #define IMXRT_AIPSTZ3 (*(IMXRT_REGISTER32_t *)0x4027C000)
  914. #define AIPSTZ3_MPR (IMXRT_AIPSTZ3.offset000)
  915. #define AIPSTZ3_OPACR (IMXRT_AIPSTZ3.offset040)
  916. #define AIPSTZ3_OPACR1 (IMXRT_AIPSTZ3.offset044)
  917. #define AIPSTZ3_OPACR2 (IMXRT_AIPSTZ3.offset048)
  918. #define AIPSTZ3_OPACR3 (IMXRT_AIPSTZ3.offset04C)
  919. #define AIPSTZ3_OPACR4 (IMXRT_AIPSTZ3.offset050)
  920. #define IMXRT_AIPSTZ4 (*(IMXRT_REGISTER32_t *)0x4037C000)
  921. #define AIPSTZ4_MPR (IMXRT_AIPSTZ4.offset000)
  922. #define AIPSTZ4_OPACR (IMXRT_AIPSTZ4.offset040)
  923. #define AIPSTZ4_OPACR1 (IMXRT_AIPSTZ4.offset044)
  924. #define AIPSTZ4_OPACR2 (IMXRT_AIPSTZ4.offset048)
  925. #define AIPSTZ4_OPACR3 (IMXRT_AIPSTZ4.offset04C)
  926. #define AIPSTZ4_OPACR4 (IMXRT_AIPSTZ4.offset050)
  927. // 17.3: page 662
  928. #define IMXRT_AOI1 (*(IMXRT_REGISTER16_t *)0x403B4000)
  929. #define AOI1_BFCRT010 (IMXRT_AOI1.offset000)
  930. #define AOI1_BFCRT230 (IMXRT_AOI1.offset002)
  931. #define AOI1_BFCRT011 (IMXRT_AOI1.offset004)
  932. #define AOI1_BFCRT231 (IMXRT_AOI1.offset006)
  933. #define AOI1_BFCRT012 (IMXRT_AOI1.offset008)
  934. #define AOI1_BFCRT232 (IMXRT_AOI1.offset00A)
  935. #define AOI1_BFCRT013 (IMXRT_AOI1.offset00C)
  936. #define AOI1_BFCRT233 (IMXRT_AOI1.offset00E)
  937. #define IMXRT_AOI2 (*(IMXRT_REGISTER16_t *)0x403B8000)
  938. #define AOI2_BFCRT010 (IMXRT_AOI2.offset000)
  939. #define AOI2_BFCRT230 (IMXRT_AOI2.offset002)
  940. #define AOI2_BFCRT011 (IMXRT_AOI2.offset004)
  941. #define AOI2_BFCRT231 (IMXRT_AOI2.offset006)
  942. #define AOI2_BFCRT012 (IMXRT_AOI2.offset008)
  943. #define AOI2_BFCRT232 (IMXRT_AOI2.offset00A)
  944. #define AOI2_BFCRT013 (IMXRT_AOI2.offset00C)
  945. #define AOI2_BFCRT233 (IMXRT_AOI2.offset00E)
  946. // 18.7: page 703
  947. #define IMXRT_CCM (*(IMXRT_REGISTER32_t *)0x400FC000)
  948. #define CCM_CCR (IMXRT_CCM.offset000)
  949. #define CCM_CSR (IMXRT_CCM.offset008)
  950. #define CCM_CCSR (IMXRT_CCM.offset00C)
  951. #define CCM_CACRR (IMXRT_CCM.offset010)
  952. #define CCM_CBCDR (IMXRT_CCM.offset014)
  953. #define CCM_CBCMR (IMXRT_CCM.offset018)
  954. #define CCM_CSCMR1 (IMXRT_CCM.offset01C)
  955. #define CCM_CSCMR2 (IMXRT_CCM.offset020)
  956. #define CCM_CSCDR1 (IMXRT_CCM.offset024)
  957. #define CCM_CS1CDR (IMXRT_CCM.offset028)
  958. #define CCM_CS2CDR (IMXRT_CCM.offset02C)
  959. #define CCM_CDCDR (IMXRT_CCM.offset030)
  960. #define CCM_CSCDR2 (IMXRT_CCM.offset038)
  961. #define CCM_CSCDR3 (IMXRT_CCM.offset03C)
  962. #define CCM_CDHIPR (IMXRT_CCM.offset048)
  963. #define CCM_CLPCR (IMXRT_CCM.offset054)
  964. #define CCM_CISR (IMXRT_CCM.offset058)
  965. #define CCM_CIMR (IMXRT_CCM.offset05C)
  966. #define CCM_CCOSR (IMXRT_CCM.offset060)
  967. #define CCM_CGPR (IMXRT_CCM.offset064)
  968. #define CCM_CCGR0 (IMXRT_CCM.offset068)
  969. #define CCM_CCGR1 (IMXRT_CCM.offset06C)
  970. #define CCM_CCGR2 (IMXRT_CCM.offset070)
  971. #define CCM_CCGR3 (IMXRT_CCM.offset074)
  972. #define CCM_CCGR4 (IMXRT_CCM.offset078)
  973. #define CCM_CCGR5 (IMXRT_CCM.offset07C)
  974. #define CCM_CCGR6 (IMXRT_CCM.offset080)
  975. #define CCM_CMEOR (IMXRT_CCM.offset088)
  976. #define CCM_CCR_RBC_EN ((uint32_t)(1<<27))
  977. #define CCM_CCR_REG_BYPASS_COUNT(n) ((uint32_t)(((n) & 0x3F) << 21))
  978. #define CCM_CCR_COSC_EN ((uint32_t)(1<<12))
  979. #define CCM_CCR_OSCNT(n) ((uint32_t)(((n) & 0xFF) << 0))
  980. #define CCM_CSR_COSC_READY ((uint32_t)(1<<5))
  981. #define CCM_CSR_CAMP2_READY ((uint32_t)(1<<3))
  982. #define CCM_CSR_REF_EN_B ((uint32_t)(1<<0))
  983. #define CCM_CCSR_PLL3_SW_CLK_SEL ((uint32_t)(1<<0))
  984. #define CCM_CACRR_ARM_PODF(n) ((uint32_t)(((n) & 0x07) << 0))
  985. #define CCM_CBCDR_PERIPH_CLK2_PODF(n) ((uint32_t)(((n) & 0x07) << 27))
  986. #define CCM_CBCDR_PERIPH_CLK_SEL ((uint32_t)(1<<25))
  987. #define CCM_CBCDR_SEMC_PODF(n) ((uint32_t)(((n) & 0x07) << 16))
  988. #define CCM_CBCDR_AHB_PODF(n) ((uint32_t)(((n) & 0x07) << 10))
  989. #define CCM_CBCDR_IPG_PODF(n) ((uint32_t)(((n) & 0x03) << 8))
  990. #define CCM_CBCDR_IPG_PODF_MASK ((uint32_t)(0x03 << 8))
  991. #define CCM_CBCDR_SEMC_ALT_CLK_SEL ((uint32_t)(1<<7))
  992. #define CCM_CBCDR_SEMC_CLK_SEL ((uint32_t)(1<<6))
  993. #define CCM_CBCMR_LPSPI_PODF(n) ((uint32_t)(((n) & 0x07) << 26))
  994. #define CCM_CBCMR_LCDIF_PODF(n) ((uint32_t)(((n) & 0x07) << 23))
  995. #define CCM_CBCMR_PRE_PERIPH_CLK_SEL(n) ((uint32_t)(((n) & 0x03) << 18))
  996. #define CCM_CBCMR_TRACE_CLK_SEL(n) ((uint32_t)(((n) & 0x03) << 14))
  997. #define CCM_CBCMR_PERIPH_CLK2_SEL(n) ((uint32_t)(((n) & 0x03) << 12))
  998. #define CCM_CBCMR_LPSPI_CLK_SEL(n) ((uint32_t)(((n) & 0x03) << 4))
  999. #define CCM_CBCMR_LPSPI_PODF_MASK ((uint32_t)(0x07 << 26))
  1000. #define CCM_CBCMR_LCDIF_PODF_MASK ((uint32_t)(0x07 << 23))
  1001. #define CCM_CBCMR_PRE_PERIPH_CLK_SEL_MASK ((uint32_t)(0x03 << 18))
  1002. #define CCM_CBCMR_TRACE_CLK_SEL_MASK ((uint32_t)(0x03 << 14))
  1003. #define CCM_CBCMR_PERIPH_CLK2_SEL_MASK ((uint32_t)(0x03 << 12))
  1004. #define CCM_CBCMR_LPSPI_CLK_SEL_MASK ((uint32_t)(0x03 << 4))
  1005. #define CCM_CSCMR1_FLEXSPI_CLK_SEL(n) ((uint32_t)(((n) & 0x03) << 29))
  1006. #define CCM_CSCMR1_FLEXSPI_PODF(n) ((uint32_t)(((n) & 0x07) << 23))
  1007. #define CCM_CSCMR1_USDHC2_CLK_SEL ((uint32_t)(1<<17))
  1008. #define CCM_CSCMR1_USDHC1_CLK_SEL ((uint32_t)(1<<16))
  1009. #define CCM_CSCMR1_SAI3_CLK_SEL(n) ((uint32_t)(((n) & 0x03) << 14))
  1010. #define CCM_CSCMR1_SAI2_CLK_SEL(n) ((uint32_t)(((n) & 0x03) << 12))
  1011. #define CCM_CSCMR1_SAI1_CLK_SEL(n) ((uint32_t)(((n) & 0x03) << 10))
  1012. #define CCM_CSCMR1_PERCLK_CLK_SEL ((uint32_t)(1<<6))
  1013. #define CCM_CSCMR1_PERCLK_PODF(n) ((uint32_t)(((n) & 0x3F) << 0))
  1014. #define CCM_CSCMR2_FLEXIO2_CLK_SEL(n) ((uint32_t)(((n) & 0x03) << 19))
  1015. #define CCM_CSCMR2_CAN_CLK_SEL(n) ((uint32_t)(((n) & 0x03) << 8))
  1016. #define CCM_CSCMR2_CAN_CLK_PODF(n) ((uint32_t)(((n) & 0x3F) << 2))
  1017. #define CCM_CSCDR1_TRACE_PODF(n) ((uint32_t)(((n) & 0x07) << 25))
  1018. #define CCM_CSCDR1_USDHC2_PODF(n) ((uint32_t)(((n) & 0x07) << 16))
  1019. #define CCM_CSCDR1_USDHC1_PODF(n) ((uint32_t)(((n) & 0x07) << 11))
  1020. #define CCM_CSCDR1_UART_CLK_SEL ((uint32_t)(1<<6))
  1021. #define CCM_CSCDR1_UART_CLK_PODF(n) ((uint32_t)(((n) & 0x3F) << 0))
  1022. #define CCM_CS1CDR_FLEXIO2_CLK_PODF(n) ((uint32_t)(((n) & 0x07) << 25))
  1023. #define CCM_CS1CDR_SAI3_CLK_PRED(n) ((uint32_t)(((n) & 0x07) << 22))
  1024. #define CCM_CS1CDR_SAI3_CLK_PODF(n) ((uint32_t)(((n) & 0x1F) << 16))
  1025. #define CCM_CS1CDR_FLEXIO2_CLK_PRED(n) ((uint32_t)(((n) & 0x07) << 9))
  1026. #define CCM_CS1CDR_SAI1_CLK_PRED(n) ((uint32_t)(((n) & 0x07) << 6))
  1027. #define CCM_CS1CDR_SAI1_CLK_PODF(n) ((uint32_t)(((n) & 0x1F) << 0))
  1028. #define CCM_CS2CDR_SAI2_CLK_PRED(n) ((uint32_t)(((n) & 0x07) << 6))
  1029. #define CCM_CS2CDR_SAI2_CLK_PODF(n) ((uint32_t)(((n) & 0x3F) << 0))
  1030. #define CCM_CDCDR_SPDIF0_CLK_PRED(n) ((uint32_t)(((n) & 0x07) << 25))
  1031. #define CCM_CDCDR_SPDIF0_CLK_PODF(n) ((uint32_t)(((n) & 0x07) << 22))
  1032. #define CCM_CDCDR_SPDIF0_CLK_SEL(n) ((uint32_t)(((n) & 0x03) << 20))
  1033. #define CCM_CDCDR_FLEXIO1_CLK_PRED(n) ((uint32_t)(((n) & 0x07) << 12))
  1034. #define CCM_CDCDR_FLEXIO1_CLK_PODF(n) ((uint32_t)(((n) & 0x07) << 9))
  1035. #define CCM_CDCDR_FLEXIO1_CLK_SEL(n) ((uint32_t)(((n) & 0x03) << 7))
  1036. #define CCM_CSCDR2_LPI2C_CLK_PODF(n) ((uint32_t)(((n) & 0x1F) << 19))
  1037. #define CCM_CSCDR2_LPI2C_CLK_SEL ((uint32_t)(1<<18))
  1038. #define CCM_CSCDR2_LCDIF_PRE_CLK_SEL(n) ((uint32_t)(((n) & 0x07) << 15))
  1039. #define CCM_CSCDR2_LCDIF_PRED(n) ((uint32_t)(((n) & 0x07) << 12))
  1040. #define CCM_CSCDR2_LCDIF_CLK_SEL(n) ((uint32_t)(((n) & 0x07) << 9))
  1041. #define CCM_CSCDR3_CSI_PODF(n) ((uint32_t)(((n) & 0x07) << 11))
  1042. #define CCM_CSCDR3_CSI_CLK_SEL(n) ((uint32_t)(((n) & 0x03) << 9))
  1043. #define CCM_CDHIPR_ARM_PODF_BUSY ((uint32_t)(1<<16))
  1044. #define CCM_CDHIPR_PERIPH_CLK_SEL_BUSY ((uint32_t)(1<<5))
  1045. #define CCM_CDHIPR_PERIPH2_CLK_SEL_BUSY ((uint32_t)(1<<3))
  1046. #define CCM_CDHIPR_AHB_PODF_BUSY ((uint32_t)(1<<1))
  1047. #define CCM_CDHIPR_SEMC_PODF_BUSY ((uint32_t)(1<<0))
  1048. #define CCM_CLPCR_MASK_L2CC_IDLE ((uint32_t)(1<<27))
  1049. #define CCM_CLPCR_MASK_SCU_IDLE ((uint32_t)(1<<26))
  1050. #define CCM_CLPCR_MASK_CORE0_WFI ((uint32_t)(1<<22))
  1051. #define CCM_CLPCR_BYPASS_LPM_HS0 ((uint32_t)(1<<21))
  1052. #define CCM_CLPCR_BYPASS_LPM_HS1 ((uint32_t)(1<<19))
  1053. #define CCM_CLPCR_COSC_PWRDOWN ((uint32_t)(1<<11))
  1054. #define CCM_CLPCR_STBY_COUNT(n) ((uint32_t)(((n) & 0x03) << 9))
  1055. #define CCM_CLPCR_VSTBY ((uint32_t)(1<<8))
  1056. #define CCM_CLPCR_DIS_REF_OSC ((uint32_t)(1<<7))
  1057. #define CCM_CLPCR_SBYOS ((uint32_t)(1<<6))
  1058. #define CCM_CLPCR_ARM_CLK_DIS_ON_LPM ((uint32_t)(1<<5))
  1059. #define CCM_CLPCR_LPM(n) ((uint32_t)(((n) & 0x03) << 0))
  1060. #define CCM_CISR_ARM_PODF_LOADED ((uint32_t)(1<<26))
  1061. #define CCM_CISR_PERIPH_CLK_SEL_LOADED ((uint32_t)(1<<22))
  1062. #define CCM_CISR_AHB_PODF_LOADED ((uint32_t)(1<<20))
  1063. #define CCM_CISR_PERIPH2_CLK_SEL_LOADED ((uint32_t)(1<<19))
  1064. #define CCM_CISR_SEMC_PODF_LOADED ((uint32_t)(1<<17))
  1065. #define CCM_CISR_COSC_READY ((uint32_t)(1<<6))
  1066. #define CCM_CISR_LRF_PLL ((uint32_t)(1<<0))
  1067. #define CCM_CIMR_ARM_PODF_LOADED ((uint32_t)(1<<26))
  1068. #define CCM_CIMR_MASK_PERIPH_CLK_SEL_LOADED ((uint32_t)(1<<22))
  1069. #define CCM_CIMR_MASK_AHB_PODF_LOADED ((uint32_t)(1<<20))
  1070. #define CCM_CIMR_MASK_PERIPH2_CLK_SEL_LOADED ((uint32_t)(1<<19))
  1071. #define CCM_CIMR_MASK_SEMC_PODF_LOADED ((uint32_t)(1<<17))
  1072. #define CCM_CIMR_MASK_COSC_READY ((uint32_t)(1<<6))
  1073. #define CCM_CIMR_MASK_LRF_PLL ((uint32_t)(1<<0))
  1074. #define CCM_CCOSR_CLKO2_EN ((uint32_t)(1<<24))
  1075. #define CCM_CCOSR_CLKO2_DIV(n) ((uint32_t)(((n) & 0x07) << 21))
  1076. #define CCM_CCOSR_CLKO2_SEL(n) ((uint32_t)(((n) & 0x1F) << 16))
  1077. #define CCM_CCOSR_CLK_OUT_SEL ((uint32_t)(1<<8))
  1078. #define CCM_CCOSR_CLKO1_EN ((uint32_t)(1<<7))
  1079. #define CCM_CCOSR_CLKO1_DIV(n) ((uint32_t)(((n) & 0x07) << 4))
  1080. #define CCM_CCOSR_CLKO1_SEL(n) ((uint32_t)(((n) & 0x0F) << 0))
  1081. #define CCM_CGPR_INT_MEM_CLK_LPM ((uint32_t)(1<<17))
  1082. #define CCM_CGPR_FPL ((uint32_t)(1<<16))
  1083. #define CCM_CGPR_SYS_MEM_DS_CTRL(n) ((uint32_t)(((n) & 0x03) << 14))
  1084. #define CCM_CGPR_EFUSE_PROG_SUPPLY_GATE ((uint32_t)(1<<4))
  1085. #define CCM_CGPR_PMIC_DELAY_SCALER ((uint32_t)(1<<0))
  1086. #define CCM_CCGR_OFF 0
  1087. #define CCM_CCGR_ON_RUNONLY 1
  1088. #define CCM_CCGR_ON 3
  1089. #define CCM_CCGR0_GPIO2(n) ((uint32_t)(((n) & 0x03) << 30))
  1090. #define CCM_CCGR0_LPUART2(n) ((uint32_t)(((n) & 0x03) << 28))
  1091. #define CCM_CCGR0_GPT2_SERIAL(n) ((uint32_t)(((n) & 0x03) << 26))
  1092. #define CCM_CCGR0_GPT2_BUS(n) ((uint32_t)(((n) & 0x03) << 24))
  1093. #define CCM_CCGR0_TRACE(n) ((uint32_t)(((n) & 0x03) << 22))
  1094. #define CCM_CCGR0_CAN2_SERIAL(n) ((uint32_t)(((n) & 0x03) << 20))
  1095. #define CCM_CCGR0_CAN2(n) ((uint32_t)(((n) & 0x03) << 18))
  1096. #define CCM_CCGR0_CAN1_SERIAl(n) ((uint32_t)(((n) & 0x03) << 16))
  1097. #define CCM_CCGR0_CAN1(n) ((uint32_t)(((n) & 0x03) << 14))
  1098. #define CCM_CCGR0_LPUART3(n) ((uint32_t)(((n) & 0x03) << 12))
  1099. #define CCM_CCGR0_DCP(n) ((uint32_t)(((n) & 0x03) << 10))
  1100. #define CCM_CCGR0_MQS_HMCLK(n) ((uint32_t)(((n) & 0x03) << 4))
  1101. #define CCM_CCGR0_AIPS_TZ2(n) ((uint32_t)(((n) & 0x03) << 2))
  1102. #define CCM_CCGR0_AIPS_TZ1(n) ((uint32_t)(((n) & 0x03) << 0))
  1103. #define CCM_CCGR1_CSU(n) ((uint32_t)(((n) & 0x03) << 28))
  1104. #define CCM_CCGR1_GPIO1(n) ((uint32_t)(((n) & 0x03) << 26))
  1105. #define CCM_CCGR1_LPUART4(n) ((uint32_t)(((n) & 0x03) << 24))
  1106. #define CCM_CCGR1_GPT_SERIAL(n) ((uint32_t)(((n) & 0x03) << 22))
  1107. #define CCM_CCGR1_GPT(n) ((uint32_t)(((n) & 0x03) << 20))
  1108. #define CCM_CCGR1_ADC1(n) ((uint32_t)(((n) & 0x03) << 16))
  1109. #define CCM_CCGR1_AOI2(n) ((uint32_t)(((n) & 0x03) << 14))
  1110. #define CCM_CCGR1_PIT(n) ((uint32_t)(((n) & 0x03) << 12))
  1111. #define CCM_CCGR1_ENET(n) ((uint32_t)(((n) & 0x03) << 10))
  1112. #define CCM_CCGR1_ADC2(n) ((uint32_t)(((n) & 0x03) << 8))
  1113. #define CCM_CCGR1_LPSPI4(n) ((uint32_t)(((n) & 0x03) << 6))
  1114. #define CCM_CCGR1_LPSPI3(n) ((uint32_t)(((n) & 0x03) << 4))
  1115. #define CCM_CCGR1_LPSPI2(n) ((uint32_t)(((n) & 0x03) << 2))
  1116. #define CCM_CCGR1_LPSPI1(n) ((uint32_t)(((n) & 0x03) << 0))
  1117. #define CCM_CCGR2_PXP(n) ((uint32_t)(((n) & 0x03) << 30))
  1118. #define CCM_CCGR2_LCD(n) ((uint32_t)(((n) & 0x03) << 28))
  1119. #define CCM_CCGR2_GPIO3(n) ((uint32_t)(((n) & 0x03) << 26))
  1120. #define CCM_CCGR2_XBAR2(n) ((uint32_t)(((n) & 0x03) << 24))
  1121. #define CCM_CCGR2_XBAR1(n) ((uint32_t)(((n) & 0x03) << 22))
  1122. #define CCM_CCGR2_IPMUX3(n) ((uint32_t)(((n) & 0x03) << 20))
  1123. #define CCM_CCGR2_IPMUX2(n) ((uint32_t)(((n) & 0x03) << 18))
  1124. #define CCM_CCGR2_IPMUX1(n) ((uint32_t)(((n) & 0x03) << 16))
  1125. #define CCM_CCGR2_XBAR3(n) ((uint32_t)(((n) & 0x03) << 14))
  1126. #define CCM_CCGR2_IIM(n) ((uint32_t)(((n) & 0x03) << 12))
  1127. #define CCM_CCGR2_LPI2C3(n) ((uint32_t)(((n) & 0x03) << 10))
  1128. #define CCM_CCGR2_LPI2C2(n) ((uint32_t)(((n) & 0x03) << 8))
  1129. #define CCM_CCGR2_LPI2C1(n) ((uint32_t)(((n) & 0x03) << 6))
  1130. #define CCM_CCGR2_IOMUXC_SNVS(n) ((uint32_t)(((n) & 0x03) << 4))
  1131. #define CCM_CCGR2_CSI(n) ((uint32_t)(((n) & 0x03) << 2))
  1132. #define CCM_CCGR3_IOMUXC_SNVS_GPR(n) ((uint32_t)(((n) & 0x03) << 30))
  1133. #define CCM_CCGR3_OCRAM(n) ((uint32_t)(((n) & 0x03) << 28))
  1134. #define CCM_CCGR3_ACMP4(n) ((uint32_t)(((n) & 0x03) << 26))
  1135. #define CCM_CCGR3_ACMP3(n) ((uint32_t)(((n) & 0x03) << 24))
  1136. #define CCM_CCGR3_ACMP2(n) ((uint32_t)(((n) & 0x03) << 22))
  1137. #define CCM_CCGR3_ACMP1(n) ((uint32_t)(((n) & 0x03) << 20))
  1138. #define CCM_CCGR3_FLEXRAM(n) ((uint32_t)(((n) & 0x03) << 18))
  1139. #define CCM_CCGR3_WDOG1(n) ((uint32_t)(((n) & 0x03) << 16))
  1140. #define CCM_CCGR3_EWM(n) ((uint32_t)(((n) & 0x03) << 14))
  1141. #define CCM_CCGR3_GPIO4(n) ((uint32_t)(((n) & 0x03) << 12))
  1142. #define CCM_CCGR3_LCDIF_PIX(n) ((uint32_t)(((n) & 0x03) << 10))
  1143. #define CCM_CCGR3_AOI1(n) ((uint32_t)(((n) & 0x03) << 8))
  1144. #define CCM_CCGR3_LPUART6(n) ((uint32_t)(((n) & 0x03) << 6))
  1145. #define CCM_CCGR3_SEMC(n) ((uint32_t)(((n) & 0x03) << 4))
  1146. #define CCM_CCGR3_LPUART5(n) ((uint32_t)(((n) & 0x03) << 2))
  1147. #define CCM_CCGR3_FLEXIO2(n) ((uint32_t)(((n) & 0x03) << 0))
  1148. #define CCM_CCGR4_ENC4(n) ((uint32_t)(((n) & 0x03) << 30))
  1149. #define CCM_CCGR4_ENC3(n) ((uint32_t)(((n) & 0x03) << 28))
  1150. #define CCM_CCGR4_ENC2(n) ((uint32_t)(((n) & 0x03) << 26))
  1151. #define CCM_CCGR4_ENC1(n) ((uint32_t)(((n) & 0x03) << 24))
  1152. #define CCM_CCGR4_PWM4(n) ((uint32_t)(((n) & 0x03) << 22))
  1153. #define CCM_CCGR4_PWM3(n) ((uint32_t)(((n) & 0x03) << 20))
  1154. #define CCM_CCGR4_PWM2(n) ((uint32_t)(((n) & 0x03) << 18))
  1155. #define CCM_CCGR4_PWM1(n) ((uint32_t)(((n) & 0x03) << 16))
  1156. #define CCM_CCGR4_SIM_EMS(n) ((uint32_t)(((n) & 0x03) << 14))
  1157. #define CCM_CCGR4_SIM_M(n) ((uint32_t)(((n) & 0x03) << 12))
  1158. #define CCM_CCGR4_TSC(n) ((uint32_t)(((n) & 0x03) << 10))
  1159. #define CCM_CCGR4_SIM_M7(n) ((uint32_t)(((n) & 0x03) << 8))
  1160. #define CCM_CCGR4_BEE(n) ((uint32_t)(((n) & 0x03) << 6))
  1161. #define CCM_CCGR4_IOMUXC_GPR(n) ((uint32_t)(((n) & 0x03) << 4))
  1162. #define CCM_CCGR4_IOMUXC(n) ((uint32_t)(((n) & 0x03) << 2))
  1163. #define CCM_CCGR5_SNVS_LP(n) ((uint32_t)(((n) & 0x03) << 30))
  1164. #define CCM_CCGR5_SNVS_HP(n) ((uint32_t)(((n) & 0x03) << 28))
  1165. #define CCM_CCGR5_LPUART7(n) ((uint32_t)(((n) & 0x03) << 26))
  1166. #define CCM_CCGR5_LPUART1(n) ((uint32_t)(((n) & 0x03) << 24))
  1167. #define CCM_CCGR5_SAI3(n) ((uint32_t)(((n) & 0x03) << 22))
  1168. #define CCM_CCGR5_SAI2(n) ((uint32_t)(((n) & 0x03) << 20))
  1169. #define CCM_CCGR5_SAI1(n) ((uint32_t)(((n) & 0x03) << 18))
  1170. #define CCM_CCGR5_SIM_MAIN(n) ((uint32_t)(((n) & 0x03) << 16))
  1171. #define CCM_CCGR5_SPDIF(n) ((uint32_t)(((n) & 0x03) << 14))
  1172. #define CCM_CCGR5_AIPS_TZ4(n) ((uint32_t)(((n) & 0x03) << 12))
  1173. #define CCM_CCGR5_WDOG2(n) ((uint32_t)(((n) & 0x03) << 10))
  1174. #define CCM_CCGR5_KPP(n) ((uint32_t)(((n) & 0x03) << 8))
  1175. #define CCM_CCGR5_DMA(n) ((uint32_t)(((n) & 0x03) << 6))
  1176. #define CCM_CCGR5_WDOG3(n) ((uint32_t)(((n) & 0x03) << 4))
  1177. #define CCM_CCGR5_FLEXIO1(n) ((uint32_t)(((n) & 0x03) << 2))
  1178. #define CCM_CCGR5_ROM(n) ((uint32_t)(((n) & 0x03) << 0))
  1179. #define CCM_CCGR6_QTIMER3(n) ((uint32_t)(((n) & 0x03) << 30))
  1180. #define CCM_CCGR6_QTIMER2(n) ((uint32_t)(((n) & 0x03) << 28))
  1181. #define CCM_CCGR6_QTIMER1(n) ((uint32_t)(((n) & 0x03) << 26))
  1182. #define CCM_CCGR6_LPI2C4_SERIAL(n) ((uint32_t)(((n) & 0x03) << 24))
  1183. #define CCM_CCGR6_ANADIG(n) ((uint32_t)(((n) & 0x03) << 22))
  1184. #define CCM_CCGR6_SIM_PER(n) ((uint32_t)(((n) & 0x03) << 20))
  1185. #define CCM_CCGR6_AIPS_TZ3(n) ((uint32_t)(((n) & 0x03) << 18))
  1186. #define CCM_CCGR6_QTIMER4(n) ((uint32_t)(((n) & 0x03) << 16))
  1187. #define CCM_CCGR6_LPUART8(n) ((uint32_t)(((n) & 0x03) << 14))
  1188. #define CCM_CCGR6_TRNG(n) ((uint32_t)(((n) & 0x03) << 12))
  1189. #define CCM_CCGR6_FLEXSPI(n) ((uint32_t)(((n) & 0x03) << 10))
  1190. #define CCM_CCGR6_IPMUX4(n) ((uint32_t)(((n) & 0x03) << 8))
  1191. #define CCM_CCGR6_DCDC(n) ((uint32_t)(((n) & 0x03) << 6))
  1192. #define CCM_CCGR6_USDHC2(n) ((uint32_t)(((n) & 0x03) << 4))
  1193. #define CCM_CCGR6_USDHC1(n) ((uint32_t)(((n) & 0x03) << 2))
  1194. #define CCM_CCGR6_USBOH3(n) ((uint32_t)(((n) & 0x03) << 0))
  1195. #define CCM_CMEOR_MOD_EN_OV_CAN1_CPI ((uint32_t)(1<<30))
  1196. #define CCM_CMEOR_MOD_EN_OV_CAN2_CPI ((uint32_t)(1<<28))
  1197. #define CCM_CMEOR_MOD_EN_OV_TRNG ((uint32_t)(1<<9))
  1198. #define CCM_CMEOR_MOD_EN_USDHC ((uint32_t)(1<<7))
  1199. #define CCM_CMEOR_MOD_EN_OV_PIT ((uint32_t)(1<<6))
  1200. #define CCM_CMEOR_MOD_EN_OV_GPT ((uint32_t)(1<<5))
  1201. // 18.8: page 752
  1202. #define IMXRT_CCM_ANALOG (*(IMXRT_REGISTER32_t *)0x400D8000)
  1203. #define CCM_ANALOG_PLL_ARM (IMXRT_CCM_ANALOG.offset000)
  1204. #define CCM_ANALOG_PLL_ARM_SET (IMXRT_CCM_ANALOG.offset004)
  1205. #define CCM_ANALOG_PLL_ARM_CLR (IMXRT_CCM_ANALOG.offset008)
  1206. #define CCM_ANALOG_PLL_ARM_TOG (IMXRT_CCM_ANALOG.offset00C)
  1207. #define CCM_ANALOG_PLL_USB1 (IMXRT_CCM_ANALOG.offset010)
  1208. #define CCM_ANALOG_PLL_USB1_SET (IMXRT_CCM_ANALOG.offset014)
  1209. #define CCM_ANALOG_PLL_USB1_CLR (IMXRT_CCM_ANALOG.offset018)
  1210. #define CCM_ANALOG_PLL_USB1_TOG (IMXRT_CCM_ANALOG.offset01C)
  1211. #define CCM_ANALOG_PLL_USB2 (IMXRT_CCM_ANALOG.offset020)
  1212. #define CCM_ANALOG_PLL_USB2_SET (IMXRT_CCM_ANALOG.offset024)
  1213. #define CCM_ANALOG_PLL_USB2_CLR (IMXRT_CCM_ANALOG.offset028)
  1214. #define CCM_ANALOG_PLL_USB2_TOG (IMXRT_CCM_ANALOG.offset02C)
  1215. #define CCM_ANALOG_PLL_SYS (IMXRT_CCM_ANALOG.offset030)
  1216. #define CCM_ANALOG_PLL_SYS_SET (IMXRT_CCM_ANALOG.offset034)
  1217. #define CCM_ANALOG_PLL_SYS_CLR (IMXRT_CCM_ANALOG.offset038)
  1218. #define CCM_ANALOG_PLL_SYS_TOG (IMXRT_CCM_ANALOG.offset03C)
  1219. #define CCM_ANALOG_PLL_SYS_SS (IMXRT_CCM_ANALOG.offset040)
  1220. #define CCM_ANALOG_PLL_SYS_NUM (IMXRT_CCM_ANALOG.offset050)
  1221. #define CCM_ANALOG_PLL_SYS_DENOM (IMXRT_CCM_ANALOG.offset060)
  1222. #define CCM_ANALOG_PLL_AUDIO (IMXRT_CCM_ANALOG.offset070)
  1223. #define CCM_ANALOG_PLL_AUDIO_SET (IMXRT_CCM_ANALOG.offset074)
  1224. #define CCM_ANALOG_PLL_AUDIO_CLR (IMXRT_CCM_ANALOG.offset078)
  1225. #define CCM_ANALOG_PLL_AUDIO_TOG (IMXRT_CCM_ANALOG.offset07C)
  1226. #define CCM_ANALOG_PLL_AUDIO_NUM (IMXRT_CCM_ANALOG.offset080)
  1227. #define CCM_ANALOG_PLL_AUDIO_DENOM (IMXRT_CCM_ANALOG.offset090)
  1228. #define CCM_ANALOG_PLL_VIDEO (IMXRT_CCM_ANALOG.offset0A0)
  1229. #define CCM_ANALOG_PLL_VIDEO_SET (IMXRT_CCM_ANALOG.offset0A4)
  1230. #define CCM_ANALOG_PLL_VIDEO_CLR (IMXRT_CCM_ANALOG.offset0A8)
  1231. #define CCM_ANALOG_PLL_VIDEO_TOG (IMXRT_CCM_ANALOG.offset0AC)
  1232. #define CCM_ANALOG_PLL_VIDEO_NUM (IMXRT_CCM_ANALOG.offset0B0)
  1233. #define CCM_ANALOG_PLL_VIDEO_DENOM (IMXRT_CCM_ANALOG.offset0C0)
  1234. #define CCM_ANALOG_PLL_ENET (IMXRT_CCM_ANALOG.offset0EC)
  1235. #define CCM_ANALOG_PLL_ENET_SET (IMXRT_CCM_ANALOG.offset0E4)
  1236. #define CCM_ANALOG_PLL_ENET_CLR (IMXRT_CCM_ANALOG.offset0E8)
  1237. #define CCM_ANALOG_PLL_ENET_TOG (IMXRT_CCM_ANALOG.offset0EC)
  1238. #define CCM_ANALOG_PFD_480 (IMXRT_CCM_ANALOG.offset0F0)
  1239. #define CCM_ANALOG_PFD_480_SET (IMXRT_CCM_ANALOG.offset0F4)
  1240. #define CCM_ANALOG_PFD_480_CLR (IMXRT_CCM_ANALOG.offset0F8)
  1241. #define CCM_ANALOG_PFD_480_TOG (IMXRT_CCM_ANALOG.offset0FC)
  1242. #define CCM_ANALOG_PFD_528 (IMXRT_CCM_ANALOG.offset100)
  1243. #define CCM_ANALOG_PFD_528_SET (IMXRT_CCM_ANALOG.offset104)
  1244. #define CCM_ANALOG_PFD_528_CLR (IMXRT_CCM_ANALOG.offset108)
  1245. #define CCM_ANALOG_PFD_528_TOG (IMXRT_CCM_ANALOG.offset10C)
  1246. #define CCM_ANALOG_MISC0 (IMXRT_CCM_ANALOG.offset150)
  1247. #define CCM_ANALOG_MISC0_SET (IMXRT_CCM_ANALOG.offset154)
  1248. #define CCM_ANALOG_MISC0_CLR (IMXRT_CCM_ANALOG.offset158)
  1249. #define CCM_ANALOG_MISC0_TOG (IMXRT_CCM_ANALOG.offset15C)
  1250. #define CCM_ANALOG_MISC1 (IMXRT_CCM_ANALOG.offset160)
  1251. #define CCM_ANALOG_MISC1_SET (IMXRT_CCM_ANALOG.offset164)
  1252. #define CCM_ANALOG_MISC1_CLR (IMXRT_CCM_ANALOG.offset168)
  1253. #define CCM_ANALOG_MISC1_TOG (IMXRT_CCM_ANALOG.offset16C)
  1254. #define CCM_ANALOG_MISC2 (IMXRT_CCM_ANALOG.offset170)
  1255. #define CCM_ANALOG_MISC2_SET (IMXRT_CCM_ANALOG.offset174)
  1256. #define CCM_ANALOG_MISC2_CLR (IMXRT_CCM_ANALOG.offset178)
  1257. #define CCM_ANALOG_MISC2_TOG (IMXRT_CCM_ANALOG.offset17C)
  1258. #define CCM_ANALOG_PLL_ARM_LOCK ((uint32_t)(1<<31))
  1259. #define CCM_ANALOG_PLL_ARM_BYPASS ((uint32_t)(1<<11))
  1260. #define CCM_ANALOG_PLL_ARM_ENABLE ((uint32_t)(1<<11))
  1261. #define CCM_ANALOG_PLL_ARM_POWERDOWN ((uint32_t)(1<<11))
  1262. #define CCM_ANALOG_PLL_ARM_DIV_SELECT(n) ((uint32_t)(((n) & 0x3F) << 0))
  1263. #define CCM_ANALOG_PLL_ARM_DIV_SELECT_MASK ((uint32_t)(0x3F << 0))
  1264. #define CCM_ANALOG_PLL_USB1_LOCK ((uint32_t)(1<<31))
  1265. #define CCM_ANALOG_PLL_USB1_BYPASS ((uint32_t)(1<<16))
  1266. #define CCM_ANALOG_PLL_USB1_ENABLE ((uint32_t)(1<<13))
  1267. #define CCM_ANALOG_PLL_USB1_POWER ((uint32_t)(1<<12))
  1268. #define CCM_ANALOG_PLL_USB1_EN_USB_CLKS ((uint32_t)(1<<6))
  1269. #define CCM_ANALOG_PLL_USB1_DIV_SELECT ((uint32_t)(1<<1))
  1270. #define CCM_ANALOG_PLL_SYS_LOCK ((uint32_t)(1<<31))
  1271. #define CCM_ANALOG_PLL_SYS_BYPASS ((uint32_t)(1<<16))
  1272. #define CCM_ANALOG_PLL_SYS_ENABLE ((uint32_t)(1<<13))
  1273. #define CCM_ANALOG_PLL_SYS_POWERDOWN ((uint32_t)(1<<12))
  1274. #define CCM_ANALOG_PLL_SYS_DIV_SELECT ((uint32_t)(1<<1))
  1275. // 19.7: page 810
  1276. #define IMXRT_CSI (*(IMXRT_REGISTER32_t *)0x402BC000)
  1277. #define CSI_CSICR1 (IMXRT_CSI.offset000)
  1278. #define CSI_CSICR2 (IMXRT_CSI.offset004)
  1279. #define CSI_CSICR3 (IMXRT_CSI.offset008)
  1280. #define CSI_CSISTATFIFO (IMXRT_CSI.offset00C)
  1281. #define CSI_CSIRFIFO (IMXRT_CSI.offset010)
  1282. #define CSI_CSIRXCNT (IMXRT_CSI.offset014)
  1283. #define CSI_CSISR (IMXRT_CSI.offset018)
  1284. #define CSI_CSIDMASA_STATFIFO (IMXRT_CSI.offset020)
  1285. #define CSI_CSIDMATS_STATFIFO (IMXRT_CSI.offset024)
  1286. #define CSI_CSIDMASA_FB1 (IMXRT_CSI.offset028)
  1287. #define CSI_CSIDMASA_FB2 (IMXRT_CSI.offset02C)
  1288. #define CSI_CSIFBUF_PARA (IMXRT_CSI.offset030)
  1289. #define CSI_CSIIMAG_PARA (IMXRT_CSI.offset034)
  1290. #define CSI_CSICR18 (IMXRT_CSI.offset048)
  1291. #define CSI_CSICR19 (IMXRT_CSI.offset04C)
  1292. // 20.6.1.1: page 837
  1293. #define IMXRT_DCDC (*(IMXRT_REGISTER32_t *)0x40080000)
  1294. #define DCDC_REG0 (IMXRT_DCDC.offset000)
  1295. #define DCDC_REG1 (IMXRT_DCDC.offset004)
  1296. #define DCDC_REG2 (IMXRT_DCDC.offset008)
  1297. #define DCDC_REG3 (IMXRT_DCDC.offset00C)
  1298. // 21.4.1.1: page 849
  1299. #define IMXRT_DMAMUX (*(IMXRT_REGISTER32_t *)0x400EC000)
  1300. #define DMAMUX_CHCFG0 (IMXRT_DMAMUX.offset000)
  1301. #define DMAMUX_CHCFG1 (IMXRT_DMAMUX.offset004)
  1302. #define DMAMUX_CHCFG2 (IMXRT_DMAMUX.offset008)
  1303. #define DMAMUX_CHCFG3 (IMXRT_DMAMUX.offset00C)
  1304. #define DMAMUX_CHCFG4 (IMXRT_DMAMUX.offset010)
  1305. #define DMAMUX_CHCFG5 (IMXRT_DMAMUX.offset014)
  1306. #define DMAMUX_CHCFG6 (IMXRT_DMAMUX.offset018)
  1307. #define DMAMUX_CHCFG7 (IMXRT_DMAMUX.offset01C)
  1308. #define DMAMUX_CHCFG8 (IMXRT_DMAMUX.offset020)
  1309. #define DMAMUX_CHCFG9 (IMXRT_DMAMUX.offset024)
  1310. #define DMAMUX_CHCFG10 (IMXRT_DMAMUX.offset028)
  1311. #define DMAMUX_CHCFG11 (IMXRT_DMAMUX.offset02C)
  1312. #define DMAMUX_CHCFG12 (IMXRT_DMAMUX.offset030)
  1313. #define DMAMUX_CHCFG13 (IMXRT_DMAMUX.offset034)
  1314. #define DMAMUX_CHCFG14 (IMXRT_DMAMUX.offset038)
  1315. #define DMAMUX_CHCFG15 (IMXRT_DMAMUX.offset03C)
  1316. #define DMAMUX_CHCFG16 (IMXRT_DMAMUX.offset040)
  1317. #define DMAMUX_CHCFG17 (IMXRT_DMAMUX.offset044)
  1318. #define DMAMUX_CHCFG18 (IMXRT_DMAMUX.offset048)
  1319. #define DMAMUX_CHCFG19 (IMXRT_DMAMUX.offset04C)
  1320. #define DMAMUX_CHCFG20 (IMXRT_DMAMUX.offset050)
  1321. #define DMAMUX_CHCFG21 (IMXRT_DMAMUX.offset054)
  1322. #define DMAMUX_CHCFG22 (IMXRT_DMAMUX.offset058)
  1323. #define DMAMUX_CHCFG23 (IMXRT_DMAMUX.offset05C)
  1324. #define DMAMUX_CHCFG24 (IMXRT_DMAMUX.offset060)
  1325. #define DMAMUX_CHCFG25 (IMXRT_DMAMUX.offset064)
  1326. #define DMAMUX_CHCFG26 (IMXRT_DMAMUX.offset068)
  1327. #define DMAMUX_CHCFG27 (IMXRT_DMAMUX.offset06C)
  1328. #define DMAMUX_CHCFG28 (IMXRT_DMAMUX.offset070)
  1329. #define DMAMUX_CHCFG29 (IMXRT_DMAMUX.offset074)
  1330. #define DMAMUX_CHCFG30 (IMXRT_DMAMUX.offset078)
  1331. #define DMAMUX_CHCFG31 (IMXRT_DMAMUX.offset07C)
  1332. // 22.3.5.1: page 864
  1333. typedef struct {
  1334. volatile uint32_t CR; // 0
  1335. volatile uint32_t ES; // 4
  1336. uint32_t unused1; // 8
  1337. volatile uint32_t ERQ; // C
  1338. uint32_t unused2; // 10
  1339. volatile uint32_t EEI; // 14
  1340. volatile uint8_t CEEI; // 18
  1341. volatile uint8_t SEEI; // 19
  1342. volatile uint8_t CERQ; // 1A
  1343. volatile uint8_t SERQ; // 1B
  1344. volatile uint8_t CDNE; // 1C
  1345. volatile uint8_t SSRT; // 1D
  1346. volatile uint8_t CERR; // 1E
  1347. volatile uint8_t CINT; // 1F
  1348. uint32_t unused3; // 20
  1349. volatile uint32_t INT; // 24
  1350. uint32_t unused4; // 28
  1351. volatile uint32_t ERR; // 2C
  1352. uint32_t unused5; // 30
  1353. volatile uint32_t HRS; // 34
  1354. uint32_t unused6; // 38
  1355. uint32_t unused7; // 3C
  1356. uint32_t unused8; // 40
  1357. volatile uint32_t EARS; // 44
  1358. uint32_t unused[46];
  1359. volatile uint8_t DCHPRI3;
  1360. volatile uint8_t DCHPRI2;
  1361. volatile uint8_t DCHPRI1;
  1362. volatile uint8_t DCHPRI0;
  1363. volatile uint8_t DCHPRI7;
  1364. volatile uint8_t DCHPRI6;
  1365. volatile uint8_t DCHPRI5;
  1366. volatile uint8_t DCHPRI4;
  1367. volatile uint8_t DCHPRI11;
  1368. volatile uint8_t DCHPRI10;
  1369. volatile uint8_t DCHPRI9;
  1370. volatile uint8_t DCHPRI8;
  1371. volatile uint8_t DCHPRI15;
  1372. volatile uint8_t DCHPRI14;
  1373. volatile uint8_t DCHPRI13;
  1374. volatile uint8_t DCHPRI12;
  1375. volatile uint8_t DCHPRI19;
  1376. volatile uint8_t DCHPRI18;
  1377. volatile uint8_t DCHPRI17;
  1378. volatile uint8_t DCHPRI16;
  1379. volatile uint8_t DCHPRI23;
  1380. volatile uint8_t DCHPRI22;
  1381. volatile uint8_t DCHPRI21;
  1382. volatile uint8_t DCHPRI20;
  1383. volatile uint8_t DCHPRI27;
  1384. volatile uint8_t DCHPRI26;
  1385. volatile uint8_t DCHPRI25;
  1386. volatile uint8_t DCHPRI24;
  1387. volatile uint8_t DCHPRI31;
  1388. volatile uint8_t DCHPRI30;
  1389. volatile uint8_t DCHPRI29;
  1390. volatile uint8_t DCHPRI28;
  1391. } IMXRT_DMA_t;
  1392. typedef struct {
  1393. volatile const void * volatile SADDR;
  1394. int16_t SOFF;
  1395. union {
  1396. uint16_t ATTR;
  1397. struct {
  1398. uint8_t ATTR_DST;
  1399. uint8_t ATTR_SRC;
  1400. };
  1401. };
  1402. union {
  1403. uint32_t NBYTES;
  1404. uint32_t NBYTES_MLNO;
  1405. uint32_t NBYTES_MLOFFNO;
  1406. uint32_t NBYTES_MLOFFYES;
  1407. };
  1408. int32_t SLAST;
  1409. volatile void * volatile DADDR;
  1410. int16_t DOFF;
  1411. union {
  1412. volatile uint16_t CITER;
  1413. volatile uint16_t CITER_ELINKYES;
  1414. volatile uint16_t CITER_ELINKNO;
  1415. };
  1416. int32_t DLASTSGA;
  1417. volatile uint16_t CSR;
  1418. union {
  1419. volatile uint16_t BITER;
  1420. volatile uint16_t BITER_ELINKYES;
  1421. volatile uint16_t BITER_ELINKNO;
  1422. }
  1423. } IMXRT_DMA_TCD_t;
  1424. #define IMXRT_DMA (*(IMXRT_DMA_t *)0x400E8000)
  1425. #define DMA_CR (IMXRT_DMA.CR)
  1426. #define DMA_ES (IMXRT_DMA.ES)
  1427. #define DMA_ERQ (IMXRT_DMA.ERQ)
  1428. #define DMA_EEI (IMXRT_DMA.EEI)
  1429. #define DMA_CEEI (IMXRT_DMA.CEEI)
  1430. #define DMA_SEEI (IMXRT_DMA.SEEI)
  1431. #define DMA_CERQ (IMXRT_DMA.CERQ)
  1432. #define DMA_SERQ (IMXRT_DMA.SERQ)
  1433. #define DMA_CDNE (IMXRT_DMA.CDNE)
  1434. #define DMA_SSRT (IMXRT_DMA.SSRT)
  1435. #define DMA_CERR (IMXRT_DMA.CERR)
  1436. #define DMA_CINT (IMXRT_DMA.CINT)
  1437. #define DMA_INT (IMXRT_DMA.INT)
  1438. #define DMA_ERR (IMXRT_DMA.ERR)
  1439. #define DMA_HRS (IMXRT_DMA.HRS)
  1440. #define DMA_EARS (IMXRT_DMA.EARS)
  1441. #define DMA_DCHPRI3 (IMXRT_DMA.DCHPRI3)
  1442. #define DMA_DCHPRI2 (IMXRT_DMA.DCHPRI2)
  1443. #define DMA_DCHPRI1 (IMXRT_DMA.DCHPRI1)
  1444. #define DMA_DCHPRI0 (IMXRT_DMA.DCHPRI0)
  1445. #define DMA_DCHPRI7 (IMXRT_DMA.DCHPRI7)
  1446. #define DMA_DCHPRI6 (IMXRT_DMA.DCHPRI6)
  1447. #define DMA_DCHPRI5 (IMXRT_DMA.DCHPRI5)
  1448. #define DMA_DCHPRI4 (IMXRT_DMA.DCHPRI4)
  1449. #define DMA_DCHPRI11 (IMXRT_DMA.DCHPRI11)
  1450. #define DMA_DCHPRI10 (IMXRT_DMA.DCHPRI10)
  1451. #define DMA_DCHPRI9 (IMXRT_DMA.DCHPRI9)
  1452. #define DMA_DCHPRI8 (IMXRT_DMA.DCHPRI8)
  1453. #define DMA_DCHPRI15 (IMXRT_DMA.DCHPRI15)
  1454. #define DMA_DCHPRI14 (IMXRT_DMA.DCHPRI14)
  1455. #define DMA_DCHPRI13 (IMXRT_DMA.DCHPRI13)
  1456. #define DMA_DCHPRI12 (IMXRT_DMA.DCHPRI12)
  1457. #define DMA_DCHPRI19 (IMXRT_DMA.DCHPRI19)
  1458. #define DMA_DCHPRI18 (IMXRT_DMA.DCHPRI18)
  1459. #define DMA_DCHPRI17 (IMXRT_DMA.DCHPRI17)
  1460. #define DMA_DCHPRI16 (IMXRT_DMA.DCHPRI16)
  1461. #define DMA_DCHPRI23 (IMXRT_DMA.DCHPRI23)
  1462. #define DMA_DCHPRI22 (IMXRT_DMA.DCHPRI22)
  1463. #define DMA_DCHPRI21 (IMXRT_DMA.DCHPRI21)
  1464. #define DMA_DCHPRI20 (IMXRT_DMA.DCHPRI20)
  1465. #define DMA_DCHPRI27 (IMXRT_DMA.DCHPRI27)
  1466. #define DMA_DCHPRI26 (IMXRT_DMA.DCHPRI26)
  1467. #define DMA_DCHPRI25 (IMXRT_DMA.DCHPRI25)
  1468. #define DMA_DCHPRI24 (IMXRT_DMA.DCHPRI24)
  1469. #define DMA_DCHPRI31 (IMXRT_DMA.DCHPRI31)
  1470. #define DMA_DCHPRI30 (IMXRT_DMA.DCHPRI30)
  1471. #define DMA_DCHPRI29 (IMXRT_DMA.DCHPRI29)
  1472. #define DMA_DCHPRI28 (IMXRT_DMA.DCHPRI28)
  1473. #define IMXRT_DMA_TCD ((IMXRT_DMA_TCD_t *)0x400E9000)
  1474. #define DMA_TCD0_SADDR (IMXRT_DMA_TCD[0].SADDR)
  1475. #define DMA_TCD0_SOFF (IMXRT_DMA_TCD[0].SOFF)
  1476. #define DMA_TCD0_ATTR (IMXRT_DMA_TCD[0].ATTR)
  1477. #define DMA_TCD0_NBYTES (IMXRT_DMA_TCD[0].NBYTES)
  1478. #define DMA_TCD0_NBYTES_MLNO (IMXRT_DMA_TCD[0].NBYTES_MLNO)
  1479. #define DMA_TCD0_NBYTES_MLOFFNO (IMXRT_DMA_TCD[0].NBYTES_MLOFFNO)
  1480. #define DMA_TCD0_NBYTES_MLOFFYES (IMXRT_DMA_TCD[0].NBYTES_MLOFFYES)
  1481. #define DMA_TCD0_SLAST (IMXRT_DMA_TCD[0].SLAST)
  1482. #define DMA_TCD0_DADDR (IMXRT_DMA_TCD[0].DADDR)
  1483. #define DMA_TCD0_DOFF (IMXRT_DMA_TCD[0].DOFF)
  1484. #define DMA_TCD0_CITER (IMXRT_DMA_TCD[0].CITER)
  1485. #define DMA_TCD0_CITER_ELINKYES (IMXRT_DMA_TCD[0].CITER_ELINKYES)
  1486. #define DMA_TCD0_CITER_ELINKNO (IMXRT_DMA_TCD[0].CITER_ELINKNO)
  1487. #define DMA_TCD0_DLASTSGA (IMXRT_DMA_TCD[0].DLASTSGA)
  1488. #define DMA_TCD0_CSR (IMXRT_DMA_TCD[0].CSR)
  1489. #define DMA_TCD0_BITER (IMXRT_DMA_TCD[0].BITER)
  1490. #define DMA_TCD0_BITER_ELINKYES (IMXRT_DMA_TCD[0].BITER_ELINKYES)
  1491. #define DMA_TCD0_BITER_ELINKNO (IMXRT_DMA_TCD[0].BITER_ELINKNO)
  1492. #define DMA_TCD1_SADDR (IMXRT_DMA_TCD[1].SADDR)
  1493. #define DMA_TCD1_SOFF (IMXRT_DMA_TCD[1].SOFF)
  1494. #define DMA_TCD1_ATTR (IMXRT_DMA_TCD[1].ATTR)
  1495. #define DMA_TCD1_NBYTES (IMXRT_DMA_TCD[1].NBYTES)
  1496. #define DMA_TCD1_NBYTES_MLNO (IMXRT_DMA_TCD[1].NBYTES_MLNO)
  1497. #define DMA_TCD1_NBYTES_MLOFFNO (IMXRT_DMA_TCD[1].NBYTES_MLOFFNO)
  1498. #define DMA_TCD1_NBYTES_MLOFFYES (IMXRT_DMA_TCD[1].NBYTES_MLOFFYES)
  1499. #define DMA_TCD1_SLAST (IMXRT_DMA_TCD[1].SLAST)
  1500. #define DMA_TCD1_DADDR (IMXRT_DMA_TCD[1].DADDR)
  1501. #define DMA_TCD1_DOFF (IMXRT_DMA_TCD[1].DOFF)
  1502. #define DMA_TCD1_CITER (IMXRT_DMA_TCD[1].CITER)
  1503. #define DMA_TCD1_CITER_ELINKYES (IMXRT_DMA_TCD[1].CITER_ELINKYES)
  1504. #define DMA_TCD1_CITER_ELINKNO (IMXRT_DMA_TCD[1].CITER_ELINKNO)
  1505. #define DMA_TCD1_DLASTSGA (IMXRT_DMA_TCD[1].DLASTSGA)
  1506. #define DMA_TCD1_CSR (IMXRT_DMA_TCD[1].CSR)
  1507. #define DMA_TCD1_BITER (IMXRT_DMA_TCD[1].BITER)
  1508. #define DMA_TCD1_BITER_ELINKYES (IMXRT_DMA_TCD[1].BITER_ELINKYES)
  1509. #define DMA_TCD1_BITER_ELINKNO (IMXRT_DMA_TCD[1].BITER_ELINKNO)
  1510. #define DMA_TCD2_SADDR (IMXRT_DMA_TCD[2].SADDR)
  1511. #define DMA_TCD2_SOFF (IMXRT_DMA_TCD[2].SOFF)
  1512. #define DMA_TCD2_ATTR (IMXRT_DMA_TCD[2].ATTR)
  1513. #define DMA_TCD2_NBYTES (IMXRT_DMA_TCD[2].NBYTES)
  1514. #define DMA_TCD2_NBYTES_MLNO (IMXRT_DMA_TCD[2].NBYTES_MLNO)
  1515. #define DMA_TCD2_NBYTES_MLOFFNO (IMXRT_DMA_TCD[2].NBYTES_MLOFFNO)
  1516. #define DMA_TCD2_NBYTES_MLOFFYES (IMXRT_DMA_TCD[2].NBYTES_MLOFFYES)
  1517. #define DMA_TCD2_SLAST (IMXRT_DMA_TCD[2].SLAST)
  1518. #define DMA_TCD2_DADDR (IMXRT_DMA_TCD[2].DADDR)
  1519. #define DMA_TCD2_DOFF (IMXRT_DMA_TCD[2].DOFF)
  1520. #define DMA_TCD2_CITER (IMXRT_DMA_TCD[2].CITER)
  1521. #define DMA_TCD2_CITER_ELINKYES (IMXRT_DMA_TCD[2].CITER_ELINKYES)
  1522. #define DMA_TCD2_CITER_ELINKNO (IMXRT_DMA_TCD[2].CITER_ELINKNO)
  1523. #define DMA_TCD2_DLASTSGA (IMXRT_DMA_TCD[2].DLASTSGA)
  1524. #define DMA_TCD2_CSR (IMXRT_DMA_TCD[2].CSR)
  1525. #define DMA_TCD2_BITER (IMXRT_DMA_TCD[2].BITER)
  1526. #define DMA_TCD2_BITER_ELINKYES (IMXRT_DMA_TCD[2].BITER_ELINKYES)
  1527. #define DMA_TCD2_BITER_ELINKNO (IMXRT_DMA_TCD[2].BITER_ELINKNO)
  1528. #define DMA_TCD3_SADDR (IMXRT_DMA_TCD[3].SADDR)
  1529. #define DMA_TCD3_SOFF (IMXRT_DMA_TCD[3].SOFF)
  1530. #define DMA_TCD3_ATTR (IMXRT_DMA_TCD[3].ATTR)
  1531. #define DMA_TCD3_NBYTES (IMXRT_DMA_TCD[3].NBYTES)
  1532. #define DMA_TCD3_NBYTES_MLNO (IMXRT_DMA_TCD[3].NBYTES_MLNO)
  1533. #define DMA_TCD3_NBYTES_MLOFFNO (IMXRT_DMA_TCD[3].NBYTES_MLOFFNO)
  1534. #define DMA_TCD3_NBYTES_MLOFFYES (IMXRT_DMA_TCD[3].NBYTES_MLOFFYES)
  1535. #define DMA_TCD3_SLAST (IMXRT_DMA_TCD[3].SLAST)
  1536. #define DMA_TCD3_DADDR (IMXRT_DMA_TCD[3].DADDR)
  1537. #define DMA_TCD3_DOFF (IMXRT_DMA_TCD[3].DOFF)
  1538. #define DMA_TCD3_CITER (IMXRT_DMA_TCD[3].CITER)
  1539. #define DMA_TCD3_CITER_ELINKYES (IMXRT_DMA_TCD[3].CITER_ELINKYES)
  1540. #define DMA_TCD3_CITER_ELINKNO (IMXRT_DMA_TCD[3].CITER_ELINKNO)
  1541. #define DMA_TCD3_DLASTSGA (IMXRT_DMA_TCD[3].DLASTSGA)
  1542. #define DMA_TCD3_CSR (IMXRT_DMA_TCD[3].CSR)
  1543. #define DMA_TCD3_BITER (IMXRT_DMA_TCD[3].BITER)
  1544. #define DMA_TCD3_BITER_ELINKYES (IMXRT_DMA_TCD[3].BITER_ELINKYES)
  1545. #define DMA_TCD3_BITER_ELINKNO (IMXRT_DMA_TCD[3].BITER_ELINKNO)
  1546. #define DMA_TCD4_SADDR (IMXRT_DMA_TCD[4].SADDR)
  1547. #define DMA_TCD4_SOFF (IMXRT_DMA_TCD[4].SOFF)
  1548. #define DMA_TCD4_ATTR (IMXRT_DMA_TCD[4].ATTR)
  1549. #define DMA_TCD4_NBYTES (IMXRT_DMA_TCD[4].NBYTES)
  1550. #define DMA_TCD4_NBYTES_MLNO (IMXRT_DMA_TCD[4].NBYTES_MLNO)
  1551. #define DMA_TCD4_NBYTES_MLOFFNO (IMXRT_DMA_TCD[4].NBYTES_MLOFFNO)
  1552. #define DMA_TCD4_NBYTES_MLOFFYES (IMXRT_DMA_TCD[4].NBYTES_MLOFFYES)
  1553. #define DMA_TCD4_SLAST (IMXRT_DMA_TCD[4].SLAST)
  1554. #define DMA_TCD4_DADDR (IMXRT_DMA_TCD[4].DADDR)
  1555. #define DMA_TCD4_DOFF (IMXRT_DMA_TCD[4].DOFF)
  1556. #define DMA_TCD4_CITER (IMXRT_DMA_TCD[4].CITER)
  1557. #define DMA_TCD4_CITER_ELINKYES (IMXRT_DMA_TCD[4].CITER_ELINKYES)
  1558. #define DMA_TCD4_CITER_ELINKNO (IMXRT_DMA_TCD[4].CITER_ELINKNO)
  1559. #define DMA_TCD4_DLASTSGA (IMXRT_DMA_TCD[4].DLASTSGA)
  1560. #define DMA_TCD4_CSR (IMXRT_DMA_TCD[4].CSR)
  1561. #define DMA_TCD4_BITER (IMXRT_DMA_TCD[4].BITER)
  1562. #define DMA_TCD4_BITER_ELINKYES (IMXRT_DMA_TCD[4].BITER_ELINKYES)
  1563. #define DMA_TCD4_BITER_ELINKNO (IMXRT_DMA_TCD[4].BITER_ELINKNO)
  1564. #define DMA_TCD5_SADDR (IMXRT_DMA_TCD[5].SADDR)
  1565. #define DMA_TCD5_SOFF (IMXRT_DMA_TCD[5].SOFF)
  1566. #define DMA_TCD5_ATTR (IMXRT_DMA_TCD[5].ATTR)
  1567. #define DMA_TCD5_NBYTES (IMXRT_DMA_TCD[5].NBYTES)
  1568. #define DMA_TCD5_NBYTES_MLNO (IMXRT_DMA_TCD[5].NBYTES_MLNO)
  1569. #define DMA_TCD5_NBYTES_MLOFFNO (IMXRT_DMA_TCD[5].NBYTES_MLOFFNO)
  1570. #define DMA_TCD5_NBYTES_MLOFFYES (IMXRT_DMA_TCD[5].NBYTES_MLOFFYES)
  1571. #define DMA_TCD5_SLAST (IMXRT_DMA_TCD[5].SLAST)
  1572. #define DMA_TCD5_DADDR (IMXRT_DMA_TCD[5].DADDR)
  1573. #define DMA_TCD5_DOFF (IMXRT_DMA_TCD[5].DOFF)
  1574. #define DMA_TCD5_CITER (IMXRT_DMA_TCD[5].CITER)
  1575. #define DMA_TCD5_CITER_ELINKYES (IMXRT_DMA_TCD[5].CITER_ELINKYES)
  1576. #define DMA_TCD5_CITER_ELINKNO (IMXRT_DMA_TCD[5].CITER_ELINKNO)
  1577. #define DMA_TCD5_DLASTSGA (IMXRT_DMA_TCD[5].DLASTSGA)
  1578. #define DMA_TCD5_CSR (IMXRT_DMA_TCD[5].CSR)
  1579. #define DMA_TCD5_BITER (IMXRT_DMA_TCD[5].BITER)
  1580. #define DMA_TCD5_BITER_ELINKYES (IMXRT_DMA_TCD[5].BITER_ELINKYES)
  1581. #define DMA_TCD5_BITER_ELINKNO (IMXRT_DMA_TCD[5].BITER_ELINKNO)
  1582. #define DMA_TCD6_SADDR (IMXRT_DMA_TCD[6].SADDR)
  1583. #define DMA_TCD6_SOFF (IMXRT_DMA_TCD[6].SOFF)
  1584. #define DMA_TCD6_ATTR (IMXRT_DMA_TCD[6].ATTR)
  1585. #define DMA_TCD6_NBYTES (IMXRT_DMA_TCD[6].NBYTES)
  1586. #define DMA_TCD6_NBYTES_MLNO (IMXRT_DMA_TCD[6].NBYTES_MLNO)
  1587. #define DMA_TCD6_NBYTES_MLOFFNO (IMXRT_DMA_TCD[6].NBYTES_MLOFFNO)
  1588. #define DMA_TCD6_NBYTES_MLOFFYES (IMXRT_DMA_TCD[6].NBYTES_MLOFFYES)
  1589. #define DMA_TCD6_SLAST (IMXRT_DMA_TCD[6].SLAST)
  1590. #define DMA_TCD6_DADDR (IMXRT_DMA_TCD[6].DADDR)
  1591. #define DMA_TCD6_DOFF (IMXRT_DMA_TCD[6].DOFF)
  1592. #define DMA_TCD6_CITER (IMXRT_DMA_TCD[6].CITER)
  1593. #define DMA_TCD6_CITER_ELINKYES (IMXRT_DMA_TCD[6].CITER_ELINKYES)
  1594. #define DMA_TCD6_CITER_ELINKNO (IMXRT_DMA_TCD[6].CITER_ELINKNO)
  1595. #define DMA_TCD6_DLASTSGA (IMXRT_DMA_TCD[6].DLASTSGA)
  1596. #define DMA_TCD6_CSR (IMXRT_DMA_TCD[6].CSR)
  1597. #define DMA_TCD6_BITER (IMXRT_DMA_TCD[6].BITER)
  1598. #define DMA_TCD6_BITER_ELINKYES (IMXRT_DMA_TCD[6].BITER_ELINKYES)
  1599. #define DMA_TCD6_BITER_ELINKNO (IMXRT_DMA_TCD[6].BITER_ELINKNO)
  1600. #define DMA_TCD7_SADDR (IMXRT_DMA_TCD[7].SADDR)
  1601. #define DMA_TCD7_SOFF (IMXRT_DMA_TCD[7].SOFF)
  1602. #define DMA_TCD7_ATTR (IMXRT_DMA_TCD[7].ATTR)
  1603. #define DMA_TCD7_NBYTES (IMXRT_DMA_TCD[7].NBYTES)
  1604. #define DMA_TCD7_NBYTES_MLNO (IMXRT_DMA_TCD[7].NBYTES_MLNO)
  1605. #define DMA_TCD7_NBYTES_MLOFFNO (IMXRT_DMA_TCD[7].NBYTES_MLOFFNO)
  1606. #define DMA_TCD7_NBYTES_MLOFFYES (IMXRT_DMA_TCD[7].NBYTES_MLOFFYES)
  1607. #define DMA_TCD7_SLAST (IMXRT_DMA_TCD[7].SLAST)
  1608. #define DMA_TCD7_DADDR (IMXRT_DMA_TCD[7].DADDR)
  1609. #define DMA_TCD7_DOFF (IMXRT_DMA_TCD[7].DOFF)
  1610. #define DMA_TCD7_CITER (IMXRT_DMA_TCD[7].CITER)
  1611. #define DMA_TCD7_CITER_ELINKYES (IMXRT_DMA_TCD[7].CITER_ELINKYES)
  1612. #define DMA_TCD7_CITER_ELINKNO (IMXRT_DMA_TCD[7].CITER_ELINKNO)
  1613. #define DMA_TCD7_DLASTSGA (IMXRT_DMA_TCD[7].DLASTSGA)
  1614. #define DMA_TCD7_CSR (IMXRT_DMA_TCD[7].CSR)
  1615. #define DMA_TCD7_BITER (IMXRT_DMA_TCD[7].BITER)
  1616. #define DMA_TCD7_BITER_ELINKYES (IMXRT_DMA_TCD[7].BITER_ELINKYES)
  1617. #define DMA_TCD7_BITER_ELINKNO (IMXRT_DMA_TCD[7].BITER_ELINKNO)
  1618. #define DMA_TCD8_SADDR (IMXRT_DMA_TCD[8].SADDR)
  1619. #define DMA_TCD8_SOFF (IMXRT_DMA_TCD[8].SOFF)
  1620. #define DMA_TCD8_ATTR (IMXRT_DMA_TCD[8].ATTR)
  1621. #define DMA_TCD8_NBYTES (IMXRT_DMA_TCD[8].NBYTES)
  1622. #define DMA_TCD8_NBYTES_MLNO (IMXRT_DMA_TCD[8].NBYTES_MLNO)
  1623. #define DMA_TCD8_NBYTES_MLOFFNO (IMXRT_DMA_TCD[8].NBYTES_MLOFFNO)
  1624. #define DMA_TCD8_NBYTES_MLOFFYES (IMXRT_DMA_TCD[8].NBYTES_MLOFFYES)
  1625. #define DMA_TCD8_SLAST (IMXRT_DMA_TCD[8].SLAST)
  1626. #define DMA_TCD8_DADDR (IMXRT_DMA_TCD[8].DADDR)
  1627. #define DMA_TCD8_DOFF (IMXRT_DMA_TCD[8].DOFF)
  1628. #define DMA_TCD8_CITER (IMXRT_DMA_TCD[8].CITER)
  1629. #define DMA_TCD8_CITER_ELINKYES (IMXRT_DMA_TCD[8].CITER_ELINKYES)
  1630. #define DMA_TCD8_CITER_ELINKNO (IMXRT_DMA_TCD[8].CITER_ELINKNO)
  1631. #define DMA_TCD8_DLASTSGA (IMXRT_DMA_TCD[8].DLASTSGA)
  1632. #define DMA_TCD8_CSR (IMXRT_DMA_TCD[8].CSR)
  1633. #define DMA_TCD8_BITER (IMXRT_DMA_TCD[8].BITER)
  1634. #define DMA_TCD8_BITER_ELINKYES (IMXRT_DMA_TCD[8].BITER_ELINKYES)
  1635. #define DMA_TCD8_BITER_ELINKNO (IMXRT_DMA_TCD[8].BITER_ELINKNO)
  1636. #define DMA_TCD9_SADDR (IMXRT_DMA_TCD[9].SADDR)
  1637. #define DMA_TCD9_SOFF (IMXRT_DMA_TCD[9].SOFF)
  1638. #define DMA_TCD9_ATTR (IMXRT_DMA_TCD[9].ATTR)
  1639. #define DMA_TCD9_NBYTES (IMXRT_DMA_TCD[9].NBYTES)
  1640. #define DMA_TCD9_NBYTES_MLNO (IMXRT_DMA_TCD[9].NBYTES_MLNO)
  1641. #define DMA_TCD9_NBYTES_MLOFFNO (IMXRT_DMA_TCD[9].NBYTES_MLOFFNO)
  1642. #define DMA_TCD9_NBYTES_MLOFFYES (IMXRT_DMA_TCD[9].NBYTES_MLOFFYES)
  1643. #define DMA_TCD9_SLAST (IMXRT_DMA_TCD[9].SLAST)
  1644. #define DMA_TCD9_DADDR (IMXRT_DMA_TCD[9].DADDR)
  1645. #define DMA_TCD9_DOFF (IMXRT_DMA_TCD[9].DOFF)
  1646. #define DMA_TCD9_CITER (IMXRT_DMA_TCD[9].CITER)
  1647. #define DMA_TCD9_CITER_ELINKYES (IMXRT_DMA_TCD[9].CITER_ELINKYES)
  1648. #define DMA_TCD9_CITER_ELINKNO (IMXRT_DMA_TCD[9].CITER_ELINKNO)
  1649. #define DMA_TCD9_DLASTSGA (IMXRT_DMA_TCD[9].DLASTSGA)
  1650. #define DMA_TCD9_CSR (IMXRT_DMA_TCD[9].CSR)
  1651. #define DMA_TCD9_BITER (IMXRT_DMA_TCD[9].BITER)
  1652. #define DMA_TCD9_BITER_ELINKYES (IMXRT_DMA_TCD[9].BITER_ELINKYES)
  1653. #define DMA_TCD9_BITER_ELINKNO (IMXRT_DMA_TCD[9].BITER_ELINKNO)
  1654. #define DMA_TCD10_SADDR (IMXRT_DMA_TCD[10].SADDR)
  1655. #define DMA_TCD10_SOFF (IMXRT_DMA_TCD[10].SOFF)
  1656. #define DMA_TCD10_ATTR (IMXRT_DMA_TCD[10].ATTR)
  1657. #define DMA_TCD10_NBYTES (IMXRT_DMA_TCD[10].NBYTES)
  1658. #define DMA_TCD10_NBYTES_MLNO (IMXRT_DMA_TCD[10].NBYTES_MLNO)
  1659. #define DMA_TCD10_NBYTES_MLOFFNO (IMXRT_DMA_TCD[10].NBYTES_MLOFFNO)
  1660. #define DMA_TCD10_NBYTES_MLOFFYES (IMXRT_DMA_TCD[10].NBYTES_MLOFFYES)
  1661. #define DMA_TCD10_SLAST (IMXRT_DMA_TCD[10].SLAST)
  1662. #define DMA_TCD10_DADDR (IMXRT_DMA_TCD[10].DADDR)
  1663. #define DMA_TCD10_DOFF (IMXRT_DMA_TCD[10].DOFF)
  1664. #define DMA_TCD10_CITER (IMXRT_DMA_TCD[10].CITER)
  1665. #define DMA_TCD10_CITER_ELINKYES (IMXRT_DMA_TCD[10].CITER_ELINKYES)
  1666. #define DMA_TCD10_CITER_ELINKNO (IMXRT_DMA_TCD[10].CITER_ELINKNO)
  1667. #define DMA_TCD10_DLASTSGA (IMXRT_DMA_TCD[10].DLASTSGA)
  1668. #define DMA_TCD10_CSR (IMXRT_DMA_TCD[10].CSR)
  1669. #define DMA_TCD10_BITER (IMXRT_DMA_TCD[10].BITER)
  1670. #define DMA_TCD10_BITER_ELINKYES (IMXRT_DMA_TCD[10].BITER_ELINKYES)
  1671. #define DMA_TCD10_BITER_ELINKNO (IMXRT_DMA_TCD[10].BITER_ELINKNO)
  1672. #define DMA_TCD11_SADDR (IMXRT_DMA_TCD[11].SADDR)
  1673. #define DMA_TCD11_SOFF (IMXRT_DMA_TCD[11].SOFF)
  1674. #define DMA_TCD11_ATTR (IMXRT_DMA_TCD[11].ATTR)
  1675. #define DMA_TCD11_NBYTES (IMXRT_DMA_TCD[11].NBYTES)
  1676. #define DMA_TCD11_NBYTES_MLNO (IMXRT_DMA_TCD[11].NBYTES_MLNO)
  1677. #define DMA_TCD11_NBYTES_MLOFFNO (IMXRT_DMA_TCD[11].NBYTES_MLOFFNO)
  1678. #define DMA_TCD11_NBYTES_MLOFFYES (IMXRT_DMA_TCD[11].NBYTES_MLOFFYES)
  1679. #define DMA_TCD11_SLAST (IMXRT_DMA_TCD[11].SLAST)
  1680. #define DMA_TCD11_DADDR (IMXRT_DMA_TCD[11].DADDR)
  1681. #define DMA_TCD11_DOFF (IMXRT_DMA_TCD[11].DOFF)
  1682. #define DMA_TCD11_CITER (IMXRT_DMA_TCD[11].CITER)
  1683. #define DMA_TCD11_CITER_ELINKYES (IMXRT_DMA_TCD[11].CITER_ELINKYES)
  1684. #define DMA_TCD11_CITER_ELINKNO (IMXRT_DMA_TCD[11].CITER_ELINKNO)
  1685. #define DMA_TCD11_DLASTSGA (IMXRT_DMA_TCD[11].DLASTSGA)
  1686. #define DMA_TCD11_CSR (IMXRT_DMA_TCD[11].CSR)
  1687. #define DMA_TCD11_BITER (IMXRT_DMA_TCD[11].BITER)
  1688. #define DMA_TCD11_BITER_ELINKYES (IMXRT_DMA_TCD[11].BITER_ELINKYES)
  1689. #define DMA_TCD11_BITER_ELINKNO (IMXRT_DMA_TCD[11].BITER_ELINKNO)
  1690. #define DMA_TCD12_SADDR (IMXRT_DMA_TCD[12].SADDR)
  1691. #define DMA_TCD12_SOFF (IMXRT_DMA_TCD[12].SOFF)
  1692. #define DMA_TCD12_ATTR (IMXRT_DMA_TCD[12].ATTR)
  1693. #define DMA_TCD12_NBYTES (IMXRT_DMA_TCD[12].NBYTES)
  1694. #define DMA_TCD12_NBYTES_MLNO (IMXRT_DMA_TCD[12].NBYTES_MLNO)
  1695. #define DMA_TCD12_NBYTES_MLOFFNO (IMXRT_DMA_TCD[12].NBYTES_MLOFFNO)
  1696. #define DMA_TCD12_NBYTES_MLOFFYES (IMXRT_DMA_TCD[12].NBYTES_MLOFFYES)
  1697. #define DMA_TCD12_SLAST (IMXRT_DMA_TCD[12].SLAST)
  1698. #define DMA_TCD12_DADDR (IMXRT_DMA_TCD[12].DADDR)
  1699. #define DMA_TCD12_DOFF (IMXRT_DMA_TCD[12].DOFF)
  1700. #define DMA_TCD12_CITER (IMXRT_DMA_TCD[12].CITER)
  1701. #define DMA_TCD12_CITER_ELINKYES (IMXRT_DMA_TCD[12].CITER_ELINKYES)
  1702. #define DMA_TCD12_CITER_ELINKNO (IMXRT_DMA_TCD[12].CITER_ELINKNO)
  1703. #define DMA_TCD12_DLASTSGA (IMXRT_DMA_TCD[12].DLASTSGA)
  1704. #define DMA_TCD12_CSR (IMXRT_DMA_TCD[12].CSR)
  1705. #define DMA_TCD12_BITER (IMXRT_DMA_TCD[12].BITER)
  1706. #define DMA_TCD12_BITER_ELINKYES (IMXRT_DMA_TCD[12].BITER_ELINKYES)
  1707. #define DMA_TCD12_BITER_ELINKNO (IMXRT_DMA_TCD[12].BITER_ELINKNO)
  1708. #define DMA_TCD13_SADDR (IMXRT_DMA_TCD[13].SADDR)
  1709. #define DMA_TCD13_SOFF (IMXRT_DMA_TCD[13].SOFF)
  1710. #define DMA_TCD13_ATTR (IMXRT_DMA_TCD[13].ATTR)
  1711. #define DMA_TCD13_NBYTES (IMXRT_DMA_TCD[13].NBYTES)
  1712. #define DMA_TCD13_NBYTES_MLNO (IMXRT_DMA_TCD[13].NBYTES_MLNO)
  1713. #define DMA_TCD13_NBYTES_MLOFFNO (IMXRT_DMA_TCD[13].NBYTES_MLOFFNO)
  1714. #define DMA_TCD13_NBYTES_MLOFFYES (IMXRT_DMA_TCD[13].NBYTES_MLOFFYES)
  1715. #define DMA_TCD13_SLAST (IMXRT_DMA_TCD[13].SLAST)
  1716. #define DMA_TCD13_DADDR (IMXRT_DMA_TCD[13].DADDR)
  1717. #define DMA_TCD13_DOFF (IMXRT_DMA_TCD[13].DOFF)
  1718. #define DMA_TCD13_CITER (IMXRT_DMA_TCD[13].CITER)
  1719. #define DMA_TCD13_CITER_ELINKYES (IMXRT_DMA_TCD[13].CITER_ELINKYES)
  1720. #define DMA_TCD13_CITER_ELINKNO (IMXRT_DMA_TCD[13].CITER_ELINKNO)
  1721. #define DMA_TCD13_DLASTSGA (IMXRT_DMA_TCD[13].DLASTSGA)
  1722. #define DMA_TCD13_CSR (IMXRT_DMA_TCD[13].CSR)
  1723. #define DMA_TCD13_BITER (IMXRT_DMA_TCD[13].BITER)
  1724. #define DMA_TCD13_BITER_ELINKYES (IMXRT_DMA_TCD[13].BITER_ELINKYES)
  1725. #define DMA_TCD13_BITER_ELINKNO (IMXRT_DMA_TCD[13].BITER_ELINKNO)
  1726. #define DMA_TCD14_SADDR (IMXRT_DMA_TCD[14].SADDR)
  1727. #define DMA_TCD14_SOFF (IMXRT_DMA_TCD[14].SOFF)
  1728. #define DMA_TCD14_ATTR (IMXRT_DMA_TCD[14].ATTR)
  1729. #define DMA_TCD14_NBYTES (IMXRT_DMA_TCD[14].NBYTES)
  1730. #define DMA_TCD14_NBYTES_MLNO (IMXRT_DMA_TCD[14].NBYTES_MLNO)
  1731. #define DMA_TCD14_NBYTES_MLOFFNO (IMXRT_DMA_TCD[14].NBYTES_MLOFFNO)
  1732. #define DMA_TCD14_NBYTES_MLOFFYES (IMXRT_DMA_TCD[14].NBYTES_MLOFFYES)
  1733. #define DMA_TCD14_SLAST (IMXRT_DMA_TCD[14].SLAST)
  1734. #define DMA_TCD14_DADDR (IMXRT_DMA_TCD[14].DADDR)
  1735. #define DMA_TCD14_DOFF (IMXRT_DMA_TCD[14].DOFF)
  1736. #define DMA_TCD14_CITER (IMXRT_DMA_TCD[14].CITER)
  1737. #define DMA_TCD14_CITER_ELINKYES (IMXRT_DMA_TCD[14].CITER_ELINKYES)
  1738. #define DMA_TCD14_CITER_ELINKNO (IMXRT_DMA_TCD[14].CITER_ELINKNO)
  1739. #define DMA_TCD14_DLASTSGA (IMXRT_DMA_TCD[14].DLASTSGA)
  1740. #define DMA_TCD14_CSR (IMXRT_DMA_TCD[14].CSR)
  1741. #define DMA_TCD14_BITER (IMXRT_DMA_TCD[14].BITER)
  1742. #define DMA_TCD14_BITER_ELINKYES (IMXRT_DMA_TCD[14].BITER_ELINKYES)
  1743. #define DMA_TCD14_BITER_ELINKNO (IMXRT_DMA_TCD[14].BITER_ELINKNO)
  1744. #define DMA_TCD15_SADDR (IMXRT_DMA_TCD[15].SADDR)
  1745. #define DMA_TCD15_SOFF (IMXRT_DMA_TCD[15].SOFF)
  1746. #define DMA_TCD15_ATTR (IMXRT_DMA_TCD[15].ATTR)
  1747. #define DMA_TCD15_NBYTES (IMXRT_DMA_TCD[15].NBYTES)
  1748. #define DMA_TCD15_NBYTES_MLNO (IMXRT_DMA_TCD[15].NBYTES_MLNO)
  1749. #define DMA_TCD15_NBYTES_MLOFFNO (IMXRT_DMA_TCD[15].NBYTES_MLOFFNO)
  1750. #define DMA_TCD15_NBYTES_MLOFFYES (IMXRT_DMA_TCD[15].NBYTES_MLOFFYES)
  1751. #define DMA_TCD15_SLAST (IMXRT_DMA_TCD[15].SLAST)
  1752. #define DMA_TCD15_DADDR (IMXRT_DMA_TCD[15].DADDR)
  1753. #define DMA_TCD15_DOFF (IMXRT_DMA_TCD[15].DOFF)
  1754. #define DMA_TCD15_CITER (IMXRT_DMA_TCD[15].CITER)
  1755. #define DMA_TCD15_CITER_ELINKYES (IMXRT_DMA_TCD[15].CITER_ELINKYES)
  1756. #define DMA_TCD15_CITER_ELINKNO (IMXRT_DMA_TCD[15].CITER_ELINKNO)
  1757. #define DMA_TCD15_DLASTSGA (IMXRT_DMA_TCD[15].DLASTSGA)
  1758. #define DMA_TCD15_CSR (IMXRT_DMA_TCD[15].CSR)
  1759. #define DMA_TCD15_BITER (IMXRT_DMA_TCD[15].BITER)
  1760. #define DMA_TCD15_BITER_ELINKYES (IMXRT_DMA_TCD[15].BITER_ELINKYES)
  1761. #define DMA_TCD15_BITER_ELINKNO (IMXRT_DMA_TCD[15].BITER_ELINKNO)
  1762. #define DMA_TCD16_SADDR (IMXRT_DMA_TCD[16].SADDR)
  1763. #define DMA_TCD16_SOFF (IMXRT_DMA_TCD[16].SOFF)
  1764. #define DMA_TCD16_ATTR (IMXRT_DMA_TCD[16].ATTR)
  1765. #define DMA_TCD16_NBYTES (IMXRT_DMA_TCD[16].NBYTES)
  1766. #define DMA_TCD16_NBYTES_MLNO (IMXRT_DMA_TCD[16].NBYTES_MLNO)
  1767. #define DMA_TCD16_NBYTES_MLOFFNO (IMXRT_DMA_TCD[16].NBYTES_MLOFFNO)
  1768. #define DMA_TCD16_NBYTES_MLOFFYES (IMXRT_DMA_TCD[16].NBYTES_MLOFFYES)
  1769. #define DMA_TCD16_SLAST (IMXRT_DMA_TCD[16].SLAST)
  1770. #define DMA_TCD16_DADDR (IMXRT_DMA_TCD[16].DADDR)
  1771. #define DMA_TCD16_DOFF (IMXRT_DMA_TCD[16].DOFF)
  1772. #define DMA_TCD16_CITER (IMXRT_DMA_TCD[16].CITER)
  1773. #define DMA_TCD16_CITER_ELINKYES (IMXRT_DMA_TCD[16].CITER_ELINKYES)
  1774. #define DMA_TCD16_CITER_ELINKNO (IMXRT_DMA_TCD[16].CITER_ELINKNO)
  1775. #define DMA_TCD16_DLASTSGA (IMXRT_DMA_TCD[16].DLASTSGA)
  1776. #define DMA_TCD16_CSR (IMXRT_DMA_TCD[16].CSR)
  1777. #define DMA_TCD16_BITER (IMXRT_DMA_TCD[16].BITER)
  1778. #define DMA_TCD16_BITER_ELINKYES (IMXRT_DMA_TCD[16].BITER_ELINKYES)
  1779. #define DMA_TCD16_BITER_ELINKNO (IMXRT_DMA_TCD[16].BITER_ELINKNO)
  1780. #define DMA_TCD17_SADDR (IMXRT_DMA_TCD[17].SADDR)
  1781. #define DMA_TCD17_SOFF (IMXRT_DMA_TCD[17].SOFF)
  1782. #define DMA_TCD17_ATTR (IMXRT_DMA_TCD[17].ATTR)
  1783. #define DMA_TCD17_NBYTES (IMXRT_DMA_TCD[17].NBYTES)
  1784. #define DMA_TCD17_NBYTES_MLNO (IMXRT_DMA_TCD[17].NBYTES_MLNO)
  1785. #define DMA_TCD17_NBYTES_MLOFFNO (IMXRT_DMA_TCD[17].NBYTES_MLOFFNO)
  1786. #define DMA_TCD17_NBYTES_MLOFFYES (IMXRT_DMA_TCD[17].NBYTES_MLOFFYES)
  1787. #define DMA_TCD17_SLAST (IMXRT_DMA_TCD[17].SLAST)
  1788. #define DMA_TCD17_DADDR (IMXRT_DMA_TCD[17].DADDR)
  1789. #define DMA_TCD17_DOFF (IMXRT_DMA_TCD[17].DOFF)
  1790. #define DMA_TCD17_CITER (IMXRT_DMA_TCD[17].CITER)
  1791. #define DMA_TCD17_CITER_ELINKYES (IMXRT_DMA_TCD[17].CITER_ELINKYES)
  1792. #define DMA_TCD17_CITER_ELINKNO (IMXRT_DMA_TCD[17].CITER_ELINKNO)
  1793. #define DMA_TCD17_DLASTSGA (IMXRT_DMA_TCD[17].DLASTSGA)
  1794. #define DMA_TCD17_CSR (IMXRT_DMA_TCD[17].CSR)
  1795. #define DMA_TCD17_BITER (IMXRT_DMA_TCD[17].BITER)
  1796. #define DMA_TCD17_BITER_ELINKYES (IMXRT_DMA_TCD[17].BITER_ELINKYES)
  1797. #define DMA_TCD17_BITER_ELINKNO (IMXRT_DMA_TCD[17].BITER_ELINKNO)
  1798. #define DMA_TCD18_SADDR (IMXRT_DMA_TCD[18].SADDR)
  1799. #define DMA_TCD18_SOFF (IMXRT_DMA_TCD[18].SOFF)
  1800. #define DMA_TCD18_ATTR (IMXRT_DMA_TCD[18].ATTR)
  1801. #define DMA_TCD18_NBYTES (IMXRT_DMA_TCD[18].NBYTES)
  1802. #define DMA_TCD18_NBYTES_MLNO (IMXRT_DMA_TCD[18].NBYTES_MLNO)
  1803. #define DMA_TCD18_NBYTES_MLOFFNO (IMXRT_DMA_TCD[18].NBYTES_MLOFFNO)
  1804. #define DMA_TCD18_NBYTES_MLOFFYES (IMXRT_DMA_TCD[18].NBYTES_MLOFFYES)
  1805. #define DMA_TCD18_SLAST (IMXRT_DMA_TCD[18].SLAST)
  1806. #define DMA_TCD18_DADDR (IMXRT_DMA_TCD[18].DADDR)
  1807. #define DMA_TCD18_DOFF (IMXRT_DMA_TCD[18].DOFF)
  1808. #define DMA_TCD18_CITER (IMXRT_DMA_TCD[18].CITER)
  1809. #define DMA_TCD18_CITER_ELINKYES (IMXRT_DMA_TCD[18].CITER_ELINKYES)
  1810. #define DMA_TCD18_CITER_ELINKNO (IMXRT_DMA_TCD[18].CITER_ELINKNO)
  1811. #define DMA_TCD18_DLASTSGA (IMXRT_DMA_TCD[18].DLASTSGA)
  1812. #define DMA_TCD18_CSR (IMXRT_DMA_TCD[18].CSR)
  1813. #define DMA_TCD18_BITER (IMXRT_DMA_TCD[18].BITER)
  1814. #define DMA_TCD18_BITER_ELINKYES (IMXRT_DMA_TCD[18].BITER_ELINKYES)
  1815. #define DMA_TCD18_BITER_ELINKNO (IMXRT_DMA_TCD[18].BITER_ELINKNO)
  1816. #define DMA_TCD19_SADDR (IMXRT_DMA_TCD[19].SADDR)
  1817. #define DMA_TCD19_SOFF (IMXRT_DMA_TCD[19].SOFF)
  1818. #define DMA_TCD19_ATTR (IMXRT_DMA_TCD[19].ATTR)
  1819. #define DMA_TCD19_NBYTES (IMXRT_DMA_TCD[19].NBYTES)
  1820. #define DMA_TCD19_NBYTES_MLNO (IMXRT_DMA_TCD[19].NBYTES_MLNO)
  1821. #define DMA_TCD19_NBYTES_MLOFFNO (IMXRT_DMA_TCD[19].NBYTES_MLOFFNO)
  1822. #define DMA_TCD19_NBYTES_MLOFFYES (IMXRT_DMA_TCD[19].NBYTES_MLOFFYES)
  1823. #define DMA_TCD19_SLAST (IMXRT_DMA_TCD[19].SLAST)
  1824. #define DMA_TCD19_DADDR (IMXRT_DMA_TCD[19].DADDR)
  1825. #define DMA_TCD19_DOFF (IMXRT_DMA_TCD[19].DOFF)
  1826. #define DMA_TCD19_CITER (IMXRT_DMA_TCD[19].CITER)
  1827. #define DMA_TCD19_CITER_ELINKYES (IMXRT_DMA_TCD[19].CITER_ELINKYES)
  1828. #define DMA_TCD19_CITER_ELINKNO (IMXRT_DMA_TCD[19].CITER_ELINKNO)
  1829. #define DMA_TCD19_DLASTSGA (IMXRT_DMA_TCD[19].DLASTSGA)
  1830. #define DMA_TCD19_CSR (IMXRT_DMA_TCD[19].CSR)
  1831. #define DMA_TCD19_BITER (IMXRT_DMA_TCD[19].BITER)
  1832. #define DMA_TCD19_BITER_ELINKYES (IMXRT_DMA_TCD[19].BITER_ELINKYES)
  1833. #define DMA_TCD19_BITER_ELINKNO (IMXRT_DMA_TCD[19].BITER_ELINKNO)
  1834. #define DMA_TCD20_SADDR (IMXRT_DMA_TCD[20].SADDR)
  1835. #define DMA_TCD20_SOFF (IMXRT_DMA_TCD[20].SOFF)
  1836. #define DMA_TCD20_ATTR (IMXRT_DMA_TCD[20].ATTR)
  1837. #define DMA_TCD20_NBYTES (IMXRT_DMA_TCD[20].NBYTES)
  1838. #define DMA_TCD20_NBYTES_MLNO (IMXRT_DMA_TCD[20].NBYTES_MLNO)
  1839. #define DMA_TCD20_NBYTES_MLOFFNO (IMXRT_DMA_TCD[20].NBYTES_MLOFFNO)
  1840. #define DMA_TCD20_NBYTES_MLOFFYES (IMXRT_DMA_TCD[20].NBYTES_MLOFFYES)
  1841. #define DMA_TCD20_SLAST (IMXRT_DMA_TCD[20].SLAST)
  1842. #define DMA_TCD20_DADDR (IMXRT_DMA_TCD[20].DADDR)
  1843. #define DMA_TCD20_DOFF (IMXRT_DMA_TCD[20].DOFF)
  1844. #define DMA_TCD20_CITER (IMXRT_DMA_TCD[20].CITER)
  1845. #define DMA_TCD20_CITER_ELINKYES (IMXRT_DMA_TCD[20].CITER_ELINKYES)
  1846. #define DMA_TCD20_CITER_ELINKNO (IMXRT_DMA_TCD[20].CITER_ELINKNO)
  1847. #define DMA_TCD20_DLASTSGA (IMXRT_DMA_TCD[20].DLASTSGA)
  1848. #define DMA_TCD20_CSR (IMXRT_DMA_TCD[20].CSR)
  1849. #define DMA_TCD20_BITER (IMXRT_DMA_TCD[20].BITER)
  1850. #define DMA_TCD20_BITER_ELINKYES (IMXRT_DMA_TCD[20].BITER_ELINKYES)
  1851. #define DMA_TCD20_BITER_ELINKNO (IMXRT_DMA_TCD[20].BITER_ELINKNO)
  1852. #define DMA_TCD21_SADDR (IMXRT_DMA_TCD[21].SADDR)
  1853. #define DMA_TCD21_SOFF (IMXRT_DMA_TCD[21].SOFF)
  1854. #define DMA_TCD21_ATTR (IMXRT_DMA_TCD[21].ATTR)
  1855. #define DMA_TCD21_NBYTES (IMXRT_DMA_TCD[21].NBYTES)
  1856. #define DMA_TCD21_NBYTES_MLNO (IMXRT_DMA_TCD[21].NBYTES_MLNO)
  1857. #define DMA_TCD21_NBYTES_MLOFFNO (IMXRT_DMA_TCD[21].NBYTES_MLOFFNO)
  1858. #define DMA_TCD21_NBYTES_MLOFFYES (IMXRT_DMA_TCD[21].NBYTES_MLOFFYES)
  1859. #define DMA_TCD21_SLAST (IMXRT_DMA_TCD[21].SLAST)
  1860. #define DMA_TCD21_DADDR (IMXRT_DMA_TCD[21].DADDR)
  1861. #define DMA_TCD21_DOFF (IMXRT_DMA_TCD[21].DOFF)
  1862. #define DMA_TCD21_CITER (IMXRT_DMA_TCD[21].CITER)
  1863. #define DMA_TCD21_CITER_ELINKYES (IMXRT_DMA_TCD[21].CITER_ELINKYES)
  1864. #define DMA_TCD21_CITER_ELINKNO (IMXRT_DMA_TCD[21].CITER_ELINKNO)
  1865. #define DMA_TCD21_DLASTSGA (IMXRT_DMA_TCD[21].DLASTSGA)
  1866. #define DMA_TCD21_CSR (IMXRT_DMA_TCD[21].CSR)
  1867. #define DMA_TCD21_BITER (IMXRT_DMA_TCD[21].BITER)
  1868. #define DMA_TCD21_BITER_ELINKYES (IMXRT_DMA_TCD[21].BITER_ELINKYES)
  1869. #define DMA_TCD21_BITER_ELINKNO (IMXRT_DMA_TCD[21].BITER_ELINKNO)
  1870. #define DMA_TCD22_SADDR (IMXRT_DMA_TCD[22].SADDR)
  1871. #define DMA_TCD22_SOFF (IMXRT_DMA_TCD[22].SOFF)
  1872. #define DMA_TCD22_ATTR (IMXRT_DMA_TCD[22].ATTR)
  1873. #define DMA_TCD22_NBYTES (IMXRT_DMA_TCD[22].NBYTES)
  1874. #define DMA_TCD22_NBYTES_MLNO (IMXRT_DMA_TCD[22].NBYTES_MLNO)
  1875. #define DMA_TCD22_NBYTES_MLOFFNO (IMXRT_DMA_TCD[22].NBYTES_MLOFFNO)
  1876. #define DMA_TCD22_NBYTES_MLOFFYES (IMXRT_DMA_TCD[22].NBYTES_MLOFFYES)
  1877. #define DMA_TCD22_SLAST (IMXRT_DMA_TCD[22].SLAST)
  1878. #define DMA_TCD22_DADDR (IMXRT_DMA_TCD[22].DADDR)
  1879. #define DMA_TCD22_DOFF (IMXRT_DMA_TCD[22].DOFF)
  1880. #define DMA_TCD22_CITER (IMXRT_DMA_TCD[22].CITER)
  1881. #define DMA_TCD22_CITER_ELINKYES (IMXRT_DMA_TCD[22].CITER_ELINKYES)
  1882. #define DMA_TCD22_CITER_ELINKNO (IMXRT_DMA_TCD[22].CITER_ELINKNO)
  1883. #define DMA_TCD22_DLASTSGA (IMXRT_DMA_TCD[22].DLASTSGA)
  1884. #define DMA_TCD22_CSR (IMXRT_DMA_TCD[22].CSR)
  1885. #define DMA_TCD22_BITER (IMXRT_DMA_TCD[22].BITER)
  1886. #define DMA_TCD22_BITER_ELINKYES (IMXRT_DMA_TCD[22].BITER_ELINKYES)
  1887. #define DMA_TCD22_BITER_ELINKNO (IMXRT_DMA_TCD[22].BITER_ELINKNO)
  1888. #define DMA_TCD23_SADDR (IMXRT_DMA_TCD[23].SADDR)
  1889. #define DMA_TCD23_SOFF (IMXRT_DMA_TCD[23].SOFF)
  1890. #define DMA_TCD23_ATTR (IMXRT_DMA_TCD[23].ATTR)
  1891. #define DMA_TCD23_NBYTES (IMXRT_DMA_TCD[23].NBYTES)
  1892. #define DMA_TCD23_NBYTES_MLNO (IMXRT_DMA_TCD[23].NBYTES_MLNO)
  1893. #define DMA_TCD23_NBYTES_MLOFFNO (IMXRT_DMA_TCD[23].NBYTES_MLOFFNO)
  1894. #define DMA_TCD23_NBYTES_MLOFFYES (IMXRT_DMA_TCD[23].NBYTES_MLOFFYES)
  1895. #define DMA_TCD23_SLAST (IMXRT_DMA_TCD[23].SLAST)
  1896. #define DMA_TCD23_DADDR (IMXRT_DMA_TCD[23].DADDR)
  1897. #define DMA_TCD23_DOFF (IMXRT_DMA_TCD[23].DOFF)
  1898. #define DMA_TCD23_CITER (IMXRT_DMA_TCD[23].CITER)
  1899. #define DMA_TCD23_CITER_ELINKYES (IMXRT_DMA_TCD[23].CITER_ELINKYES)
  1900. #define DMA_TCD23_CITER_ELINKNO (IMXRT_DMA_TCD[23].CITER_ELINKNO)
  1901. #define DMA_TCD23_DLASTSGA (IMXRT_DMA_TCD[23].DLASTSGA)
  1902. #define DMA_TCD23_CSR (IMXRT_DMA_TCD[23].CSR)
  1903. #define DMA_TCD23_BITER (IMXRT_DMA_TCD[23].BITER)
  1904. #define DMA_TCD23_BITER_ELINKYES (IMXRT_DMA_TCD[23].BITER_ELINKYES)
  1905. #define DMA_TCD23_BITER_ELINKNO (IMXRT_DMA_TCD[23].BITER_ELINKNO)
  1906. #define DMA_TCD24_SADDR (IMXRT_DMA_TCD[24].SADDR)
  1907. #define DMA_TCD24_SOFF (IMXRT_DMA_TCD[24].SOFF)
  1908. #define DMA_TCD24_ATTR (IMXRT_DMA_TCD[24].ATTR)
  1909. #define DMA_TCD24_NBYTES (IMXRT_DMA_TCD[24].NBYTES)
  1910. #define DMA_TCD24_NBYTES_MLNO (IMXRT_DMA_TCD[24].NBYTES_MLNO)
  1911. #define DMA_TCD24_NBYTES_MLOFFNO (IMXRT_DMA_TCD[24].NBYTES_MLOFFNO)
  1912. #define DMA_TCD24_NBYTES_MLOFFYES (IMXRT_DMA_TCD[24].NBYTES_MLOFFYES)
  1913. #define DMA_TCD24_SLAST (IMXRT_DMA_TCD[24].SLAST)
  1914. #define DMA_TCD24_DADDR (IMXRT_DMA_TCD[24].DADDR)
  1915. #define DMA_TCD24_DOFF (IMXRT_DMA_TCD[24].DOFF)
  1916. #define DMA_TCD24_CITER (IMXRT_DMA_TCD[24].CITER)
  1917. #define DMA_TCD24_CITER_ELINKYES (IMXRT_DMA_TCD[24].CITER_ELINKYES)
  1918. #define DMA_TCD24_CITER_ELINKNO (IMXRT_DMA_TCD[24].CITER_ELINKNO)
  1919. #define DMA_TCD24_DLASTSGA (IMXRT_DMA_TCD[24].DLASTSGA)
  1920. #define DMA_TCD24_CSR (IMXRT_DMA_TCD[24].CSR)
  1921. #define DMA_TCD24_BITER (IMXRT_DMA_TCD[24].BITER)
  1922. #define DMA_TCD24_BITER_ELINKYES (IMXRT_DMA_TCD[24].BITER_ELINKYES)
  1923. #define DMA_TCD24_BITER_ELINKNO (IMXRT_DMA_TCD[24].BITER_ELINKNO)
  1924. #define DMA_TCD25_SADDR (IMXRT_DMA_TCD[25].SADDR)
  1925. #define DMA_TCD25_SOFF (IMXRT_DMA_TCD[25].SOFF)
  1926. #define DMA_TCD25_ATTR (IMXRT_DMA_TCD[25].ATTR)
  1927. #define DMA_TCD25_NBYTES (IMXRT_DMA_TCD[25].NBYTES)
  1928. #define DMA_TCD25_NBYTES_MLNO (IMXRT_DMA_TCD[25].NBYTES_MLNO)
  1929. #define DMA_TCD25_NBYTES_MLOFFNO (IMXRT_DMA_TCD[25].NBYTES_MLOFFNO)
  1930. #define DMA_TCD25_NBYTES_MLOFFYES (IMXRT_DMA_TCD[25].NBYTES_MLOFFYES)
  1931. #define DMA_TCD25_SLAST (IMXRT_DMA_TCD[25].SLAST)
  1932. #define DMA_TCD25_DADDR (IMXRT_DMA_TCD[25].DADDR)
  1933. #define DMA_TCD25_DOFF (IMXRT_DMA_TCD[25].DOFF)
  1934. #define DMA_TCD25_CITER (IMXRT_DMA_TCD[25].CITER)
  1935. #define DMA_TCD25_CITER_ELINKYES (IMXRT_DMA_TCD[25].CITER_ELINKYES)
  1936. #define DMA_TCD25_CITER_ELINKNO (IMXRT_DMA_TCD[25].CITER_ELINKNO)
  1937. #define DMA_TCD25_DLASTSGA (IMXRT_DMA_TCD[25].DLASTSGA)
  1938. #define DMA_TCD25_CSR (IMXRT_DMA_TCD[25].CSR)
  1939. #define DMA_TCD25_BITER (IMXRT_DMA_TCD[25].BITER)
  1940. #define DMA_TCD25_BITER_ELINKYES (IMXRT_DMA_TCD[25].BITER_ELINKYES)
  1941. #define DMA_TCD25_BITER_ELINKNO (IMXRT_DMA_TCD[25].BITER_ELINKNO)
  1942. #define DMA_TCD26_SADDR (IMXRT_DMA_TCD[26].SADDR)
  1943. #define DMA_TCD26_SOFF (IMXRT_DMA_TCD[26].SOFF)
  1944. #define DMA_TCD26_ATTR (IMXRT_DMA_TCD[26].ATTR)
  1945. #define DMA_TCD26_NBYTES (IMXRT_DMA_TCD[26].NBYTES)
  1946. #define DMA_TCD26_NBYTES_MLNO (IMXRT_DMA_TCD[26].NBYTES_MLNO)
  1947. #define DMA_TCD26_NBYTES_MLOFFNO (IMXRT_DMA_TCD[26].NBYTES_MLOFFNO)
  1948. #define DMA_TCD26_NBYTES_MLOFFYES (IMXRT_DMA_TCD[26].NBYTES_MLOFFYES)
  1949. #define DMA_TCD26_SLAST (IMXRT_DMA_TCD[26].SLAST)
  1950. #define DMA_TCD26_DADDR (IMXRT_DMA_TCD[26].DADDR)
  1951. #define DMA_TCD26_DOFF (IMXRT_DMA_TCD[26].DOFF)
  1952. #define DMA_TCD26_CITER (IMXRT_DMA_TCD[26].CITER)
  1953. #define DMA_TCD26_CITER_ELINKYES (IMXRT_DMA_TCD[26].CITER_ELINKYES)
  1954. #define DMA_TCD26_CITER_ELINKNO (IMXRT_DMA_TCD[26].CITER_ELINKNO)
  1955. #define DMA_TCD26_DLASTSGA (IMXRT_DMA_TCD[26].DLASTSGA)
  1956. #define DMA_TCD26_CSR (IMXRT_DMA_TCD[26].CSR)
  1957. #define DMA_TCD26_BITER (IMXRT_DMA_TCD[26].BITER)
  1958. #define DMA_TCD26_BITER_ELINKYES (IMXRT_DMA_TCD[26].BITER_ELINKYES)
  1959. #define DMA_TCD26_BITER_ELINKNO (IMXRT_DMA_TCD[26].BITER_ELINKNO)
  1960. #define DMA_TCD27_SADDR (IMXRT_DMA_TCD[27].SADDR)
  1961. #define DMA_TCD27_SOFF (IMXRT_DMA_TCD[27].SOFF)
  1962. #define DMA_TCD27_ATTR (IMXRT_DMA_TCD[27].ATTR)
  1963. #define DMA_TCD27_NBYTES (IMXRT_DMA_TCD[27].NBYTES)
  1964. #define DMA_TCD27_NBYTES_MLNO (IMXRT_DMA_TCD[27].NBYTES_MLNO)
  1965. #define DMA_TCD27_NBYTES_MLOFFNO (IMXRT_DMA_TCD[27].NBYTES_MLOFFNO)
  1966. #define DMA_TCD27_NBYTES_MLOFFYES (IMXRT_DMA_TCD[27].NBYTES_MLOFFYES)
  1967. #define DMA_TCD27_SLAST (IMXRT_DMA_TCD[27].SLAST)
  1968. #define DMA_TCD27_DADDR (IMXRT_DMA_TCD[27].DADDR)
  1969. #define DMA_TCD27_DOFF (IMXRT_DMA_TCD[27].DOFF)
  1970. #define DMA_TCD27_CITER (IMXRT_DMA_TCD[27].CITER)
  1971. #define DMA_TCD27_CITER_ELINKYES (IMXRT_DMA_TCD[27].CITER_ELINKYES)
  1972. #define DMA_TCD27_CITER_ELINKNO (IMXRT_DMA_TCD[27].CITER_ELINKNO)
  1973. #define DMA_TCD27_DLASTSGA (IMXRT_DMA_TCD[27].DLASTSGA)
  1974. #define DMA_TCD27_CSR (IMXRT_DMA_TCD[27].CSR)
  1975. #define DMA_TCD27_BITER (IMXRT_DMA_TCD[27].BITER)
  1976. #define DMA_TCD27_BITER_ELINKYES (IMXRT_DMA_TCD[27].BITER_ELINKYES)
  1977. #define DMA_TCD27_BITER_ELINKNO (IMXRT_DMA_TCD[27].BITER_ELINKNO)
  1978. #define DMA_TCD28_SADDR (IMXRT_DMA_TCD[28].SADDR)
  1979. #define DMA_TCD28_SOFF (IMXRT_DMA_TCD[28].SOFF)
  1980. #define DMA_TCD28_ATTR (IMXRT_DMA_TCD[28].ATTR)
  1981. #define DMA_TCD28_NBYTES (IMXRT_DMA_TCD[28].NBYTES)
  1982. #define DMA_TCD28_NBYTES_MLNO (IMXRT_DMA_TCD[28].NBYTES_MLNO)
  1983. #define DMA_TCD28_NBYTES_MLOFFNO (IMXRT_DMA_TCD[28].NBYTES_MLOFFNO)
  1984. #define DMA_TCD28_NBYTES_MLOFFYES (IMXRT_DMA_TCD[28].NBYTES_MLOFFYES)
  1985. #define DMA_TCD28_SLAST (IMXRT_DMA_TCD[28].SLAST)
  1986. #define DMA_TCD28_DADDR (IMXRT_DMA_TCD[28].DADDR)
  1987. #define DMA_TCD28_DOFF (IMXRT_DMA_TCD[28].DOFF)
  1988. #define DMA_TCD28_CITER (IMXRT_DMA_TCD[28].CITER)
  1989. #define DMA_TCD28_CITER_ELINKYES (IMXRT_DMA_TCD[28].CITER_ELINKYES)
  1990. #define DMA_TCD28_CITER_ELINKNO (IMXRT_DMA_TCD[28].CITER_ELINKNO)
  1991. #define DMA_TCD28_DLASTSGA (IMXRT_DMA_TCD[28].DLASTSGA)
  1992. #define DMA_TCD28_CSR (IMXRT_DMA_TCD[28].CSR)
  1993. #define DMA_TCD28_BITER (IMXRT_DMA_TCD[28].BITER)
  1994. #define DMA_TCD28_BITER_ELINKYES (IMXRT_DMA_TCD[28].BITER_ELINKYES)
  1995. #define DMA_TCD28_BITER_ELINKNO (IMXRT_DMA_TCD[28].BITER_ELINKNO)
  1996. #define DMA_TCD29_SADDR (IMXRT_DMA_TCD[29].SADDR)
  1997. #define DMA_TCD29_SOFF (IMXRT_DMA_TCD[29].SOFF)
  1998. #define DMA_TCD29_ATTR (IMXRT_DMA_TCD[29].ATTR)
  1999. #define DMA_TCD29_NBYTES (IMXRT_DMA_TCD[29].NBYTES)
  2000. #define DMA_TCD29_NBYTES_MLNO (IMXRT_DMA_TCD[29].NBYTES_MLNO)
  2001. #define DMA_TCD29_NBYTES_MLOFFNO (IMXRT_DMA_TCD[29].NBYTES_MLOFFNO)
  2002. #define DMA_TCD29_NBYTES_MLOFFYES (IMXRT_DMA_TCD[29].NBYTES_MLOFFYES)
  2003. #define DMA_TCD29_SLAST (IMXRT_DMA_TCD[29].SLAST)
  2004. #define DMA_TCD29_DADDR (IMXRT_DMA_TCD[29].DADDR)
  2005. #define DMA_TCD29_DOFF (IMXRT_DMA_TCD[29].DOFF)
  2006. #define DMA_TCD29_CITER (IMXRT_DMA_TCD[29].CITER)
  2007. #define DMA_TCD29_CITER_ELINKYES (IMXRT_DMA_TCD[29].CITER_ELINKYES)
  2008. #define DMA_TCD29_CITER_ELINKNO (IMXRT_DMA_TCD[29].CITER_ELINKNO)
  2009. #define DMA_TCD29_DLASTSGA (IMXRT_DMA_TCD[29].DLASTSGA)
  2010. #define DMA_TCD29_CSR (IMXRT_DMA_TCD[29].CSR)
  2011. #define DMA_TCD29_BITER (IMXRT_DMA_TCD[29].BITER)
  2012. #define DMA_TCD29_BITER_ELINKYES (IMXRT_DMA_TCD[29].BITER_ELINKYES)
  2013. #define DMA_TCD29_BITER_ELINKNO (IMXRT_DMA_TCD[29].BITER_ELINKNO)
  2014. #define DMA_TCD30_SADDR (IMXRT_DMA_TCD[30].SADDR)
  2015. #define DMA_TCD30_SOFF (IMXRT_DMA_TCD[30].SOFF)
  2016. #define DMA_TCD30_ATTR (IMXRT_DMA_TCD[30].ATTR)
  2017. #define DMA_TCD30_NBYTES (IMXRT_DMA_TCD[30].NBYTES)
  2018. #define DMA_TCD30_NBYTES_MLNO (IMXRT_DMA_TCD[30].NBYTES_MLNO)
  2019. #define DMA_TCD30_NBYTES_MLOFFNO (IMXRT_DMA_TCD[30].NBYTES_MLOFFNO)
  2020. #define DMA_TCD30_NBYTES_MLOFFYES (IMXRT_DMA_TCD[30].NBYTES_MLOFFYES)
  2021. #define DMA_TCD30_SLAST (IMXRT_DMA_TCD[30].SLAST)
  2022. #define DMA_TCD30_DADDR (IMXRT_DMA_TCD[30].DADDR)
  2023. #define DMA_TCD30_DOFF (IMXRT_DMA_TCD[30].DOFF)
  2024. #define DMA_TCD30_CITER (IMXRT_DMA_TCD[30].CITER)
  2025. #define DMA_TCD30_CITER_ELINKYES (IMXRT_DMA_TCD[30].CITER_ELINKYES)
  2026. #define DMA_TCD30_CITER_ELINKNO (IMXRT_DMA_TCD[30].CITER_ELINKNO)
  2027. #define DMA_TCD30_DLASTSGA (IMXRT_DMA_TCD[30].DLASTSGA)
  2028. #define DMA_TCD30_CSR (IMXRT_DMA_TCD[30].CSR)
  2029. #define DMA_TCD30_BITER (IMXRT_DMA_TCD[30].BITER)
  2030. #define DMA_TCD30_BITER_ELINKYES (IMXRT_DMA_TCD[30].BITER_ELINKYES)
  2031. #define DMA_TCD30_BITER_ELINKNO (IMXRT_DMA_TCD[30].BITER_ELINKNO)
  2032. #define DMA_TCD31_SADDR (IMXRT_DMA_TCD[31].SADDR)
  2033. #define DMA_TCD31_SOFF (IMXRT_DMA_TCD[31].SOFF)
  2034. #define DMA_TCD31_ATTR (IMXRT_DMA_TCD[31].ATTR)
  2035. #define DMA_TCD31_NBYTES (IMXRT_DMA_TCD[31].NBYTES)
  2036. #define DMA_TCD31_NBYTES_MLNO (IMXRT_DMA_TCD[31].NBYTES_MLNO)
  2037. #define DMA_TCD31_NBYTES_MLOFFNO (IMXRT_DMA_TCD[31].NBYTES_MLOFFNO)
  2038. #define DMA_TCD31_NBYTES_MLOFFYES (IMXRT_DMA_TCD[31].NBYTES_MLOFFYES)
  2039. #define DMA_TCD31_SLAST (IMXRT_DMA_TCD[31].SLAST)
  2040. #define DMA_TCD31_DADDR (IMXRT_DMA_TCD[31].DADDR)
  2041. #define DMA_TCD31_DOFF (IMXRT_DMA_TCD[31].DOFF)
  2042. #define DMA_TCD31_CITER (IMXRT_DMA_TCD[31].CITER)
  2043. #define DMA_TCD31_CITER_ELINKYES (IMXRT_DMA_TCD[31].CITER_ELINKYES)
  2044. #define DMA_TCD31_CITER_ELINKNO (IMXRT_DMA_TCD[31].CITER_ELINKNO)
  2045. #define DMA_TCD31_DLASTSGA (IMXRT_DMA_TCD[31].DLASTSGA)
  2046. #define DMA_TCD31_CSR (IMXRT_DMA_TCD[31].CSR)
  2047. #define DMA_TCD31_BITER (IMXRT_DMA_TCD[31].BITER)
  2048. #define DMA_TCD31_BITER_ELINKYES (IMXRT_DMA_TCD[31].BITER_ELINKYES)
  2049. #define DMA_TCD31_BITER_ELINKNO (IMXRT_DMA_TCD[31].BITER_ELINKNO)
  2050. // 23.7.1: page 1023
  2051. #define IMXRT_ENC1 (*(IMXRT_REGISTER16_t *)0x403C8000)
  2052. #define ENC1_CTRL (IMXRT_ENC1.offset000)
  2053. #define ENC1_FILT (IMXRT_ENC1.offset002)
  2054. #define ENC1_WTR (IMXRT_ENC1.offset004)
  2055. #define ENC1_POSD (IMXRT_ENC1.offset006)
  2056. #define ENC1_POSDH (IMXRT_ENC1.offset008)
  2057. #define ENC1_REV (IMXRT_ENC1.offset00A)
  2058. #define ENC1_REVH (IMXRT_ENC1.offset00C)
  2059. #define ENC1_UPOS (IMXRT_ENC1.offset00E)
  2060. #define ENC1_LPOS (IMXRT_ENC1.offset010)
  2061. #define ENC1_UPOSH (IMXRT_ENC1.offset012)
  2062. #define ENC1_LPOSH (IMXRT_ENC1.offset014)
  2063. #define ENC1_UINIT (IMXRT_ENC1.offset016)
  2064. #define ENC1_LINIT (IMXRT_ENC1.offset018)
  2065. #define ENC1_IMR (IMXRT_ENC1.offset01A)
  2066. #define ENC1_TST (IMXRT_ENC1.offset01C)
  2067. #define ENC1_CTRL2 (IMXRT_ENC1.offset01E)
  2068. #define ENC1_UMOD (IMXRT_ENC1.offset020)
  2069. #define ENC1_LMOD (IMXRT_ENC1.offset022)
  2070. #define ENC1_UCOMP (IMXRT_ENC1.offset024)
  2071. #define ENC1_LCOMP (IMXRT_ENC1.offset026)
  2072. #define IMXRT_ENC2 (*(IMXRT_REGISTER16_t *)0x403CC000)
  2073. #define ENC2_CTRL (IMXRT_ENC2.offset000)
  2074. #define ENC2_FILT (IMXRT_ENC2.offset002)
  2075. #define ENC2_WTR (IMXRT_ENC2.offset004)
  2076. #define ENC2_POSD (IMXRT_ENC2.offset006)
  2077. #define ENC2_POSDH (IMXRT_ENC2.offset008)
  2078. #define ENC2_REV (IMXRT_ENC2.offset00A)
  2079. #define ENC2_REVH (IMXRT_ENC2.offset00C)
  2080. #define ENC2_UPOS (IMXRT_ENC2.offset00E)
  2081. #define ENC2_LPOS (IMXRT_ENC2.offset010)
  2082. #define ENC2_UPOSH (IMXRT_ENC2.offset012)
  2083. #define ENC2_LPOSH (IMXRT_ENC2.offset014)
  2084. #define ENC2_UINIT (IMXRT_ENC2.offset016)
  2085. #define ENC2_LINIT (IMXRT_ENC2.offset018)
  2086. #define ENC2_IMR (IMXRT_ENC2.offset01A)
  2087. #define ENC2_TST (IMXRT_ENC2.offset01C)
  2088. #define ENC2_CTRL2 (IMXRT_ENC2.offset01E)
  2089. #define ENC2_UMOD (IMXRT_ENC2.offset020)
  2090. #define ENC2_LMOD (IMXRT_ENC2.offset022)
  2091. #define ENC2_UCOMP (IMXRT_ENC2.offset024)
  2092. #define ENC2_LCOMP (IMXRT_ENC2.offset026)
  2093. #define IMXRT_ENC3 (*(IMXRT_REGISTER16_t *)0x403D0000)
  2094. #define ENC3_CTRL (IMXRT_ENC3.offset000)
  2095. #define ENC3_FILT (IMXRT_ENC3.offset002)
  2096. #define ENC3_WTR (IMXRT_ENC3.offset004)
  2097. #define ENC3_POSD (IMXRT_ENC3.offset006)
  2098. #define ENC3_POSDH (IMXRT_ENC3.offset008)
  2099. #define ENC3_REV (IMXRT_ENC3.offset00A)
  2100. #define ENC3_REVH (IMXRT_ENC3.offset00C)
  2101. #define ENC3_UPOS (IMXRT_ENC3.offset00E)
  2102. #define ENC3_LPOS (IMXRT_ENC3.offset010)
  2103. #define ENC3_UPOSH (IMXRT_ENC3.offset012)
  2104. #define ENC3_LPOSH (IMXRT_ENC3.offset014)
  2105. #define ENC3_UINIT (IMXRT_ENC3.offset016)
  2106. #define ENC3_LINIT (IMXRT_ENC3.offset018)
  2107. #define ENC3_IMR (IMXRT_ENC3.offset01A)
  2108. #define ENC3_TST (IMXRT_ENC3.offset01C)
  2109. #define ENC3_CTRL2 (IMXRT_ENC3.offset01E)
  2110. #define ENC3_UMOD (IMXRT_ENC3.offset020)
  2111. #define ENC3_LMOD (IMXRT_ENC3.offset022)
  2112. #define ENC3_UCOMP (IMXRT_ENC3.offset024)
  2113. #define ENC3_LCOMP (IMXRT_ENC3.offset026)
  2114. #define IMXRT_ENC4 (*(IMXRT_REGISTER16_t *)0x403D4000)
  2115. #define ENC4_CTRL (IMXRT_ENC4.offset000)
  2116. #define ENC4_FILT (IMXRT_ENC4.offset002)
  2117. #define ENC4_WTR (IMXRT_ENC4.offset004)
  2118. #define ENC4_POSD (IMXRT_ENC4.offset006)
  2119. #define ENC4_POSDH (IMXRT_ENC4.offset008)
  2120. #define ENC4_REV (IMXRT_ENC4.offset00A)
  2121. #define ENC4_REVH (IMXRT_ENC4.offset00C)
  2122. #define ENC4_UPOS (IMXRT_ENC4.offset00E)
  2123. #define ENC4_LPOS (IMXRT_ENC4.offset010)
  2124. #define ENC4_UPOSH (IMXRT_ENC4.offset012)
  2125. #define ENC4_LPOSH (IMXRT_ENC4.offset014)
  2126. #define ENC4_UINIT (IMXRT_ENC4.offset016)
  2127. #define ENC4_LINIT (IMXRT_ENC4.offset018)
  2128. #define ENC4_IMR (IMXRT_ENC4.offset01A)
  2129. #define ENC4_TST (IMXRT_ENC4.offset01C)
  2130. #define ENC4_CTRL2 (IMXRT_ENC4.offset01E)
  2131. #define ENC4_UMOD (IMXRT_ENC4.offset020)
  2132. #define ENC4_LMOD (IMXRT_ENC4.offset022)
  2133. #define ENC4_UCOMP (IMXRT_ENC4.offset024)
  2134. #define ENC4_LCOMP (IMXRT_ENC4.offset026)
  2135. // 24.5: page 1060
  2136. #define IMXRT_ENET (*(IMXRT_REGISTER32_t *)0x402D8000)
  2137. #define IMXRT_ENET_TIMER (*(IMXRT_REGISTER32_t *)0x402D8400)
  2138. #define ENET_EIR (IMXRT_ENET.offset004)
  2139. #define ENET_EIMR (IMXRT_ENET.offset008)
  2140. #define ENET_RDAR (IMXRT_ENET.offset010)
  2141. #define ENET_TDAR (IMXRT_ENET.offset014)
  2142. #define ENET_ECR (IMXRT_ENET.offset024)
  2143. #define ENET_MMFR (IMXRT_ENET.offset040)
  2144. #define ENET_MSCR (IMXRT_ENET.offset044)
  2145. #define ENET_MIBC (IMXRT_ENET.offset064)
  2146. #define ENET_RCR (IMXRT_ENET.offset084)
  2147. #define ENET_TCR (IMXRT_ENET.offset0C4)
  2148. #define ENET_PALR (IMXRT_ENET.offset0E4)
  2149. #define ENET_PAUR (IMXRT_ENET.offset0E8)
  2150. #define ENET_OPD (IMXRT_ENET.offset0EC)
  2151. #define ENET_TXIC (IMXRT_ENET.offset0F0)
  2152. #define ENET_RXIC (IMXRT_ENET.offset100)
  2153. #define ENET_IAUR (IMXRT_ENET.offset118)
  2154. #define ENET_IALR (IMXRT_ENET.offset11C)
  2155. #define ENET_GAUR (IMXRT_ENET.offset120)
  2156. #define ENET_GALR (IMXRT_ENET.offset124)
  2157. #define ENET_TFWR (IMXRT_ENET.offset144)
  2158. #define ENET_RDSR (IMXRT_ENET.offset180)
  2159. #define ENET_TDSR (IMXRT_ENET.offset184)
  2160. #define ENET_MRBR (IMXRT_ENET.offset188)
  2161. #define ENET_RSFL (IMXRT_ENET.offset190)
  2162. #define ENET_RSEM (IMXRT_ENET.offset194)
  2163. #define ENET_RAEM (IMXRT_ENET.offset198)
  2164. #define ENET_RAFL (IMXRT_ENET.offset19C)
  2165. #define ENET_TSEM (IMXRT_ENET.offset1A0)
  2166. #define ENET_TAEM (IMXRT_ENET.offset1A4)
  2167. #define ENET_TAFL (IMXRT_ENET.offset1A8)
  2168. #define ENET_TIPG (IMXRT_ENET.offset1AC)
  2169. #define ENET_FTRL (IMXRT_ENET.offset1B0)
  2170. #define ENET_TACC (IMXRT_ENET.offset1C0)
  2171. #define ENET_RACC (IMXRT_ENET.offset1C4)
  2172. #define ENET_RMON_T_DROP (IMXRT_ENET.offset200)
  2173. #define ENET_RMON_T_PACKETS (IMXRT_ENET.offset204)
  2174. #define ENET_RMON_T_BC_PKT (IMXRT_ENET.offset208)
  2175. #define ENET_RMON_T_MC_PKT (IMXRT_ENET.offset20C)
  2176. #define ENET_RMON_T_CRC_ALIGN (IMXRT_ENET.offset210)
  2177. #define ENET_RMON_T_UNDERSIZE (IMXRT_ENET.offset214)
  2178. #define ENET_RMON_T_OVERSIZE (IMXRT_ENET.offset218)
  2179. #define ENET_RMON_T_FRAG (IMXRT_ENET.offset21C)
  2180. #define ENET_RMON_T_JAB (IMXRT_ENET.offset220)
  2181. #define ENET_RMON_T_COL (IMXRT_ENET.offset224)
  2182. #define ENET_RMON_T_P64 (IMXRT_ENET.offset228)
  2183. #define ENET_RMON_T_P65TO127 (IMXRT_ENET.offset22C)
  2184. #define ENET_RMON_T_P128TO255 (IMXRT_ENET.offset230)
  2185. #define ENET_RMON_T_P256TO511 (IMXRT_ENET.offset234)
  2186. #define ENET_RMON_T_P512TO1023 (IMXRT_ENET.offset238)
  2187. #define ENET_RMON_T_P1024TO2047 (IMXRT_ENET.offset23C)
  2188. #define ENET_RMON_T_P_GTE2048 (IMXRT_ENET.offset240)
  2189. #define ENET_RMON_T_OCTETS (IMXRT_ENET.offset244)
  2190. #define ENET_IEEE_T_DROP (IMXRT_ENET.offset248)
  2191. #define ENET_IEEE_T_FRAME_OK (IMXRT_ENET.offset24C)
  2192. #define ENET_IEEE_T_1COL (IMXRT_ENET.offset250)
  2193. #define ENET_IEEE_T_MCOL (IMXRT_ENET.offset254)
  2194. #define ENET_IEEE_T_DEF (IMXRT_ENET.offset258)
  2195. #define ENET_IEEE_T_LCOL (IMXRT_ENET.offset25C)
  2196. #define ENET_IEEE_T_EXCOL (IMXRT_ENET.offset260)
  2197. #define ENET_IEEE_T_MACERR (IMXRT_ENET.offset264)
  2198. #define ENET_IEEE_T_CSERR (IMXRT_ENET.offset268)
  2199. #define ENET_IEEE_T_SQE (IMXRT_ENET.offset26C)
  2200. #define ENET_IEEE_T_FDXFC (IMXRT_ENET.offset270)
  2201. #define ENET_IEEE_T_OCTETS_OK (IMXRT_ENET.offset274)
  2202. #define ENET_RMON_R_PACKETS (IMXRT_ENET.offset284)
  2203. #define ENET_RMON_R_BC_PKT (IMXRT_ENET.offset288)
  2204. #define ENET_RMON_R_MC_PKT (IMXRT_ENET.offset28C)
  2205. #define ENET_RMON_R_CRC_ALIGN (IMXRT_ENET.offset290)
  2206. #define ENET_RMON_R_UNDERSIZE (IMXRT_ENET.offset294)
  2207. #define ENET_RMON_R_OVERSIZE (IMXRT_ENET.offset298)
  2208. #define ENET_RMON_R_FRAG (IMXRT_ENET.offset29C)
  2209. #define ENET_RMON_R_JAB (IMXRT_ENET.offset2A0)
  2210. #define ENET_RMON_R_RESVD_0 (IMXRT_ENET.offset2A4)
  2211. #define ENET_RMON_R_P64 (IMXRT_ENET.offset2A8)
  2212. #define ENET_RMON_R_P65TO127 (IMXRT_ENET.offset2AC)
  2213. #define ENET_RMON_R_P128TO255 (IMXRT_ENET.offset2B0)
  2214. #define ENET_RMON_R_P256TO511 (IMXRT_ENET.offset2B4)
  2215. #define ENET_RMON_R_P512TO1023 (IMXRT_ENET.offset2B8)
  2216. #define ENET_RMON_R_P1024TO2047 (IMXRT_ENET.offset2BC)
  2217. #define ENET_RMON_R_P_GTE2048 (IMXRT_ENET.offset2C0)
  2218. #define ENET_RMON_R_OCTETS (IMXRT_ENET.offset2C4)
  2219. #define ENET_IEEE_R_DROP (IMXRT_ENET.offset2C8)
  2220. #define ENET_IEEE_R_FRAME_OK (IMXRT_ENET.offset2CC)
  2221. #define ENET_IEEE_R_CRC (IMXRT_ENET.offset2D0)
  2222. #define ENET_IEEE_R_ALIGN (IMXRT_ENET.offset2D4)
  2223. #define ENET_IEEE_R_MACERR (IMXRT_ENET.offset2D8)
  2224. #define ENET_IEEE_R_FDXFC (IMXRT_ENET.offset2DC)
  2225. #define ENET_IEEE_R_OCTETS_OK (IMXRT_ENET.offset2E0)
  2226. #define ENET_ATCR (IMXRT_ENET_TIMER.offset000)
  2227. #define ENET_ATVR (IMXRT_ENET_TIMER.offset004)
  2228. #define ENET_ATOFF (IMXRT_ENET_TIMER.offset008)
  2229. #define ENET_ATPER (IMXRT_ENET_TIMER.offset00C)
  2230. #define ENET_ATCOR (IMXRT_ENET_TIMER.offset010)
  2231. #define ENET_ATINC (IMXRT_ENET_TIMER.offset014)
  2232. #define ENET_ATSTMP (IMXRT_ENET_TIMER.offset018)
  2233. #define ENET_TGSR (IMXRT_ENET_TIMER.offset204)
  2234. #define ENET_TCSR0 (IMXRT_ENET_TIMER.offset208)
  2235. #define ENET_TCCR0 (IMXRT_ENET_TIMER.offset20C)
  2236. #define ENET_TCSR1 (IMXRT_ENET_TIMER.offset210)
  2237. #define ENET_TCCR1 (IMXRT_ENET_TIMER.offset214)
  2238. #define ENET_TCSR2 (IMXRT_ENET_TIMER.offset218)
  2239. #define ENET_TCCR2 (IMXRT_ENET_TIMER.offset21C)
  2240. #define ENET_TCSR3 (IMXRT_ENET_TIMER.offset220)
  2241. #define ENET_TCCR3 (IMXRT_ENET_TIMER.offset224)
  2242. // 25.3.1.1: page 1199
  2243. #define IMXRT_EWM (*(IMXRT_REGISTER8_t *)0x402D8000)
  2244. #define EWM_CTRL (IMXRT_EWM.offset00)
  2245. #define EWM_SERV (IMXRT_EWM.offset01)
  2246. #define EWM_CMPL (IMXRT_EWM.offset02)
  2247. #define EWM_CMPH (IMXRT_EWM.offset03)
  2248. #define EWM_CLKCTRL (IMXRT_EWM.offset04)
  2249. #define EWM_CLKPRESCALER (IMXRT_EWM.offset05)
  2250. // 26.8: page 1249
  2251. #define IMXRT_FLEXCAN1 (*(IMXRT_REGISTER32_t *)0x401D0000)
  2252. #define IMXRT_FLEXCAN1_MASK (*(IMXRT_REGISTER32_t *)0x401D0800)
  2253. #define FLEXCAN1_MCR (IMXRT_FLEXCAN1.offset000)
  2254. #define FLEXCAN1_CTRL1 (IMXRT_FLEXCAN1.offset004)
  2255. #define FLEXCAN1_TIMER (IMXRT_FLEXCAN1.offset008)
  2256. #define FLEXCAN1_RXMGMASK (IMXRT_FLEXCAN1.offset010)
  2257. #define FLEXCAN1_RX14MASK (IMXRT_FLEXCAN1.offset014)
  2258. #define FLEXCAN1_RX15MASK (IMXRT_FLEXCAN1.offset018)
  2259. #define FLEXCAN1_ECR (IMXRT_FLEXCAN1.offset01C)
  2260. #define FLEXCAN1_ESR1 (IMXRT_FLEXCAN1.offset020)
  2261. #define FLEXCAN1_IMASK2 (IMXRT_FLEXCAN1.offset024)
  2262. #define FLEXCAN1_IMASK1 (IMXRT_FLEXCAN1.offset028)
  2263. #define FLEXCAN1_IFLAG2 (IMXRT_FLEXCAN1.offset02C)
  2264. #define FLEXCAN1_IFLAG1 (IMXRT_FLEXCAN1.offset030)
  2265. #define FLEXCAN1_CTRL2 (IMXRT_FLEXCAN1.offset034)
  2266. #define FLEXCAN1_ESR2 (IMXRT_FLEXCAN1.offset038)
  2267. #define FLEXCAN1_CRCR (IMXRT_FLEXCAN1.offset044)
  2268. #define FLEXCAN1_RXFGMASK (IMXRT_FLEXCAN1.offset048)
  2269. #define FLEXCAN1_RXFIR (IMXRT_FLEXCAN1.offset04C)
  2270. #define FLEXCAN1_RXIMR0 (IMXRT_FLEXCAN1_MASK.offset080)
  2271. #define FLEXCAN1_RXIMR1 (IMXRT_FLEXCAN1_MASK.offset084)
  2272. #define FLEXCAN1_RXIMR2 (IMXRT_FLEXCAN1_MASK.offset088)
  2273. #define FLEXCAN1_RXIMR3 (IMXRT_FLEXCAN1_MASK.offset08C)
  2274. #define FLEXCAN1_RXIMR4 (IMXRT_FLEXCAN1_MASK.offset090)
  2275. #define FLEXCAN1_RXIMR5 (IMXRT_FLEXCAN1_MASK.offset094)
  2276. #define FLEXCAN1_RXIMR6 (IMXRT_FLEXCAN1_MASK.offset098)
  2277. #define FLEXCAN1_RXIMR7 (IMXRT_FLEXCAN1_MASK.offset09C)
  2278. #define FLEXCAN1_RXIMR8 (IMXRT_FLEXCAN1_MASK.offset0A0)
  2279. #define FLEXCAN1_RXIMR9 (IMXRT_FLEXCAN1_MASK.offset0A4)
  2280. #define FLEXCAN1_RXIMR10 (IMXRT_FLEXCAN1_MASK.offset0A8)
  2281. #define FLEXCAN1_RXIMR11 (IMXRT_FLEXCAN1_MASK.offset0AC)
  2282. #define FLEXCAN1_RXIMR12 (IMXRT_FLEXCAN1_MASK.offset0B0)
  2283. #define FLEXCAN1_RXIMR13 (IMXRT_FLEXCAN1_MASK.offset0B4)
  2284. #define FLEXCAN1_RXIMR14 (IMXRT_FLEXCAN1_MASK.offset0B8)
  2285. #define FLEXCAN1_RXIMR15 (IMXRT_FLEXCAN1_MASK.offset0BC)
  2286. #define FLEXCAN1_RXIMR16 (IMXRT_FLEXCAN1_MASK.offset0C0)
  2287. #define FLEXCAN1_RXIMR17 (IMXRT_FLEXCAN1_MASK.offset0C4)
  2288. #define FLEXCAN1_RXIMR18 (IMXRT_FLEXCAN1_MASK.offset0C8)
  2289. #define FLEXCAN1_RXIMR19 (IMXRT_FLEXCAN1_MASK.offset0CC)
  2290. #define FLEXCAN1_RXIMR20 (IMXRT_FLEXCAN1_MASK.offset0D0)
  2291. #define FLEXCAN1_RXIMR21 (IMXRT_FLEXCAN1_MASK.offset0D4)
  2292. #define FLEXCAN1_RXIMR22 (IMXRT_FLEXCAN1_MASK.offset0D8)
  2293. #define FLEXCAN1_RXIMR23 (IMXRT_FLEXCAN1_MASK.offset0DC)
  2294. #define FLEXCAN1_RXIMR24 (IMXRT_FLEXCAN1_MASK.offset0E0)
  2295. #define FLEXCAN1_RXIMR25 (IMXRT_FLEXCAN1_MASK.offset0E4)
  2296. #define FLEXCAN1_RXIMR26 (IMXRT_FLEXCAN1_MASK.offset0E8)
  2297. #define FLEXCAN1_RXIMR27 (IMXRT_FLEXCAN1_MASK.offset0EC)
  2298. #define FLEXCAN1_RXIMR28 (IMXRT_FLEXCAN1_MASK.offset0F0)
  2299. #define FLEXCAN1_RXIMR29 (IMXRT_FLEXCAN1_MASK.offset0F4)
  2300. #define FLEXCAN1_RXIMR30 (IMXRT_FLEXCAN1_MASK.offset0F8)
  2301. #define FLEXCAN1_RXIMR31 (IMXRT_FLEXCAN1_MASK.offset0FC)
  2302. #define FLEXCAN1_RXIMR32 (IMXRT_FLEXCAN1_MASK.offset100)
  2303. #define FLEXCAN1_RXIMR33 (IMXRT_FLEXCAN1_MASK.offset104)
  2304. #define FLEXCAN1_RXIMR34 (IMXRT_FLEXCAN1_MASK.offset108)
  2305. #define FLEXCAN1_RXIMR35 (IMXRT_FLEXCAN1_MASK.offset10C)
  2306. #define FLEXCAN1_RXIMR36 (IMXRT_FLEXCAN1_MASK.offset110)
  2307. #define FLEXCAN1_RXIMR37 (IMXRT_FLEXCAN1_MASK.offset114)
  2308. #define FLEXCAN1_RXIMR38 (IMXRT_FLEXCAN1_MASK.offset118)
  2309. #define FLEXCAN1_RXIMR39 (IMXRT_FLEXCAN1_MASK.offset11C)
  2310. #define FLEXCAN1_RXIMR40 (IMXRT_FLEXCAN1_MASK.offset120)
  2311. #define FLEXCAN1_RXIMR41 (IMXRT_FLEXCAN1_MASK.offset124)
  2312. #define FLEXCAN1_RXIMR42 (IMXRT_FLEXCAN1_MASK.offset128)
  2313. #define FLEXCAN1_RXIMR43 (IMXRT_FLEXCAN1_MASK.offset12C)
  2314. #define FLEXCAN1_RXIMR44 (IMXRT_FLEXCAN1_MASK.offset130)
  2315. #define FLEXCAN1_RXIMR45 (IMXRT_FLEXCAN1_MASK.offset134)
  2316. #define FLEXCAN1_RXIMR46 (IMXRT_FLEXCAN1_MASK.offset138)
  2317. #define FLEXCAN1_RXIMR47 (IMXRT_FLEXCAN1_MASK.offset13C)
  2318. #define FLEXCAN1_RXIMR48 (IMXRT_FLEXCAN1_MASK.offset140)
  2319. #define FLEXCAN1_RXIMR49 (IMXRT_FLEXCAN1_MASK.offset144)
  2320. #define FLEXCAN1_RXIMR50 (IMXRT_FLEXCAN1_MASK.offset148)
  2321. #define FLEXCAN1_RXIMR51 (IMXRT_FLEXCAN1_MASK.offset14C)
  2322. #define FLEXCAN1_RXIMR52 (IMXRT_FLEXCAN1_MASK.offset150)
  2323. #define FLEXCAN1_RXIMR53 (IMXRT_FLEXCAN1_MASK.offset154)
  2324. #define FLEXCAN1_RXIMR54 (IMXRT_FLEXCAN1_MASK.offset158)
  2325. #define FLEXCAN1_RXIMR55 (IMXRT_FLEXCAN1_MASK.offset15C)
  2326. #define FLEXCAN1_RXIMR56 (IMXRT_FLEXCAN1_MASK.offset160)
  2327. #define FLEXCAN1_RXIMR57 (IMXRT_FLEXCAN1_MASK.offset164)
  2328. #define FLEXCAN1_RXIMR58 (IMXRT_FLEXCAN1_MASK.offset168)
  2329. #define FLEXCAN1_RXIMR59 (IMXRT_FLEXCAN1_MASK.offset16C)
  2330. #define FLEXCAN1_RXIMR60 (IMXRT_FLEXCAN1_MASK.offset170)
  2331. #define FLEXCAN1_RXIMR61 (IMXRT_FLEXCAN1_MASK.offset174)
  2332. #define FLEXCAN1_RXIMR62 (IMXRT_FLEXCAN1_MASK.offset178)
  2333. #define FLEXCAN1_RXIMR63 (IMXRT_FLEXCAN1_MASK.offset17C)
  2334. #define FLEXCAN1_GFWR (IMXRT_FLEXCAN1_MASK.offset1E0)
  2335. #define IMXRT_FLEXCAN2 (*(IMXRT_REGISTER32_t *)0x401D4000)
  2336. #define IMXRT_FLEXCAN2_MASK (*(IMXRT_REGISTER32_t *)0x401D4800)
  2337. #define FLEXCAN2_MCR (IMXRT_FLEXCAN2.offset000)
  2338. #define FLEXCAN2_CTRL1 (IMXRT_FLEXCAN2.offset004)
  2339. #define FLEXCAN2_TIMER (IMXRT_FLEXCAN2.offset008)
  2340. #define FLEXCAN2_RXMGMASK (IMXRT_FLEXCAN2.offset010)
  2341. #define FLEXCAN2_RX14MASK (IMXRT_FLEXCAN2.offset014)
  2342. #define FLEXCAN2_RX15MASK (IMXRT_FLEXCAN2.offset018)
  2343. #define FLEXCAN2_ECR (IMXRT_FLEXCAN2.offset01C)
  2344. #define FLEXCAN2_ESR1 (IMXRT_FLEXCAN2.offset020)
  2345. #define FLEXCAN2_IMASK2 (IMXRT_FLEXCAN2.offset024)
  2346. #define FLEXCAN2_IMASK1 (IMXRT_FLEXCAN2.offset028)
  2347. #define FLEXCAN2_IFLAG2 (IMXRT_FLEXCAN2.offset02C)
  2348. #define FLEXCAN2_IFLAG1 (IMXRT_FLEXCAN2.offset030)
  2349. #define FLEXCAN2_CTRL2 (IMXRT_FLEXCAN2.offset034)
  2350. #define FLEXCAN2_ESR2 (IMXRT_FLEXCAN2.offset038)
  2351. #define FLEXCAN2_CRCR (IMXRT_FLEXCAN2.offset044)
  2352. #define FLEXCAN2_RXFGMASK (IMXRT_FLEXCAN2.offset048)
  2353. #define FLEXCAN2_RXFIR (IMXRT_FLEXCAN2.offset04C)
  2354. #define FLEXCAN2_RXIMR0 (IMXRT_FLEXCAN2_MASK.offset080)
  2355. #define FLEXCAN2_RXIMR1 (IMXRT_FLEXCAN2_MASK.offset084)
  2356. #define FLEXCAN2_RXIMR2 (IMXRT_FLEXCAN2_MASK.offset088)
  2357. #define FLEXCAN2_RXIMR3 (IMXRT_FLEXCAN2_MASK.offset08C)
  2358. #define FLEXCAN2_RXIMR4 (IMXRT_FLEXCAN2_MASK.offset090)
  2359. #define FLEXCAN2_RXIMR5 (IMXRT_FLEXCAN2_MASK.offset094)
  2360. #define FLEXCAN2_RXIMR6 (IMXRT_FLEXCAN2_MASK.offset098)
  2361. #define FLEXCAN2_RXIMR7 (IMXRT_FLEXCAN2_MASK.offset09C)
  2362. #define FLEXCAN2_RXIMR8 (IMXRT_FLEXCAN2_MASK.offset0A0)
  2363. #define FLEXCAN2_RXIMR9 (IMXRT_FLEXCAN2_MASK.offset0A4)
  2364. #define FLEXCAN2_RXIMR10 (IMXRT_FLEXCAN2_MASK.offset0A8)
  2365. #define FLEXCAN2_RXIMR11 (IMXRT_FLEXCAN2_MASK.offset0AC)
  2366. #define FLEXCAN2_RXIMR12 (IMXRT_FLEXCAN2_MASK.offset0B0)
  2367. #define FLEXCAN2_RXIMR13 (IMXRT_FLEXCAN2_MASK.offset0B4)
  2368. #define FLEXCAN2_RXIMR14 (IMXRT_FLEXCAN2_MASK.offset0B8)
  2369. #define FLEXCAN2_RXIMR15 (IMXRT_FLEXCAN2_MASK.offset0BC)
  2370. #define FLEXCAN2_RXIMR16 (IMXRT_FLEXCAN2_MASK.offset0C0)
  2371. #define FLEXCAN2_RXIMR17 (IMXRT_FLEXCAN2_MASK.offset0C4)
  2372. #define FLEXCAN2_RXIMR18 (IMXRT_FLEXCAN2_MASK.offset0C8)
  2373. #define FLEXCAN2_RXIMR19 (IMXRT_FLEXCAN2_MASK.offset0CC)
  2374. #define FLEXCAN2_RXIMR20 (IMXRT_FLEXCAN2_MASK.offset0D0)
  2375. #define FLEXCAN2_RXIMR21 (IMXRT_FLEXCAN2_MASK.offset0D4)
  2376. #define FLEXCAN2_RXIMR22 (IMXRT_FLEXCAN2_MASK.offset0D8)
  2377. #define FLEXCAN2_RXIMR23 (IMXRT_FLEXCAN2_MASK.offset0DC)
  2378. #define FLEXCAN2_RXIMR24 (IMXRT_FLEXCAN2_MASK.offset0E0)
  2379. #define FLEXCAN2_RXIMR25 (IMXRT_FLEXCAN2_MASK.offset0E4)
  2380. #define FLEXCAN2_RXIMR26 (IMXRT_FLEXCAN2_MASK.offset0E8)
  2381. #define FLEXCAN2_RXIMR27 (IMXRT_FLEXCAN2_MASK.offset0EC)
  2382. #define FLEXCAN2_RXIMR28 (IMXRT_FLEXCAN2_MASK.offset0F0)
  2383. #define FLEXCAN2_RXIMR29 (IMXRT_FLEXCAN2_MASK.offset0F4)
  2384. #define FLEXCAN2_RXIMR30 (IMXRT_FLEXCAN2_MASK.offset0F8)
  2385. #define FLEXCAN2_RXIMR31 (IMXRT_FLEXCAN2_MASK.offset0FC)
  2386. #define FLEXCAN2_RXIMR32 (IMXRT_FLEXCAN2_MASK.offset100)
  2387. #define FLEXCAN2_RXIMR33 (IMXRT_FLEXCAN2_MASK.offset104)
  2388. #define FLEXCAN2_RXIMR34 (IMXRT_FLEXCAN2_MASK.offset108)
  2389. #define FLEXCAN2_RXIMR35 (IMXRT_FLEXCAN2_MASK.offset10C)
  2390. #define FLEXCAN2_RXIMR36 (IMXRT_FLEXCAN2_MASK.offset110)
  2391. #define FLEXCAN2_RXIMR37 (IMXRT_FLEXCAN2_MASK.offset114)
  2392. #define FLEXCAN2_RXIMR38 (IMXRT_FLEXCAN2_MASK.offset118)
  2393. #define FLEXCAN2_RXIMR39 (IMXRT_FLEXCAN2_MASK.offset11C)
  2394. #define FLEXCAN2_RXIMR40 (IMXRT_FLEXCAN2_MASK.offset120)
  2395. #define FLEXCAN2_RXIMR41 (IMXRT_FLEXCAN2_MASK.offset124)
  2396. #define FLEXCAN2_RXIMR42 (IMXRT_FLEXCAN2_MASK.offset128)
  2397. #define FLEXCAN2_RXIMR43 (IMXRT_FLEXCAN2_MASK.offset12C)
  2398. #define FLEXCAN2_RXIMR44 (IMXRT_FLEXCAN2_MASK.offset130)
  2399. #define FLEXCAN2_RXIMR45 (IMXRT_FLEXCAN2_MASK.offset134)
  2400. #define FLEXCAN2_RXIMR46 (IMXRT_FLEXCAN2_MASK.offset138)
  2401. #define FLEXCAN2_RXIMR47 (IMXRT_FLEXCAN2_MASK.offset13C)
  2402. #define FLEXCAN2_RXIMR48 (IMXRT_FLEXCAN2_MASK.offset140)
  2403. #define FLEXCAN2_RXIMR49 (IMXRT_FLEXCAN2_MASK.offset144)
  2404. #define FLEXCAN2_RXIMR50 (IMXRT_FLEXCAN2_MASK.offset148)
  2405. #define FLEXCAN2_RXIMR51 (IMXRT_FLEXCAN2_MASK.offset14C)
  2406. #define FLEXCAN2_RXIMR52 (IMXRT_FLEXCAN2_MASK.offset150)
  2407. #define FLEXCAN2_RXIMR53 (IMXRT_FLEXCAN2_MASK.offset154)
  2408. #define FLEXCAN2_RXIMR54 (IMXRT_FLEXCAN2_MASK.offset158)
  2409. #define FLEXCAN2_RXIMR55 (IMXRT_FLEXCAN2_MASK.offset15C)
  2410. #define FLEXCAN2_RXIMR56 (IMXRT_FLEXCAN2_MASK.offset160)
  2411. #define FLEXCAN2_RXIMR57 (IMXRT_FLEXCAN2_MASK.offset164)
  2412. #define FLEXCAN2_RXIMR58 (IMXRT_FLEXCAN2_MASK.offset168)
  2413. #define FLEXCAN2_RXIMR59 (IMXRT_FLEXCAN2_MASK.offset16C)
  2414. #define FLEXCAN2_RXIMR60 (IMXRT_FLEXCAN2_MASK.offset170)
  2415. #define FLEXCAN2_RXIMR61 (IMXRT_FLEXCAN2_MASK.offset174)
  2416. #define FLEXCAN2_RXIMR62 (IMXRT_FLEXCAN2_MASK.offset178)
  2417. #define FLEXCAN2_RXIMR63 (IMXRT_FLEXCAN2_MASK.offset17C)
  2418. #define FLEXCAN2_GFWR (IMXRT_FLEXCAN2_MASK.offset1E0)
  2419. // 27.3.1.1: page 1292
  2420. #define IMXRT_FLEXIO1 (*(IMXRT_REGISTER32_t *)0x401AC000)
  2421. #define IMXRT_FLEXIO1_b (*(IMXRT_REGISTER32_t *)0x401AC400)
  2422. #define FLEXIO1_VERID (IMXRT_FLEXIO1.offset000)
  2423. #define FLEXIO1_PARAM (IMXRT_FLEXIO1.offset004)
  2424. #define FLEXIO1_CTRL (IMXRT_FLEXIO1.offset008)
  2425. #define FLEXIO1_PIN (IMXRT_FLEXIO1.offset00C)
  2426. #define FLEXIO1_SHIFTSTAT (IMXRT_FLEXIO1.offset010)
  2427. #define FLEXIO1_SHIFTERR (IMXRT_FLEXIO1.offset014)
  2428. #define FLEXIO1_TIMSTAT (IMXRT_FLEXIO1.offset018)
  2429. #define FLEXIO1_SHIFTSIEN (IMXRT_FLEXIO1.offset020)
  2430. #define FLEXIO1_SHIFTEIEN (IMXRT_FLEXIO1.offset024)
  2431. #define FLEXIO1_TIMIEN (IMXRT_FLEXIO1.offset028)
  2432. #define FLEXIO1_SHIFTSDEN (IMXRT_FLEXIO1.offset030)
  2433. #define FLEXIO1_SHIFTSTATE (IMXRT_FLEXIO1.offset040)
  2434. #define FLEXIO1_SHIFTCTL0 (IMXRT_FLEXIO1.offset080)
  2435. #define FLEXIO1_SHIFTCTL1 (IMXRT_FLEXIO1.offset084)
  2436. #define FLEXIO1_SHIFTCTL2 (IMXRT_FLEXIO1.offset088)
  2437. #define FLEXIO1_SHIFTCTL3 (IMXRT_FLEXIO1.offset08C)
  2438. #define FLEXIO1_SHIFTCFG0 (IMXRT_FLEXIO1.offset100)
  2439. #define FLEXIO1_SHIFTCFG1 (IMXRT_FLEXIO1.offset104)
  2440. #define FLEXIO1_SHIFTCFG2 (IMXRT_FLEXIO1.offset108)
  2441. #define FLEXIO1_SHIFTCFG3 (IMXRT_FLEXIO1.offset10C)
  2442. #define FLEXIO1_SHIFTBUF0 (IMXRT_FLEXIO1.offset200)
  2443. #define FLEXIO1_SHIFTBUF1 (IMXRT_FLEXIO1.offset204)
  2444. #define FLEXIO1_SHIFTBUF2 (IMXRT_FLEXIO1.offset208)
  2445. #define FLEXIO1_SHIFTBUF3 (IMXRT_FLEXIO1.offset20C)
  2446. #define FLEXIO1_SHIFTBUFBIS0 (IMXRT_FLEXIO1.offset280)
  2447. #define FLEXIO1_SHIFTBUFBIS1 (IMXRT_FLEXIO1.offset284)
  2448. #define FLEXIO1_SHIFTBUFBIS2 (IMXRT_FLEXIO1.offset288)
  2449. #define FLEXIO1_SHIFTBUFBIS3 (IMXRT_FLEXIO1.offset28C)
  2450. #define FLEXIO1_SHIFTBUFBYS0 (IMXRT_FLEXIO1.offset300)
  2451. #define FLEXIO1_SHIFTBUFBYS1 (IMXRT_FLEXIO1.offset304)
  2452. #define FLEXIO1_SHIFTBUFBYS2 (IMXRT_FLEXIO1.offset308)
  2453. #define FLEXIO1_SHIFTBUFBYS3 (IMXRT_FLEXIO1.offset30C)
  2454. #define FLEXIO1_SHIFTBUFBBS0 (IMXRT_FLEXIO1.offset380)
  2455. #define FLEXIO1_SHIFTBUFBBS1 (IMXRT_FLEXIO1.offset384)
  2456. #define FLEXIO1_SHIFTBUFBBS2 (IMXRT_FLEXIO1.offset388)
  2457. #define FLEXIO1_SHIFTBUFBBS3 (IMXRT_FLEXIO1.offset38C)
  2458. #define FLEXIO1_TIMCTL0 (IMXRT_FLEXIO1_b.offset000)
  2459. #define FLEXIO1_TIMCTL1 (IMXRT_FLEXIO1_b.offset004)
  2460. #define FLEXIO1_TIMCTL2 (IMXRT_FLEXIO1_b.offset008)
  2461. #define FLEXIO1_TIMCTL3 (IMXRT_FLEXIO1_b.offset00C)
  2462. #define FLEXIO1_TIMCFG0 (IMXRT_FLEXIO1_b.offset080)
  2463. #define FLEXIO1_TIMCFG1 (IMXRT_FLEXIO1_b.offset084)
  2464. #define FLEXIO1_TIMCFG2 (IMXRT_FLEXIO1_b.offset088)
  2465. #define FLEXIO1_TIMCFG3 (IMXRT_FLEXIO1_b.offset08C)
  2466. #define FLEXIO1_TIMCMP0 (IMXRT_FLEXIO1_b.offset100)
  2467. #define FLEXIO1_TIMCMP1 (IMXRT_FLEXIO1_b.offset104)
  2468. #define FLEXIO1_TIMCMP2 (IMXRT_FLEXIO1_b.offset108)
  2469. #define FLEXIO1_TIMCMP3 (IMXRT_FLEXIO1_b.offset10C)
  2470. #define FLEXIO1_SHIFTBUFNBS0 (IMXRT_FLEXIO1_b.offset280)
  2471. #define FLEXIO1_SHIFTBUFNBS1 (IMXRT_FLEXIO1_b.offset284)
  2472. #define FLEXIO1_SHIFTBUFNBS2 (IMXRT_FLEXIO1_b.offset288)
  2473. #define FLEXIO1_SHIFTBUFNBS3 (IMXRT_FLEXIO1_b.offset28C)
  2474. #define FLEXIO1_SHIFTBUFHWS0 (IMXRT_FLEXIO1_b.offset300)
  2475. #define FLEXIO1_SHIFTBUFHWS1 (IMXRT_FLEXIO1_b.offset304)
  2476. #define FLEXIO1_SHIFTBUFHWS2 (IMXRT_FLEXIO1_b.offset308)
  2477. #define FLEXIO1_SHIFTBUFHWS3 (IMXRT_FLEXIO1_b.offset30C)
  2478. #define FLEXIO1_SHIFTBUFNIS0 (IMXRT_FLEXIO1_b.offset380)
  2479. #define FLEXIO1_SHIFTBUFNIS1 (IMXRT_FLEXIO1_b.offset384)
  2480. #define FLEXIO1_SHIFTBUFNIS2 (IMXRT_FLEXIO1_b.offset388)
  2481. #define FLEXIO1_SHIFTBUFNIS3 (IMXRT_FLEXIO1_b.offset38C)
  2482. #define IMXRT_FLEXIO2 (*(IMXRT_REGISTER32_t *)0x401B0000)
  2483. #define IMXRT_FLEXIO2_b (*(IMXRT_REGISTER32_t *)0x401B0400)
  2484. #define FLEXIO2_VERID (IMXRT_FLEXIO2.offset000)
  2485. #define FLEXIO2_PARAM (IMXRT_FLEXIO2.offset004)
  2486. #define FLEXIO2_CTRL (IMXRT_FLEXIO2.offset008)
  2487. #define FLEXIO2_PIN (IMXRT_FLEXIO2.offset00C)
  2488. #define FLEXIO2_SHIFTSTAT (IMXRT_FLEXIO2.offset010)
  2489. #define FLEXIO2_SHIFTERR (IMXRT_FLEXIO2.offset014)
  2490. #define FLEXIO2_TIMSTAT (IMXRT_FLEXIO2.offset018)
  2491. #define FLEXIO2_SHIFTSIEN (IMXRT_FLEXIO2.offset020)
  2492. #define FLEXIO2_SHIFTEIEN (IMXRT_FLEXIO2.offset024)
  2493. #define FLEXIO2_TIMIEN (IMXRT_FLEXIO2.offset028)
  2494. #define FLEXIO2_SHIFTSDEN (IMXRT_FLEXIO2.offset030)
  2495. #define FLEXIO2_SHIFTSTATE (IMXRT_FLEXIO2.offset040)
  2496. #define FLEXIO2_SHIFTCTL0 (IMXRT_FLEXIO2.offset080)
  2497. #define FLEXIO2_SHIFTCTL1 (IMXRT_FLEXIO2.offset084)
  2498. #define FLEXIO2_SHIFTCTL2 (IMXRT_FLEXIO2.offset088)
  2499. #define FLEXIO2_SHIFTCTL3 (IMXRT_FLEXIO2.offset08C)
  2500. #define FLEXIO2_SHIFTCFG0 (IMXRT_FLEXIO2.offset100)
  2501. #define FLEXIO2_SHIFTCFG1 (IMXRT_FLEXIO2.offset104)
  2502. #define FLEXIO2_SHIFTCFG2 (IMXRT_FLEXIO2.offset108)
  2503. #define FLEXIO2_SHIFTCFG3 (IMXRT_FLEXIO2.offset10C)
  2504. #define FLEXIO2_SHIFTBUF0 (IMXRT_FLEXIO2.offset200)
  2505. #define FLEXIO2_SHIFTBUF1 (IMXRT_FLEXIO2.offset204)
  2506. #define FLEXIO2_SHIFTBUF2 (IMXRT_FLEXIO2.offset208)
  2507. #define FLEXIO2_SHIFTBUF3 (IMXRT_FLEXIO2.offset20C)
  2508. #define FLEXIO2_SHIFTBUFBIS0 (IMXRT_FLEXIO2.offset280)
  2509. #define FLEXIO2_SHIFTBUFBIS1 (IMXRT_FLEXIO2.offset284)
  2510. #define FLEXIO2_SHIFTBUFBIS2 (IMXRT_FLEXIO2.offset288)
  2511. #define FLEXIO2_SHIFTBUFBIS3 (IMXRT_FLEXIO2.offset28C)
  2512. #define FLEXIO2_SHIFTBUFBYS0 (IMXRT_FLEXIO2.offset300)
  2513. #define FLEXIO2_SHIFTBUFBYS1 (IMXRT_FLEXIO2.offset304)
  2514. #define FLEXIO2_SHIFTBUFBYS2 (IMXRT_FLEXIO2.offset308)
  2515. #define FLEXIO2_SHIFTBUFBYS3 (IMXRT_FLEXIO2.offset30C)
  2516. #define FLEXIO2_SHIFTBUFBBS0 (IMXRT_FLEXIO2.offset380)
  2517. #define FLEXIO2_SHIFTBUFBBS1 (IMXRT_FLEXIO2.offset384)
  2518. #define FLEXIO2_SHIFTBUFBBS2 (IMXRT_FLEXIO2.offset388)
  2519. #define FLEXIO2_SHIFTBUFBBS3 (IMXRT_FLEXIO2.offset38C)
  2520. #define FLEXIO2_TIMCTL0 (IMXRT_FLEXIO2_b.offset000)
  2521. #define FLEXIO2_TIMCTL1 (IMXRT_FLEXIO2_b.offset004)
  2522. #define FLEXIO2_TIMCTL2 (IMXRT_FLEXIO2_b.offset008)
  2523. #define FLEXIO2_TIMCTL3 (IMXRT_FLEXIO2_b.offset00C)
  2524. #define FLEXIO2_TIMCFG0 (IMXRT_FLEXIO2_b.offset080)
  2525. #define FLEXIO2_TIMCFG1 (IMXRT_FLEXIO2_b.offset084)
  2526. #define FLEXIO2_TIMCFG2 (IMXRT_FLEXIO2_b.offset088)
  2527. #define FLEXIO2_TIMCFG3 (IMXRT_FLEXIO2_b.offset08C)
  2528. #define FLEXIO2_TIMCMP0 (IMXRT_FLEXIO2_b.offset100)
  2529. #define FLEXIO2_TIMCMP1 (IMXRT_FLEXIO2_b.offset104)
  2530. #define FLEXIO2_TIMCMP2 (IMXRT_FLEXIO2_b.offset108)
  2531. #define FLEXIO2_TIMCMP3 (IMXRT_FLEXIO2_b.offset10C)
  2532. #define FLEXIO2_SHIFTBUFNBS0 (IMXRT_FLEXIO2_b.offset280)
  2533. #define FLEXIO2_SHIFTBUFNBS1 (IMXRT_FLEXIO2_b.offset284)
  2534. #define FLEXIO2_SHIFTBUFNBS2 (IMXRT_FLEXIO2_b.offset288)
  2535. #define FLEXIO2_SHIFTBUFNBS3 (IMXRT_FLEXIO2_b.offset28C)
  2536. #define FLEXIO2_SHIFTBUFHWS0 (IMXRT_FLEXIO2_b.offset300)
  2537. #define FLEXIO2_SHIFTBUFHWS1 (IMXRT_FLEXIO2_b.offset304)
  2538. #define FLEXIO2_SHIFTBUFHWS2 (IMXRT_FLEXIO2_b.offset308)
  2539. #define FLEXIO2_SHIFTBUFHWS3 (IMXRT_FLEXIO2_b.offset30C)
  2540. #define FLEXIO2_SHIFTBUFNIS0 (IMXRT_FLEXIO2_b.offset380)
  2541. #define FLEXIO2_SHIFTBUFNIS1 (IMXRT_FLEXIO2_b.offset384)
  2542. #define FLEXIO2_SHIFTBUFNIS2 (IMXRT_FLEXIO2_b.offset388)
  2543. #define FLEXIO2_SHIFTBUFNIS3 (IMXRT_FLEXIO2_b.offset38C)
  2544. // 28.4.1: page 1354
  2545. typedef struct {
  2546. struct {
  2547. volatile uint16_t CNT;
  2548. volatile uint16_t INIT;
  2549. volatile uint16_t CTRL2;
  2550. volatile uint16_t CTRL;
  2551. volatile uint16_t unused1;
  2552. volatile uint16_t VAL0;
  2553. volatile uint16_t FRACVAL1;
  2554. volatile uint16_t VAL1;
  2555. volatile uint16_t FRACVAL2;
  2556. volatile uint16_t VAL2;
  2557. volatile uint16_t FRACVAL3;
  2558. volatile uint16_t VAL3;
  2559. volatile uint16_t FRACVAL4;
  2560. volatile uint16_t VAL4;
  2561. volatile uint16_t FRACVAL5;
  2562. volatile uint16_t VAL5;
  2563. volatile uint16_t FRCTRL;
  2564. volatile uint16_t OCTRL;
  2565. volatile uint16_t STS;
  2566. volatile uint16_t INTEN;
  2567. volatile uint16_t DMAEN;
  2568. volatile uint16_t TCTRL;
  2569. volatile uint16_t DISMAP0;
  2570. volatile uint16_t DISMAP1;
  2571. volatile uint16_t DTCNT0;
  2572. volatile uint16_t DTCNT1;
  2573. volatile uint16_t CAPTCTRLA;
  2574. volatile uint16_t CAPTCOMPA;
  2575. volatile uint16_t CAPTCTRLB;
  2576. volatile uint16_t CAPTCOMPB;
  2577. volatile uint16_t CAPTCTRLX;
  2578. volatile uint16_t CAPTCOMPX;
  2579. volatile uint16_t CVAL0;
  2580. volatile uint16_t CVAL0CYC;
  2581. volatile uint16_t CVAL1;
  2582. volatile uint16_t CVAL1CYC;
  2583. volatile uint16_t CVAL2;
  2584. volatile uint16_t CVAL2CYC;
  2585. volatile uint16_t CVAL3;
  2586. volatile uint16_t CVAL3CYC;
  2587. volatile uint16_t CVAL4;
  2588. volatile uint16_t CVAL4CYC;
  2589. volatile uint16_t CVAL5;
  2590. volatile uint16_t CVAL5CYC;
  2591. volatile uint16_t unused2;
  2592. volatile uint16_t unused3;
  2593. volatile uint16_t unused4;
  2594. volatile uint16_t unused5;
  2595. } SM[4];
  2596. volatile uint16_t OUTEN;
  2597. volatile uint16_t MASK;
  2598. volatile uint16_t SWCOUT;
  2599. volatile uint16_t DTSRCSEL;
  2600. volatile uint16_t MCTRL;
  2601. volatile uint16_t MCTRL2;
  2602. volatile uint16_t FCTRL0;
  2603. volatile uint16_t FSTS0;
  2604. volatile uint16_t FFILT0;
  2605. volatile uint16_t FTST0;
  2606. volatile uint16_t FCTRL20;
  2607. } IMXRT_FLEXPWM_t;
  2608. #define IMXRT_FLEXPWM1 (*(IMXRT_FLEXPWM_t *)0x403DC000)
  2609. #define IMXRT_FLEXPWM2 (*(IMXRT_FLEXPWM_t *)0x403E0000)
  2610. #define IMXRT_FLEXPWM3 (*(IMXRT_FLEXPWM_t *)0x403E4000)
  2611. #define IMXRT_FLEXPWM4 (*(IMXRT_FLEXPWM_t *)0x403E8000)
  2612. #define FLEXPWM1_SM0CNT (IMXRT_FLEXPWM1.SM[0].CNT)
  2613. #define FLEXPWM1_SM0INIT (IMXRT_FLEXPWM1.SM[0].INIT)
  2614. #define FLEXPWM1_SM0CTRL2 (IMXRT_FLEXPWM1.SM[0].CTRL2)
  2615. #define FLEXPWM1_SM0CTRL (IMXRT_FLEXPWM1.SM[0].CTRL)
  2616. #define FLEXPWM1_SM0VAL0 (IMXRT_FLEXPWM1.SM[0].VAL0)
  2617. #define FLEXPWM1_SM0FRACVAL1 (IMXRT_FLEXPWM1.SM[0].FRACVAL1)
  2618. #define FLEXPWM1_SM0VAL1 (IMXRT_FLEXPWM1.SM[0].VAL1)
  2619. #define FLEXPWM1_SM0FRACVAL2 (IMXRT_FLEXPWM1.SM[0].FRACVAL2)
  2620. #define FLEXPWM1_SM0VAL2 (IMXRT_FLEXPWM1.SM[0].VAL2)
  2621. #define FLEXPWM1_SM0FRACVAL3 (IMXRT_FLEXPWM1.SM[0].FRACVAL3)
  2622. #define FLEXPWM1_SM0VAL3 (IMXRT_FLEXPWM1.SM[0].VAL3)
  2623. #define FLEXPWM1_SM0FRACVAL4 (IMXRT_FLEXPWM1.SM[0].FRACVAL4)
  2624. #define FLEXPWM1_SM0VAL4 (IMXRT_FLEXPWM1.SM[0].VAL4)
  2625. #define FLEXPWM1_SM0FRACVAL5 (IMXRT_FLEXPWM1.SM[0].FRACVAL5)
  2626. #define FLEXPWM1_SM0VAL5 (IMXRT_FLEXPWM1.SM[0].VAL5)
  2627. #define FLEXPWM1_SM0FRCTRL (IMXRT_FLEXPWM1.SM[0].FRCTRL)
  2628. #define FLEXPWM1_SM0OCTRL (IMXRT_FLEXPWM1.SM[0].OCTRL)
  2629. #define FLEXPWM1_SM0STS (IMXRT_FLEXPWM1.SM[0].STS)
  2630. #define FLEXPWM1_SM0INTEN (IMXRT_FLEXPWM1.SM[0].INTEN)
  2631. #define FLEXPWM1_SM0DMAEN (IMXRT_FLEXPWM1.SM[0].DMAEN)
  2632. #define FLEXPWM1_SM0TCTRL (IMXRT_FLEXPWM1.SM[0].TCTRL)
  2633. #define FLEXPWM1_SM0DISMAP0 (IMXRT_FLEXPWM1.SM[0].DISMAP0)
  2634. #define FLEXPWM1_SM0DISMAP1 (IMXRT_FLEXPWM1.SM[0].DISMAP1)
  2635. #define FLEXPWM1_SM0DTCNT0 (IMXRT_FLEXPWM1.SM[0].DTCNT0)
  2636. #define FLEXPWM1_SM0DTCNT1 (IMXRT_FLEXPWM1.SM[0].DTCNT1)
  2637. #define FLEXPWM1_SM0CAPTCTRLA (IMXRT_FLEXPWM1.SM[0].CAPTCTRLA)
  2638. #define FLEXPWM1_SM0CAPTCOMPA (IMXRT_FLEXPWM1.SM[0].CAPTCOMPA)
  2639. #define FLEXPWM1_SM0CAPTCTRLB (IMXRT_FLEXPWM1.SM[0].CAPTCTRLB)
  2640. #define FLEXPWM1_SM0CAPTCOMPB (IMXRT_FLEXPWM1.SM[0].CAPTCOMPB)
  2641. #define FLEXPWM1_SM0CAPTCTRLX (IMXRT_FLEXPWM1.SM[0].CAPTCTRLX)
  2642. #define FLEXPWM1_SM0CAPTCOMPX (IMXRT_FLEXPWM1.SM[0].CAPTCOMPX)
  2643. #define FLEXPWM1_SM0CVAL0 (IMXRT_FLEXPWM1.SM[0].CVAL0)
  2644. #define FLEXPWM1_SM0CVAL0CYC (IMXRT_FLEXPWM1.SM[0].CVAL0CYC)
  2645. #define FLEXPWM1_SM0CVAL1 (IMXRT_FLEXPWM1.SM[0].CVAL1)
  2646. #define FLEXPWM1_SM0CVAL1CYC (IMXRT_FLEXPWM1.SM[0].CVAL1CYC)
  2647. #define FLEXPWM1_SM0CVAL2 (IMXRT_FLEXPWM1.SM[0].CVAL2)
  2648. #define FLEXPWM1_SM0CVAL2CYC (IMXRT_FLEXPWM1.SM[0].CVAL2CYC)
  2649. #define FLEXPWM1_SM0CVAL3 (IMXRT_FLEXPWM1.SM[0].CVAL3)
  2650. #define FLEXPWM1_SM0CVAL3CYC (IMXRT_FLEXPWM1.SM[0].CVAL3CYC)
  2651. #define FLEXPWM1_SM0CVAL4 (IMXRT_FLEXPWM1.SM[0].CVAL4)
  2652. #define FLEXPWM1_SM0CVAL4CYC (IMXRT_FLEXPWM1.SM[0].CVAL4CYC)
  2653. #define FLEXPWM1_SM0CVAL5 (IMXRT_FLEXPWM1.SM[0].CVAL5)
  2654. #define FLEXPWM1_SM0CVAL5CYC (IMXRT_FLEXPWM1.SM[0].CVAL5CYC)
  2655. #define FLEXPWM1_SM1CNT (IMXRT_FLEXPWM1.SM[1].CNT)
  2656. #define FLEXPWM1_SM1INIT (IMXRT_FLEXPWM1.SM[1].INIT)
  2657. #define FLEXPWM1_SM1CTRL2 (IMXRT_FLEXPWM1.SM[1].CTRL2)
  2658. #define FLEXPWM1_SM1CTRL (IMXRT_FLEXPWM1.SM[1].CTRL)
  2659. #define FLEXPWM1_SM1VAL0 (IMXRT_FLEXPWM1.SM[1].VAL0)
  2660. #define FLEXPWM1_SM1FRACVAL1 (IMXRT_FLEXPWM1.SM[1].FRACVAL1)
  2661. #define FLEXPWM1_SM1VAL1 (IMXRT_FLEXPWM1.SM[1].VAL1)
  2662. #define FLEXPWM1_SM1FRACVAL2 (IMXRT_FLEXPWM1.SM[1].FRACVAL2)
  2663. #define FLEXPWM1_SM1VAL2 (IMXRT_FLEXPWM1.SM[1].VAL2)
  2664. #define FLEXPWM1_SM1FRACVAL3 (IMXRT_FLEXPWM1.SM[1].FRACVAL3)
  2665. #define FLEXPWM1_SM1VAL3 (IMXRT_FLEXPWM1.SM[1].VAL3)
  2666. #define FLEXPWM1_SM1FRACVAL4 (IMXRT_FLEXPWM1.SM[1].FRACVAL4)
  2667. #define FLEXPWM1_SM1VAL4 (IMXRT_FLEXPWM1.SM[1].VAL4)
  2668. #define FLEXPWM1_SM1FRACVAL5 (IMXRT_FLEXPWM1.SM[1].FRACVAL5)
  2669. #define FLEXPWM1_SM1VAL5 (IMXRT_FLEXPWM1.SM[1].VAL5)
  2670. #define FLEXPWM1_SM1FRCTRL (IMXRT_FLEXPWM1.SM[1].FRCTRL)
  2671. #define FLEXPWM1_SM1OCTRL (IMXRT_FLEXPWM1.SM[1].OCTRL)
  2672. #define FLEXPWM1_SM1STS (IMXRT_FLEXPWM1.SM[1].STS)
  2673. #define FLEXPWM1_SM1INTEN (IMXRT_FLEXPWM1.SM[1].INTEN)
  2674. #define FLEXPWM1_SM1DMAEN (IMXRT_FLEXPWM1.SM[1].DMAEN)
  2675. #define FLEXPWM1_SM1TCTRL (IMXRT_FLEXPWM1.SM[1].TCTRL)
  2676. #define FLEXPWM1_SM1DISMAP0 (IMXRT_FLEXPWM1.SM[1].DISMAP0)
  2677. #define FLEXPWM1_SM1DISMAP1 (IMXRT_FLEXPWM1.SM[1].DISMAP1)
  2678. #define FLEXPWM1_SM1DTCNT0 (IMXRT_FLEXPWM1.SM[1].DTCNT0)
  2679. #define FLEXPWM1_SM1DTCNT1 (IMXRT_FLEXPWM1.SM[1].DTCNT1)
  2680. #define FLEXPWM1_SM1CAPTCTRLA (IMXRT_FLEXPWM1.SM[1].CAPTCTRLA)
  2681. #define FLEXPWM1_SM1CAPTCOMPA (IMXRT_FLEXPWM1.SM[1].CAPTCOMPA)
  2682. #define FLEXPWM1_SM1CAPTCTRLB (IMXRT_FLEXPWM1.SM[1].CAPTCTRLB)
  2683. #define FLEXPWM1_SM1CAPTCOMPB (IMXRT_FLEXPWM1.SM[1].CAPTCOMPB)
  2684. #define FLEXPWM1_SM1CAPTCTRLX (IMXRT_FLEXPWM1.SM[1].CAPTCTRLX)
  2685. #define FLEXPWM1_SM1CAPTCOMPX (IMXRT_FLEXPWM1.SM[1].CAPTCOMPX)
  2686. #define FLEXPWM1_SM1CVAL0 (IMXRT_FLEXPWM1.SM[1].CVAL0)
  2687. #define FLEXPWM1_SM1CVAL0CYC (IMXRT_FLEXPWM1.SM[1].CVAL0CYC)
  2688. #define FLEXPWM1_SM1CVAL1 (IMXRT_FLEXPWM1.SM[1].CVAL1)
  2689. #define FLEXPWM1_SM1CVAL1CYC (IMXRT_FLEXPWM1.SM[1].CVAL1CYC)
  2690. #define FLEXPWM1_SM1CVAL2 (IMXRT_FLEXPWM1.SM[1].CVAL2)
  2691. #define FLEXPWM1_SM1CVAL2CYC (IMXRT_FLEXPWM1.SM[1].CVAL2CYC)
  2692. #define FLEXPWM1_SM1CVAL3 (IMXRT_FLEXPWM1.SM[1].CVAL3)
  2693. #define FLEXPWM1_SM1CVAL3CYC (IMXRT_FLEXPWM1.SM[1].CVAL3CYC)
  2694. #define FLEXPWM1_SM1CVAL4 (IMXRT_FLEXPWM1.SM[1].CVAL4)
  2695. #define FLEXPWM1_SM1CVAL4CYC (IMXRT_FLEXPWM1.SM[1].CVAL4CYC)
  2696. #define FLEXPWM1_SM1CVAL5 (IMXRT_FLEXPWM1.SM[1].CVAL5)
  2697. #define FLEXPWM1_SM1CVAL5CYC (IMXRT_FLEXPWM1.SM[1].CVAL5CYC)
  2698. #define FLEXPWM1_SM2CNT (IMXRT_FLEXPWM1.SM[2].CNT)
  2699. #define FLEXPWM1_SM2INIT (IMXRT_FLEXPWM1.SM[2].INIT)
  2700. #define FLEXPWM1_SM2CTRL2 (IMXRT_FLEXPWM1.SM[2].CTRL2)
  2701. #define FLEXPWM1_SM2CTRL (IMXRT_FLEXPWM1.SM[2].CTRL)
  2702. #define FLEXPWM1_SM2VAL0 (IMXRT_FLEXPWM1.SM[2].VAL0)
  2703. #define FLEXPWM1_SM2FRACVAL1 (IMXRT_FLEXPWM1.SM[2].FRACVAL1)
  2704. #define FLEXPWM1_SM2VAL1 (IMXRT_FLEXPWM1.SM[2].VAL1)
  2705. #define FLEXPWM1_SM2FRACVAL2 (IMXRT_FLEXPWM1.SM[2].FRACVAL2)
  2706. #define FLEXPWM1_SM2VAL2 (IMXRT_FLEXPWM1.SM[2].VAL2)
  2707. #define FLEXPWM1_SM2FRACVAL3 (IMXRT_FLEXPWM1.SM[2].FRACVAL3)
  2708. #define FLEXPWM1_SM2VAL3 (IMXRT_FLEXPWM1.SM[2].VAL3)
  2709. #define FLEXPWM1_SM2FRACVAL4 (IMXRT_FLEXPWM1.SM[2].FRACVAL4)
  2710. #define FLEXPWM1_SM2VAL4 (IMXRT_FLEXPWM1.SM[2].VAL4)
  2711. #define FLEXPWM1_SM2FRACVAL5 (IMXRT_FLEXPWM1.SM[2].FRACVAL5)
  2712. #define FLEXPWM1_SM2VAL5 (IMXRT_FLEXPWM1.SM[2].VAL5)
  2713. #define FLEXPWM1_SM2FRCTRL (IMXRT_FLEXPWM1.SM[2].FRCTRL)
  2714. #define FLEXPWM1_SM2OCTRL (IMXRT_FLEXPWM1.SM[2].OCTRL)
  2715. #define FLEXPWM1_SM2STS (IMXRT_FLEXPWM1.SM[2].STS)
  2716. #define FLEXPWM1_SM2INTEN (IMXRT_FLEXPWM1.SM[2].INTEN)
  2717. #define FLEXPWM1_SM2DMAEN (IMXRT_FLEXPWM1.SM[2].DMAEN)
  2718. #define FLEXPWM1_SM2TCTRL (IMXRT_FLEXPWM1.SM[2].TCTRL)
  2719. #define FLEXPWM1_SM2DISMAP0 (IMXRT_FLEXPWM1.SM[2].DISMAP0)
  2720. #define FLEXPWM1_SM2DISMAP1 (IMXRT_FLEXPWM1.SM[2].DISMAP1)
  2721. #define FLEXPWM1_SM2DTCNT0 (IMXRT_FLEXPWM1.SM[2].DTCNT0)
  2722. #define FLEXPWM1_SM2DTCNT1 (IMXRT_FLEXPWM1.SM[2].DTCNT1)
  2723. #define FLEXPWM1_SM2CAPTCTRLA (IMXRT_FLEXPWM1.SM[2].CAPTCTRLA)
  2724. #define FLEXPWM1_SM2CAPTCOMPA (IMXRT_FLEXPWM1.SM[2].CAPTCOMPA)
  2725. #define FLEXPWM1_SM2CAPTCTRLB (IMXRT_FLEXPWM1.SM[2].CAPTCTRLB)
  2726. #define FLEXPWM1_SM2CAPTCOMPB (IMXRT_FLEXPWM1.SM[2].CAPTCOMPB)
  2727. #define FLEXPWM1_SM2CAPTCTRLX (IMXRT_FLEXPWM1.SM[2].CAPTCTRLX)
  2728. #define FLEXPWM1_SM2CAPTCOMPX (IMXRT_FLEXPWM1.SM[2].CAPTCOMPX)
  2729. #define FLEXPWM1_SM2CVAL0 (IMXRT_FLEXPWM1.SM[2].CVAL0)
  2730. #define FLEXPWM1_SM2CVAL0CYC (IMXRT_FLEXPWM1.SM[2].CVAL0CYC)
  2731. #define FLEXPWM1_SM2CVAL1 (IMXRT_FLEXPWM1.SM[2].CVAL1)
  2732. #define FLEXPWM1_SM2CVAL1CYC (IMXRT_FLEXPWM1.SM[2].CVAL1CYC)
  2733. #define FLEXPWM1_SM2CVAL2 (IMXRT_FLEXPWM1.SM[2].CVAL2)
  2734. #define FLEXPWM1_SM2CVAL2CYC (IMXRT_FLEXPWM1.SM[2].CVAL2CYC)
  2735. #define FLEXPWM1_SM2CVAL3 (IMXRT_FLEXPWM1.SM[2].CVAL3)
  2736. #define FLEXPWM1_SM2CVAL3CYC (IMXRT_FLEXPWM1.SM[2].CVAL3CYC)
  2737. #define FLEXPWM1_SM2CVAL4 (IMXRT_FLEXPWM1.SM[2].CVAL4)
  2738. #define FLEXPWM1_SM2CVAL4CYC (IMXRT_FLEXPWM1.SM[2].CVAL4CYC)
  2739. #define FLEXPWM1_SM2CVAL5 (IMXRT_FLEXPWM1.SM[2].CVAL5)
  2740. #define FLEXPWM1_SM2CVAL5CYC (IMXRT_FLEXPWM1.SM[2].CVAL5CYC)
  2741. #define FLEXPWM1_SM3CNT (IMXRT_FLEXPWM1.SM[3].CNT)
  2742. #define FLEXPWM1_SM3INIT (IMXRT_FLEXPWM1.SM[3].INIT)
  2743. #define FLEXPWM1_SM3CTRL2 (IMXRT_FLEXPWM1.SM[3].CTRL2)
  2744. #define FLEXPWM1_SM3CTRL (IMXRT_FLEXPWM1.SM[3].CTRL)
  2745. #define FLEXPWM1_SM3VAL0 (IMXRT_FLEXPWM1.SM[3].VAL0)
  2746. #define FLEXPWM1_SM3FRACVAL1 (IMXRT_FLEXPWM1.SM[3].FRACVAL1)
  2747. #define FLEXPWM1_SM3VAL1 (IMXRT_FLEXPWM1.SM[3].VAL1)
  2748. #define FLEXPWM1_SM3FRACVAL2 (IMXRT_FLEXPWM1.SM[3].FRACVAL2)
  2749. #define FLEXPWM1_SM3VAL2 (IMXRT_FLEXPWM1.SM[3].VAL2)
  2750. #define FLEXPWM1_SM3FRACVAL3 (IMXRT_FLEXPWM1.SM[3].FRACVAL3)
  2751. #define FLEXPWM1_SM3VAL3 (IMXRT_FLEXPWM1.SM[3].VAL3)
  2752. #define FLEXPWM1_SM3FRACVAL4 (IMXRT_FLEXPWM1.SM[3].FRACVAL4)
  2753. #define FLEXPWM1_SM3VAL4 (IMXRT_FLEXPWM1.SM[3].VAL4)
  2754. #define FLEXPWM1_SM3FRACVAL5 (IMXRT_FLEXPWM1.SM[3].FRACVAL5)
  2755. #define FLEXPWM1_SM3VAL5 (IMXRT_FLEXPWM1.SM[3].VAL5)
  2756. #define FLEXPWM1_SM3FRCTRL (IMXRT_FLEXPWM1.SM[3].FRCTRL)
  2757. #define FLEXPWM1_SM3OCTRL (IMXRT_FLEXPWM1.SM[3].OCTRL)
  2758. #define FLEXPWM1_SM3STS (IMXRT_FLEXPWM1.SM[3].STS)
  2759. #define FLEXPWM1_SM3INTEN (IMXRT_FLEXPWM1.SM[3].INTEN)
  2760. #define FLEXPWM1_SM3DMAEN (IMXRT_FLEXPWM1.SM[3].DMAEN)
  2761. #define FLEXPWM1_SM3TCTRL (IMXRT_FLEXPWM1.SM[3].TCTRL)
  2762. #define FLEXPWM1_SM3DISMAP0 (IMXRT_FLEXPWM1.SM[3].DISMAP0)
  2763. #define FLEXPWM1_SM3DISMAP1 (IMXRT_FLEXPWM1.SM[3].DISMAP1)
  2764. #define FLEXPWM1_SM3DTCNT0 (IMXRT_FLEXPWM1.SM[3].DTCNT0)
  2765. #define FLEXPWM1_SM3DTCNT1 (IMXRT_FLEXPWM1.SM[3].DTCNT1)
  2766. #define FLEXPWM1_SM3CAPTCTRLA (IMXRT_FLEXPWM1.SM[3].CAPTCTRLA)
  2767. #define FLEXPWM1_SM3CAPTCOMPA (IMXRT_FLEXPWM1.SM[3].CAPTCOMPA)
  2768. #define FLEXPWM1_SM3CAPTCTRLB (IMXRT_FLEXPWM1.SM[3].CAPTCTRLB)
  2769. #define FLEXPWM1_SM3CAPTCOMPB (IMXRT_FLEXPWM1.SM[3].CAPTCOMPB)
  2770. #define FLEXPWM1_SM3CAPTCTRLX (IMXRT_FLEXPWM1.SM[3].CAPTCTRLX)
  2771. #define FLEXPWM1_SM3CAPTCOMPX (IMXRT_FLEXPWM1.SM[3].CAPTCOMPX)
  2772. #define FLEXPWM1_SM3CVAL0 (IMXRT_FLEXPWM1.SM[3].CVAL0)
  2773. #define FLEXPWM1_SM3CVAL0CYC (IMXRT_FLEXPWM1.SM[3].CVAL0CYC)
  2774. #define FLEXPWM1_SM3CVAL1 (IMXRT_FLEXPWM1.SM[3].CVAL1)
  2775. #define FLEXPWM1_SM3CVAL1CYC (IMXRT_FLEXPWM1.SM[3].CVAL1CYC)
  2776. #define FLEXPWM1_SM3CVAL2 (IMXRT_FLEXPWM1.SM[3].CVAL2)
  2777. #define FLEXPWM1_SM3CVAL2CYC (IMXRT_FLEXPWM1.SM[3].CVAL2CYC)
  2778. #define FLEXPWM1_SM3CVAL3 (IMXRT_FLEXPWM1.SM[3].CVAL3)
  2779. #define FLEXPWM1_SM3CVAL3CYC (IMXRT_FLEXPWM1.SM[3].CVAL3CYC)
  2780. #define FLEXPWM1_SM3CVAL4 (IMXRT_FLEXPWM1.SM[3].CVAL4)
  2781. #define FLEXPWM1_SM3CVAL4CYC (IMXRT_FLEXPWM1.SM[3].CVAL4CYC)
  2782. #define FLEXPWM1_SM3CVAL5 (IMXRT_FLEXPWM1.SM[3].CVAL5)
  2783. #define FLEXPWM1_SM3CVAL5CYC (IMXRT_FLEXPWM1.SM[3].CVAL5CYC)
  2784. #define FLEXPWM1_OUTEN (IMXRT_FLEXPWM1.OUTEN)
  2785. #define FLEXPWM1_MASK (IMXRT_FLEXPWM1.MASK)
  2786. #define FLEXPWM1_SWCOUT (IMXRT_FLEXPWM1.SWCOUT)
  2787. #define FLEXPWM1_DTSRCSEL (IMXRT_FLEXPWM1.DTSRCSEL)
  2788. #define FLEXPWM1_MCTRL (IMXRT_FLEXPWM1.MCTRL)
  2789. #define FLEXPWM1_MCTRL2 (IMXRT_FLEXPWM1.MCTRL2)
  2790. #define FLEXPWM1_FCTRL0 (IMXRT_FLEXPWM1.FCTRL0)
  2791. #define FLEXPWM1_FSTS0 (IMXRT_FLEXPWM1.FSTS0)
  2792. #define FLEXPWM1_FFILT0 (IMXRT_FLEXPWM1.FFILT0)
  2793. #define FLEXPWM1_FTST0 (IMXRT_FLEXPWM1.FTST0)
  2794. #define FLEXPWM1_FCTRL20 (IMXRT_FLEXPWM1.FCTRL20)
  2795. #define FLEXPWM2_SM0CNT (IMXRT_FLEXPWM2.SM[0].CNT)
  2796. #define FLEXPWM2_SM0INIT (IMXRT_FLEXPWM2.SM[0].INIT)
  2797. #define FLEXPWM2_SM0CTRL2 (IMXRT_FLEXPWM2.SM[0].CTRL2)
  2798. #define FLEXPWM2_SM0CTRL (IMXRT_FLEXPWM2.SM[0].CTRL)
  2799. #define FLEXPWM2_SM0VAL0 (IMXRT_FLEXPWM2.SM[0].VAL0)
  2800. #define FLEXPWM2_SM0FRACVAL1 (IMXRT_FLEXPWM2.SM[0].FRACVAL1)
  2801. #define FLEXPWM2_SM0VAL1 (IMXRT_FLEXPWM2.SM[0].VAL1)
  2802. #define FLEXPWM2_SM0FRACVAL2 (IMXRT_FLEXPWM2.SM[0].FRACVAL2)
  2803. #define FLEXPWM2_SM0VAL2 (IMXRT_FLEXPWM2.SM[0].VAL2)
  2804. #define FLEXPWM2_SM0FRACVAL3 (IMXRT_FLEXPWM2.SM[0].FRACVAL3)
  2805. #define FLEXPWM2_SM0VAL3 (IMXRT_FLEXPWM2.SM[0].VAL3)
  2806. #define FLEXPWM2_SM0FRACVAL4 (IMXRT_FLEXPWM2.SM[0].FRACVAL4)
  2807. #define FLEXPWM2_SM0VAL4 (IMXRT_FLEXPWM2.SM[0].VAL4)
  2808. #define FLEXPWM2_SM0FRACVAL5 (IMXRT_FLEXPWM2.SM[0].FRACVAL5)
  2809. #define FLEXPWM2_SM0VAL5 (IMXRT_FLEXPWM2.SM[0].VAL5)
  2810. #define FLEXPWM2_SM0FRCTRL (IMXRT_FLEXPWM2.SM[0].FRCTRL)
  2811. #define FLEXPWM2_SM0OCTRL (IMXRT_FLEXPWM2.SM[0].OCTRL)
  2812. #define FLEXPWM2_SM0STS (IMXRT_FLEXPWM2.SM[0].STS)
  2813. #define FLEXPWM2_SM0INTEN (IMXRT_FLEXPWM2.SM[0].INTEN)
  2814. #define FLEXPWM2_SM0DMAEN (IMXRT_FLEXPWM2.SM[0].DMAEN)
  2815. #define FLEXPWM2_SM0TCTRL (IMXRT_FLEXPWM2.SM[0].TCTRL)
  2816. #define FLEXPWM2_SM0DISMAP0 (IMXRT_FLEXPWM2.SM[0].DISMAP0)
  2817. #define FLEXPWM2_SM0DISMAP1 (IMXRT_FLEXPWM2.SM[0].DISMAP1)
  2818. #define FLEXPWM2_SM0DTCNT0 (IMXRT_FLEXPWM2.SM[0].DTCNT0)
  2819. #define FLEXPWM2_SM0DTCNT1 (IMXRT_FLEXPWM2.SM[0].DTCNT1)
  2820. #define FLEXPWM2_SM0CAPTCTRLA (IMXRT_FLEXPWM2.SM[0].CAPTCTRLA)
  2821. #define FLEXPWM2_SM0CAPTCOMPA (IMXRT_FLEXPWM2.SM[0].CAPTCOMPA)
  2822. #define FLEXPWM2_SM0CAPTCTRLB (IMXRT_FLEXPWM2.SM[0].CAPTCTRLB)
  2823. #define FLEXPWM2_SM0CAPTCOMPB (IMXRT_FLEXPWM2.SM[0].CAPTCOMPB)
  2824. #define FLEXPWM2_SM0CAPTCTRLX (IMXRT_FLEXPWM2.SM[0].CAPTCTRLX)
  2825. #define FLEXPWM2_SM0CAPTCOMPX (IMXRT_FLEXPWM2.SM[0].CAPTCOMPX)
  2826. #define FLEXPWM2_SM0CVAL0 (IMXRT_FLEXPWM2.SM[0].CVAL0)
  2827. #define FLEXPWM2_SM0CVAL0CYC (IMXRT_FLEXPWM2.SM[0].CVAL0CYC)
  2828. #define FLEXPWM2_SM0CVAL1 (IMXRT_FLEXPWM2.SM[0].CVAL1)
  2829. #define FLEXPWM2_SM0CVAL1CYC (IMXRT_FLEXPWM2.SM[0].CVAL1CYC)
  2830. #define FLEXPWM2_SM0CVAL2 (IMXRT_FLEXPWM2.SM[0].CVAL2)
  2831. #define FLEXPWM2_SM0CVAL2CYC (IMXRT_FLEXPWM2.SM[0].CVAL2CYC)
  2832. #define FLEXPWM2_SM0CVAL3 (IMXRT_FLEXPWM2.SM[0].CVAL3)
  2833. #define FLEXPWM2_SM0CVAL3CYC (IMXRT_FLEXPWM2.SM[0].CVAL3CYC)
  2834. #define FLEXPWM2_SM0CVAL4 (IMXRT_FLEXPWM2.SM[0].CVAL4)
  2835. #define FLEXPWM2_SM0CVAL4CYC (IMXRT_FLEXPWM2.SM[0].CVAL4CYC)
  2836. #define FLEXPWM2_SM0CVAL5 (IMXRT_FLEXPWM2.SM[0].CVAL5)
  2837. #define FLEXPWM2_SM0CVAL5CYC (IMXRT_FLEXPWM2.SM[0].CVAL5CYC)
  2838. #define FLEXPWM2_SM1CNT (IMXRT_FLEXPWM2.SM[1].CNT)
  2839. #define FLEXPWM2_SM1INIT (IMXRT_FLEXPWM2.SM[1].INIT)
  2840. #define FLEXPWM2_SM1CTRL2 (IMXRT_FLEXPWM2.SM[1].CTRL2)
  2841. #define FLEXPWM2_SM1CTRL (IMXRT_FLEXPWM2.SM[1].CTRL)
  2842. #define FLEXPWM2_SM1VAL0 (IMXRT_FLEXPWM2.SM[1].VAL0)
  2843. #define FLEXPWM2_SM1FRACVAL1 (IMXRT_FLEXPWM2.SM[1].FRACVAL1)
  2844. #define FLEXPWM2_SM1VAL1 (IMXRT_FLEXPWM2.SM[1].VAL1)
  2845. #define FLEXPWM2_SM1FRACVAL2 (IMXRT_FLEXPWM2.SM[1].FRACVAL2)
  2846. #define FLEXPWM2_SM1VAL2 (IMXRT_FLEXPWM2.SM[1].VAL2)
  2847. #define FLEXPWM2_SM1FRACVAL3 (IMXRT_FLEXPWM2.SM[1].FRACVAL3)
  2848. #define FLEXPWM2_SM1VAL3 (IMXRT_FLEXPWM2.SM[1].VAL3)
  2849. #define FLEXPWM2_SM1FRACVAL4 (IMXRT_FLEXPWM2.SM[1].FRACVAL4)
  2850. #define FLEXPWM2_SM1VAL4 (IMXRT_FLEXPWM2.SM[1].VAL4)
  2851. #define FLEXPWM2_SM1FRACVAL5 (IMXRT_FLEXPWM2.SM[1].FRACVAL5)
  2852. #define FLEXPWM2_SM1VAL5 (IMXRT_FLEXPWM2.SM[1].VAL5)
  2853. #define FLEXPWM2_SM1FRCTRL (IMXRT_FLEXPWM2.SM[1].FRCTRL)
  2854. #define FLEXPWM2_SM1OCTRL (IMXRT_FLEXPWM2.SM[1].OCTRL)
  2855. #define FLEXPWM2_SM1STS (IMXRT_FLEXPWM2.SM[1].STS)
  2856. #define FLEXPWM2_SM1INTEN (IMXRT_FLEXPWM2.SM[1].INTEN)
  2857. #define FLEXPWM2_SM1DMAEN (IMXRT_FLEXPWM2.SM[1].DMAEN)
  2858. #define FLEXPWM2_SM1TCTRL (IMXRT_FLEXPWM2.SM[1].TCTRL)
  2859. #define FLEXPWM2_SM1DISMAP0 (IMXRT_FLEXPWM2.SM[1].DISMAP0)
  2860. #define FLEXPWM2_SM1DISMAP1 (IMXRT_FLEXPWM2.SM[1].DISMAP1)
  2861. #define FLEXPWM2_SM1DTCNT0 (IMXRT_FLEXPWM2.SM[1].DTCNT0)
  2862. #define FLEXPWM2_SM1DTCNT1 (IMXRT_FLEXPWM2.SM[1].DTCNT1)
  2863. #define FLEXPWM2_SM1CAPTCTRLA (IMXRT_FLEXPWM2.SM[1].CAPTCTRLA)
  2864. #define FLEXPWM2_SM1CAPTCOMPA (IMXRT_FLEXPWM2.SM[1].CAPTCOMPA)
  2865. #define FLEXPWM2_SM1CAPTCTRLB (IMXRT_FLEXPWM2.SM[1].CAPTCTRLB)
  2866. #define FLEXPWM2_SM1CAPTCOMPB (IMXRT_FLEXPWM2.SM[1].CAPTCOMPB)
  2867. #define FLEXPWM2_SM1CAPTCTRLX (IMXRT_FLEXPWM2.SM[1].CAPTCTRLX)
  2868. #define FLEXPWM2_SM1CAPTCOMPX (IMXRT_FLEXPWM2.SM[1].CAPTCOMPX)
  2869. #define FLEXPWM2_SM1CVAL0 (IMXRT_FLEXPWM2.SM[1].CVAL0)
  2870. #define FLEXPWM2_SM1CVAL0CYC (IMXRT_FLEXPWM2.SM[1].CVAL0CYC)
  2871. #define FLEXPWM2_SM1CVAL1 (IMXRT_FLEXPWM2.SM[1].CVAL1)
  2872. #define FLEXPWM2_SM1CVAL1CYC (IMXRT_FLEXPWM2.SM[1].CVAL1CYC)
  2873. #define FLEXPWM2_SM1CVAL2 (IMXRT_FLEXPWM2.SM[1].CVAL2)
  2874. #define FLEXPWM2_SM1CVAL2CYC (IMXRT_FLEXPWM2.SM[1].CVAL2CYC)
  2875. #define FLEXPWM2_SM1CVAL3 (IMXRT_FLEXPWM2.SM[1].CVAL3)
  2876. #define FLEXPWM2_SM1CVAL3CYC (IMXRT_FLEXPWM2.SM[1].CVAL3CYC)
  2877. #define FLEXPWM2_SM1CVAL4 (IMXRT_FLEXPWM2.SM[1].CVAL4)
  2878. #define FLEXPWM2_SM1CVAL4CYC (IMXRT_FLEXPWM2.SM[1].CVAL4CYC)
  2879. #define FLEXPWM2_SM1CVAL5 (IMXRT_FLEXPWM2.SM[1].CVAL5)
  2880. #define FLEXPWM2_SM1CVAL5CYC (IMXRT_FLEXPWM2.SM[1].CVAL5CYC)
  2881. #define FLEXPWM2_SM2CNT (IMXRT_FLEXPWM2.SM[2].CNT)
  2882. #define FLEXPWM2_SM2INIT (IMXRT_FLEXPWM2.SM[2].INIT)
  2883. #define FLEXPWM2_SM2CTRL2 (IMXRT_FLEXPWM2.SM[2].CTRL2)
  2884. #define FLEXPWM2_SM2CTRL (IMXRT_FLEXPWM2.SM[2].CTRL)
  2885. #define FLEXPWM2_SM2VAL0 (IMXRT_FLEXPWM2.SM[2].VAL0)
  2886. #define FLEXPWM2_SM2FRACVAL1 (IMXRT_FLEXPWM2.SM[2].FRACVAL1)
  2887. #define FLEXPWM2_SM2VAL1 (IMXRT_FLEXPWM2.SM[2].VAL1)
  2888. #define FLEXPWM2_SM2FRACVAL2 (IMXRT_FLEXPWM2.SM[2].FRACVAL2)
  2889. #define FLEXPWM2_SM2VAL2 (IMXRT_FLEXPWM2.SM[2].VAL2)
  2890. #define FLEXPWM2_SM2FRACVAL3 (IMXRT_FLEXPWM2.SM[2].FRACVAL3)
  2891. #define FLEXPWM2_SM2VAL3 (IMXRT_FLEXPWM2.SM[2].VAL3)
  2892. #define FLEXPWM2_SM2FRACVAL4 (IMXRT_FLEXPWM2.SM[2].FRACVAL4)
  2893. #define FLEXPWM2_SM2VAL4 (IMXRT_FLEXPWM2.SM[2].VAL4)
  2894. #define FLEXPWM2_SM2FRACVAL5 (IMXRT_FLEXPWM2.SM[2].FRACVAL5)
  2895. #define FLEXPWM2_SM2VAL5 (IMXRT_FLEXPWM2.SM[2].VAL5)
  2896. #define FLEXPWM2_SM2FRCTRL (IMXRT_FLEXPWM2.SM[2].FRCTRL)
  2897. #define FLEXPWM2_SM2OCTRL (IMXRT_FLEXPWM2.SM[2].OCTRL)
  2898. #define FLEXPWM2_SM2STS (IMXRT_FLEXPWM2.SM[2].STS)
  2899. #define FLEXPWM2_SM2INTEN (IMXRT_FLEXPWM2.SM[2].INTEN)
  2900. #define FLEXPWM2_SM2DMAEN (IMXRT_FLEXPWM2.SM[2].DMAEN)
  2901. #define FLEXPWM2_SM2TCTRL (IMXRT_FLEXPWM2.SM[2].TCTRL)
  2902. #define FLEXPWM2_SM2DISMAP0 (IMXRT_FLEXPWM2.SM[2].DISMAP0)
  2903. #define FLEXPWM2_SM2DISMAP1 (IMXRT_FLEXPWM2.SM[2].DISMAP1)
  2904. #define FLEXPWM2_SM2DTCNT0 (IMXRT_FLEXPWM2.SM[2].DTCNT0)
  2905. #define FLEXPWM2_SM2DTCNT1 (IMXRT_FLEXPWM2.SM[2].DTCNT1)
  2906. #define FLEXPWM2_SM2CAPTCTRLA (IMXRT_FLEXPWM2.SM[2].CAPTCTRLA)
  2907. #define FLEXPWM2_SM2CAPTCOMPA (IMXRT_FLEXPWM2.SM[2].CAPTCOMPA)
  2908. #define FLEXPWM2_SM2CAPTCTRLB (IMXRT_FLEXPWM2.SM[2].CAPTCTRLB)
  2909. #define FLEXPWM2_SM2CAPTCOMPB (IMXRT_FLEXPWM2.SM[2].CAPTCOMPB)
  2910. #define FLEXPWM2_SM2CAPTCTRLX (IMXRT_FLEXPWM2.SM[2].CAPTCTRLX)
  2911. #define FLEXPWM2_SM2CAPTCOMPX (IMXRT_FLEXPWM2.SM[2].CAPTCOMPX)
  2912. #define FLEXPWM2_SM2CVAL0 (IMXRT_FLEXPWM2.SM[2].CVAL0)
  2913. #define FLEXPWM2_SM2CVAL0CYC (IMXRT_FLEXPWM2.SM[2].CVAL0CYC)
  2914. #define FLEXPWM2_SM2CVAL1 (IMXRT_FLEXPWM2.SM[2].CVAL1)
  2915. #define FLEXPWM2_SM2CVAL1CYC (IMXRT_FLEXPWM2.SM[2].CVAL1CYC)
  2916. #define FLEXPWM2_SM2CVAL2 (IMXRT_FLEXPWM2.SM[2].CVAL2)
  2917. #define FLEXPWM2_SM2CVAL2CYC (IMXRT_FLEXPWM2.SM[2].CVAL2CYC)
  2918. #define FLEXPWM2_SM2CVAL3 (IMXRT_FLEXPWM2.SM[2].CVAL3)
  2919. #define FLEXPWM2_SM2CVAL3CYC (IMXRT_FLEXPWM2.SM[2].CVAL3CYC)
  2920. #define FLEXPWM2_SM2CVAL4 (IMXRT_FLEXPWM2.SM[2].CVAL4)
  2921. #define FLEXPWM2_SM2CVAL4CYC (IMXRT_FLEXPWM2.SM[2].CVAL4CYC)
  2922. #define FLEXPWM2_SM2CVAL5 (IMXRT_FLEXPWM2.SM[2].CVAL5)
  2923. #define FLEXPWM2_SM2CVAL5CYC (IMXRT_FLEXPWM2.SM[2].CVAL5CYC)
  2924. #define FLEXPWM2_SM3CNT (IMXRT_FLEXPWM2.SM[3].CNT)
  2925. #define FLEXPWM2_SM3INIT (IMXRT_FLEXPWM2.SM[3].INIT)
  2926. #define FLEXPWM2_SM3CTRL2 (IMXRT_FLEXPWM2.SM[3].CTRL2)
  2927. #define FLEXPWM2_SM3CTRL (IMXRT_FLEXPWM2.SM[3].CTRL)
  2928. #define FLEXPWM2_SM3VAL0 (IMXRT_FLEXPWM2.SM[3].VAL0)
  2929. #define FLEXPWM2_SM3FRACVAL1 (IMXRT_FLEXPWM2.SM[3].FRACVAL1)
  2930. #define FLEXPWM2_SM3VAL1 (IMXRT_FLEXPWM2.SM[3].VAL1)
  2931. #define FLEXPWM2_SM3FRACVAL2 (IMXRT_FLEXPWM2.SM[3].FRACVAL2)
  2932. #define FLEXPWM2_SM3VAL2 (IMXRT_FLEXPWM2.SM[3].VAL2)
  2933. #define FLEXPWM2_SM3FRACVAL3 (IMXRT_FLEXPWM2.SM[3].FRACVAL3)
  2934. #define FLEXPWM2_SM3VAL3 (IMXRT_FLEXPWM2.SM[3].VAL3)
  2935. #define FLEXPWM2_SM3FRACVAL4 (IMXRT_FLEXPWM2.SM[3].FRACVAL4)
  2936. #define FLEXPWM2_SM3VAL4 (IMXRT_FLEXPWM2.SM[3].VAL4)
  2937. #define FLEXPWM2_SM3FRACVAL5 (IMXRT_FLEXPWM2.SM[3].FRACVAL5)
  2938. #define FLEXPWM2_SM3VAL5 (IMXRT_FLEXPWM2.SM[3].VAL5)
  2939. #define FLEXPWM2_SM3FRCTRL (IMXRT_FLEXPWM2.SM[3].FRCTRL)
  2940. #define FLEXPWM2_SM3OCTRL (IMXRT_FLEXPWM2.SM[3].OCTRL)
  2941. #define FLEXPWM2_SM3STS (IMXRT_FLEXPWM2.SM[3].STS)
  2942. #define FLEXPWM2_SM3INTEN (IMXRT_FLEXPWM2.SM[3].INTEN)
  2943. #define FLEXPWM2_SM3DMAEN (IMXRT_FLEXPWM2.SM[3].DMAEN)
  2944. #define FLEXPWM2_SM3TCTRL (IMXRT_FLEXPWM2.SM[3].TCTRL)
  2945. #define FLEXPWM2_SM3DISMAP0 (IMXRT_FLEXPWM2.SM[3].DISMAP0)
  2946. #define FLEXPWM2_SM3DISMAP1 (IMXRT_FLEXPWM2.SM[3].DISMAP1)
  2947. #define FLEXPWM2_SM3DTCNT0 (IMXRT_FLEXPWM2.SM[3].DTCNT0)
  2948. #define FLEXPWM2_SM3DTCNT1 (IMXRT_FLEXPWM2.SM[3].DTCNT1)
  2949. #define FLEXPWM2_SM3CAPTCTRLA (IMXRT_FLEXPWM2.SM[3].CAPTCTRLA)
  2950. #define FLEXPWM2_SM3CAPTCOMPA (IMXRT_FLEXPWM2.SM[3].CAPTCOMPA)
  2951. #define FLEXPWM2_SM3CAPTCTRLB (IMXRT_FLEXPWM2.SM[3].CAPTCTRLB)
  2952. #define FLEXPWM2_SM3CAPTCOMPB (IMXRT_FLEXPWM2.SM[3].CAPTCOMPB)
  2953. #define FLEXPWM2_SM3CAPTCTRLX (IMXRT_FLEXPWM2.SM[3].CAPTCTRLX)
  2954. #define FLEXPWM2_SM3CAPTCOMPX (IMXRT_FLEXPWM2.SM[3].CAPTCOMPX)
  2955. #define FLEXPWM2_SM3CVAL0 (IMXRT_FLEXPWM2.SM[3].CVAL0)
  2956. #define FLEXPWM2_SM3CVAL0CYC (IMXRT_FLEXPWM2.SM[3].CVAL0CYC)
  2957. #define FLEXPWM2_SM3CVAL1 (IMXRT_FLEXPWM2.SM[3].CVAL1)
  2958. #define FLEXPWM2_SM3CVAL1CYC (IMXRT_FLEXPWM2.SM[3].CVAL1CYC)
  2959. #define FLEXPWM2_SM3CVAL2 (IMXRT_FLEXPWM2.SM[3].CVAL2)
  2960. #define FLEXPWM2_SM3CVAL2CYC (IMXRT_FLEXPWM2.SM[3].CVAL2CYC)
  2961. #define FLEXPWM2_SM3CVAL3 (IMXRT_FLEXPWM2.SM[3].CVAL3)
  2962. #define FLEXPWM2_SM3CVAL3CYC (IMXRT_FLEXPWM2.SM[3].CVAL3CYC)
  2963. #define FLEXPWM2_SM3CVAL4 (IMXRT_FLEXPWM2.SM[3].CVAL4)
  2964. #define FLEXPWM2_SM3CVAL4CYC (IMXRT_FLEXPWM2.SM[3].CVAL4CYC)
  2965. #define FLEXPWM2_SM3CVAL5 (IMXRT_FLEXPWM2.SM[3].CVAL5)
  2966. #define FLEXPWM2_SM3CVAL5CYC (IMXRT_FLEXPWM2.SM[3].CVAL5CYC)
  2967. #define FLEXPWM2_OUTEN (IMXRT_FLEXPWM2.OUTEN)
  2968. #define FLEXPWM2_MASK (IMXRT_FLEXPWM2.MASK)
  2969. #define FLEXPWM2_SWCOUT (IMXRT_FLEXPWM2.SWCOUT)
  2970. #define FLEXPWM2_DTSRCSEL (IMXRT_FLEXPWM2.DTSRCSEL)
  2971. #define FLEXPWM2_MCTRL (IMXRT_FLEXPWM2.MCTRL)
  2972. #define FLEXPWM2_MCTRL2 (IMXRT_FLEXPWM2.MCTRL2)
  2973. #define FLEXPWM2_FCTRL0 (IMXRT_FLEXPWM2.FCTRL0)
  2974. #define FLEXPWM2_FSTS0 (IMXRT_FLEXPWM2.FSTS0)
  2975. #define FLEXPWM2_FFILT0 (IMXRT_FLEXPWM2.FFILT0)
  2976. #define FLEXPWM2_FTST0 (IMXRT_FLEXPWM2.FTST0)
  2977. #define FLEXPWM2_FCTRL20 (IMXRT_FLEXPWM2.FCTRL20)
  2978. #define FLEXPWM3_SM0CNT (IMXRT_FLEXPWM3.SM[0].CNT)
  2979. #define FLEXPWM3_SM0INIT (IMXRT_FLEXPWM3.SM[0].INIT)
  2980. #define FLEXPWM3_SM0CTRL2 (IMXRT_FLEXPWM3.SM[0].CTRL2)
  2981. #define FLEXPWM3_SM0CTRL (IMXRT_FLEXPWM3.SM[0].CTRL)
  2982. #define FLEXPWM3_SM0VAL0 (IMXRT_FLEXPWM3.SM[0].VAL0)
  2983. #define FLEXPWM3_SM0FRACVAL1 (IMXRT_FLEXPWM3.SM[0].FRACVAL1)
  2984. #define FLEXPWM3_SM0VAL1 (IMXRT_FLEXPWM3.SM[0].VAL1)
  2985. #define FLEXPWM3_SM0FRACVAL2 (IMXRT_FLEXPWM3.SM[0].FRACVAL2)
  2986. #define FLEXPWM3_SM0VAL2 (IMXRT_FLEXPWM3.SM[0].VAL2)
  2987. #define FLEXPWM3_SM0FRACVAL3 (IMXRT_FLEXPWM3.SM[0].FRACVAL3)
  2988. #define FLEXPWM3_SM0VAL3 (IMXRT_FLEXPWM3.SM[0].VAL3)
  2989. #define FLEXPWM3_SM0FRACVAL4 (IMXRT_FLEXPWM3.SM[0].FRACVAL4)
  2990. #define FLEXPWM3_SM0VAL4 (IMXRT_FLEXPWM3.SM[0].VAL4)
  2991. #define FLEXPWM3_SM0FRACVAL5 (IMXRT_FLEXPWM3.SM[0].FRACVAL5)
  2992. #define FLEXPWM3_SM0VAL5 (IMXRT_FLEXPWM3.SM[0].VAL5)
  2993. #define FLEXPWM3_SM0FRCTRL (IMXRT_FLEXPWM3.SM[0].FRCTRL)
  2994. #define FLEXPWM3_SM0OCTRL (IMXRT_FLEXPWM3.SM[0].OCTRL)
  2995. #define FLEXPWM3_SM0STS (IMXRT_FLEXPWM3.SM[0].STS)
  2996. #define FLEXPWM3_SM0INTEN (IMXRT_FLEXPWM3.SM[0].INTEN)
  2997. #define FLEXPWM3_SM0DMAEN (IMXRT_FLEXPWM3.SM[0].DMAEN)
  2998. #define FLEXPWM3_SM0TCTRL (IMXRT_FLEXPWM3.SM[0].TCTRL)
  2999. #define FLEXPWM3_SM0DISMAP0 (IMXRT_FLEXPWM3.SM[0].DISMAP0)
  3000. #define FLEXPWM3_SM0DISMAP1 (IMXRT_FLEXPWM3.SM[0].DISMAP1)
  3001. #define FLEXPWM3_SM0DTCNT0 (IMXRT_FLEXPWM3.SM[0].DTCNT0)
  3002. #define FLEXPWM3_SM0DTCNT1 (IMXRT_FLEXPWM3.SM[0].DTCNT1)
  3003. #define FLEXPWM3_SM0CAPTCTRLA (IMXRT_FLEXPWM3.SM[0].CAPTCTRLA)
  3004. #define FLEXPWM3_SM0CAPTCOMPA (IMXRT_FLEXPWM3.SM[0].CAPTCOMPA)
  3005. #define FLEXPWM3_SM0CAPTCTRLB (IMXRT_FLEXPWM3.SM[0].CAPTCTRLB)
  3006. #define FLEXPWM3_SM0CAPTCOMPB (IMXRT_FLEXPWM3.SM[0].CAPTCOMPB)
  3007. #define FLEXPWM3_SM0CAPTCTRLX (IMXRT_FLEXPWM3.SM[0].CAPTCTRLX)
  3008. #define FLEXPWM3_SM0CAPTCOMPX (IMXRT_FLEXPWM3.SM[0].CAPTCOMPX)
  3009. #define FLEXPWM3_SM0CVAL0 (IMXRT_FLEXPWM3.SM[0].CVAL0)
  3010. #define FLEXPWM3_SM0CVAL0CYC (IMXRT_FLEXPWM3.SM[0].CVAL0CYC)
  3011. #define FLEXPWM3_SM0CVAL1 (IMXRT_FLEXPWM3.SM[0].CVAL1)
  3012. #define FLEXPWM3_SM0CVAL1CYC (IMXRT_FLEXPWM3.SM[0].CVAL1CYC)
  3013. #define FLEXPWM3_SM0CVAL2 (IMXRT_FLEXPWM3.SM[0].CVAL2)
  3014. #define FLEXPWM3_SM0CVAL2CYC (IMXRT_FLEXPWM3.SM[0].CVAL2CYC)
  3015. #define FLEXPWM3_SM0CVAL3 (IMXRT_FLEXPWM3.SM[0].CVAL3)
  3016. #define FLEXPWM3_SM0CVAL3CYC (IMXRT_FLEXPWM3.SM[0].CVAL3CYC)
  3017. #define FLEXPWM3_SM0CVAL4 (IMXRT_FLEXPWM3.SM[0].CVAL4)
  3018. #define FLEXPWM3_SM0CVAL4CYC (IMXRT_FLEXPWM3.SM[0].CVAL4CYC)
  3019. #define FLEXPWM3_SM0CVAL5 (IMXRT_FLEXPWM3.SM[0].CVAL5)
  3020. #define FLEXPWM3_SM0CVAL5CYC (IMXRT_FLEXPWM3.SM[0].CVAL5CYC)
  3021. #define FLEXPWM3_SM1CNT (IMXRT_FLEXPWM3.SM[1].CNT)
  3022. #define FLEXPWM3_SM1INIT (IMXRT_FLEXPWM3.SM[1].INIT)
  3023. #define FLEXPWM3_SM1CTRL2 (IMXRT_FLEXPWM3.SM[1].CTRL2)
  3024. #define FLEXPWM3_SM1CTRL (IMXRT_FLEXPWM3.SM[1].CTRL)
  3025. #define FLEXPWM3_SM1VAL0 (IMXRT_FLEXPWM3.SM[1].VAL0)
  3026. #define FLEXPWM3_SM1FRACVAL1 (IMXRT_FLEXPWM3.SM[1].FRACVAL1)
  3027. #define FLEXPWM3_SM1VAL1 (IMXRT_FLEXPWM3.SM[1].VAL1)
  3028. #define FLEXPWM3_SM1FRACVAL2 (IMXRT_FLEXPWM3.SM[1].FRACVAL2)
  3029. #define FLEXPWM3_SM1VAL2 (IMXRT_FLEXPWM3.SM[1].VAL2)
  3030. #define FLEXPWM3_SM1FRACVAL3 (IMXRT_FLEXPWM3.SM[1].FRACVAL3)
  3031. #define FLEXPWM3_SM1VAL3 (IMXRT_FLEXPWM3.SM[1].VAL3)
  3032. #define FLEXPWM3_SM1FRACVAL4 (IMXRT_FLEXPWM3.SM[1].FRACVAL4)
  3033. #define FLEXPWM3_SM1VAL4 (IMXRT_FLEXPWM3.SM[1].VAL4)
  3034. #define FLEXPWM3_SM1FRACVAL5 (IMXRT_FLEXPWM3.SM[1].FRACVAL5)
  3035. #define FLEXPWM3_SM1VAL5 (IMXRT_FLEXPWM3.SM[1].VAL5)
  3036. #define FLEXPWM3_SM1FRCTRL (IMXRT_FLEXPWM3.SM[1].FRCTRL)
  3037. #define FLEXPWM3_SM1OCTRL (IMXRT_FLEXPWM3.SM[1].OCTRL)
  3038. #define FLEXPWM3_SM1STS (IMXRT_FLEXPWM3.SM[1].STS)
  3039. #define FLEXPWM3_SM1INTEN (IMXRT_FLEXPWM3.SM[1].INTEN)
  3040. #define FLEXPWM3_SM1DMAEN (IMXRT_FLEXPWM3.SM[1].DMAEN)
  3041. #define FLEXPWM3_SM1TCTRL (IMXRT_FLEXPWM3.SM[1].TCTRL)
  3042. #define FLEXPWM3_SM1DISMAP0 (IMXRT_FLEXPWM3.SM[1].DISMAP0)
  3043. #define FLEXPWM3_SM1DISMAP1 (IMXRT_FLEXPWM3.SM[1].DISMAP1)
  3044. #define FLEXPWM3_SM1DTCNT0 (IMXRT_FLEXPWM3.SM[1].DTCNT0)
  3045. #define FLEXPWM3_SM1DTCNT1 (IMXRT_FLEXPWM3.SM[1].DTCNT1)
  3046. #define FLEXPWM3_SM1CAPTCTRLA (IMXRT_FLEXPWM3.SM[1].CAPTCTRLA)
  3047. #define FLEXPWM3_SM1CAPTCOMPA (IMXRT_FLEXPWM3.SM[1].CAPTCOMPA)
  3048. #define FLEXPWM3_SM1CAPTCTRLB (IMXRT_FLEXPWM3.SM[1].CAPTCTRLB)
  3049. #define FLEXPWM3_SM1CAPTCOMPB (IMXRT_FLEXPWM3.SM[1].CAPTCOMPB)
  3050. #define FLEXPWM3_SM1CAPTCTRLX (IMXRT_FLEXPWM3.SM[1].CAPTCTRLX)
  3051. #define FLEXPWM3_SM1CAPTCOMPX (IMXRT_FLEXPWM3.SM[1].CAPTCOMPX)
  3052. #define FLEXPWM3_SM1CVAL0 (IMXRT_FLEXPWM3.SM[1].CVAL0)
  3053. #define FLEXPWM3_SM1CVAL0CYC (IMXRT_FLEXPWM3.SM[1].CVAL0CYC)
  3054. #define FLEXPWM3_SM1CVAL1 (IMXRT_FLEXPWM3.SM[1].CVAL1)
  3055. #define FLEXPWM3_SM1CVAL1CYC (IMXRT_FLEXPWM3.SM[1].CVAL1CYC)
  3056. #define FLEXPWM3_SM1CVAL2 (IMXRT_FLEXPWM3.SM[1].CVAL2)
  3057. #define FLEXPWM3_SM1CVAL2CYC (IMXRT_FLEXPWM3.SM[1].CVAL2CYC)
  3058. #define FLEXPWM3_SM1CVAL3 (IMXRT_FLEXPWM3.SM[1].CVAL3)
  3059. #define FLEXPWM3_SM1CVAL3CYC (IMXRT_FLEXPWM3.SM[1].CVAL3CYC)
  3060. #define FLEXPWM3_SM1CVAL4 (IMXRT_FLEXPWM3.SM[1].CVAL4)
  3061. #define FLEXPWM3_SM1CVAL4CYC (IMXRT_FLEXPWM3.SM[1].CVAL4CYC)
  3062. #define FLEXPWM3_SM1CVAL5 (IMXRT_FLEXPWM3.SM[1].CVAL5)
  3063. #define FLEXPWM3_SM1CVAL5CYC (IMXRT_FLEXPWM3.SM[1].CVAL5CYC)
  3064. #define FLEXPWM3_SM2CNT (IMXRT_FLEXPWM3.SM[2].CNT)
  3065. #define FLEXPWM3_SM2INIT (IMXRT_FLEXPWM3.SM[2].INIT)
  3066. #define FLEXPWM3_SM2CTRL2 (IMXRT_FLEXPWM3.SM[2].CTRL2)
  3067. #define FLEXPWM3_SM2CTRL (IMXRT_FLEXPWM3.SM[2].CTRL)
  3068. #define FLEXPWM3_SM2VAL0 (IMXRT_FLEXPWM3.SM[2].VAL0)
  3069. #define FLEXPWM3_SM2FRACVAL1 (IMXRT_FLEXPWM3.SM[2].FRACVAL1)
  3070. #define FLEXPWM3_SM2VAL1 (IMXRT_FLEXPWM3.SM[2].VAL1)
  3071. #define FLEXPWM3_SM2FRACVAL2 (IMXRT_FLEXPWM3.SM[2].FRACVAL2)
  3072. #define FLEXPWM3_SM2VAL2 (IMXRT_FLEXPWM3.SM[2].VAL2)
  3073. #define FLEXPWM3_SM2FRACVAL3 (IMXRT_FLEXPWM3.SM[2].FRACVAL3)
  3074. #define FLEXPWM3_SM2VAL3 (IMXRT_FLEXPWM3.SM[2].VAL3)
  3075. #define FLEXPWM3_SM2FRACVAL4 (IMXRT_FLEXPWM3.SM[2].FRACVAL4)
  3076. #define FLEXPWM3_SM2VAL4 (IMXRT_FLEXPWM3.SM[2].VAL4)
  3077. #define FLEXPWM3_SM2FRACVAL5 (IMXRT_FLEXPWM3.SM[2].FRACVAL5)
  3078. #define FLEXPWM3_SM2VAL5 (IMXRT_FLEXPWM3.SM[2].VAL5)
  3079. #define FLEXPWM3_SM2FRCTRL (IMXRT_FLEXPWM3.SM[2].FRCTRL)
  3080. #define FLEXPWM3_SM2OCTRL (IMXRT_FLEXPWM3.SM[2].OCTRL)
  3081. #define FLEXPWM3_SM2STS (IMXRT_FLEXPWM3.SM[2].STS)
  3082. #define FLEXPWM3_SM2INTEN (IMXRT_FLEXPWM3.SM[2].INTEN)
  3083. #define FLEXPWM3_SM2DMAEN (IMXRT_FLEXPWM3.SM[2].DMAEN)
  3084. #define FLEXPWM3_SM2TCTRL (IMXRT_FLEXPWM3.SM[2].TCTRL)
  3085. #define FLEXPWM3_SM2DISMAP0 (IMXRT_FLEXPWM3.SM[2].DISMAP0)
  3086. #define FLEXPWM3_SM2DISMAP1 (IMXRT_FLEXPWM3.SM[2].DISMAP1)
  3087. #define FLEXPWM3_SM2DTCNT0 (IMXRT_FLEXPWM3.SM[2].DTCNT0)
  3088. #define FLEXPWM3_SM2DTCNT1 (IMXRT_FLEXPWM3.SM[2].DTCNT1)
  3089. #define FLEXPWM3_SM2CAPTCTRLA (IMXRT_FLEXPWM3.SM[2].CAPTCTRLA)
  3090. #define FLEXPWM3_SM2CAPTCOMPA (IMXRT_FLEXPWM3.SM[2].CAPTCOMPA)
  3091. #define FLEXPWM3_SM2CAPTCTRLB (IMXRT_FLEXPWM3.SM[2].CAPTCTRLB)
  3092. #define FLEXPWM3_SM2CAPTCOMPB (IMXRT_FLEXPWM3.SM[2].CAPTCOMPB)
  3093. #define FLEXPWM3_SM2CAPTCTRLX (IMXRT_FLEXPWM3.SM[2].CAPTCTRLX)
  3094. #define FLEXPWM3_SM2CAPTCOMPX (IMXRT_FLEXPWM3.SM[2].CAPTCOMPX)
  3095. #define FLEXPWM3_SM2CVAL0 (IMXRT_FLEXPWM3.SM[2].CVAL0)
  3096. #define FLEXPWM3_SM2CVAL0CYC (IMXRT_FLEXPWM3.SM[2].CVAL0CYC)
  3097. #define FLEXPWM3_SM2CVAL1 (IMXRT_FLEXPWM3.SM[2].CVAL1)
  3098. #define FLEXPWM3_SM2CVAL1CYC (IMXRT_FLEXPWM3.SM[2].CVAL1CYC)
  3099. #define FLEXPWM3_SM2CVAL2 (IMXRT_FLEXPWM3.SM[2].CVAL2)
  3100. #define FLEXPWM3_SM2CVAL2CYC (IMXRT_FLEXPWM3.SM[2].CVAL2CYC)
  3101. #define FLEXPWM3_SM2CVAL3 (IMXRT_FLEXPWM3.SM[2].CVAL3)
  3102. #define FLEXPWM3_SM2CVAL3CYC (IMXRT_FLEXPWM3.SM[2].CVAL3CYC)
  3103. #define FLEXPWM3_SM2CVAL4 (IMXRT_FLEXPWM3.SM[2].CVAL4)
  3104. #define FLEXPWM3_SM2CVAL4CYC (IMXRT_FLEXPWM3.SM[2].CVAL4CYC)
  3105. #define FLEXPWM3_SM2CVAL5 (IMXRT_FLEXPWM3.SM[2].CVAL5)
  3106. #define FLEXPWM3_SM2CVAL5CYC (IMXRT_FLEXPWM3.SM[2].CVAL5CYC)
  3107. #define FLEXPWM3_SM3CNT (IMXRT_FLEXPWM3.SM[3].CNT)
  3108. #define FLEXPWM3_SM3INIT (IMXRT_FLEXPWM3.SM[3].INIT)
  3109. #define FLEXPWM3_SM3CTRL2 (IMXRT_FLEXPWM3.SM[3].CTRL2)
  3110. #define FLEXPWM3_SM3CTRL (IMXRT_FLEXPWM3.SM[3].CTRL)
  3111. #define FLEXPWM3_SM3VAL0 (IMXRT_FLEXPWM3.SM[3].VAL0)
  3112. #define FLEXPWM3_SM3FRACVAL1 (IMXRT_FLEXPWM3.SM[3].FRACVAL1)
  3113. #define FLEXPWM3_SM3VAL1 (IMXRT_FLEXPWM3.SM[3].VAL1)
  3114. #define FLEXPWM3_SM3FRACVAL2 (IMXRT_FLEXPWM3.SM[3].FRACVAL2)
  3115. #define FLEXPWM3_SM3VAL2 (IMXRT_FLEXPWM3.SM[3].VAL2)
  3116. #define FLEXPWM3_SM3FRACVAL3 (IMXRT_FLEXPWM3.SM[3].FRACVAL3)
  3117. #define FLEXPWM3_SM3VAL3 (IMXRT_FLEXPWM3.SM[3].VAL3)
  3118. #define FLEXPWM3_SM3FRACVAL4 (IMXRT_FLEXPWM3.SM[3].FRACVAL4)
  3119. #define FLEXPWM3_SM3VAL4 (IMXRT_FLEXPWM3.SM[3].VAL4)
  3120. #define FLEXPWM3_SM3FRACVAL5 (IMXRT_FLEXPWM3.SM[3].FRACVAL5)
  3121. #define FLEXPWM3_SM3VAL5 (IMXRT_FLEXPWM3.SM[3].VAL5)
  3122. #define FLEXPWM3_SM3FRCTRL (IMXRT_FLEXPWM3.SM[3].FRCTRL)
  3123. #define FLEXPWM3_SM3OCTRL (IMXRT_FLEXPWM3.SM[3].OCTRL)
  3124. #define FLEXPWM3_SM3STS (IMXRT_FLEXPWM3.SM[3].STS)
  3125. #define FLEXPWM3_SM3INTEN (IMXRT_FLEXPWM3.SM[3].INTEN)
  3126. #define FLEXPWM3_SM3DMAEN (IMXRT_FLEXPWM3.SM[3].DMAEN)
  3127. #define FLEXPWM3_SM3TCTRL (IMXRT_FLEXPWM3.SM[3].TCTRL)
  3128. #define FLEXPWM3_SM3DISMAP0 (IMXRT_FLEXPWM3.SM[3].DISMAP0)
  3129. #define FLEXPWM3_SM3DISMAP1 (IMXRT_FLEXPWM3.SM[3].DISMAP1)
  3130. #define FLEXPWM3_SM3DTCNT0 (IMXRT_FLEXPWM3.SM[3].DTCNT0)
  3131. #define FLEXPWM3_SM3DTCNT1 (IMXRT_FLEXPWM3.SM[3].DTCNT1)
  3132. #define FLEXPWM3_SM3CAPTCTRLA (IMXRT_FLEXPWM3.SM[3].CAPTCTRLA)
  3133. #define FLEXPWM3_SM3CAPTCOMPA (IMXRT_FLEXPWM3.SM[3].CAPTCOMPA)
  3134. #define FLEXPWM3_SM3CAPTCTRLB (IMXRT_FLEXPWM3.SM[3].CAPTCTRLB)
  3135. #define FLEXPWM3_SM3CAPTCOMPB (IMXRT_FLEXPWM3.SM[3].CAPTCOMPB)
  3136. #define FLEXPWM3_SM3CAPTCTRLX (IMXRT_FLEXPWM3.SM[3].CAPTCTRLX)
  3137. #define FLEXPWM3_SM3CAPTCOMPX (IMXRT_FLEXPWM3.SM[3].CAPTCOMPX)
  3138. #define FLEXPWM3_SM3CVAL0 (IMXRT_FLEXPWM3.SM[3].CVAL0)
  3139. #define FLEXPWM3_SM3CVAL0CYC (IMXRT_FLEXPWM3.SM[3].CVAL0CYC)
  3140. #define FLEXPWM3_SM3CVAL1 (IMXRT_FLEXPWM3.SM[3].CVAL1)
  3141. #define FLEXPWM3_SM3CVAL1CYC (IMXRT_FLEXPWM3.SM[3].CVAL1CYC)
  3142. #define FLEXPWM3_SM3CVAL2 (IMXRT_FLEXPWM3.SM[3].CVAL2)
  3143. #define FLEXPWM3_SM3CVAL2CYC (IMXRT_FLEXPWM3.SM[3].CVAL2CYC)
  3144. #define FLEXPWM3_SM3CVAL3 (IMXRT_FLEXPWM3.SM[3].CVAL3)
  3145. #define FLEXPWM3_SM3CVAL3CYC (IMXRT_FLEXPWM3.SM[3].CVAL3CYC)
  3146. #define FLEXPWM3_SM3CVAL4 (IMXRT_FLEXPWM3.SM[3].CVAL4)
  3147. #define FLEXPWM3_SM3CVAL4CYC (IMXRT_FLEXPWM3.SM[3].CVAL4CYC)
  3148. #define FLEXPWM3_SM3CVAL5 (IMXRT_FLEXPWM3.SM[3].CVAL5)
  3149. #define FLEXPWM3_SM3CVAL5CYC (IMXRT_FLEXPWM3.SM[3].CVAL5CYC)
  3150. #define FLEXPWM3_OUTEN (IMXRT_FLEXPWM3.OUTEN)
  3151. #define FLEXPWM3_MASK (IMXRT_FLEXPWM3.MASK)
  3152. #define FLEXPWM3_SWCOUT (IMXRT_FLEXPWM3.SWCOUT)
  3153. #define FLEXPWM3_DTSRCSEL (IMXRT_FLEXPWM3.DTSRCSEL)
  3154. #define FLEXPWM3_MCTRL (IMXRT_FLEXPWM3.MCTRL)
  3155. #define FLEXPWM3_MCTRL2 (IMXRT_FLEXPWM3.MCTRL2)
  3156. #define FLEXPWM3_FCTRL0 (IMXRT_FLEXPWM3.FCTRL0)
  3157. #define FLEXPWM3_FSTS0 (IMXRT_FLEXPWM3.FSTS0)
  3158. #define FLEXPWM3_FFILT0 (IMXRT_FLEXPWM3.FFILT0)
  3159. #define FLEXPWM3_FTST0 (IMXRT_FLEXPWM3.FTST0)
  3160. #define FLEXPWM3_FCTRL20 (IMXRT_FLEXPWM3.FCTRL20)
  3161. #define FLEXPWM4_SM0CNT (IMXRT_FLEXPWM4.SM[0].CNT)
  3162. #define FLEXPWM4_SM0INIT (IMXRT_FLEXPWM4.SM[0].INIT)
  3163. #define FLEXPWM4_SM0CTRL2 (IMXRT_FLEXPWM4.SM[0].CTRL2)
  3164. #define FLEXPWM4_SM0CTRL (IMXRT_FLEXPWM4.SM[0].CTRL)
  3165. #define FLEXPWM4_SM0VAL0 (IMXRT_FLEXPWM4.SM[0].VAL0)
  3166. #define FLEXPWM4_SM0FRACVAL1 (IMXRT_FLEXPWM4.SM[0].FRACVAL1)
  3167. #define FLEXPWM4_SM0VAL1 (IMXRT_FLEXPWM4.SM[0].VAL1)
  3168. #define FLEXPWM4_SM0FRACVAL2 (IMXRT_FLEXPWM4.SM[0].FRACVAL2)
  3169. #define FLEXPWM4_SM0VAL2 (IMXRT_FLEXPWM4.SM[0].VAL2)
  3170. #define FLEXPWM4_SM0FRACVAL3 (IMXRT_FLEXPWM4.SM[0].FRACVAL3)
  3171. #define FLEXPWM4_SM0VAL3 (IMXRT_FLEXPWM4.SM[0].VAL3)
  3172. #define FLEXPWM4_SM0FRACVAL4 (IMXRT_FLEXPWM4.SM[0].FRACVAL4)
  3173. #define FLEXPWM4_SM0VAL4 (IMXRT_FLEXPWM4.SM[0].VAL4)
  3174. #define FLEXPWM4_SM0FRACVAL5 (IMXRT_FLEXPWM4.SM[0].FRACVAL5)
  3175. #define FLEXPWM4_SM0VAL5 (IMXRT_FLEXPWM4.SM[0].VAL5)
  3176. #define FLEXPWM4_SM0FRCTRL (IMXRT_FLEXPWM4.SM[0].FRCTRL)
  3177. #define FLEXPWM4_SM0OCTRL (IMXRT_FLEXPWM4.SM[0].OCTRL)
  3178. #define FLEXPWM4_SM0STS (IMXRT_FLEXPWM4.SM[0].STS)
  3179. #define FLEXPWM4_SM0INTEN (IMXRT_FLEXPWM4.SM[0].INTEN)
  3180. #define FLEXPWM4_SM0DMAEN (IMXRT_FLEXPWM4.SM[0].DMAEN)
  3181. #define FLEXPWM4_SM0TCTRL (IMXRT_FLEXPWM4.SM[0].TCTRL)
  3182. #define FLEXPWM4_SM0DISMAP0 (IMXRT_FLEXPWM4.SM[0].DISMAP0)
  3183. #define FLEXPWM4_SM0DISMAP1 (IMXRT_FLEXPWM4.SM[0].DISMAP1)
  3184. #define FLEXPWM4_SM0DTCNT0 (IMXRT_FLEXPWM4.SM[0].DTCNT0)
  3185. #define FLEXPWM4_SM0DTCNT1 (IMXRT_FLEXPWM4.SM[0].DTCNT1)
  3186. #define FLEXPWM4_SM0CAPTCTRLA (IMXRT_FLEXPWM4.SM[0].CAPTCTRLA)
  3187. #define FLEXPWM4_SM0CAPTCOMPA (IMXRT_FLEXPWM4.SM[0].CAPTCOMPA)
  3188. #define FLEXPWM4_SM0CAPTCTRLB (IMXRT_FLEXPWM4.SM[0].CAPTCTRLB)
  3189. #define FLEXPWM4_SM0CAPTCOMPB (IMXRT_FLEXPWM4.SM[0].CAPTCOMPB)
  3190. #define FLEXPWM4_SM0CAPTCTRLX (IMXRT_FLEXPWM4.SM[0].CAPTCTRLX)
  3191. #define FLEXPWM4_SM0CAPTCOMPX (IMXRT_FLEXPWM4.SM[0].CAPTCOMPX)
  3192. #define FLEXPWM4_SM0CVAL0 (IMXRT_FLEXPWM4.SM[0].CVAL0)
  3193. #define FLEXPWM4_SM0CVAL0CYC (IMXRT_FLEXPWM4.SM[0].CVAL0CYC)
  3194. #define FLEXPWM4_SM0CVAL1 (IMXRT_FLEXPWM4.SM[0].CVAL1)
  3195. #define FLEXPWM4_SM0CVAL1CYC (IMXRT_FLEXPWM4.SM[0].CVAL1CYC)
  3196. #define FLEXPWM4_SM0CVAL2 (IMXRT_FLEXPWM4.SM[0].CVAL2)
  3197. #define FLEXPWM4_SM0CVAL2CYC (IMXRT_FLEXPWM4.SM[0].CVAL2CYC)
  3198. #define FLEXPWM4_SM0CVAL3 (IMXRT_FLEXPWM4.SM[0].CVAL3)
  3199. #define FLEXPWM4_SM0CVAL3CYC (IMXRT_FLEXPWM4.SM[0].CVAL3CYC)
  3200. #define FLEXPWM4_SM0CVAL4 (IMXRT_FLEXPWM4.SM[0].CVAL4)
  3201. #define FLEXPWM4_SM0CVAL4CYC (IMXRT_FLEXPWM4.SM[0].CVAL4CYC)
  3202. #define FLEXPWM4_SM0CVAL5 (IMXRT_FLEXPWM4.SM[0].CVAL5)
  3203. #define FLEXPWM4_SM0CVAL5CYC (IMXRT_FLEXPWM4.SM[0].CVAL5CYC)
  3204. #define FLEXPWM4_SM1CNT (IMXRT_FLEXPWM4.SM[1].CNT)
  3205. #define FLEXPWM4_SM1INIT (IMXRT_FLEXPWM4.SM[1].INIT)
  3206. #define FLEXPWM4_SM1CTRL2 (IMXRT_FLEXPWM4.SM[1].CTRL2)
  3207. #define FLEXPWM4_SM1CTRL (IMXRT_FLEXPWM4.SM[1].CTRL)
  3208. #define FLEXPWM4_SM1VAL0 (IMXRT_FLEXPWM4.SM[1].VAL0)
  3209. #define FLEXPWM4_SM1FRACVAL1 (IMXRT_FLEXPWM4.SM[1].FRACVAL1)
  3210. #define FLEXPWM4_SM1VAL1 (IMXRT_FLEXPWM4.SM[1].VAL1)
  3211. #define FLEXPWM4_SM1FRACVAL2 (IMXRT_FLEXPWM4.SM[1].FRACVAL2)
  3212. #define FLEXPWM4_SM1VAL2 (IMXRT_FLEXPWM4.SM[1].VAL2)
  3213. #define FLEXPWM4_SM1FRACVAL3 (IMXRT_FLEXPWM4.SM[1].FRACVAL3)
  3214. #define FLEXPWM4_SM1VAL3 (IMXRT_FLEXPWM4.SM[1].VAL3)
  3215. #define FLEXPWM4_SM1FRACVAL4 (IMXRT_FLEXPWM4.SM[1].FRACVAL4)
  3216. #define FLEXPWM4_SM1VAL4 (IMXRT_FLEXPWM4.SM[1].VAL4)
  3217. #define FLEXPWM4_SM1FRACVAL5 (IMXRT_FLEXPWM4.SM[1].FRACVAL5)
  3218. #define FLEXPWM4_SM1VAL5 (IMXRT_FLEXPWM4.SM[1].VAL5)
  3219. #define FLEXPWM4_SM1FRCTRL (IMXRT_FLEXPWM4.SM[1].FRCTRL)
  3220. #define FLEXPWM4_SM1OCTRL (IMXRT_FLEXPWM4.SM[1].OCTRL)
  3221. #define FLEXPWM4_SM1STS (IMXRT_FLEXPWM4.SM[1].STS)
  3222. #define FLEXPWM4_SM1INTEN (IMXRT_FLEXPWM4.SM[1].INTEN)
  3223. #define FLEXPWM4_SM1DMAEN (IMXRT_FLEXPWM4.SM[1].DMAEN)
  3224. #define FLEXPWM4_SM1TCTRL (IMXRT_FLEXPWM4.SM[1].TCTRL)
  3225. #define FLEXPWM4_SM1DISMAP0 (IMXRT_FLEXPWM4.SM[1].DISMAP0)
  3226. #define FLEXPWM4_SM1DISMAP1 (IMXRT_FLEXPWM4.SM[1].DISMAP1)
  3227. #define FLEXPWM4_SM1DTCNT0 (IMXRT_FLEXPWM4.SM[1].DTCNT0)
  3228. #define FLEXPWM4_SM1DTCNT1 (IMXRT_FLEXPWM4.SM[1].DTCNT1)
  3229. #define FLEXPWM4_SM1CAPTCTRLA (IMXRT_FLEXPWM4.SM[1].CAPTCTRLA)
  3230. #define FLEXPWM4_SM1CAPTCOMPA (IMXRT_FLEXPWM4.SM[1].CAPTCOMPA)
  3231. #define FLEXPWM4_SM1CAPTCTRLB (IMXRT_FLEXPWM4.SM[1].CAPTCTRLB)
  3232. #define FLEXPWM4_SM1CAPTCOMPB (IMXRT_FLEXPWM4.SM[1].CAPTCOMPB)
  3233. #define FLEXPWM4_SM1CAPTCTRLX (IMXRT_FLEXPWM4.SM[1].CAPTCTRLX)
  3234. #define FLEXPWM4_SM1CAPTCOMPX (IMXRT_FLEXPWM4.SM[1].CAPTCOMPX)
  3235. #define FLEXPWM4_SM1CVAL0 (IMXRT_FLEXPWM4.SM[1].CVAL0)
  3236. #define FLEXPWM4_SM1CVAL0CYC (IMXRT_FLEXPWM4.SM[1].CVAL0CYC)
  3237. #define FLEXPWM4_SM1CVAL1 (IMXRT_FLEXPWM4.SM[1].CVAL1)
  3238. #define FLEXPWM4_SM1CVAL1CYC (IMXRT_FLEXPWM4.SM[1].CVAL1CYC)
  3239. #define FLEXPWM4_SM1CVAL2 (IMXRT_FLEXPWM4.SM[1].CVAL2)
  3240. #define FLEXPWM4_SM1CVAL2CYC (IMXRT_FLEXPWM4.SM[1].CVAL2CYC)
  3241. #define FLEXPWM4_SM1CVAL3 (IMXRT_FLEXPWM4.SM[1].CVAL3)
  3242. #define FLEXPWM4_SM1CVAL3CYC (IMXRT_FLEXPWM4.SM[1].CVAL3CYC)
  3243. #define FLEXPWM4_SM1CVAL4 (IMXRT_FLEXPWM4.SM[1].CVAL4)
  3244. #define FLEXPWM4_SM1CVAL4CYC (IMXRT_FLEXPWM4.SM[1].CVAL4CYC)
  3245. #define FLEXPWM4_SM1CVAL5 (IMXRT_FLEXPWM4.SM[1].CVAL5)
  3246. #define FLEXPWM4_SM1CVAL5CYC (IMXRT_FLEXPWM4.SM[1].CVAL5CYC)
  3247. #define FLEXPWM4_SM2CNT (IMXRT_FLEXPWM4.SM[2].CNT)
  3248. #define FLEXPWM4_SM2INIT (IMXRT_FLEXPWM4.SM[2].INIT)
  3249. #define FLEXPWM4_SM2CTRL2 (IMXRT_FLEXPWM4.SM[2].CTRL2)
  3250. #define FLEXPWM4_SM2CTRL (IMXRT_FLEXPWM4.SM[2].CTRL)
  3251. #define FLEXPWM4_SM2VAL0 (IMXRT_FLEXPWM4.SM[2].VAL0)
  3252. #define FLEXPWM4_SM2FRACVAL1 (IMXRT_FLEXPWM4.SM[2].FRACVAL1)
  3253. #define FLEXPWM4_SM2VAL1 (IMXRT_FLEXPWM4.SM[2].VAL1)
  3254. #define FLEXPWM4_SM2FRACVAL2 (IMXRT_FLEXPWM4.SM[2].FRACVAL2)
  3255. #define FLEXPWM4_SM2VAL2 (IMXRT_FLEXPWM4.SM[2].VAL2)
  3256. #define FLEXPWM4_SM2FRACVAL3 (IMXRT_FLEXPWM4.SM[2].FRACVAL3)
  3257. #define FLEXPWM4_SM2VAL3 (IMXRT_FLEXPWM4.SM[2].VAL3)
  3258. #define FLEXPWM4_SM2FRACVAL4 (IMXRT_FLEXPWM4.SM[2].FRACVAL4)
  3259. #define FLEXPWM4_SM2VAL4 (IMXRT_FLEXPWM4.SM[2].VAL4)
  3260. #define FLEXPWM4_SM2FRACVAL5 (IMXRT_FLEXPWM4.SM[2].FRACVAL5)
  3261. #define FLEXPWM4_SM2VAL5 (IMXRT_FLEXPWM4.SM[2].VAL5)
  3262. #define FLEXPWM4_SM2FRCTRL (IMXRT_FLEXPWM4.SM[2].FRCTRL)
  3263. #define FLEXPWM4_SM2OCTRL (IMXRT_FLEXPWM4.SM[2].OCTRL)
  3264. #define FLEXPWM4_SM2STS (IMXRT_FLEXPWM4.SM[2].STS)
  3265. #define FLEXPWM4_SM2INTEN (IMXRT_FLEXPWM4.SM[2].INTEN)
  3266. #define FLEXPWM4_SM2DMAEN (IMXRT_FLEXPWM4.SM[2].DMAEN)
  3267. #define FLEXPWM4_SM2TCTRL (IMXRT_FLEXPWM4.SM[2].TCTRL)
  3268. #define FLEXPWM4_SM2DISMAP0 (IMXRT_FLEXPWM4.SM[2].DISMAP0)
  3269. #define FLEXPWM4_SM2DISMAP1 (IMXRT_FLEXPWM4.SM[2].DISMAP1)
  3270. #define FLEXPWM4_SM2DTCNT0 (IMXRT_FLEXPWM4.SM[2].DTCNT0)
  3271. #define FLEXPWM4_SM2DTCNT1 (IMXRT_FLEXPWM4.SM[2].DTCNT1)
  3272. #define FLEXPWM4_SM2CAPTCTRLA (IMXRT_FLEXPWM4.SM[2].CAPTCTRLA)
  3273. #define FLEXPWM4_SM2CAPTCOMPA (IMXRT_FLEXPWM4.SM[2].CAPTCOMPA)
  3274. #define FLEXPWM4_SM2CAPTCTRLB (IMXRT_FLEXPWM4.SM[2].CAPTCTRLB)
  3275. #define FLEXPWM4_SM2CAPTCOMPB (IMXRT_FLEXPWM4.SM[2].CAPTCOMPB)
  3276. #define FLEXPWM4_SM2CAPTCTRLX (IMXRT_FLEXPWM4.SM[2].CAPTCTRLX)
  3277. #define FLEXPWM4_SM2CAPTCOMPX (IMXRT_FLEXPWM4.SM[2].CAPTCOMPX)
  3278. #define FLEXPWM4_SM2CVAL0 (IMXRT_FLEXPWM4.SM[2].CVAL0)
  3279. #define FLEXPWM4_SM2CVAL0CYC (IMXRT_FLEXPWM4.SM[2].CVAL0CYC)
  3280. #define FLEXPWM4_SM2CVAL1 (IMXRT_FLEXPWM4.SM[2].CVAL1)
  3281. #define FLEXPWM4_SM2CVAL1CYC (IMXRT_FLEXPWM4.SM[2].CVAL1CYC)
  3282. #define FLEXPWM4_SM2CVAL2 (IMXRT_FLEXPWM4.SM[2].CVAL2)
  3283. #define FLEXPWM4_SM2CVAL2CYC (IMXRT_FLEXPWM4.SM[2].CVAL2CYC)
  3284. #define FLEXPWM4_SM2CVAL3 (IMXRT_FLEXPWM4.SM[2].CVAL3)
  3285. #define FLEXPWM4_SM2CVAL3CYC (IMXRT_FLEXPWM4.SM[2].CVAL3CYC)
  3286. #define FLEXPWM4_SM2CVAL4 (IMXRT_FLEXPWM4.SM[2].CVAL4)
  3287. #define FLEXPWM4_SM2CVAL4CYC (IMXRT_FLEXPWM4.SM[2].CVAL4CYC)
  3288. #define FLEXPWM4_SM2CVAL5 (IMXRT_FLEXPWM4.SM[2].CVAL5)
  3289. #define FLEXPWM4_SM2CVAL5CYC (IMXRT_FLEXPWM4.SM[2].CVAL5CYC)
  3290. #define FLEXPWM4_SM3CNT (IMXRT_FLEXPWM4.SM[3].CNT)
  3291. #define FLEXPWM4_SM3INIT (IMXRT_FLEXPWM4.SM[3].INIT)
  3292. #define FLEXPWM4_SM3CTRL2 (IMXRT_FLEXPWM4.SM[3].CTRL2)
  3293. #define FLEXPWM4_SM3CTRL (IMXRT_FLEXPWM4.SM[3].CTRL)
  3294. #define FLEXPWM4_SM3VAL0 (IMXRT_FLEXPWM4.SM[3].VAL0)
  3295. #define FLEXPWM4_SM3FRACVAL1 (IMXRT_FLEXPWM4.SM[3].FRACVAL1)
  3296. #define FLEXPWM4_SM3VAL1 (IMXRT_FLEXPWM4.SM[3].VAL1)
  3297. #define FLEXPWM4_SM3FRACVAL2 (IMXRT_FLEXPWM4.SM[3].FRACVAL2)
  3298. #define FLEXPWM4_SM3VAL2 (IMXRT_FLEXPWM4.SM[3].VAL2)
  3299. #define FLEXPWM4_SM3FRACVAL3 (IMXRT_FLEXPWM4.SM[3].FRACVAL3)
  3300. #define FLEXPWM4_SM3VAL3 (IMXRT_FLEXPWM4.SM[3].VAL3)
  3301. #define FLEXPWM4_SM3FRACVAL4 (IMXRT_FLEXPWM4.SM[3].FRACVAL4)
  3302. #define FLEXPWM4_SM3VAL4 (IMXRT_FLEXPWM4.SM[3].VAL4)
  3303. #define FLEXPWM4_SM3FRACVAL5 (IMXRT_FLEXPWM4.SM[3].FRACVAL5)
  3304. #define FLEXPWM4_SM3VAL5 (IMXRT_FLEXPWM4.SM[3].VAL5)
  3305. #define FLEXPWM4_SM3FRCTRL (IMXRT_FLEXPWM4.SM[3].FRCTRL)
  3306. #define FLEXPWM4_SM3OCTRL (IMXRT_FLEXPWM4.SM[3].OCTRL)
  3307. #define FLEXPWM4_SM3STS (IMXRT_FLEXPWM4.SM[3].STS)
  3308. #define FLEXPWM4_SM3INTEN (IMXRT_FLEXPWM4.SM[3].INTEN)
  3309. #define FLEXPWM4_SM3DMAEN (IMXRT_FLEXPWM4.SM[3].DMAEN)
  3310. #define FLEXPWM4_SM3TCTRL (IMXRT_FLEXPWM4.SM[3].TCTRL)
  3311. #define FLEXPWM4_SM3DISMAP0 (IMXRT_FLEXPWM4.SM[3].DISMAP0)
  3312. #define FLEXPWM4_SM3DISMAP1 (IMXRT_FLEXPWM4.SM[3].DISMAP1)
  3313. #define FLEXPWM4_SM3DTCNT0 (IMXRT_FLEXPWM4.SM[3].DTCNT0)
  3314. #define FLEXPWM4_SM3DTCNT1 (IMXRT_FLEXPWM4.SM[3].DTCNT1)
  3315. #define FLEXPWM4_SM3CAPTCTRLA (IMXRT_FLEXPWM4.SM[3].CAPTCTRLA)
  3316. #define FLEXPWM4_SM3CAPTCOMPA (IMXRT_FLEXPWM4.SM[3].CAPTCOMPA)
  3317. #define FLEXPWM4_SM3CAPTCTRLB (IMXRT_FLEXPWM4.SM[3].CAPTCTRLB)
  3318. #define FLEXPWM4_SM3CAPTCOMPB (IMXRT_FLEXPWM4.SM[3].CAPTCOMPB)
  3319. #define FLEXPWM4_SM3CAPTCTRLX (IMXRT_FLEXPWM4.SM[3].CAPTCTRLX)
  3320. #define FLEXPWM4_SM3CAPTCOMPX (IMXRT_FLEXPWM4.SM[3].CAPTCOMPX)
  3321. #define FLEXPWM4_SM3CVAL0 (IMXRT_FLEXPWM4.SM[3].CVAL0)
  3322. #define FLEXPWM4_SM3CVAL0CYC (IMXRT_FLEXPWM4.SM[3].CVAL0CYC)
  3323. #define FLEXPWM4_SM3CVAL1 (IMXRT_FLEXPWM4.SM[3].CVAL1)
  3324. #define FLEXPWM4_SM3CVAL1CYC (IMXRT_FLEXPWM4.SM[3].CVAL1CYC)
  3325. #define FLEXPWM4_SM3CVAL2 (IMXRT_FLEXPWM4.SM[3].CVAL2)
  3326. #define FLEXPWM4_SM3CVAL2CYC (IMXRT_FLEXPWM4.SM[3].CVAL2CYC)
  3327. #define FLEXPWM4_SM3CVAL3 (IMXRT_FLEXPWM4.SM[3].CVAL3)
  3328. #define FLEXPWM4_SM3CVAL3CYC (IMXRT_FLEXPWM4.SM[3].CVAL3CYC)
  3329. #define FLEXPWM4_SM3CVAL4 (IMXRT_FLEXPWM4.SM[3].CVAL4)
  3330. #define FLEXPWM4_SM3CVAL4CYC (IMXRT_FLEXPWM4.SM[3].CVAL4CYC)
  3331. #define FLEXPWM4_SM3CVAL5 (IMXRT_FLEXPWM4.SM[3].CVAL5)
  3332. #define FLEXPWM4_SM3CVAL5CYC (IMXRT_FLEXPWM4.SM[3].CVAL5CYC)
  3333. #define FLEXPWM4_OUTEN (IMXRT_FLEXPWM4.OUTEN)
  3334. #define FLEXPWM4_MASK (IMXRT_FLEXPWM4.MASK)
  3335. #define FLEXPWM4_SWCOUT (IMXRT_FLEXPWM4.SWCOUT)
  3336. #define FLEXPWM4_DTSRCSEL (IMXRT_FLEXPWM4.DTSRCSEL)
  3337. #define FLEXPWM4_MCTRL (IMXRT_FLEXPWM4.MCTRL)
  3338. #define FLEXPWM4_MCTRL2 (IMXRT_FLEXPWM4.MCTRL2)
  3339. #define FLEXPWM4_FCTRL0 (IMXRT_FLEXPWM4.FCTRL0)
  3340. #define FLEXPWM4_FSTS0 (IMXRT_FLEXPWM4.FSTS0)
  3341. #define FLEXPWM4_FFILT0 (IMXRT_FLEXPWM4.FFILT0)
  3342. #define FLEXPWM4_FTST0 (IMXRT_FLEXPWM4.FTST0)
  3343. #define FLEXPWM4_FCTRL20 (IMXRT_FLEXPWM4.FCTRL20)
  3344. // page 1361
  3345. #define FLEXPWM_SMCTRL2_DBGEN ((uint16_t)(1<<15))
  3346. #define FLEXPWM_SMCTRL2_WAITEN ((uint16_t)(1<<14))
  3347. #define FLEXPWM_SMCTRL2_INDEP ((uint16_t)(1<<13))
  3348. #define FLEXPWM_SMCTRL2_PWM23_INIT ((uint16_t)(1<<12))
  3349. #define FLEXPWM_SMCTRL2_PWM45_INIT ((uint16_t)(1<<11))
  3350. #define FLEXPWM_SMCTRL2_PWMX_INIT ((uint16_t)(1<<10))
  3351. #define FLEXPWM_SMCTRL2_INIT_SEL(n) ((uint16_t)(((n) & 0x03) << 8))
  3352. #define FLEXPWM_SMCTRL2_FRCEN ((uint16_t)(1<<7))
  3353. #define FLEXPWM_SMCTRL2_FORCE ((uint16_t)(1<<6))
  3354. #define FLEXPWM_SMCTRL2_FORCE_SEL(n) ((uint16_t)(((n) & 0x07) << 3))
  3355. #define FLEXPWM_SMCTRL2_RELOAD_SEL ((uint16_t)(1<<2))
  3356. #define FLEXPWM_SMCTRL2_CLK_SEL(n) ((uint16_t)(((n) & 0x03) << 0))
  3357. #define FLEXPWM_SMCTRL_LDFQ(n) ((uint16_t)(((n) & 0x0F) << 12))
  3358. #define FLEXPWM_SMCTRL_HALF ((uint16_t)(1<<11))
  3359. #define FLEXPWM_SMCTRL_FULL ((uint16_t)(1<<10))
  3360. #define FLEXPWM_SMCTRL_DT(n) ((uint16_t)(((n) & 0x03) << 8))
  3361. #define FLEXPWM_SMCTRL_COMPMODE ((uint16_t)(1<<7))
  3362. #define FLEXPWM_SMCTRL_PRSC(n) ((uint16_t)(((n) & 0x0F) << 4))
  3363. #define FLEXPWM_SMCTRL_SPLIT ((uint16_t)(1<<3))
  3364. #define FLEXPWM_SMCTRL_LDMOD ((uint16_t)(1<<2))
  3365. #define FLEXPWM_SMCTRL_DBLX ((uint16_t)(1<<1))
  3366. #define FLEXPWM_SMCTRL_DBLEN ((uint16_t)(1<<0))
  3367. #define FLEXPWM_SMFRCTRL_TEST ((uint16_t)(1<<15))
  3368. #define FLEXPWM_SMFRCTRL_FRAC_PU ((uint16_t)(1<<8))
  3369. #define FLEXPWM_SMFRCTRL_FRAC45_EN ((uint16_t)(1<<4))
  3370. #define FLEXPWM_SMFRCTRL_FRAC23_EN ((uint16_t)(1<<2))
  3371. #define FLEXPWM_SMFRCTRL_FRAC1_EN ((uint16_t)(1<<1))
  3372. #define FLEXPWM_SMOCTRL_PWMA_IN ((uint16_t)(1<<15))
  3373. #define FLEXPWM_SMOCTRL_PWMB_IN ((uint16_t)(1<<14))
  3374. #define FLEXPWM_SMOCTRL_PWMX_IN ((uint16_t)(1<<13))
  3375. #define FLEXPWM_SMOCTRL_POLA ((uint16_t)(1<<10))
  3376. #define FLEXPWM_SMOCTRL_POLB ((uint16_t)(1<<9))
  3377. #define FLEXPWM_SMOCTRL_POLX ((uint16_t)(1<<8))
  3378. #define FLEXPWM_SMOCTRL_PWMAFS(n) ((uint16_t)(((n) & 0x03) << 4))
  3379. #define FLEXPWM_SMOCTRL_PWMBFS(n) ((uint16_t)(((n) & 0x03) << 2))
  3380. #define FLEXPWM_SMOCTRL_PWMXFS(n) ((uint16_t)(((n) & 0x03) << 0))
  3381. #define FLEXPWM_SMSTS_RUF ((uint16_t)(1<<14))
  3382. #define FLEXPWM_SMSTS_REF ((uint16_t)(1<<13))
  3383. #define FLEXPWM_SMSTS_RF ((uint16_t)(1<<12))
  3384. #define FLEXPWM_SMSTS_CFA1 ((uint16_t)(1<<11))
  3385. #define FLEXPWM_SMSTS_CFA0 ((uint16_t)(1<<10))
  3386. #define FLEXPWM_SMSTS_CFB1 ((uint16_t)(1<<9))
  3387. #define FLEXPWM_SMSTS_CFB0 ((uint16_t)(1<<8))
  3388. #define FLEXPWM_SMSTS_CFX1 ((uint16_t)(1<<7))
  3389. #define FLEXPWM_SMSTS_CFX0 ((uint16_t)(1<<6))
  3390. #define FLEXPWM_SMSTS_CMPF(n) ((uint16_t)(((n) & 0x3F) << 0))
  3391. #define FLEXPWM_SMINTEN_REIE ((uint16_t)(1<<13))
  3392. #define FLEXPWM_SMINTEN_RIE ((uint16_t)(1<<12))
  3393. #define FLEXPWM_SMINTEN_CA1IE ((uint16_t)(1<<11))
  3394. #define FLEXPWM_SMINTEN_CA0IE ((uint16_t)(1<<10))
  3395. #define FLEXPWM_SMINTEN_CB1IE ((uint16_t)(1<<9))
  3396. #define FLEXPWM_SMINTEN_CB0IE ((uint16_t)(1<<8))
  3397. #define FLEXPWM_SMINTEN_CX1IE ((uint16_t)(1<<7))
  3398. #define FLEXPWM_SMINTEN_CX0IE ((uint16_t)(1<<6))
  3399. #define FLEXPWM_SMINTEN_CMPIE(n) ((uint16_t)(((n) & 0x3F) << 0))
  3400. #define FLEXPWM_SMDMAEN_VALDE ((uint16_t)(1<<9))
  3401. #define FLEXPWM_SMDMAEN_FAND ((uint16_t)(1<<8))
  3402. #define FLEXPWM_SMDMAEN_CAPTDE(n) ((uint16_t)(((n) & 0x03) << 6))
  3403. #define FLEXPWM_SMDMAEN_CA1DE ((uint16_t)(1<<5))
  3404. #define FLEXPWM_SMDMAEN_CA0DE ((uint16_t)(1<<4))
  3405. #define FLEXPWM_SMDMAEN_CB1DE ((uint16_t)(1<<3))
  3406. #define FLEXPWM_SMDMAEN_CB0DE ((uint16_t)(1<<2))
  3407. #define FLEXPWM_SMDMAEN_CX1DE ((uint16_t)(1<<1))
  3408. #define FLEXPWM_SMDMAEN_CX0DE ((uint16_t)(1<<0))
  3409. #define FLEXPWM_SMTCTRL_PWAOT0 ((uint16_t)(1<<15))
  3410. #define FLEXPWM_SMTCTRL_PWBOT1 ((uint16_t)(1<<14))
  3411. #define FLEXPWM_SMTCTRL_TRGFRQ ((uint16_t)(1<<12))
  3412. #define FLEXPWM_SMTCTRL_OUT_TRIG_EN(n) ((uint16_t)(((n) & 0x1F) << 0))
  3413. #define FLEXPWM_SMDISMAP0_DIS0X(n) ((uint16_t)(((n) & 0x0F) << 8))
  3414. #define FLEXPWM_SMDISMAP0_DIS0B(n) ((uint16_t)(((n) & 0x0F) << 4))
  3415. #define FLEXPWM_SMDISMAP0_DIS0A(n) ((uint16_t)(((n) & 0x0F) << 0))
  3416. #define FLEXPWM_SMDISMAP1_DIS1X(n) ((uint16_t)(((n) & 0x0F) << 8))
  3417. #define FLEXPWM_SMDISMAP1_DIS1B(n) ((uint16_t)(((n) & 0x0F) << 4))
  3418. #define FLEXPWM_SMDISMAP1_DIS1A(n) ((uint16_t)(((n) & 0x0F) << 0))
  3419. #define FLEXPWM_SMCAPTCTRLA_CA1CNT(n) ((uint16_t)(((n) & 0x07) << 13))
  3420. #define FLEXPWM_SMCAPTCTRLA_CA0CNT(n) ((uint16_t)(((n) & 0x07) << 10))
  3421. #define FLEXPWM_SMCAPTCTRLA_CFAWM(n) ((uint16_t)(((n) & 0x03) << 8))
  3422. #define FLEXPWM_SMCAPTCTRLA_EDGCNTA_EN ((uint16_t)(1<<7))
  3423. #define FLEXPWM_SMCAPTCTRLA_INP_SELA ((uint16_t)(1<<6))
  3424. #define FLEXPWM_SMCAPTCTRLA_EDGA1(n) ((uint16_t)(((n) & 0x03) << 4))
  3425. #define FLEXPWM_SMCAPTCTRLA_EDGA0(n) ((uint16_t)(((n) & 0x03) << 2))
  3426. #define FLEXPWM_SMCAPTCTRLA_ONESHOTA ((uint16_t)(1<<1))
  3427. #define FLEXPWM_SMCAPTCTRLA_ARMA ((uint16_t)(1<<0))
  3428. #define FLEXPWM_SMCAPTCOMPA_EDGCNTA(n) ((uint16_t)(((n) & 0xFF) << 8))
  3429. #define FLEXPWM_SMCAPTCOMPA_EDGCMPA(n) ((uint16_t)(((n) & 0xFF) << 0))
  3430. #define FLEXPWM_SMCAPTCTRLB_CB1CNT(n) ((uint16_t)(((n) & 0x07) << 13))
  3431. #define FLEXPWM_SMCAPTCTRLB_CB0CNT(n) ((uint16_t)(((n) & 0x07) << 10))
  3432. #define FLEXPWM_SMCAPTCTRLB_CFBWM(n) ((uint16_t)(((n) & 0x03) << 8))
  3433. #define FLEXPWM_SMCAPTCTRLB_EDGCNTB_EN ((uint16_t)(1<<7))
  3434. #define FLEXPWM_SMCAPTCTRLB_INP_SELB ((uint16_t)(1<<6))
  3435. #define FLEXPWM_SMCAPTCTRLB_EDGB1(n) ((uint16_t)(((n) & 0x03) << 4))
  3436. #define FLEXPWM_SMCAPTCTRLB_EDGB0(n) ((uint16_t)(((n) & 0x03) << 2))
  3437. #define FLEXPWM_SMCAPTCTRLB_ONESHOTB ((uint16_t)(1<<1))
  3438. #define FLEXPWM_SMCAPTCTRLB_ARMB ((uint16_t)(1<<0))
  3439. #define FLEXPWM_SMCAPTCOMPB_EDGCNTB(n) ((uint16_t)(((n) & 0xFF) << 8))
  3440. #define FLEXPWM_SMCAPTCOMPB_EDGCMPB(n) ((uint16_t)(((n) & 0xFF) << 0))
  3441. #define FLEXPWM_SMCAPTCTRLX_CX1CNT(n) ((uint16_t)(((n) & 0x07) << 13))
  3442. #define FLEXPWM_SMCAPTCTRLX_CX0CNT(n) ((uint16_t)(((n) & 0x07) << 10))
  3443. #define FLEXPWM_SMCAPTCTRLX_CFXWM(n) ((uint16_t)(((n) & 0x03) << 8))
  3444. #define FLEXPWM_SMCAPTCTRLX_EDGCNTX_EN ((uint16_t)(1<<7))
  3445. #define FLEXPWM_SMCAPTCTRLX_INP_SELX ((uint16_t)(1<<6))
  3446. #define FLEXPWM_SMCAPTCTRLX_EDGX1(n) ((uint16_t)(((n) & 0x03) << 4))
  3447. #define FLEXPWM_SMCAPTCTRLX_EDGX0(n) ((uint16_t)(((n) & 0x03) << 2))
  3448. #define FLEXPWM_SMCAPTCTRLX_ONESHOTX ((uint16_t)(1<<1))
  3449. #define FLEXPWM_SMCAPTCTRLX_ARMX ((uint16_t)(1<<0))
  3450. #define FLEXPWM_SMCAPTCOMPX_EDGCNTX(n) ((uint16_t)(((n) & 0xFF) << 8))
  3451. #define FLEXPWM_SMCAPTCOMPX_EDGCMPX(n) ((uint16_t)(((n) & 0xFF) << 0))
  3452. #define FLEXPWM_OUTEN_PWMA_EN(n) ((uint16_t)(((n) & 0x0F) << 8))
  3453. #define FLEXPWM_OUTEN_PWMB_EN(n) ((uint16_t)(((n) & 0x0F) << 4))
  3454. #define FLEXPWM_OUTEN_PWMX_EN(n) ((uint16_t)(((n) & 0x0F) << 0))
  3455. #define FLEXPWM_MASK_UPDATE_MASK(n) ((uint16_t)(((n) & 0x0F) << 12))
  3456. #define FLEXPWM_MASK_MASKA(n) ((uint16_t)(((n) & 0x0F) << 8))
  3457. #define FLEXPWM_MASK_MASKB(n) ((uint16_t)(((n) & 0x0F) << 4))
  3458. #define FLEXPWM_MASK_MASKX(n) ((uint16_t)(((n) & 0x0F) << 0))
  3459. #define FLEXPWM_SWCOUT_SM3OUT23 ((uint16_t)(1<<7))
  3460. #define FLEXPWM_SWCOUT_SM3OUT45 ((uint16_t)(1<<6))
  3461. #define FLEXPWM_SWCOUT_SM2OUT23 ((uint16_t)(1<<5))
  3462. #define FLEXPWM_SWCOUT_SM2OUT45 ((uint16_t)(1<<4))
  3463. #define FLEXPWM_SWCOUT_SM1OUT23 ((uint16_t)(1<<3))
  3464. #define FLEXPWM_SWCOUT_SM1OUT45 ((uint16_t)(1<<2))
  3465. #define FLEXPWM_SWCOUT_SM0OUT23 ((uint16_t)(1<<1))
  3466. #define FLEXPWM_SWCOUT_SM0OUT45 ((uint16_t)(1<<0))
  3467. #define FLEXPWM_DTSRCSEL_SM3SEL23(n) ((uint16_t)(((n) & 0x03) << 14))
  3468. #define FLEXPWM_DTSRCSEL_SM3SEL45(n) ((uint16_t)(((n) & 0x03) << 12))
  3469. #define FLEXPWM_DTSRCSEL_SM2SEL23(n) ((uint16_t)(((n) & 0x03) << 10))
  3470. #define FLEXPWM_DTSRCSEL_SM2SEL45(n) ((uint16_t)(((n) & 0x03) << 8))
  3471. #define FLEXPWM_DTSRCSEL_SM1SEL23(n) ((uint16_t)(((n) & 0x03) << 6))
  3472. #define FLEXPWM_DTSRCSEL_SM1SEL45(n) ((uint16_t)(((n) & 0x03) << 4))
  3473. #define FLEXPWM_DTSRCSEL_SM0SEL23(n) ((uint16_t)(((n) & 0x03) << 2))
  3474. #define FLEXPWM_DTSRCSEL_SM0SEL45(n) ((uint16_t)(((n) & 0x03) << 0))
  3475. #define FLEXPWM_MCTRL_IPOL(n) ((uint16_t)(((n) & 0x0F) << 12))
  3476. #define FLEXPWM_MCTRL_RUN(n) ((uint16_t)(((n) & 0x0F) << 8))
  3477. #define FLEXPWM_MCTRL_CLDOK(n) ((uint16_t)(((n) & 0x0F) << 4))
  3478. #define FLEXPWM_MCTRL_LDOK(n) ((uint16_t)(((n) & 0x0F) << 0))
  3479. #define FLEXPWM_MCTRL2_MONPLL(n) ((uint16_t)(((n) & 0x03) << 0))
  3480. #define FLEXPWM_FCTRL0_FLVL(n) ((uint16_t)(((n) & 0x0F) << 12))
  3481. #define FLEXPWM_FCTRL0_FAUTO(n) ((uint16_t)(((n) & 0x0F) << 8))
  3482. #define FLEXPWM_FCTRL0_FSAFE(n) ((uint16_t)(((n) & 0x0F) << 4))
  3483. #define FLEXPWM_FCTRL0_FIE(n) ((uint16_t)(((n) & 0x0F) << 0))
  3484. #define FLEXPWM_FSTS0_FHALF(n) ((uint16_t)(((n) & 0x0F) << 12))
  3485. #define FLEXPWM_FSTS0_FFPIN(n) ((uint16_t)(((n) & 0x0F) << 8))
  3486. #define FLEXPWM_FSTS0_FFULL(n) ((uint16_t)(((n) & 0x0F) << 4))
  3487. #define FLEXPWM_FSTS0_FFLAG(n) ((uint16_t)(((n) & 0x0F) << 0))
  3488. #define FLEXPWM_FFILT0_GSTR ((uint16_t)(1<<15))
  3489. #define FLEXPWM_FFILT0_FILT_CNT(n) ((uint16_t)(((n) & 0x07) << 8))
  3490. #define FLEXPWM_FFILT0_FILT_PER(n) ((uint16_t)(((n) & 0xFF) << 0))
  3491. #define FLEXPWM_FTST0_FTEST ((uint16_t)(1<<0))
  3492. #define FLEXPWM_FCTRL20_NOCOMB(n) ((uint16_t)(((n) & 0x0F) << 0))
  3493. // 29.3.1.1: page 1468
  3494. #define IMXRT_FLEXRAM (*(IMXRT_REGISTER32_t *)0x400B0000)
  3495. #define FLEXRAM_TCM_CTRL (IMXRT_FLEXRAM.offset000)
  3496. #define FLEXRAM_INT_STATUS (IMXRT_FLEXRAM.offset010)
  3497. #define FLEXRAM_INT_STAT_EN (IMXRT_FLEXRAM.offset014)
  3498. #define FLEXRAM_INT_SIG_EN (IMXRT_FLEXRAM.offset018)
  3499. #define FLEXRAM_TCM_CTRL_FORCE_CLK_ON ((uint32_t)(1<<2))
  3500. #define FLEXRAM_TCM_CTRL_TCM_RWAIT_EN ((uint32_t)(1<<1))
  3501. #define FLEXRAM_TCM_CTRL_TCM_WWAIT_EN ((uint32_t)(1<<0))
  3502. #define FLEXRAM_INT_STATUS_OCRAM_ERR_STATUS ((uint32_t)(1<<5))
  3503. #define FLEXRAM_INT_STATUS_DTCM_ERR_STATUS ((uint32_t)(1<<4))
  3504. #define FLEXRAM_INT_STATUS_ITCM_ERR_STATUS ((uint32_t)(1<<3))
  3505. #define FLEXRAM_INT_STAT_EN_OCRAM_ERR_STAT_EN ((uint32_t)(1<<5))
  3506. #define FLEXRAM_INT_STAT_EN_DTCM_ERR_STAT_EN ((uint32_t)(1<<4))
  3507. #define FLEXRAM_INT_STAT_EN_ITCM_ERR_STAT_EN ((uint32_t)(1<<3))
  3508. #define FLEXRAM_INT_SIG_EN_OCRAM_ERR_SIG_EN ((uint32_t)(1<<5))
  3509. #define FLEXRAM_INT_SIG_EN_DTCM_ERR_SIG_EN ((uint32_t)(1<<4))
  3510. #define FLEXRAM_INT_SIG_EN_ITCM_ERR_SIG_EN ((uint32_t)(1<<3))
  3511. // 30.5.2.1: page 1481
  3512. #define IMXRT_FLEXSPI (*(IMXRT_REGISTER32_t *)0x402A8000)
  3513. #define FLEXSPI_MCR0 (IMXRT_FLEXSPI.offset000)
  3514. #define FLEXSPI_MCR0_AHBGRANTWAIT(n) ((uint32_t)(((n) & 0xFF) << 24))
  3515. #define FLEXSPI_MCR0_AHBGRANTWAIT_MASK ((uint32_t)(0xFF << 24))
  3516. #define FLEXSPI_MCR0_IPGRANTWAIT(n) ((uint32_t)(((n) & 0xFF) << 16))
  3517. #define FLEXSPI_MCR0_IPGRANTWAIT_MASK ((uint32_t)(0xFF << 16))
  3518. #define FLEXSPI_MCR0_SCKFREERUNEN ((uint32_t)(1<<14))
  3519. #define FLEXSPI_MCR0_COMBINATIONEN ((uint32_t)(1<<13))
  3520. #define FLEXSPI_MCR0_DOZEEN ((uint32_t)(1<<12))
  3521. #define FLEXSPI_MCR0_HSEN ((uint32_t)(1<<11))
  3522. #define FLEXSPI_MCR0_ATDFEN ((uint32_t)(1<<7))
  3523. #define FLEXSPI_MCR0_ARDFEN ((uint32_t)(1<<6))
  3524. #define FLEXSPI_MCR0_RXCLKSRC(n) ((uint32_t)(((n) & 0x03) << 4))
  3525. #define FLEXSPI_MCR0_RXCLKSRC_MASK ((uint32_t)(0x03 << 4))
  3526. #define FLEXSPI_MCR0_MDIS ((uint32_t)(1<<1))
  3527. #define FLEXSPI_MCR0_SWRESET ((uint32_t)(1<<0))
  3528. #define FLEXSPI_MCR1 (IMXRT_FLEXSPI.offset004)
  3529. #define FLEXSPI_MCR1_SEQWAIT(n) ((uint32_t)(((n) & 0xFFFF) << 16))
  3530. #define FLEXSPI_MCR1_AHBBUSWAIT(n) ((uint32_t)(((n) & 0xFFFF) << 0))
  3531. #define FLEXSPI_MCR2 (IMXRT_FLEXSPI.offset008)
  3532. #define FLEXSPI_MCR2_RESUMEWAIT(n) ((uint32_t)(((n) & 0xFF) << 24))
  3533. #define FLEXSPI_MCR2_RESUMEWAIT_MASK ((uint32_t)(0xFF << 24))
  3534. #define FLEXSPI_MCR2_SCKBDIFFOPT ((uint32_t)(1<<19))
  3535. #define FLEXSPI_MCR2_SAMEDEVICEEN ((uint32_t)(1<<15))
  3536. #define FLEXSPI_MCR2_CLRLEARNPHASE ((uint32_t)(1<<14))
  3537. #define FLEXSPI_MCR2_CLRAHBBUFOPT ((uint32_t)(1<<11))
  3538. #define FLEXSPI_AHBCR (IMXRT_FLEXSPI.offset00C)
  3539. #define FLEXSPI_AHBCR_READADDROPT ((uint32_t)(1<<6))
  3540. #define FLEXSPI_AHBCR_PREFETCHEN ((uint32_t)(1<<5))
  3541. #define FLEXSPI_AHBCR_BUFFERABLEEN ((uint32_t)(1<<4))
  3542. #define FLEXSPI_AHBCR_CACHABLEEN ((uint32_t)(1<<3))
  3543. #define FLEXSPI_AHBCR_APAREN ((uint32_t)(1<<0))
  3544. #define FLEXSPI_INTEN (IMXRT_FLEXSPI.offset010)
  3545. #define FLEXSPI_INTEN_SEQTIMEOUTEN ((uint32_t)(1<<11))
  3546. #define FLEXSPI_INTEN_AHBBUSTIMEOUTEN ((uint32_t)(1<<10))
  3547. #define FLEXSPI_INTEN_SCKSTOPBYWREN ((uint32_t)(1<<9))
  3548. #define FLEXSPI_INTEN_SCKSTOPBYRDEN ((uint32_t)(1<<8))
  3549. #define FLEXSPI_INTEN_IPTXWEEN ((uint32_t)(1<<6))
  3550. #define FLEXSPI_INTEN_IPRXWAEN ((uint32_t)(1<<5))
  3551. #define FLEXSPI_INTEN_AHBCMDERREN ((uint32_t)(1<<4))
  3552. #define FLEXSPI_INTEN_IPCMDERREN ((uint32_t)(1<<3))
  3553. #define FLEXSPI_INTEN_AHBCMDGEEN ((uint32_t)(1<<2))
  3554. #define FLEXSPI_INTEN_IPCMDGEEN ((uint32_t)(1<<1))
  3555. #define FLEXSPI_INTEN_IPCMDDONEEN ((uint32_t)(1<<0))
  3556. #define FLEXSPI_INTR (IMXRT_FLEXSPI.offset014)
  3557. #define FLEXSPI_INTR_SEQTIMEOUT ((uint32_t)(1<<11))
  3558. #define FLEXSPI_INTR_AHBBUSTIMEOUT ((uint32_t)(1<<10))
  3559. #define FLEXSPI_INTR_SCKSTOPBYWR ((uint32_t)(1<<9))
  3560. #define FLEXSPI_INTR_SCKSTOPBYRD ((uint32_t)(1<<8))
  3561. #define FLEXSPI_INTR_IPTXWE ((uint32_t)(1<<6))
  3562. #define FLEXSPI_INTR_IPRXWA ((uint32_t)(1<<5))
  3563. #define FLEXSPI_INTR_AHBCMDERR ((uint32_t)(1<<4))
  3564. #define FLEXSPI_INTR_IPCMDERR ((uint32_t)(1<<3))
  3565. #define FLEXSPI_INTR_AHBCMDGE ((uint32_t)(1<<2))
  3566. #define FLEXSPI_INTR_IPCMDGE ((uint32_t)(1<<1))
  3567. #define FLEXSPI_INTR_IPCMDDONE ((uint32_t)(1<<0))
  3568. #define FLEXSPI_LUTKEY (IMXRT_FLEXSPI.offset018)
  3569. #define FLEXSPI_LUTKEY_VALUE ((uint32_t)0x5AF05AF0)
  3570. #define FLEXSPI_LUTCR (IMXRT_FLEXSPI.offset01C)
  3571. #define FLEXSPI_LUTCR_UNLOCK ((uint32_t)(1<<1))
  3572. #define FLEXSPI_LUTCR_LOCK ((uint32_t)(1<<0))
  3573. #define FLEXSPI_AHBRXBUF0CR0 (IMXRT_FLEXSPI.offset020)
  3574. #define FLEXSPI_AHBRXBUF1CR0 (IMXRT_FLEXSPI.offset024)
  3575. #define FLEXSPI_AHBRXBUF2CR0 (IMXRT_FLEXSPI.offset028)
  3576. #define FLEXSPI_AHBRXBUF3CR0 (IMXRT_FLEXSPI.offset02C)
  3577. #define FLEXSPI_AHBRXBUFCR0_PREFETCHEN ((uint32_t)(1<<31))
  3578. #define FLEXSPI_AHBRXBUFCR0_PRIORITY(n) ((uint32_t)(((n) & 0x03) << 24))
  3579. #define FLEXSPI_AHBRXBUFCR0_PRIORITY_MASK ((uint32_t)((0x03) << 24))
  3580. #define FLEXSPI_AHBRXBUFCR0_MSTRID(n) ((uint32_t)(((n) & 0x0F) << 16))
  3581. #define FLEXSPI_AHBRXBUFCR0_MSTRID_MASK ((uint32_t)((0x0F) << 16))
  3582. #define FLEXSPI_AHBRXBUFCR0_BUFSZ(n) ((uint32_t)(((n) & 0xFF) << 0))
  3583. #define FLEXSPI_AHBRXBUFCR0_BUFSZ_MASK ((uint32_t)((0xFF) << 0))
  3584. #define FLEXSPI_FLSHA1CR0 (IMXRT_FLEXSPI.offset060)
  3585. #define FLEXSPI_FLSHA2CR0 (IMXRT_FLEXSPI.offset064)
  3586. #define FLEXSPI_FLSHB1CR0 (IMXRT_FLEXSPI.offset068)
  3587. #define FLEXSPI_FLSHB2CR0 (IMXRT_FLEXSPI.offset06C)
  3588. #define FLEXSPI_FLSHCR0_FLSHSZ(n) ((uint32_t)(((n) & 0x7FFFFF) << 0))
  3589. #define FLEXSPI_FLSHCR0_FLSHSZ_MASK ((uint32_t)((0x7FFFFF) << 0))
  3590. #define FLEXSPI_FLSHA1CR1 (IMXRT_FLEXSPI.offset070)
  3591. #define FLEXSPI_FLSHA2CR1 (IMXRT_FLEXSPI.offset074)
  3592. #define FLEXSPI_FLSHB1CR1 (IMXRT_FLEXSPI.offset078)
  3593. #define FLEXSPI_FLSHB2CR1 (IMXRT_FLEXSPI.offset07C)
  3594. #define FLEXSPI_FLSHCR1_CSINTERVAL(n) ((uint32_t)(((n) & 0xFFFF) << 16))
  3595. #define FLEXSPI_FLSHCR1_CSINTERVAL_MASK ((uint32_t)((0xFFFF) << 16))
  3596. #define FLEXSPI_FLSHCR1_CSINTERVALUNIT ((uint32_t)(1<<15))
  3597. #define FLEXSPI_FLSHCR1_CAS(n) ((uint32_t)(((n) & 0x0F) << 11))
  3598. #define FLEXSPI_FLSHCR1_WA ((uint32_t)(1<<10))
  3599. #define FLEXSPI_FLSHCR1_TCSH(n) ((uint32_t)(((n) & 0x1F) << 5))
  3600. #define FLEXSPI_FLSHCR1_TCSH_MASK ((uint32_t)((0x1F) << 5))
  3601. #define FLEXSPI_FLSHCR1_TCSS(n) ((uint32_t)(((n) & 0x1F) << 0))
  3602. #define FLEXSPI_FLSHCR1_TCSS_MASK ((uint32_t)((0x1F) << 0))
  3603. #define FLEXSPI_FLSHA1CR2 (IMXRT_FLEXSPI.offset080)
  3604. #define FLEXSPI_FLSHA2CR2 (IMXRT_FLEXSPI.offset084)
  3605. #define FLEXSPI_FLSHB1CR2 (IMXRT_FLEXSPI.offset088)
  3606. #define FLEXSPI_FLSHB2CR2 (IMXRT_FLEXSPI.offset08C)
  3607. #define FLEXSPI_FLSHCR2_CLRINSTRPTR ((uint32_t)(1<<31))
  3608. #define FLEXSPI_FLSHCR2_AWRWAITUNIT(n) ((uint32_t)(((n) & 0x07) << 28))
  3609. #define FLEXSPI_FLSHCR2_AWRWAIT(n) ((uint32_t)(((n) & 0xFFF) << 16))
  3610. #define FLEXSPI_FLSHCR2_AWRSEQNUM(n) ((uint32_t)(((n) & 0x07) << 13))
  3611. #define FLEXSPI_FLSHCR2_AWRSEQID(n) ((uint32_t)(((n) & 0x0F) << 8))
  3612. #define FLEXSPI_FLSHCR2_ARDSEQNUM(n) ((uint32_t)(((n) & 0x07) << 5))
  3613. #define FLEXSPI_FLSHCR2_ARDSEQID(n) ((uint32_t)(((n) & 0x0F) << 0))
  3614. #define FLEXSPI_FLSHCR4 (IMXRT_FLEXSPI.offset094)
  3615. #define FLEXSPI_FLSHCR4_WMENB ((uint32_t)(1<<3))
  3616. #define FLEXSPI_FLSHCR4_WMENA ((uint32_t)(1<<2))
  3617. #define FLEXSPI_FLSHCR4_WMOPT1 ((uint32_t)(1<<0))
  3618. #define FLEXSPI_IPCR0 (IMXRT_FLEXSPI.offset0A0)
  3619. #define FLEXSPI_IPCR0_SFAR(n) ((uint32_t)(n))
  3620. #define FLEXSPI_IPCR1 (IMXRT_FLEXSPI.offset0A4)
  3621. #define FLEXSPI_IPCR1_IPAREN ((uint32_t)(1<<31))
  3622. #define FLEXSPI_IPCR1_ISEQNUM(n) ((uint32_t)(((n) & 0x07) << 24))
  3623. #define FLEXSPI_IPCR1_ISEQID(n) ((uint32_t)(((n) & 0x0F) << 16))
  3624. #define FLEXSPI_IPCR1_IDATSZ(n) ((uint32_t)(((n) & 0xFFFF) << 0))
  3625. #define FLEXSPI_IPCMD (IMXRT_FLEXSPI.offset0B0)
  3626. #define FLEXSPI_IPCMD_TRG ((uint32_t)(1<<0))
  3627. #define FLEXSPI_IPRXFCR (IMXRT_FLEXSPI.offset0B8)
  3628. #define FLEXSPI_IPRXFCR_RXWMRK(n) ((uint32_t)(((n) & 0x0F) << 2))
  3629. #define FLEXSPI_IPRXFCR_RXDMAEN ((uint32_t)(1<<1))
  3630. #define FLEXSPI_IPRXFCR_CLRIPRXF ((uint32_t)(1<<0))
  3631. #define FLEXSPI_IPTXFCR (IMXRT_FLEXSPI.offset0BC)
  3632. #define FLEXSPI_IPTXFCR_TXWMRK(n) ((uint32_t)(((n) & 0x0F) << 2))
  3633. #define FLEXSPI_IPTXFCR_TXDMAEN ((uint32_t)(1<<1))
  3634. #define FLEXSPI_IPTXFCR_CLRIPTXF ((uint32_t)(1<<0))
  3635. #define FLEXSPI_DLLACR (IMXRT_FLEXSPI.offset0C0)
  3636. #define FLEXSPI_DLLBCR (IMXRT_FLEXSPI.offset0C4)
  3637. #define FLEXSPI_DLLCR_OVRDVAL(n) ((uint32_t)(((n) & 0x3F) << 9))
  3638. #define FLEXSPI_DLLCR_OVRDEN ((uint32_t)(1<<8))
  3639. #define FLEXSPI_DLLCR_SLVDLYTARGET(n) ((uint32_t)(((n) & 0x0F) << 3))
  3640. #define FLEXSPI_DLLCR_DLLRESET ((uint32_t)(1<<1))
  3641. #define FLEXSPI_DLLCR_DLLEN ((uint32_t)(1<<0))
  3642. #define FLEXSPI_STS0 (IMXRT_FLEXSPI.offset0E0)
  3643. #define FLEXSPI_STS0_ARBCMDSRC(n) ((uint32_t)(((n) & 0x03) << 2))
  3644. #define FLEXSPI_STS0_ARBIDLE ((uint32_t)(1<<1))
  3645. #define FLEXSPI_STS0_SEQIDLE ((uint32_t)(1<<0))
  3646. #define FLEXSPI_STS1 (IMXRT_FLEXSPI.offset0E4)
  3647. #define FLEXSPI_STS1_IPCMDERRCODE(n) ((uint32_t)(((n) & 0x0F) << 24))
  3648. #define FLEXSPI_STS1_IPCMDERRID(n) ((uint32_t)(((n) & 0x0F) << 16))
  3649. #define FLEXSPI_STS1_AHBCMDERRCODE(n) ((uint32_t)(((n) & 0x0F) << 8))
  3650. #define FLEXSPI_STS1_AHBCMDERRID(n) ((uint32_t)(((n) & 0x0F) << 0))
  3651. #define FLEXSPI_STS2 (IMXRT_FLEXSPI.offset0E8)
  3652. #define FLEXSPI_STS2_BREFSEL(n) ((uint32_t)(((n) & 0x3F) << 24))
  3653. #define FLEXSPI_STS2_BSLVSEL(n) ((uint32_t)(((n) & 0x3F) << 18))
  3654. #define FLEXSPI_STS2_BREFLOCK ((uint32_t)(1<<17))
  3655. #define FLEXSPI_STS2_BSLVLOCK ((uint32_t)(1<<16))
  3656. #define FLEXSPI_STS2_AREFSEL(n) ((uint32_t)(((n) & 0x3F) << 8))
  3657. #define FLEXSPI_STS2_ASLVSEL(n) ((uint32_t)(((n) & 0x3F) << 2))
  3658. #define FLEXSPI_STS2_AREFLOCK ((uint32_t)(1<<1))
  3659. #define FLEXSPI_STS2_ASLVLOCK ((uint32_t)(1<<0))
  3660. #define FLEXSPI_AHBSPNDSTS (IMXRT_FLEXSPI.offset0EC)
  3661. #define FLEXSPI_AHBSPNDSTS_DATLFT(n) ((uint32_t)(((n) & 0xFFFF) << 16))
  3662. #define FLEXSPI_AHBSPNDSTS_BUFID(n) ((uint32_t)(((n) & 0x7) << 1))
  3663. #define FLEXSPI_AHBSPNDSTS_ACTIVE ((uint32_t)(1<<0))
  3664. #define FLEXSPI_IPRXFSTS (IMXRT_FLEXSPI.offset0F0)
  3665. #define FLEXSPI_IPRXFSTS_RDCNTR(n) ((uint32_t)(((n) & 0xFFFF) << 16))
  3666. #define FLEXSPI_IPRXFSTS_FILL(n) ((uint32_t)(((n) & 0xFF) << 0))
  3667. #define FLEXSPI_IPTXFSTS (IMXRT_FLEXSPI.offset0F4)
  3668. #define FLEXSPI_IPTXFSTS_WRCNTR(n) ((uint32_t)(((n) & 0xFFFF) << 16))
  3669. #define FLEXSPI_IPTXFSTS_FILL(n) ((uint32_t)(((n) & 0xFF) << 0))
  3670. #define FLEXSPI_RFDR0 (IMXRT_FLEXSPI.offset100)
  3671. #define FLEXSPI_RFDR1 (IMXRT_FLEXSPI.offset104)
  3672. #define FLEXSPI_RFDR2 (IMXRT_FLEXSPI.offset108)
  3673. #define FLEXSPI_RFDR3 (IMXRT_FLEXSPI.offset10C)
  3674. #define FLEXSPI_RFDR4 (IMXRT_FLEXSPI.offset110)
  3675. #define FLEXSPI_RFDR5 (IMXRT_FLEXSPI.offset114)
  3676. #define FLEXSPI_RFDR6 (IMXRT_FLEXSPI.offset118)
  3677. #define FLEXSPI_RFDR7 (IMXRT_FLEXSPI.offset11C)
  3678. #define FLEXSPI_RFDR8 (IMXRT_FLEXSPI.offset120)
  3679. #define FLEXSPI_RFDR9 (IMXRT_FLEXSPI.offset124)
  3680. #define FLEXSPI_RFDR10 (IMXRT_FLEXSPI.offset128)
  3681. #define FLEXSPI_RFDR11 (IMXRT_FLEXSPI.offset12C)
  3682. #define FLEXSPI_RFDR12 (IMXRT_FLEXSPI.offset130)
  3683. #define FLEXSPI_RFDR13 (IMXRT_FLEXSPI.offset134)
  3684. #define FLEXSPI_RFDR14 (IMXRT_FLEXSPI.offset138)
  3685. #define FLEXSPI_RFDR15 (IMXRT_FLEXSPI.offset13C)
  3686. #define FLEXSPI_RFDR16 (IMXRT_FLEXSPI.offset140)
  3687. #define FLEXSPI_RFDR17 (IMXRT_FLEXSPI.offset144)
  3688. #define FLEXSPI_RFDR18 (IMXRT_FLEXSPI.offset148)
  3689. #define FLEXSPI_RFDR19 (IMXRT_FLEXSPI.offset14C)
  3690. #define FLEXSPI_RFDR20 (IMXRT_FLEXSPI.offset150)
  3691. #define FLEXSPI_RFDR21 (IMXRT_FLEXSPI.offset154)
  3692. #define FLEXSPI_RFDR22 (IMXRT_FLEXSPI.offset158)
  3693. #define FLEXSPI_RFDR23 (IMXRT_FLEXSPI.offset15C)
  3694. #define FLEXSPI_RFDR24 (IMXRT_FLEXSPI.offset160)
  3695. #define FLEXSPI_RFDR25 (IMXRT_FLEXSPI.offset164)
  3696. #define FLEXSPI_RFDR26 (IMXRT_FLEXSPI.offset168)
  3697. #define FLEXSPI_RFDR27 (IMXRT_FLEXSPI.offset16C)
  3698. #define FLEXSPI_RFDR28 (IMXRT_FLEXSPI.offset170)
  3699. #define FLEXSPI_RFDR29 (IMXRT_FLEXSPI.offset174)
  3700. #define FLEXSPI_RFDR30 (IMXRT_FLEXSPI.offset178)
  3701. #define FLEXSPI_RFDR31 (IMXRT_FLEXSPI.offset17C)
  3702. #define FLEXSPI_TFDR0 (IMXRT_FLEXSPI.offset180)
  3703. #define FLEXSPI_TFDR1 (IMXRT_FLEXSPI.offset184)
  3704. #define FLEXSPI_TFDR2 (IMXRT_FLEXSPI.offset188)
  3705. #define FLEXSPI_TFDR3 (IMXRT_FLEXSPI.offset18C)
  3706. #define FLEXSPI_TFDR4 (IMXRT_FLEXSPI.offset190)
  3707. #define FLEXSPI_TFDR5 (IMXRT_FLEXSPI.offset194)
  3708. #define FLEXSPI_TFDR6 (IMXRT_FLEXSPI.offset198)
  3709. #define FLEXSPI_TFDR7 (IMXRT_FLEXSPI.offset19C)
  3710. #define FLEXSPI_TFDR8 (IMXRT_FLEXSPI.offset1A0)
  3711. #define FLEXSPI_TFDR9 (IMXRT_FLEXSPI.offset1A4)
  3712. #define FLEXSPI_TFDR10 (IMXRT_FLEXSPI.offset1A8)
  3713. #define FLEXSPI_TFDR11 (IMXRT_FLEXSPI.offset1AC)
  3714. #define FLEXSPI_TFDR12 (IMXRT_FLEXSPI.offset1B0)
  3715. #define FLEXSPI_TFDR13 (IMXRT_FLEXSPI.offset1B4)
  3716. #define FLEXSPI_TFDR14 (IMXRT_FLEXSPI.offset1B8)
  3717. #define FLEXSPI_TFDR15 (IMXRT_FLEXSPI.offset1BC)
  3718. #define FLEXSPI_TFDR16 (IMXRT_FLEXSPI.offset1C0)
  3719. #define FLEXSPI_TFDR17 (IMXRT_FLEXSPI.offset1C4)
  3720. #define FLEXSPI_TFDR18 (IMXRT_FLEXSPI.offset1C8)
  3721. #define FLEXSPI_TFDR19 (IMXRT_FLEXSPI.offset1CC)
  3722. #define FLEXSPI_TFDR20 (IMXRT_FLEXSPI.offset1D0)
  3723. #define FLEXSPI_TFDR21 (IMXRT_FLEXSPI.offset1D4)
  3724. #define FLEXSPI_TFDR22 (IMXRT_FLEXSPI.offset1D8)
  3725. #define FLEXSPI_TFDR23 (IMXRT_FLEXSPI.offset1DC)
  3726. #define FLEXSPI_TFDR24 (IMXRT_FLEXSPI.offset1E0)
  3727. #define FLEXSPI_TFDR25 (IMXRT_FLEXSPI.offset1E4)
  3728. #define FLEXSPI_TFDR26 (IMXRT_FLEXSPI.offset1E8)
  3729. #define FLEXSPI_TFDR27 (IMXRT_FLEXSPI.offset1EC)
  3730. #define FLEXSPI_TFDR28 (IMXRT_FLEXSPI.offset1F0)
  3731. #define FLEXSPI_TFDR29 (IMXRT_FLEXSPI.offset1F4)
  3732. #define FLEXSPI_TFDR30 (IMXRT_FLEXSPI.offset1F8)
  3733. #define FLEXSPI_TFDR31 (IMXRT_FLEXSPI.offset1FC)
  3734. #define FLEXSPI_LUT0 (IMXRT_FLEXSPI.offset200)
  3735. #define FLEXSPI_LUT1 (IMXRT_FLEXSPI.offset204)
  3736. #define FLEXSPI_LUT2 (IMXRT_FLEXSPI.offset208)
  3737. #define FLEXSPI_LUT3 (IMXRT_FLEXSPI.offset20C)
  3738. #define FLEXSPI_LUT4 (IMXRT_FLEXSPI.offset210)
  3739. #define FLEXSPI_LUT5 (IMXRT_FLEXSPI.offset214)
  3740. #define FLEXSPI_LUT6 (IMXRT_FLEXSPI.offset218)
  3741. #define FLEXSPI_LUT7 (IMXRT_FLEXSPI.offset21C)
  3742. #define FLEXSPI_LUT8 (IMXRT_FLEXSPI.offset220)
  3743. #define FLEXSPI_LUT9 (IMXRT_FLEXSPI.offset224)
  3744. #define FLEXSPI_LUT10 (IMXRT_FLEXSPI.offset228)
  3745. #define FLEXSPI_LUT11 (IMXRT_FLEXSPI.offset22C)
  3746. #define FLEXSPI_LUT12 (IMXRT_FLEXSPI.offset230)
  3747. #define FLEXSPI_LUT13 (IMXRT_FLEXSPI.offset234)
  3748. #define FLEXSPI_LUT14 (IMXRT_FLEXSPI.offset238)
  3749. #define FLEXSPI_LUT15 (IMXRT_FLEXSPI.offset23C)
  3750. #define FLEXSPI_LUT16 (IMXRT_FLEXSPI.offset240)
  3751. #define FLEXSPI_LUT17 (IMXRT_FLEXSPI.offset244)
  3752. #define FLEXSPI_LUT18 (IMXRT_FLEXSPI.offset248)
  3753. #define FLEXSPI_LUT19 (IMXRT_FLEXSPI.offset24C)
  3754. #define FLEXSPI_LUT20 (IMXRT_FLEXSPI.offset250)
  3755. #define FLEXSPI_LUT21 (IMXRT_FLEXSPI.offset254)
  3756. #define FLEXSPI_LUT22 (IMXRT_FLEXSPI.offset258)
  3757. #define FLEXSPI_LUT23 (IMXRT_FLEXSPI.offset25C)
  3758. #define FLEXSPI_LUT24 (IMXRT_FLEXSPI.offset260)
  3759. #define FLEXSPI_LUT25 (IMXRT_FLEXSPI.offset264)
  3760. #define FLEXSPI_LUT26 (IMXRT_FLEXSPI.offset268)
  3761. #define FLEXSPI_LUT27 (IMXRT_FLEXSPI.offset26C)
  3762. #define FLEXSPI_LUT28 (IMXRT_FLEXSPI.offset270)
  3763. #define FLEXSPI_LUT29 (IMXRT_FLEXSPI.offset274)
  3764. #define FLEXSPI_LUT30 (IMXRT_FLEXSPI.offset278)
  3765. #define FLEXSPI_LUT31 (IMXRT_FLEXSPI.offset27C)
  3766. #define FLEXSPI_LUT32 (IMXRT_FLEXSPI.offset280)
  3767. #define FLEXSPI_LUT33 (IMXRT_FLEXSPI.offset284)
  3768. #define FLEXSPI_LUT34 (IMXRT_FLEXSPI.offset288)
  3769. #define FLEXSPI_LUT35 (IMXRT_FLEXSPI.offset28C)
  3770. #define FLEXSPI_LUT36 (IMXRT_FLEXSPI.offset290)
  3771. #define FLEXSPI_LUT37 (IMXRT_FLEXSPI.offset294)
  3772. #define FLEXSPI_LUT38 (IMXRT_FLEXSPI.offset298)
  3773. #define FLEXSPI_LUT39 (IMXRT_FLEXSPI.offset29C)
  3774. #define FLEXSPI_LUT40 (IMXRT_FLEXSPI.offset2A0)
  3775. #define FLEXSPI_LUT41 (IMXRT_FLEXSPI.offset2A4)
  3776. #define FLEXSPI_LUT42 (IMXRT_FLEXSPI.offset2A8)
  3777. #define FLEXSPI_LUT43 (IMXRT_FLEXSPI.offset2AC)
  3778. #define FLEXSPI_LUT44 (IMXRT_FLEXSPI.offset2B0)
  3779. #define FLEXSPI_LUT45 (IMXRT_FLEXSPI.offset2B4)
  3780. #define FLEXSPI_LUT46 (IMXRT_FLEXSPI.offset2B8)
  3781. #define FLEXSPI_LUT47 (IMXRT_FLEXSPI.offset2BC)
  3782. #define FLEXSPI_LUT48 (IMXRT_FLEXSPI.offset2C0)
  3783. #define FLEXSPI_LUT49 (IMXRT_FLEXSPI.offset2C4)
  3784. #define FLEXSPI_LUT50 (IMXRT_FLEXSPI.offset2C8)
  3785. #define FLEXSPI_LUT51 (IMXRT_FLEXSPI.offset2CC)
  3786. #define FLEXSPI_LUT52 (IMXRT_FLEXSPI.offset2D0)
  3787. #define FLEXSPI_LUT53 (IMXRT_FLEXSPI.offset2D4)
  3788. #define FLEXSPI_LUT54 (IMXRT_FLEXSPI.offset2D8)
  3789. #define FLEXSPI_LUT55 (IMXRT_FLEXSPI.offset2DC)
  3790. #define FLEXSPI_LUT56 (IMXRT_FLEXSPI.offset2E0)
  3791. #define FLEXSPI_LUT57 (IMXRT_FLEXSPI.offset2E4)
  3792. #define FLEXSPI_LUT58 (IMXRT_FLEXSPI.offset2E8)
  3793. #define FLEXSPI_LUT59 (IMXRT_FLEXSPI.offset2EC)
  3794. #define FLEXSPI_LUT60 (IMXRT_FLEXSPI.offset2F0)
  3795. #define FLEXSPI_LUT61 (IMXRT_FLEXSPI.offset2F4)
  3796. #define FLEXSPI_LUT62 (IMXRT_FLEXSPI.offset2F8)
  3797. #define FLEXSPI_LUT63 (IMXRT_FLEXSPI.offset2FC)
  3798. #define FLEXSPI_LUT_OPCODE1(n) ((uint32_t)(((n) & 0x3F) << 26))
  3799. #define FLEXSPI_LUT_NUM_PADS1(n) ((uint32_t)(((n) & 0x03) << 24))
  3800. #define FLEXSPI_LUT_OPERAND1(n) ((uint32_t)(((n) & 0xFF) << 16))
  3801. #define FLEXSPI_LUT_OPCODE0(n) ((uint32_t)(((n) & 0x3F) << 10))
  3802. #define FLEXSPI_LUT_NUM_PADS0(n) ((uint32_t)(((n) & 0x03) << 8))
  3803. #define FLEXSPI_LUT_OPERAND0(n) ((uint32_t)(((n) & 0xFF) << 0))
  3804. #define FLEXSPI_LUT_INSTRUCTION(opcode, pads, operand) ((uint32_t)(\
  3805. (((opcode) & 0x3F) << 10) | (((pads) & 0x03) << 8) | ((operand) & 0xFF)))
  3806. // 30.7.8: page 1532
  3807. #define FLEXSPI_LUT_OPCODE_CMD_SDR 0x01
  3808. #define FLEXSPI_LUT_OPCODE_CMD_DDR 0x21
  3809. #define FLEXSPI_LUT_OPCODE_RADDR_SDR 0x02
  3810. #define FLEXSPI_LUT_OPCODE_RADDR_DDR 0x22
  3811. #define FLEXSPI_LUT_OPCODE_CADDR_SDR 0x03
  3812. #define FLEXSPI_LUT_OPCODE_CADDR_DDR 0x23
  3813. #define FLEXSPI_LUT_OPCODE_MODE1_SDR 0x04
  3814. #define FLEXSPI_LUT_OPCODE_MODE1_DDR 0x24
  3815. #define FLEXSPI_LUT_OPCODE_MODE2_SDR 0x05
  3816. #define FLEXSPI_LUT_OPCODE_MODE2_DDR 0x25
  3817. #define FLEXSPI_LUT_OPCODE_MODE4_SDR 0x06
  3818. #define FLEXSPI_LUT_OPCODE_MODE4_DDR 0x26
  3819. #define FLEXSPI_LUT_OPCODE_MODE8_SDR 0x07
  3820. #define FLEXSPI_LUT_OPCODE_MODE8_DDR 0x27
  3821. #define FLEXSPI_LUT_OPCODE_WRITE_SDR 0x08
  3822. #define FLEXSPI_LUT_OPCODE_WRITE_DDR 0x28
  3823. #define FLEXSPI_LUT_OPCODE_READ_SDR 0x09
  3824. #define FLEXSPI_LUT_OPCODE_READ_DDR 0x29
  3825. #define FLEXSPI_LUT_OPCODE_LEARN_SDR 0x0A
  3826. #define FLEXSPI_LUT_OPCODE_LEARN_DDR 0x2A
  3827. #define FLEXSPI_LUT_OPCODE_DATSZ_SDR 0x0B
  3828. #define FLEXSPI_LUT_OPCODE_DATSZ_DDR 0x2B
  3829. #define FLEXSPI_LUT_OPCODE_DUMMY_SDR 0x0C
  3830. #define FLEXSPI_LUT_OPCODE_DUMMY_DDR 0x2C
  3831. #define FLEXSPI_LUT_OPCODE_DUMMY_RWDS_SDR 0x0D
  3832. #define FLEXSPI_LUT_OPCODE_DUMMY_RWDS_DDR 0x2D
  3833. #define FLEXSPI_LUT_OPCODE_JMP_ON_CS 0x1F
  3834. #define FLEXSPI_LUT_OPCODE_STOP 0x00
  3835. #define FLEXSPI_LUT_NUM_PADS_1 0x00
  3836. #define FLEXSPI_LUT_NUM_PADS_2 0x01
  3837. #define FLEXSPI_LUT_NUM_PADS_4 0x02
  3838. #define FLEXSPI_LUT_NUM_PADS_8 0x03
  3839. // 31.5: page 1595
  3840. #define IMXRT_GPC (*(IMXRT_REGISTER32_t *)0x400F4000)
  3841. #define GPC_CNTR (IMXRT_GPC.offset000)
  3842. #define GPC_IMR1 (IMXRT_GPC.offset008)
  3843. #define GPC_IMR2 (IMXRT_GPC.offset00C)
  3844. #define GPC_IMR3 (IMXRT_GPC.offset010)
  3845. #define GPC_IMR4 (IMXRT_GPC.offset014)
  3846. #define GPC_ISR1 (IMXRT_GPC.offset018)
  3847. #define GPC_ISR2 (IMXRT_GPC.offset01C)
  3848. #define GPC_ISR3 (IMXRT_GPC.offset020)
  3849. #define GPC_ISR4 (IMXRT_GPC.offset024)
  3850. #define GPC_IMR5 (IMXRT_GPC.offset034)
  3851. #define GPC_ISR5 (IMXRT_GPC.offset038)
  3852. #define GPC_CNTR_PDRAM0_PGE ((uint32_t)(1<<22))
  3853. #define GPC_CNTR_MEGA_PUP_REQ ((uint32_t)(1<<3))
  3854. #define GPC_CNTR_MEGA_PDN_REQ ((uint32_t)(1<<2))
  3855. // page 1602
  3856. #define PGC_MEGA_CTRL (IMXRT_GPC.offset220)
  3857. #define PGC_MEGA_PUPSCR (IMXRT_GPC.offset224)
  3858. #define PGC_MEGA_PDNSCR (IMXRT_GPC.offset228)
  3859. #define PGC_MEGA_SR (IMXRT_GPC.offset22C)
  3860. #define PGC_CPU_CTRL (IMXRT_GPC.offset2A0)
  3861. #define PGC_CPU_PUPSCR (IMXRT_GPC.offset2A4)
  3862. #define PGC_CPU_PDNSCR (IMXRT_GPC.offset2A8)
  3863. #define PGC_CPU_SR (IMXRT_GPC.offset2AC)
  3864. #define PGC_MEGA_CTRL_PCR ((uint32_t)(1<<0))
  3865. #define PGC_MEGA_PUPSCR_SW2ISO(n) ((uint32_t)(((n) & 0x3F) << 8))
  3866. #define PGC_MEGA_PUPSCR_SW(n) ((uint32_t)(((n) & 0x3F) << 0))
  3867. #define PGC_MEGA_PDNSCR_ISO2SW(n) ((uint32_t)(((n) & 0x3F) << 8))
  3868. #define PGC_MEGA_PDNSCR_ISO(n) ((uint32_t)(((n) & 0x3F) << 0))
  3869. #define PGC_MEGA_SR_PSR ((uint32_t)(1<<0))
  3870. #define PGC_CPU_CTRL_PCR ((uint32_t)(1<<0))
  3871. #define PGC_CPU_PUPSCR_SW2ISO(n) ((uint32_t)(((n) & 0x3F) << 8))
  3872. #define PGC_CPU_PUPSCR_SW(n) ((uint32_t)(((n) & 0x3F) << 0))
  3873. #define PGC_CPU_PDNSCR_ISO2SW(n) ((uint32_t)(((n) & 0x3F) << 8))
  3874. #define PGC_CPU_PDNSCR_ISO(n) ((uint32_t)(((n) & 0x3F) << 0))
  3875. #define PGC_CPU_SR_PSR ((uint32_t)(1<<0))
  3876. // 32.4.1: page 1620
  3877. #define IMXRT_GPIO1 (*(IMXRT_REGISTER32_t *)0x401B8000)
  3878. #define GPIO1_DR (IMXRT_GPIO1.offset000)
  3879. #define GPIO1_GDIR (IMXRT_GPIO1.offset004)
  3880. #define GPIO1_PSR (IMXRT_GPIO1.offset008)
  3881. #define GPIO1_ICR1 (IMXRT_GPIO1.offset00C)
  3882. #define GPIO1_ICR2 (IMXRT_GPIO1.offset010)
  3883. #define GPIO1_IMR (IMXRT_GPIO1.offset014)
  3884. #define GPIO1_ISR (IMXRT_GPIO1.offset018)
  3885. #define GPIO1_EDGE_SEL (IMXRT_GPIO1.offset01C)
  3886. #define GPIO1_DR_SET (IMXRT_GPIO1.offset084)
  3887. #define GPIO1_DR_CLEAR (IMXRT_GPIO1.offset088)
  3888. #define GPIO1_DR_TOGGLE (IMXRT_GPIO1.offset08C)
  3889. #define IMXRT_GPIO2 (*(IMXRT_REGISTER32_t *)0x401BC000)
  3890. #define GPIO2_DR (IMXRT_GPIO2.offset000)
  3891. #define GPIO2_GDIR (IMXRT_GPIO2.offset004)
  3892. #define GPIO2_PSR (IMXRT_GPIO2.offset008)
  3893. #define GPIO2_ICR1 (IMXRT_GPIO2.offset00C)
  3894. #define GPIO2_ICR2 (IMXRT_GPIO2.offset010)
  3895. #define GPIO2_IMR (IMXRT_GPIO2.offset014)
  3896. #define GPIO2_ISR (IMXRT_GPIO2.offset018)
  3897. #define GPIO2_EDGE_SEL (IMXRT_GPIO2.offset01C)
  3898. #define GPIO2_DR_SET (IMXRT_GPIO2.offset084)
  3899. #define GPIO2_DR_CLEAR (IMXRT_GPIO2.offset088)
  3900. #define GPIO2_DR_TOGGLE (IMXRT_GPIO2.offset08C)
  3901. #define IMXRT_GPIO3 (*(IMXRT_REGISTER32_t *)0x401C0000)
  3902. #define GPIO3_DR (IMXRT_GPIO3.offset000)
  3903. #define GPIO3_GDIR (IMXRT_GPIO3.offset004)
  3904. #define GPIO3_PSR (IMXRT_GPIO3.offset008)
  3905. #define GPIO3_ICR1 (IMXRT_GPIO3.offset00C)
  3906. #define GPIO3_ICR2 (IMXRT_GPIO3.offset010)
  3907. #define GPIO3_IMR (IMXRT_GPIO3.offset014)
  3908. #define GPIO3_ISR (IMXRT_GPIO3.offset018)
  3909. #define GPIO3_EDGE_SEL (IMXRT_GPIO3.offset01C)
  3910. #define GPIO3_DR_SET (IMXRT_GPIO3.offset084)
  3911. #define GPIO3_DR_CLEAR (IMXRT_GPIO3.offset088)
  3912. #define GPIO3_DR_TOGGLE (IMXRT_GPIO3.offset08C)
  3913. #define IMXRT_GPIO4 (*(IMXRT_REGISTER32_t *)0x401C4000)
  3914. #define GPIO4_DR (IMXRT_GPIO4.offset000)
  3915. #define GPIO4_GDIR (IMXRT_GPIO4.offset004)
  3916. #define GPIO4_PSR (IMXRT_GPIO4.offset008)
  3917. #define GPIO4_ICR1 (IMXRT_GPIO4.offset00C)
  3918. #define GPIO4_ICR2 (IMXRT_GPIO4.offset010)
  3919. #define GPIO4_IMR (IMXRT_GPIO4.offset014)
  3920. #define GPIO4_ISR (IMXRT_GPIO4.offset018)
  3921. #define GPIO4_EDGE_SEL (IMXRT_GPIO4.offset01C)
  3922. #define GPIO4_DR_SET (IMXRT_GPIO4.offset084)
  3923. #define GPIO4_DR_CLEAR (IMXRT_GPIO4.offset088)
  3924. #define GPIO4_DR_TOGGLE (IMXRT_GPIO4.offset08C)
  3925. #define IMXRT_GPIO5 (*(IMXRT_REGISTER32_t *)0x400C0000)
  3926. #define GPIO5_DR (IMXRT_GPIO5.offset000)
  3927. #define GPIO5_GDIR (IMXRT_GPIO5.offset004)
  3928. #define GPIO5_PSR (IMXRT_GPIO5.offset008)
  3929. #define GPIO5_ICR1 (IMXRT_GPIO5.offset00C)
  3930. #define GPIO5_ICR2 (IMXRT_GPIO5.offset010)
  3931. #define GPIO5_IMR (IMXRT_GPIO5.offset014)
  3932. #define GPIO5_ISR (IMXRT_GPIO5.offset018)
  3933. #define GPIO5_EDGE_SEL (IMXRT_GPIO5.offset01C)
  3934. #define GPIO5_DR_SET (IMXRT_GPIO5.offset084)
  3935. #define GPIO5_DR_CLEAR (IMXRT_GPIO5.offset088)
  3936. #define GPIO5_DR_TOGGLE (IMXRT_GPIO5.offset08C)
  3937. // 33.6: page 1651
  3938. #define IMXRT_GPT1 (*(IMXRT_REGISTER32_t *)0x401EC000)
  3939. #define GPT1_CR (IMXRT_GPT1.offset000)
  3940. #define GPT1_PR (IMXRT_GPT1.offset004)
  3941. #define GPT1_SR (IMXRT_GPT1.offset008)
  3942. #define GPT1_IR (IMXRT_GPT1.offset00C)
  3943. #define GPT1_OCR1 (IMXRT_GPT1.offset010)
  3944. #define GPT1_OCR2 (IMXRT_GPT1.offset014)
  3945. #define GPT1_OCR3 (IMXRT_GPT1.offset018)
  3946. #define GPT1_ICR1 (IMXRT_GPT1.offset01C)
  3947. #define GPT1_ICR2 (IMXRT_GPT1.offset020)
  3948. #define GPT1_CNT (IMXRT_GPT1.offset024)
  3949. #define IMXRT_GPT2 (*(IMXRT_REGISTER32_t *)0x401F0000)
  3950. #define GPT2_CR (IMXRT_GPT2.offset000)
  3951. #define GPT2_PR (IMXRT_GPT2.offset004)
  3952. #define GPT2_SR (IMXRT_GPT2.offset008)
  3953. #define GPT2_IR (IMXRT_GPT2.offset00C)
  3954. #define GPT2_OCR1 (IMXRT_GPT2.offset010)
  3955. #define GPT2_OCR2 (IMXRT_GPT2.offset014)
  3956. #define GPT2_OCR3 (IMXRT_GPT2.offset018)
  3957. #define GPT2_ICR1 (IMXRT_GPT2.offset01C)
  3958. #define GPT2_ICR2 (IMXRT_GPT2.offset020)
  3959. #define GPT2_CNT (IMXRT_GPT2.offset024)
  3960. // 34.4: page 1671
  3961. #define IMXRT_IOMUXC_GPR (*(IMXRT_REGISTER32_t *)0x400AC000)
  3962. #define IOMUXC_GPR_GPR0 (IMXRT_IOMUXC_GPR.offset000)
  3963. #define IOMUXC_GPR_GPR1 (IMXRT_IOMUXC_GPR.offset004)
  3964. #define IOMUXC_GPR_GPR2 (IMXRT_IOMUXC_GPR.offset008)
  3965. #define IOMUXC_GPR_GPR3 (IMXRT_IOMUXC_GPR.offset00C)
  3966. #define IOMUXC_GPR_GPR4 (IMXRT_IOMUXC_GPR.offset010)
  3967. #define IOMUXC_GPR_GPR5 (IMXRT_IOMUXC_GPR.offset014)
  3968. #define IOMUXC_GPR_GPR6 (IMXRT_IOMUXC_GPR.offset018)
  3969. #define IOMUXC_GPR_GPR7 (IMXRT_IOMUXC_GPR.offset01C)
  3970. #define IOMUXC_GPR_GPR8 (IMXRT_IOMUXC_GPR.offset020)
  3971. #define IOMUXC_GPR_GPR9 (IMXRT_IOMUXC_GPR.offset024)
  3972. #define IOMUXC_GPR_GPR10 (IMXRT_IOMUXC_GPR.offset028)
  3973. #define IOMUXC_GPR_GPR11 (IMXRT_IOMUXC_GPR.offset02C)
  3974. #define IOMUXC_GPR_GPR12 (IMXRT_IOMUXC_GPR.offset030)
  3975. #define IOMUXC_GPR_GPR13 (IMXRT_IOMUXC_GPR.offset034)
  3976. #define IOMUXC_GPR_GPR14 (IMXRT_IOMUXC_GPR.offset038)
  3977. #define IOMUXC_GPR_GPR15 (IMXRT_IOMUXC_GPR.offset03C)
  3978. #define IOMUXC_GPR_GPR16 (IMXRT_IOMUXC_GPR.offset040)
  3979. #define IOMUXC_GPR_GPR17 (IMXRT_IOMUXC_GPR.offset044)
  3980. #define IOMUXC_GPR_GPR18 (IMXRT_IOMUXC_GPR.offset048)
  3981. #define IOMUXC_GPR_GPR19 (IMXRT_IOMUXC_GPR.offset04C)
  3982. #define IOMUXC_GPR_GPR20 (IMXRT_IOMUXC_GPR.offset050)
  3983. #define IOMUXC_GPR_GPR21 (IMXRT_IOMUXC_GPR.offset054)
  3984. #define IOMUXC_GPR_GPR22 (IMXRT_IOMUXC_GPR.offset058)
  3985. #define IOMUXC_GPR_GPR23 (IMXRT_IOMUXC_GPR.offset05C)
  3986. #define IOMUXC_GPR_GPR24 (IMXRT_IOMUXC_GPR.offset060)
  3987. #define IOMUXC_GPR_GPR25 (IMXRT_IOMUXC_GPR.offset064)
  3988. #define IOMUXC_GPR_GPR1_CM7_FORCE_HCLK_EN ((uint32_t)(1<<31))
  3989. #define IOMUXC_GPR_GPR1_ENET_IPG_CLK_S_EN ((uint32_t)(1<<23))
  3990. #define IOMUXC_GPR_GPR1_EXC_MON ((uint32_t)(1<<22))
  3991. #define IOMUXC_GPR_GPR1_SAI3_MCLK_DIR ((uint32_t)(1<<21))
  3992. #define IOMUXC_GPR_GPR1_SAI2_MCLK_DIR ((uint32_t)(1<<20))
  3993. #define IOMUXC_GPR_GPR1_SAI1_MCLK_DIR ((uint32_t)(1<<19))
  3994. #define IOMUXC_GPR_GPR1_ENET1_TX_CLK_DIR ((uint32_t)(1<<17))
  3995. #define IOMUXC_GPR_GPR1_USB_EXP_MODE ((uint32_t)(1<<15))
  3996. #define IOMUXC_GPR_GPR1_ENET1_CLK_SEL ((uint32_t)(1<<13))
  3997. #define IOMUXC_GPR_GPR1_GINT ((uint32_t)(1<<12))
  3998. #define IOMUXC_GPR_GPR1_SAI3_MCLK3_SEL(n) ((uint32_t)(((n) & 0x03) << 10))
  3999. #define IOMUXC_GPR_GPR1_SAI2_MCLK3_SEL(n) ((uint32_t)(((n) & 0x03) << 8))
  4000. #define IOMUXC_GPR_GPR1_SAI1_MCLK3_SEL(n) ((uint32_t)(((n) & 0x03) << 6))
  4001. #define IOMUXC_GPR_GPR1_SAI1_MCLK2_SEL(n) ((uint32_t)(((n) & 0x07) << 3))
  4002. #define IOMUXC_GPR_GPR1_SAI1_MCLK1_SEL(n) ((uint32_t)(((n) & 0x07) << 0))
  4003. #define IOMUXC_GPR_GPR1_SAI3_MCLK3_SEL_MASK IOMUXC_GPR_GPR1_SAI3_MCLK3_SEL(3)
  4004. #define IOMUXC_GPR_GPR1_SAI2_MCLK3_SEL_MASK IOMUXC_GPR_GPR1_SAI2_MCLK3_SEL(3)
  4005. #define IOMUXC_GPR_GPR1_SAI1_MCLK3_SEL_MASK IOMUXC_GPR_GPR1_SAI1_MCLK3_SEL(3)
  4006. #define IOMUXC_GPR_GPR1_SAI1_MCLK2_SEL_MASK IOMUXC_GPR_GPR1_SAI1_MCLK2_SEL(7)
  4007. #define IOMUXC_GPR_GPR1_SAI1_MCLK1_SEL_MASK IOMUXC_GPR_GPR1_SAI1_MCLK1_SEL(7)
  4008. #define IOMUXC_GPR_GPR2_QTIMER4_TMR_CNTS_FREEZE ((uint32_t)(1<<31))
  4009. #define IOMUXC_GPR_GPR2_QTIMER3_TMR_CNTS_FREEZE ((uint32_t)(1<<30))
  4010. #define IOMUXC_GPR_GPR2_QTIMER2_TMR_CNTS_FREEZE ((uint32_t)(1<<29))
  4011. #define IOMUXC_GPR_GPR2_QTIMER1_TMR_CNTS_FREEZE ((uint32_t)(1<<28))
  4012. #define IOMUXC_GPR_GPR2_MQS_OVERSAMPLE ((uint32_t)(1<<26))
  4013. #define IOMUXC_GPR_GPR2_MQS_EN ((uint32_t)(1<<25))
  4014. #define IOMUXC_GPR_GPR2_MQS_SW_RST ((uint32_t)(1<<24))
  4015. #define IOMUXC_GPR_GPR2_MQS_CLK_DIV(n) ((uint32_t)(((n) & 0xFF) << 16))
  4016. #define IOMUXC_GPR_GPR2_L2_MEM_DEEPSLEEP ((uint32_t)(1<<14))
  4017. #define IOMUXC_GPR_GPR2_L2_MEM_EN_POWERSAVING ((uint32_t)(1<<12))
  4018. #define IOMUXC_GPR_GPR2_MQS_CLK_DIV_MASK IOMUXC_GPR_GPR2_MQS_CLK_DIV(255)
  4019. #define IOMUXC_GPR_GPR3_OCRAM_STATUS(n) ((uint32_t)(((n) & 0x0F) << 16))
  4020. #define IOMUXC_GPR_GPR3_DCP_KEY_SEL ((uint32_t)(1<<4))
  4021. #define IOMUXC_GPR_GPR3_OCRAM_CTL(n) ((uint32_t)(((n) & 0x0F) << 0))
  4022. #define IOMUXC_GPR_GPR4_FLEXIO2_STOP_ACK ((uint32_t)(1<<29))
  4023. #define IOMUXC_GPR_GPR4_FLEXIO1_STOP_ACK ((uint32_t)(1<<28))
  4024. #define IOMUXC_GPR_GPR4_FLEXSPI_STOP_ACK ((uint32_t)(1<<27))
  4025. #define IOMUXC_GPR_GPR4_PIT_STOP_ACK ((uint32_t)(1<<26))
  4026. #define IOMUXC_GPR_GPR4_SEMC_STOP_ACK ((uint32_t)(1<<25))
  4027. #define IOMUXC_GPR_GPR4_SAI3_STOP_ACK ((uint32_t)(1<<23))
  4028. #define IOMUXC_GPR_GPR4_SAI2_STOP_ACK ((uint32_t)(1<<22))
  4029. #define IOMUXC_GPR_GPR4_SAI1_STOP_ACK ((uint32_t)(1<<21))
  4030. #define IOMUXC_GPR_GPR4_ENET_STOP_ACK ((uint32_t)(1<<20))
  4031. #define IOMUXC_GPR_GPR4_TRNG_STOP_ACK ((uint32_t)(1<<19))
  4032. #define IOMUXC_GPR_GPR4_CAN2_STOP_ACK ((uint32_t)(1<<18))
  4033. #define IOMUXC_GPR_GPR4_CAN1_STOP_ACK ((uint32_t)(1<<17))
  4034. #define IOMUXC_GPR_GPR4_EDMA_STOP_ACK ((uint32_t)(1<<16))
  4035. #define IOMUXC_GPR_GPR4_FLEXIO2_STOP_REQ ((uint32_t)(1<<13))
  4036. #define IOMUXC_GPR_GPR4_FLEXIO1_STOP_REQ ((uint32_t)(1<<12))
  4037. #define IOMUXC_GPR_GPR4_FLEXSPI_STOP_REQ ((uint32_t)(1<<11))
  4038. #define IOMUXC_GPR_GPR4_PIT_STOP_REQ ((uint32_t)(1<<10))
  4039. #define IOMUXC_GPR_GPR4_SEMC_STOP_REQ ((uint32_t)(1<<9))
  4040. #define IOMUXC_GPR_GPR4_SAI3_STOP_REQ ((uint32_t)(1<<7))
  4041. #define IOMUXC_GPR_GPR4_SAI2_STOP_REQ ((uint32_t)(1<<6))
  4042. #define IOMUXC_GPR_GPR4_SAI1_STOP_REQ ((uint32_t)(1<<5))
  4043. #define IOMUXC_GPR_GPR4_ENET_STOP_REQ ((uint32_t)(1<<4))
  4044. #define IOMUXC_GPR_GPR4_TRNG_STOP_REQ ((uint32_t)(1<<3))
  4045. #define IOMUXC_GPR_GPR4_CAN2_STOP_REQ ((uint32_t)(1<<2))
  4046. #define IOMUXC_GPR_GPR4_CAN1_STOP_REQ ((uint32_t)(1<<1))
  4047. #define IOMUXC_GPR_GPR4_EDMA_STOP_REQ ((uint32_t)(1<<0))
  4048. #define IOMUXC_GPR_GPR5_VREF_1M_CLK_GPT2 ((uint32_t)(1<<29))
  4049. #define IOMUXC_GPR_GPR5_VREF_1M_CLK_GPT1 ((uint32_t)(1<<28))
  4050. #define IOMUXC_GPR_GPR5_ENET_EVENT3IN_SEL ((uint32_t)(1<<25))
  4051. #define IOMUXC_GPR_GPR5_GPT2_CAPIN2_SEL ((uint32_t)(1<<24))
  4052. #define IOMUXC_GPR_GPR5_GPT2_CAPIN1_SEL ((uint32_t)(1<<23))
  4053. #define IOMUXC_GPR_GPR5_WDOG2_MASK ((uint32_t)(1<<7))
  4054. #define IOMUXC_GPR_GPR5_WDOG1_MASK ((uint32_t)(1<<6))
  4055. #define IOMUXC_GPR_GPR6_IOMUXC_XBAR_DIR_SEL_19 ((uint32_t)(1<<31))
  4056. #define IOMUXC_GPR_GPR6_IOMUXC_XBAR_DIR_SEL_18 ((uint32_t)(1<<30))
  4057. #define IOMUXC_GPR_GPR6_IOMUXC_XBAR_DIR_SEL_17 ((uint32_t)(1<<29))
  4058. #define IOMUXC_GPR_GPR6_IOMUXC_XBAR_DIR_SEL_16 ((uint32_t)(1<<28))
  4059. #define IOMUXC_GPR_GPR6_IOMUXC_XBAR_DIR_SEL_15 ((uint32_t)(1<<27))
  4060. #define IOMUXC_GPR_GPR6_IOMUXC_XBAR_DIR_SEL_14 ((uint32_t)(1<<26))
  4061. #define IOMUXC_GPR_GPR6_IOMUXC_XBAR_DIR_SEL_13 ((uint32_t)(1<<25))
  4062. #define IOMUXC_GPR_GPR6_IOMUXC_XBAR_DIR_SEL_12 ((uint32_t)(1<<24))
  4063. #define IOMUXC_GPR_GPR6_IOMUXC_XBAR_DIR_SEL_11 ((uint32_t)(1<<23))
  4064. #define IOMUXC_GPR_GPR6_IOMUXC_XBAR_DIR_SEL_10 ((uint32_t)(1<<22))
  4065. #define IOMUXC_GPR_GPR6_IOMUXC_XBAR_DIR_SEL_9 ((uint32_t)(1<<21))
  4066. #define IOMUXC_GPR_GPR6_IOMUXC_XBAR_DIR_SEL_8 ((uint32_t)(1<<20))
  4067. #define IOMUXC_GPR_GPR6_IOMUXC_XBAR_DIR_SEL_7 ((uint32_t)(1<<19))
  4068. #define IOMUXC_GPR_GPR6_IOMUXC_XBAR_DIR_SEL_6 ((uint32_t)(1<<18))
  4069. #define IOMUXC_GPR_GPR6_IOMUXC_XBAR_DIR_SEL_5 ((uint32_t)(1<<17))
  4070. #define IOMUXC_GPR_GPR6_IOMUXC_XBAR_DIR_SEL_4 ((uint32_t)(1<<16))
  4071. #define IOMUXC_GPR_GPR6_QTIMER4_TRM3_INPUT_SEL ((uint32_t)(1<<15))
  4072. #define IOMUXC_GPR_GPR6_QTIMER4_TRM2_INPUT_SEL ((uint32_t)(1<<14))
  4073. #define IOMUXC_GPR_GPR6_QTIMER4_TRM1_INPUT_SEL ((uint32_t)(1<<13))
  4074. #define IOMUXC_GPR_GPR6_QTIMER4_TRM0_INPUT_SEL ((uint32_t)(1<<12))
  4075. #define IOMUXC_GPR_GPR6_QTIMER3_TRM3_INPUT_SEL ((uint32_t)(1<<11))
  4076. #define IOMUXC_GPR_GPR6_QTIMER3_TRM2_INPUT_SEL ((uint32_t)(1<<10))
  4077. #define IOMUXC_GPR_GPR6_QTIMER3_TRM1_INPUT_SEL ((uint32_t)(1<<9))
  4078. #define IOMUXC_GPR_GPR6_QTIMER3_TRM0_INPUT_SEL ((uint32_t)(1<<8))
  4079. #define IOMUXC_GPR_GPR6_QTIMER2_TRM3_INPUT_SEL ((uint32_t)(1<<7))
  4080. #define IOMUXC_GPR_GPR6_QTIMER2_TRM2_INPUT_SEL ((uint32_t)(1<<6))
  4081. #define IOMUXC_GPR_GPR6_QTIMER2_TRM1_INPUT_SEL ((uint32_t)(1<<5))
  4082. #define IOMUXC_GPR_GPR6_QTIMER2_TRM0_INPUT_SEL ((uint32_t)(1<<4))
  4083. #define IOMUXC_GPR_GPR6_QTIMER1_TRM3_INPUT_SEL ((uint32_t)(1<<3))
  4084. #define IOMUXC_GPR_GPR6_QTIMER1_TRM2_INPUT_SEL ((uint32_t)(1<<2))
  4085. #define IOMUXC_GPR_GPR6_QTIMER1_TRM1_INPUT_SEL ((uint32_t)(1<<1))
  4086. #define IOMUXC_GPR_GPR6_QTIMER1_TRM0_INPUT_SEL ((uint32_t)(1<<0))
  4087. #define IOMUXC_GPR_GPR7_LPUART8_STOP_ACK ((uint32_t)(1<<31))
  4088. #define IOMUXC_GPR_GPR7_LPUART7_STOP_ACK ((uint32_t)(1<<30))
  4089. #define IOMUXC_GPR_GPR7_LPUART6_STOP_ACK ((uint32_t)(1<<29))
  4090. #define IOMUXC_GPR_GPR7_LPUART5_STOP_ACK ((uint32_t)(1<<28))
  4091. #define IOMUXC_GPR_GPR7_LPUART4_STOP_ACK ((uint32_t)(1<<27))
  4092. #define IOMUXC_GPR_GPR7_LPUART3_STOP_ACK ((uint32_t)(1<<26))
  4093. #define IOMUXC_GPR_GPR7_LPUART2_STOP_ACK ((uint32_t)(1<<25))
  4094. #define IOMUXC_GPR_GPR7_LPUART1_STOP_ACK ((uint32_t)(1<<24))
  4095. #define IOMUXC_GPR_GPR7_LPSPI4_STOP_ACK ((uint32_t)(1<<23))
  4096. #define IOMUXC_GPR_GPR7_LPSPI3_STOP_ACK ((uint32_t)(1<<22))
  4097. #define IOMUXC_GPR_GPR7_LPSPI2_STOP_ACK ((uint32_t)(1<<21))
  4098. #define IOMUXC_GPR_GPR7_LPSPI1_STOP_ACK ((uint32_t)(1<<20))
  4099. #define IOMUXC_GPR_GPR7_LPI2C4_STOP_ACK ((uint32_t)(1<<19))
  4100. #define IOMUXC_GPR_GPR7_LPI2C3_STOP_ACK ((uint32_t)(1<<18))
  4101. #define IOMUXC_GPR_GPR7_LPI2C2_STOP_ACK ((uint32_t)(1<<17))
  4102. #define IOMUXC_GPR_GPR7_LPI2C1_STOP_ACK ((uint32_t)(1<<16))
  4103. #define IOMUXC_GPR_GPR7_LPUART8_STOP_REQ ((uint32_t)(1<<15))
  4104. #define IOMUXC_GPR_GPR7_LPUART7_STOP_REQ ((uint32_t)(1<<14))
  4105. #define IOMUXC_GPR_GPR7_LPUART6_STOP_REQ ((uint32_t)(1<<13))
  4106. #define IOMUXC_GPR_GPR7_LPUART5_STOP_REQ ((uint32_t)(1<<12))
  4107. #define IOMUXC_GPR_GPR7_LPUART4_STOP_REQ ((uint32_t)(1<<11))
  4108. #define IOMUXC_GPR_GPR7_LPUART3_STOP_REQ ((uint32_t)(1<<10))
  4109. #define IOMUXC_GPR_GPR7_LPUART2_STOP_REQ ((uint32_t)(1<<9))
  4110. #define IOMUXC_GPR_GPR7_LPUART1_STOP_REQ ((uint32_t)(1<<8))
  4111. #define IOMUXC_GPR_GPR7_LPSPI4_STOP_REQ ((uint32_t)(1<<7))
  4112. #define IOMUXC_GPR_GPR7_LPSPI3_STOP_REQ ((uint32_t)(1<<6))
  4113. #define IOMUXC_GPR_GPR7_LPSPI2_STOP_REQ ((uint32_t)(1<<5))
  4114. #define IOMUXC_GPR_GPR7_LPSPI1_STOP_REQ ((uint32_t)(1<<4))
  4115. #define IOMUXC_GPR_GPR7_LPI2C4_STOP_REQ ((uint32_t)(1<<3))
  4116. #define IOMUXC_GPR_GPR7_LPI2C3_STOP_REQ ((uint32_t)(1<<2))
  4117. #define IOMUXC_GPR_GPR7_LPI2C2_STOP_REQ ((uint32_t)(1<<1))
  4118. #define IOMUXC_GPR_GPR7_LPI2C1_STOP_REQ ((uint32_t)(1<<0))
  4119. #define IOMUXC_GPR_GPR8_LPUART8_IPG_DOZE ((uint32_t)(1<<31))
  4120. #define IOMUXC_GPR_GPR8_LPUART8_IPG_STOP_MODE ((uint32_t)(1<<30))
  4121. #define IOMUXC_GPR_GPR8_LPUART7_IPG_DOZE ((uint32_t)(1<<29))
  4122. #define IOMUXC_GPR_GPR8_LPUART7_IPG_STOP_MODE ((uint32_t)(1<<28))
  4123. #define IOMUXC_GPR_GPR8_LPUART6_IPG_DOZE ((uint32_t)(1<<27))
  4124. #define IOMUXC_GPR_GPR8_LPUART6_IPG_STOP_MODE ((uint32_t)(1<<26))
  4125. #define IOMUXC_GPR_GPR8_LPUART5_IPG_DOZE ((uint32_t)(1<<25))
  4126. #define IOMUXC_GPR_GPR8_LPUART5_IPG_STOP_MODE ((uint32_t)(1<<24))
  4127. #define IOMUXC_GPR_GPR8_LPUART4_IPG_DOZE ((uint32_t)(1<<23))
  4128. #define IOMUXC_GPR_GPR8_LPUART4_IPG_STOP_MODE ((uint32_t)(1<<22))
  4129. #define IOMUXC_GPR_GPR8_LPUART3_IPG_DOZE ((uint32_t)(1<<21))
  4130. #define IOMUXC_GPR_GPR8_LPUART3_IPG_STOP_MODE ((uint32_t)(1<<20))
  4131. #define IOMUXC_GPR_GPR8_LPUART2_IPG_DOZE ((uint32_t)(1<<19))
  4132. #define IOMUXC_GPR_GPR8_LPUART2_IPG_STOP_MODE ((uint32_t)(1<<18))
  4133. #define IOMUXC_GPR_GPR8_LPUART1_IPG_DOZE ((uint32_t)(1<<17))
  4134. #define IOMUXC_GPR_GPR8_LPUART1_IPG_STOP_MODE ((uint32_t)(1<<16))
  4135. #define IOMUXC_GPR_GPR8_LPSPI4_IPG_DOZE ((uint32_t)(1<<15))
  4136. #define IOMUXC_GPR_GPR8_LPSPI4_IPG_STOP_MODE ((uint32_t)(1<<14))
  4137. #define IOMUXC_GPR_GPR8_LPSPI3_IPG_DOZE ((uint32_t)(1<<13))
  4138. #define IOMUXC_GPR_GPR8_LPSPI3_IPG_STOP_MODE ((uint32_t)(1<<12))
  4139. #define IOMUXC_GPR_GPR8_LPSPI2_IPG_DOZE ((uint32_t)(1<<11))
  4140. #define IOMUXC_GPR_GPR8_LPSPI2_IPG_STOP_MODE ((uint32_t)(1<<10))
  4141. #define IOMUXC_GPR_GPR8_LPSPI1_IPG_DOZE ((uint32_t)(1<<9))
  4142. #define IOMUXC_GPR_GPR8_LPSPI1_IPG_STOP_MODE ((uint32_t)(1<<8))
  4143. #define IOMUXC_GPR_GPR8_LPI2C4_IPG_DOZE ((uint32_t)(1<<7))
  4144. #define IOMUXC_GPR_GPR8_LPI2C4_IPG_STOP_MODE ((uint32_t)(1<<6))
  4145. #define IOMUXC_GPR_GPR8_LPI2C3_IPG_DOZE ((uint32_t)(1<<5))
  4146. #define IOMUXC_GPR_GPR8_LPI2C3_IPG_STOP_MODE ((uint32_t)(1<<4))
  4147. #define IOMUXC_GPR_GPR8_LPI2C2_IPG_DOZE ((uint32_t)(1<<3))
  4148. #define IOMUXC_GPR_GPR8_LPI2C2_IPG_STOP_MODE ((uint32_t)(1<<2))
  4149. #define IOMUXC_GPR_GPR8_LPI2C1_IPG_DOZE ((uint32_t)(1<<1))
  4150. #define IOMUXC_GPR_GPR8_LPI2C1_IPG_STOP_MODE ((uint32_t)(1<<0))
  4151. #define IOMUXC_GPR_GPR10_LOCK_OCRAM_TZ_ADDR(n) ((uint32_t)(((n) & 0x7F) << 25))
  4152. #define IOMUXC_GPR_GPR10_LOCK_OCRAM_TZ_EN ((uint32_t)(1<<24))
  4153. #define IOMUXC_GPR_GPR10_LOCK_DCPKEY_OCOTP_OR_KEYMUX ((uint32_t)(1<<20))
  4154. #define IOMUXC_GPR_GPR10_LOCK_SEC_ERR_RESP ((uint32_t)(1<<18))
  4155. #define IOMUXC_GPR_GPR10_LOCK_DBG_EN ((uint32_t)(1<<17))
  4156. #define IOMUXC_GPR_GPR10_LOCK_NIDEN ((uint32_t)(1<<16))
  4157. #define IOMUXC_GPR_GPR10_OCRAM_TZ_ADDR(n) ((uint32_t)(((n) & 0x7F) << 9))
  4158. #define IOMUXC_GPR_GPR10_OCRAM_TZ_EN ((uint32_t)(1<<8))
  4159. #define IOMUXC_GPR_GPR10_DCPKEY_OCOTP_OR_KEYMUX ((uint32_t)(1<<4))
  4160. #define IOMUXC_GPR_GPR10_SEC_ERR_RESP ((uint32_t)(1<<2))
  4161. #define IOMUXC_GPR_GPR10_DBG_EN ((uint32_t)(1<<1))
  4162. #define IOMUXC_GPR_GPR10_NIDEN ((uint32_t)(1<<0))
  4163. #define IOMUXC_GPR_GPR11_LOCK_BEE_DE_RX_EN(n) ((uint32_t)(((n) & 0x0F) << 24))
  4164. #define IOMUXC_GPR_GPR11_LOCK_M7_APC_AC_R3_CTRL(n) ((uint32_t)(((n) & 0x03) << 22))
  4165. #define IOMUXC_GPR_GPR11_LOCK_M7_APC_AC_R2_CTRL(n) ((uint32_t)(((n) & 0x03) << 20))
  4166. #define IOMUXC_GPR_GPR11_LOCK_M7_APC_AC_R1_CTRL(n) ((uint32_t)(((n) & 0x03) << 18))
  4167. #define IOMUXC_GPR_GPR11_LOCK_M7_APC_AC_R0_CTRL(n) ((uint32_t)(((n) & 0x03) << 16))
  4168. #define IOMUXC_GPR_GPR11_BEE_DE_RX_EN(n) ((uint32_t)(((n) & 0x0F) << 8))
  4169. #define IOMUXC_GPR_GPR11_M7_APC_AC_R3_CTRL(n) ((uint32_t)(((n) & 0x03) << 6))
  4170. #define IOMUXC_GPR_GPR11_M7_APC_AC_R2_CTRL(n) ((uint32_t)(((n) & 0x03) << 4))
  4171. #define IOMUXC_GPR_GPR11_M7_APC_AC_R1_CTRL(n) ((uint32_t)(((n) & 0x03) << 2))
  4172. #define IOMUXC_GPR_GPR11_M7_APC_AC_R0_CTRL(n) ((uint32_t)(((n) & 0x03) << 0))
  4173. #define IOMUXC_GPR_GPR12_ACMP_IPG_STOP_MODE ((uint32_t)(1<<4))
  4174. #define IOMUXC_GPR_GPR12_FLEXIO2_IPG_DOZE ((uint32_t)(1<<3))
  4175. #define IOMUXC_GPR_GPR12_FLEXIO2_IPG_STOP_MODE ((uint32_t)(1<<2))
  4176. #define IOMUXC_GPR_GPR12_FLEXIO1_IPG_DOZE ((uint32_t)(1<<1))
  4177. #define IOMUXC_GPR_GPR12_FLEXIO1_IPG_STOP_MODE ((uint32_t)(1<<0))
  4178. #define IOMUXC_GPR_GPR13_CACHE_USB ((uint32_t)(1<<13))
  4179. #define IOMUXC_GPR_GPR13_CACHE_ENET ((uint32_t)(1<<7))
  4180. #define IOMUXC_GPR_GPR13_AWCACHE_USDHC ((uint32_t)(1<<1))
  4181. #define IOMUXC_GPR_GPR13_ARCACHE_USDHC ((uint32_t)(1<<0))
  4182. #define IOMUXC_GPR_GPR14_CM7_MX6RT_CFGDTCMSZ(n) ((uint32_t)(((n) & 0x0F) << 20))
  4183. #define IOMUXC_GPR_GPR14_CM7_MX6RT_CFGITCMSZ(n) ((uint32_t)(((n) & 0x0F) << 16))
  4184. #define IOMUXC_GPR_GPR14_ACMP4_SAMPLE_SYNC_EN ((uint32_t)(1<<11))
  4185. #define IOMUXC_GPR_GPR14_ACMP3_SAMPLE_SYNC_EN ((uint32_t)(1<<10))
  4186. #define IOMUXC_GPR_GPR14_ACMP2_SAMPLE_SYNC_EN ((uint32_t)(1<<9))
  4187. #define IOMUXC_GPR_GPR14_ACMP1_SAMPLE_SYNC_EN ((uint32_t)(1<<8))
  4188. #define IOMUXC_GPR_GPR14_ACMP4_CMP_IGEN_TRIM_UP ((uint32_t)(1<<7))
  4189. #define IOMUXC_GPR_GPR14_ACMP3_CMP_IGEN_TRIM_UP ((uint32_t)(1<<6))
  4190. #define IOMUXC_GPR_GPR14_ACMP2_CMP_IGEN_TRIM_UP ((uint32_t)(1<<5))
  4191. #define IOMUXC_GPR_GPR14_ACMP1_CMP_IGEN_TRIM_UP ((uint32_t)(1<<4))
  4192. #define IOMUXC_GPR_GPR14_ACMP4_CMP_IGEN_TRIM_DN ((uint32_t)(1<<3))
  4193. #define IOMUXC_GPR_GPR14_ACMP3_CMP_IGEN_TRIM_DN ((uint32_t)(1<<2))
  4194. #define IOMUXC_GPR_GPR14_ACMP2_CMP_IGEN_TRIM_DN ((uint32_t)(1<<1))
  4195. #define IOMUXC_GPR_GPR14_ACMP1_CMP_IGEN_TRIM_DN ((uint32_t)(1<<0))
  4196. #define IOMUXC_GPR_GPR16_CM7_INIT_VTOR(n) ((uint32_t)(((n) & 0x1FFFFFF) << 7))
  4197. #define IOMUXC_GPR_GPR16_FLEXRAM_BANK_CFG_SEL ((uint32_t)(1<<2))
  4198. #define IOMUXC_GPR_GPR16_INIT_DTCM_EN ((uint32_t)(1<<1))
  4199. #define IOMUXC_GPR_GPR16_INIT_ITCM_EN ((uint32_t)(1<<0))
  4200. #define IOMUXC_GPR_GPR18_M7_APC_AC_R0_BOT(n) ((uint32_t)(((n) & 0x1FFFFFFF) << 3))
  4201. #define IOMUXC_GPR_GPR18_LOCK_M7_APC_AC_R0_BOT ((uint32_t)(1<<0))
  4202. #define IOMUXC_GPR_GPR19_M7_APC_AC_R0_TOP(n) ((uint32_t)(((n) & 0x1FFFFFFF) << 3))
  4203. #define IOMUXC_GPR_GPR19_LOCK_M7_APC_AC_R0_TOP ((uint32_t)(1<<0))
  4204. #define IOMUXC_GPR_GPR20_M7_APC_AC_R1_BOT(n) ((uint32_t)(((n) & 0x1FFFFFFF) << 3))
  4205. #define IOMUXC_GPR_GPR20_LOCK_M7_APC_AC_R1_BOT ((uint32_t)(1<<0))
  4206. #define IOMUXC_GPR_GPR21_M7_APC_AC_R1_TOP(n) ((uint32_t)(((n) & 0x1FFFFFFF) << 3))
  4207. #define IOMUXC_GPR_GPR21_LOCK_M7_APC_AC_R1_TOP ((uint32_t)(1<<0))
  4208. #define IOMUXC_GPR_GPR22_M7_APC_AC_R2_BOT(n) ((uint32_t)(((n) & 0x1FFFFFFF) << 3))
  4209. #define IOMUXC_GPR_GPR22_LOCK_M7_APC_AC_R2_BOT ((uint32_t)(1<<0))
  4210. #define IOMUXC_GPR_GPR23_M7_APC_AC_R2_TOP(n) ((uint32_t)(((n) & 0x1FFFFFFF) << 3))
  4211. #define IOMUXC_GPR_GPR23_LOCK_M7_APC_AC_R2_TOP ((uint32_t)(1<<0))
  4212. #define IOMUXC_GPR_GPR24_M7_APC_AC_R3_BOT(n) ((uint32_t)(((n) & 0x1FFFFFFF) << 3))
  4213. #define IOMUXC_GPR_GPR24_LOCK_M7_APC_AC_R3_BOT ((uint32_t)(1<<0))
  4214. #define IOMUXC_GPR_GPR25_M7_APC_AC_R3_TOP(n) ((uint32_t)(((n) & 0x1FFFFFFF) << 3))
  4215. #define IOMUXC_GPR_GPR25_LOCK_M7_APC_AC_R3_TOP ((uint32_t)(1<<0))
  4216. // 34.5: page 1717
  4217. #define IMXRT_IOMUXC_SNVS (*(IMXRT_REGISTER32_t *)0x400A8000)
  4218. #define IOMUXC_SNVS_SW_MUX_CTL_PAD_WAKEUP (IMXRT_IOMUXC_SNVS.offset000)
  4219. #define IOMUXC_SNVS_SW_MUX_CTL_PAD_PMIC_ON_REQ (IMXRT_IOMUXC_SNVS.offset004)
  4220. #define IOMUXC_SNVS_SW_MUX_CTL_PAD_PMIC_STBY_REQ (IMXRT_IOMUXC_SNVS.offset008)
  4221. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_TEST_MODE (IMXRT_IOMUXC_SNVS.offset00C)
  4222. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_POR_B (IMXRT_IOMUXC_SNVS.offset010)
  4223. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_ONOFF (IMXRT_IOMUXC_SNVS.offset014)
  4224. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_WAKEUP (IMXRT_IOMUXC_SNVS.offset018)
  4225. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_PMIC_ON_REQ (IMXRT_IOMUXC_SNVS.offset01C)
  4226. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_PMIC_STBY_REQ (IMXRT_IOMUXC_SNVS.offset020)
  4227. // 34.6: page 1732
  4228. #define IMXRT_IOMUXC_SNVS_GPR (*(IMXRT_REGISTER32_t *)0x400A4000)
  4229. #define IOMUXC_SNVS_GPR_GPR0 (IMXRT_IOMUXC_SNVS_GPR.offset000)
  4230. #define IOMUXC_SNVS_GPR_GPR1 (IMXRT_IOMUXC_SNVS_GPR.offset004)
  4231. #define IOMUXC_SNVS_GPR_GPR2 (IMXRT_IOMUXC_SNVS_GPR.offset008)
  4232. #define IOMUXC_SNVS_GPR_GPR3 (IMXRT_IOMUXC_SNVS_GPR.offset00C)
  4233. // 34.7: page 1736
  4234. #define IMXRT_IOMUXC (*(IMXRT_REGISTER32_t *)0x401F8000)
  4235. #define IMXRT_IOMUXC_b (*(IMXRT_REGISTER32_t *)0x401F8400)
  4236. #define IOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_00 (IMXRT_IOMUXC.offset014)
  4237. #define IOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_01 (IMXRT_IOMUXC.offset018)
  4238. #define IOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_02 (IMXRT_IOMUXC.offset01C)
  4239. #define IOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_03 (IMXRT_IOMUXC.offset020)
  4240. #define IOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_04 (IMXRT_IOMUXC.offset024)
  4241. #define IOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_05 (IMXRT_IOMUXC.offset028)
  4242. #define IOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_06 (IMXRT_IOMUXC.offset02C)
  4243. #define IOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_07 (IMXRT_IOMUXC.offset030)
  4244. #define IOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_08 (IMXRT_IOMUXC.offset034)
  4245. #define IOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_09 (IMXRT_IOMUXC.offset038)
  4246. #define IOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_10 (IMXRT_IOMUXC.offset03C)
  4247. #define IOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_11 (IMXRT_IOMUXC.offset040)
  4248. #define IOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_12 (IMXRT_IOMUXC.offset044)
  4249. #define IOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_13 (IMXRT_IOMUXC.offset048)
  4250. #define IOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_14 (IMXRT_IOMUXC.offset04C)
  4251. #define IOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_15 (IMXRT_IOMUXC.offset050)
  4252. #define IOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_16 (IMXRT_IOMUXC.offset054)
  4253. #define IOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_17 (IMXRT_IOMUXC.offset058)
  4254. #define IOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_18 (IMXRT_IOMUXC.offset05C)
  4255. #define IOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_19 (IMXRT_IOMUXC.offset060)
  4256. #define IOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_20 (IMXRT_IOMUXC.offset064)
  4257. #define IOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_21 (IMXRT_IOMUXC.offset068)
  4258. #define IOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_22 (IMXRT_IOMUXC.offset06C)
  4259. #define IOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_23 (IMXRT_IOMUXC.offset070)
  4260. #define IOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_24 (IMXRT_IOMUXC.offset074)
  4261. #define IOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_25 (IMXRT_IOMUXC.offset078)
  4262. #define IOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_26 (IMXRT_IOMUXC.offset07C)
  4263. #define IOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_27 (IMXRT_IOMUXC.offset080)
  4264. #define IOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_28 (IMXRT_IOMUXC.offset084)
  4265. #define IOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_29 (IMXRT_IOMUXC.offset088)
  4266. #define IOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_30 (IMXRT_IOMUXC.offset08C)
  4267. #define IOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_31 (IMXRT_IOMUXC.offset090)
  4268. #define IOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_32 (IMXRT_IOMUXC.offset094)
  4269. #define IOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_33 (IMXRT_IOMUXC.offset098)
  4270. #define IOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_34 (IMXRT_IOMUXC.offset09C)
  4271. #define IOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_35 (IMXRT_IOMUXC.offset0A0)
  4272. #define IOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_36 (IMXRT_IOMUXC.offset0A4)
  4273. #define IOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_37 (IMXRT_IOMUXC.offset0A8)
  4274. #define IOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_38 (IMXRT_IOMUXC.offset0AC)
  4275. #define IOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_39 (IMXRT_IOMUXC.offset0B0)
  4276. #define IOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_40 (IMXRT_IOMUXC.offset0B4)
  4277. #define IOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_41 (IMXRT_IOMUXC.offset0B8)
  4278. #define IOMUXC_SW_MUX_CTL_PAD_GPIO_AD_B0_00 (IMXRT_IOMUXC.offset0BC)
  4279. #define IOMUXC_SW_MUX_CTL_PAD_GPIO_AD_B0_01 (IMXRT_IOMUXC.offset0C0)
  4280. #define IOMUXC_SW_MUX_CTL_PAD_GPIO_AD_B0_02 (IMXRT_IOMUXC.offset0C4)
  4281. #define IOMUXC_SW_MUX_CTL_PAD_GPIO_AD_B0_03 (IMXRT_IOMUXC.offset0C8)
  4282. #define IOMUXC_SW_MUX_CTL_PAD_GPIO_AD_B0_04 (IMXRT_IOMUXC.offset0CC)
  4283. #define IOMUXC_SW_MUX_CTL_PAD_GPIO_AD_B0_05 (IMXRT_IOMUXC.offset0D0)
  4284. #define IOMUXC_SW_MUX_CTL_PAD_GPIO_AD_B0_06 (IMXRT_IOMUXC.offset0D4)
  4285. #define IOMUXC_SW_MUX_CTL_PAD_GPIO_AD_B0_07 (IMXRT_IOMUXC.offset0D8)
  4286. #define IOMUXC_SW_MUX_CTL_PAD_GPIO_AD_B0_08 (IMXRT_IOMUXC.offset0DC)
  4287. #define IOMUXC_SW_MUX_CTL_PAD_GPIO_AD_B0_09 (IMXRT_IOMUXC.offset0E0)
  4288. #define IOMUXC_SW_MUX_CTL_PAD_GPIO_AD_B0_10 (IMXRT_IOMUXC.offset0E4)
  4289. #define IOMUXC_SW_MUX_CTL_PAD_GPIO_AD_B0_11 (IMXRT_IOMUXC.offset0E8)
  4290. #define IOMUXC_SW_MUX_CTL_PAD_GPIO_AD_B0_12 (IMXRT_IOMUXC.offset0EC)
  4291. #define IOMUXC_SW_MUX_CTL_PAD_GPIO_AD_B0_13 (IMXRT_IOMUXC.offset0F0)
  4292. #define IOMUXC_SW_MUX_CTL_PAD_GPIO_AD_B0_14 (IMXRT_IOMUXC.offset0F4)
  4293. #define IOMUXC_SW_MUX_CTL_PAD_GPIO_AD_B0_15 (IMXRT_IOMUXC.offset0F8)
  4294. #define IOMUXC_SW_MUX_CTL_PAD_GPIO_AD_B1_00 (IMXRT_IOMUXC.offset0FC)
  4295. #define IOMUXC_SW_MUX_CTL_PAD_GPIO_AD_B1_01 (IMXRT_IOMUXC.offset100)
  4296. #define IOMUXC_SW_MUX_CTL_PAD_GPIO_AD_B1_02 (IMXRT_IOMUXC.offset104)
  4297. #define IOMUXC_SW_MUX_CTL_PAD_GPIO_AD_B1_03 (IMXRT_IOMUXC.offset108)
  4298. #define IOMUXC_SW_MUX_CTL_PAD_GPIO_AD_B1_04 (IMXRT_IOMUXC.offset10C)
  4299. #define IOMUXC_SW_MUX_CTL_PAD_GPIO_AD_B1_05 (IMXRT_IOMUXC.offset110)
  4300. #define IOMUXC_SW_MUX_CTL_PAD_GPIO_AD_B1_06 (IMXRT_IOMUXC.offset114)
  4301. #define IOMUXC_SW_MUX_CTL_PAD_GPIO_AD_B1_07 (IMXRT_IOMUXC.offset118)
  4302. #define IOMUXC_SW_MUX_CTL_PAD_GPIO_AD_B1_08 (IMXRT_IOMUXC.offset11C)
  4303. #define IOMUXC_SW_MUX_CTL_PAD_GPIO_AD_B1_09 (IMXRT_IOMUXC.offset120)
  4304. #define IOMUXC_SW_MUX_CTL_PAD_GPIO_AD_B1_10 (IMXRT_IOMUXC.offset124)
  4305. #define IOMUXC_SW_MUX_CTL_PAD_GPIO_AD_B1_11 (IMXRT_IOMUXC.offset128)
  4306. #define IOMUXC_SW_MUX_CTL_PAD_GPIO_AD_B1_12 (IMXRT_IOMUXC.offset12C)
  4307. #define IOMUXC_SW_MUX_CTL_PAD_GPIO_AD_B1_13 (IMXRT_IOMUXC.offset130)
  4308. #define IOMUXC_SW_MUX_CTL_PAD_GPIO_AD_B1_14 (IMXRT_IOMUXC.offset134)
  4309. #define IOMUXC_SW_MUX_CTL_PAD_GPIO_AD_B1_15 (IMXRT_IOMUXC.offset138)
  4310. #define IOMUXC_SW_MUX_CTL_PAD_GPIO_B0_00 (IMXRT_IOMUXC.offset13C)
  4311. #define IOMUXC_SW_MUX_CTL_PAD_GPIO_B0_01 (IMXRT_IOMUXC.offset140)
  4312. #define IOMUXC_SW_MUX_CTL_PAD_GPIO_B0_02 (IMXRT_IOMUXC.offset144)
  4313. #define IOMUXC_SW_MUX_CTL_PAD_GPIO_B0_03 (IMXRT_IOMUXC.offset148)
  4314. #define IOMUXC_SW_MUX_CTL_PAD_GPIO_B0_04 (IMXRT_IOMUXC.offset14C)
  4315. #define IOMUXC_SW_MUX_CTL_PAD_GPIO_B0_05 (IMXRT_IOMUXC.offset150)
  4316. #define IOMUXC_SW_MUX_CTL_PAD_GPIO_B0_06 (IMXRT_IOMUXC.offset154)
  4317. #define IOMUXC_SW_MUX_CTL_PAD_GPIO_B0_07 (IMXRT_IOMUXC.offset158)
  4318. #define IOMUXC_SW_MUX_CTL_PAD_GPIO_B0_08 (IMXRT_IOMUXC.offset15C)
  4319. #define IOMUXC_SW_MUX_CTL_PAD_GPIO_B0_09 (IMXRT_IOMUXC.offset160)
  4320. #define IOMUXC_SW_MUX_CTL_PAD_GPIO_B0_10 (IMXRT_IOMUXC.offset164)
  4321. #define IOMUXC_SW_MUX_CTL_PAD_GPIO_B0_11 (IMXRT_IOMUXC.offset168)
  4322. #define IOMUXC_SW_MUX_CTL_PAD_GPIO_B0_12 (IMXRT_IOMUXC.offset16C)
  4323. #define IOMUXC_SW_MUX_CTL_PAD_GPIO_B0_13 (IMXRT_IOMUXC.offset170)
  4324. #define IOMUXC_SW_MUX_CTL_PAD_GPIO_B0_14 (IMXRT_IOMUXC.offset174)
  4325. #define IOMUXC_SW_MUX_CTL_PAD_GPIO_B0_15 (IMXRT_IOMUXC.offset178)
  4326. #define IOMUXC_SW_MUX_CTL_PAD_GPIO_B1_00 (IMXRT_IOMUXC.offset17C)
  4327. #define IOMUXC_SW_MUX_CTL_PAD_GPIO_B1_01 (IMXRT_IOMUXC.offset180)
  4328. #define IOMUXC_SW_MUX_CTL_PAD_GPIO_B1_02 (IMXRT_IOMUXC.offset184)
  4329. #define IOMUXC_SW_MUX_CTL_PAD_GPIO_B1_03 (IMXRT_IOMUXC.offset188)
  4330. #define IOMUXC_SW_MUX_CTL_PAD_GPIO_B1_04 (IMXRT_IOMUXC.offset18C)
  4331. #define IOMUXC_SW_MUX_CTL_PAD_GPIO_B1_05 (IMXRT_IOMUXC.offset190)
  4332. #define IOMUXC_SW_MUX_CTL_PAD_GPIO_B1_06 (IMXRT_IOMUXC.offset194)
  4333. #define IOMUXC_SW_MUX_CTL_PAD_GPIO_B1_07 (IMXRT_IOMUXC.offset198)
  4334. #define IOMUXC_SW_MUX_CTL_PAD_GPIO_B1_08 (IMXRT_IOMUXC.offset19C)
  4335. #define IOMUXC_SW_MUX_CTL_PAD_GPIO_B1_09 (IMXRT_IOMUXC.offset1A0)
  4336. #define IOMUXC_SW_MUX_CTL_PAD_GPIO_B1_10 (IMXRT_IOMUXC.offset1A4)
  4337. #define IOMUXC_SW_MUX_CTL_PAD_GPIO_B1_11 (IMXRT_IOMUXC.offset1A8)
  4338. #define IOMUXC_SW_MUX_CTL_PAD_GPIO_B1_12 (IMXRT_IOMUXC.offset1AC)
  4339. #define IOMUXC_SW_MUX_CTL_PAD_GPIO_B1_13 (IMXRT_IOMUXC.offset1B0)
  4340. #define IOMUXC_SW_MUX_CTL_PAD_GPIO_B1_14 (IMXRT_IOMUXC.offset1B4)
  4341. #define IOMUXC_SW_MUX_CTL_PAD_GPIO_B1_15 (IMXRT_IOMUXC.offset1B8)
  4342. #define IOMUXC_SW_MUX_CTL_PAD_GPIO_SD_B0_00 (IMXRT_IOMUXC.offset1BC)
  4343. #define IOMUXC_SW_MUX_CTL_PAD_GPIO_SD_B0_01 (IMXRT_IOMUXC.offset1C0)
  4344. #define IOMUXC_SW_MUX_CTL_PAD_GPIO_SD_B0_02 (IMXRT_IOMUXC.offset1C4)
  4345. #define IOMUXC_SW_MUX_CTL_PAD_GPIO_SD_B0_03 (IMXRT_IOMUXC.offset1C8)
  4346. #define IOMUXC_SW_MUX_CTL_PAD_GPIO_SD_B0_04 (IMXRT_IOMUXC.offset1CC)
  4347. #define IOMUXC_SW_MUX_CTL_PAD_GPIO_SD_B0_05 (IMXRT_IOMUXC.offset1D0)
  4348. #define IOMUXC_SW_MUX_CTL_PAD_GPIO_SD_B1_00 (IMXRT_IOMUXC.offset1D4)
  4349. #define IOMUXC_SW_MUX_CTL_PAD_GPIO_SD_B1_01 (IMXRT_IOMUXC.offset1D8)
  4350. #define IOMUXC_SW_MUX_CTL_PAD_GPIO_SD_B1_02 (IMXRT_IOMUXC.offset1DC)
  4351. #define IOMUXC_SW_MUX_CTL_PAD_GPIO_SD_B1_03 (IMXRT_IOMUXC.offset1E0)
  4352. #define IOMUXC_SW_MUX_CTL_PAD_GPIO_SD_B1_04 (IMXRT_IOMUXC.offset1E4)
  4353. #define IOMUXC_SW_MUX_CTL_PAD_GPIO_SD_B1_05 (IMXRT_IOMUXC.offset1E8)
  4354. #define IOMUXC_SW_MUX_CTL_PAD_GPIO_SD_B1_06 (IMXRT_IOMUXC.offset1EC)
  4355. #define IOMUXC_SW_MUX_CTL_PAD_GPIO_SD_B1_07 (IMXRT_IOMUXC.offset1F0)
  4356. #define IOMUXC_SW_MUX_CTL_PAD_GPIO_SD_B1_08 (IMXRT_IOMUXC.offset1F4)
  4357. #define IOMUXC_SW_MUX_CTL_PAD_GPIO_SD_B1_09 (IMXRT_IOMUXC.offset1F8)
  4358. #define IOMUXC_SW_MUX_CTL_PAD_GPIO_SD_B1_10 (IMXRT_IOMUXC.offset1FC)
  4359. #define IOMUXC_SW_MUX_CTL_PAD_GPIO_SD_B1_11 (IMXRT_IOMUXC.offset200)
  4360. #define IOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_00 (IMXRT_IOMUXC.offset204)
  4361. #define IOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_01 (IMXRT_IOMUXC.offset208)
  4362. #define IOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_02 (IMXRT_IOMUXC.offset20C)
  4363. #define IOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_03 (IMXRT_IOMUXC.offset210)
  4364. #define IOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_04 (IMXRT_IOMUXC.offset214)
  4365. #define IOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_05 (IMXRT_IOMUXC.offset218)
  4366. #define IOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_06 (IMXRT_IOMUXC.offset21C)
  4367. #define IOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_07 (IMXRT_IOMUXC.offset220)
  4368. #define IOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_08 (IMXRT_IOMUXC.offset224)
  4369. #define IOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_09 (IMXRT_IOMUXC.offset228)
  4370. #define IOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_10 (IMXRT_IOMUXC.offset22C)
  4371. #define IOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_11 (IMXRT_IOMUXC.offset230)
  4372. #define IOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_12 (IMXRT_IOMUXC.offset234)
  4373. #define IOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_13 (IMXRT_IOMUXC.offset238)
  4374. #define IOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_14 (IMXRT_IOMUXC.offset23C)
  4375. #define IOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_15 (IMXRT_IOMUXC.offset240)
  4376. #define IOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_16 (IMXRT_IOMUXC.offset244)
  4377. #define IOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_17 (IMXRT_IOMUXC.offset248)
  4378. #define IOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_18 (IMXRT_IOMUXC.offset24C)
  4379. #define IOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_19 (IMXRT_IOMUXC.offset250)
  4380. #define IOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_20 (IMXRT_IOMUXC.offset254)
  4381. #define IOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_21 (IMXRT_IOMUXC.offset258)
  4382. #define IOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_22 (IMXRT_IOMUXC.offset25C)
  4383. #define IOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_23 (IMXRT_IOMUXC.offset260)
  4384. #define IOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_24 (IMXRT_IOMUXC.offset264)
  4385. #define IOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_25 (IMXRT_IOMUXC.offset268)
  4386. #define IOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_26 (IMXRT_IOMUXC.offset26C)
  4387. #define IOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_27 (IMXRT_IOMUXC.offset270)
  4388. #define IOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_28 (IMXRT_IOMUXC.offset274)
  4389. #define IOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_29 (IMXRT_IOMUXC.offset278)
  4390. #define IOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_30 (IMXRT_IOMUXC.offset27C)
  4391. #define IOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_31 (IMXRT_IOMUXC.offset280)
  4392. #define IOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_32 (IMXRT_IOMUXC.offset284)
  4393. #define IOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_33 (IMXRT_IOMUXC.offset288)
  4394. #define IOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_34 (IMXRT_IOMUXC.offset28C)
  4395. #define IOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_35 (IMXRT_IOMUXC.offset290)
  4396. #define IOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_36 (IMXRT_IOMUXC.offset294)
  4397. #define IOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_37 (IMXRT_IOMUXC.offset298)
  4398. #define IOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_38 (IMXRT_IOMUXC.offset29C)
  4399. #define IOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_39 (IMXRT_IOMUXC.offset2A0)
  4400. #define IOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_40 (IMXRT_IOMUXC.offset2A4)
  4401. #define IOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_41 (IMXRT_IOMUXC.offset2A8)
  4402. #define IOMUXC_SW_PAD_CTL_PAD_GPIO_AD_B0_00 (IMXRT_IOMUXC.offset2AC)
  4403. #define IOMUXC_SW_PAD_CTL_PAD_GPIO_AD_B0_01 (IMXRT_IOMUXC.offset2B0)
  4404. #define IOMUXC_SW_PAD_CTL_PAD_GPIO_AD_B0_02 (IMXRT_IOMUXC.offset2B4)
  4405. #define IOMUXC_SW_PAD_CTL_PAD_GPIO_AD_B0_03 (IMXRT_IOMUXC.offset2B8)
  4406. #define IOMUXC_SW_PAD_CTL_PAD_GPIO_AD_B0_04 (IMXRT_IOMUXC.offset2BC)
  4407. #define IOMUXC_SW_PAD_CTL_PAD_GPIO_AD_B0_05 (IMXRT_IOMUXC.offset2C0)
  4408. #define IOMUXC_SW_PAD_CTL_PAD_GPIO_AD_B0_06 (IMXRT_IOMUXC.offset2C4)
  4409. #define IOMUXC_SW_PAD_CTL_PAD_GPIO_AD_B0_07 (IMXRT_IOMUXC.offset2C8)
  4410. #define IOMUXC_SW_PAD_CTL_PAD_GPIO_AD_B0_08 (IMXRT_IOMUXC.offset2CC)
  4411. #define IOMUXC_SW_PAD_CTL_PAD_GPIO_AD_B0_09 (IMXRT_IOMUXC.offset2D0)
  4412. #define IOMUXC_SW_PAD_CTL_PAD_GPIO_AD_B0_10 (IMXRT_IOMUXC.offset2D4)
  4413. #define IOMUXC_SW_PAD_CTL_PAD_GPIO_AD_B0_11 (IMXRT_IOMUXC.offset2D8)
  4414. #define IOMUXC_SW_PAD_CTL_PAD_GPIO_AD_B0_12 (IMXRT_IOMUXC.offset2DC)
  4415. #define IOMUXC_SW_PAD_CTL_PAD_GPIO_AD_B0_13 (IMXRT_IOMUXC.offset2E0)
  4416. #define IOMUXC_SW_PAD_CTL_PAD_GPIO_AD_B0_14 (IMXRT_IOMUXC.offset2E4)
  4417. #define IOMUXC_SW_PAD_CTL_PAD_GPIO_AD_B0_15 (IMXRT_IOMUXC.offset2E8)
  4418. #define IOMUXC_SW_PAD_CTL_PAD_GPIO_AD_B1_00 (IMXRT_IOMUXC.offset2EC)
  4419. #define IOMUXC_SW_PAD_CTL_PAD_GPIO_AD_B1_01 (IMXRT_IOMUXC.offset2F0)
  4420. #define IOMUXC_SW_PAD_CTL_PAD_GPIO_AD_B1_02 (IMXRT_IOMUXC.offset2F4)
  4421. #define IOMUXC_SW_PAD_CTL_PAD_GPIO_AD_B1_03 (IMXRT_IOMUXC.offset2F8)
  4422. #define IOMUXC_SW_PAD_CTL_PAD_GPIO_AD_B1_04 (IMXRT_IOMUXC.offset2FC)
  4423. #define IOMUXC_SW_PAD_CTL_PAD_GPIO_AD_B1_05 (IMXRT_IOMUXC.offset300)
  4424. #define IOMUXC_SW_PAD_CTL_PAD_GPIO_AD_B1_06 (IMXRT_IOMUXC.offset304)
  4425. #define IOMUXC_SW_PAD_CTL_PAD_GPIO_AD_B1_07 (IMXRT_IOMUXC.offset308)
  4426. #define IOMUXC_SW_PAD_CTL_PAD_GPIO_AD_B1_08 (IMXRT_IOMUXC.offset30C)
  4427. #define IOMUXC_SW_PAD_CTL_PAD_GPIO_AD_B1_09 (IMXRT_IOMUXC.offset310)
  4428. #define IOMUXC_SW_PAD_CTL_PAD_GPIO_AD_B1_10 (IMXRT_IOMUXC.offset314)
  4429. #define IOMUXC_SW_PAD_CTL_PAD_GPIO_AD_B1_11 (IMXRT_IOMUXC.offset318)
  4430. #define IOMUXC_SW_PAD_CTL_PAD_GPIO_AD_B1_12 (IMXRT_IOMUXC.offset31C)
  4431. #define IOMUXC_SW_PAD_CTL_PAD_GPIO_AD_B1_13 (IMXRT_IOMUXC.offset320)
  4432. #define IOMUXC_SW_PAD_CTL_PAD_GPIO_AD_B1_14 (IMXRT_IOMUXC.offset324)
  4433. #define IOMUXC_SW_PAD_CTL_PAD_GPIO_AD_B1_15 (IMXRT_IOMUXC.offset328)
  4434. #define IOMUXC_SW_PAD_CTL_PAD_GPIO_B0_00 (IMXRT_IOMUXC.offset32C)
  4435. #define IOMUXC_SW_PAD_CTL_PAD_GPIO_B0_01 (IMXRT_IOMUXC.offset330)
  4436. #define IOMUXC_SW_PAD_CTL_PAD_GPIO_B0_02 (IMXRT_IOMUXC.offset334)
  4437. #define IOMUXC_SW_PAD_CTL_PAD_GPIO_B0_03 (IMXRT_IOMUXC.offset338)
  4438. #define IOMUXC_SW_PAD_CTL_PAD_GPIO_B0_04 (IMXRT_IOMUXC.offset33C)
  4439. #define IOMUXC_SW_PAD_CTL_PAD_GPIO_B0_05 (IMXRT_IOMUXC.offset340)
  4440. #define IOMUXC_SW_PAD_CTL_PAD_GPIO_B0_06 (IMXRT_IOMUXC.offset344)
  4441. #define IOMUXC_SW_PAD_CTL_PAD_GPIO_B0_07 (IMXRT_IOMUXC.offset348)
  4442. #define IOMUXC_SW_PAD_CTL_PAD_GPIO_B0_08 (IMXRT_IOMUXC.offset34C)
  4443. #define IOMUXC_SW_PAD_CTL_PAD_GPIO_B0_09 (IMXRT_IOMUXC.offset350)
  4444. #define IOMUXC_SW_PAD_CTL_PAD_GPIO_B0_10 (IMXRT_IOMUXC.offset354)
  4445. #define IOMUXC_SW_PAD_CTL_PAD_GPIO_B0_11 (IMXRT_IOMUXC.offset358)
  4446. #define IOMUXC_SW_PAD_CTL_PAD_GPIO_B0_12 (IMXRT_IOMUXC.offset35C)
  4447. #define IOMUXC_SW_PAD_CTL_PAD_GPIO_B0_13 (IMXRT_IOMUXC.offset360)
  4448. #define IOMUXC_SW_PAD_CTL_PAD_GPIO_B0_14 (IMXRT_IOMUXC.offset364)
  4449. #define IOMUXC_SW_PAD_CTL_PAD_GPIO_B0_15 (IMXRT_IOMUXC.offset368)
  4450. #define IOMUXC_SW_PAD_CTL_PAD_GPIO_B1_00 (IMXRT_IOMUXC.offset36C)
  4451. #define IOMUXC_SW_PAD_CTL_PAD_GPIO_B1_01 (IMXRT_IOMUXC.offset370)
  4452. #define IOMUXC_SW_PAD_CTL_PAD_GPIO_B1_02 (IMXRT_IOMUXC.offset374)
  4453. #define IOMUXC_SW_PAD_CTL_PAD_GPIO_B1_03 (IMXRT_IOMUXC.offset378)
  4454. #define IOMUXC_SW_PAD_CTL_PAD_GPIO_B1_04 (IMXRT_IOMUXC.offset37C)
  4455. #define IOMUXC_SW_PAD_CTL_PAD_GPIO_B1_05 (IMXRT_IOMUXC.offset380)
  4456. #define IOMUXC_SW_PAD_CTL_PAD_GPIO_B1_06 (IMXRT_IOMUXC.offset384)
  4457. #define IOMUXC_SW_PAD_CTL_PAD_GPIO_B1_07 (IMXRT_IOMUXC.offset388)
  4458. #define IOMUXC_SW_PAD_CTL_PAD_GPIO_B1_08 (IMXRT_IOMUXC.offset38C)
  4459. #define IOMUXC_SW_PAD_CTL_PAD_GPIO_B1_09 (IMXRT_IOMUXC.offset390)
  4460. #define IOMUXC_SW_PAD_CTL_PAD_GPIO_B1_10 (IMXRT_IOMUXC.offset394)
  4461. #define IOMUXC_SW_PAD_CTL_PAD_GPIO_B1_11 (IMXRT_IOMUXC.offset398)
  4462. #define IOMUXC_SW_PAD_CTL_PAD_GPIO_B1_12 (IMXRT_IOMUXC.offset39C)
  4463. #define IOMUXC_SW_PAD_CTL_PAD_GPIO_B1_13 (IMXRT_IOMUXC.offset3A0)
  4464. #define IOMUXC_SW_PAD_CTL_PAD_GPIO_B1_14 (IMXRT_IOMUXC.offset3A4)
  4465. #define IOMUXC_SW_PAD_CTL_PAD_GPIO_B1_15 (IMXRT_IOMUXC.offset3A8)
  4466. #define IOMUXC_SW_PAD_CTL_PAD_GPIO_SD_B0_00 (IMXRT_IOMUXC.offset3AC)
  4467. #define IOMUXC_SW_PAD_CTL_PAD_GPIO_SD_B0_01 (IMXRT_IOMUXC.offset3B0)
  4468. #define IOMUXC_SW_PAD_CTL_PAD_GPIO_SD_B0_02 (IMXRT_IOMUXC.offset3B4)
  4469. #define IOMUXC_SW_PAD_CTL_PAD_GPIO_SD_B0_03 (IMXRT_IOMUXC.offset3B8)
  4470. #define IOMUXC_SW_PAD_CTL_PAD_GPIO_SD_B0_04 (IMXRT_IOMUXC.offset3BC)
  4471. #define IOMUXC_SW_PAD_CTL_PAD_GPIO_SD_B0_05 (IMXRT_IOMUXC.offset3C0)
  4472. #define IOMUXC_SW_PAD_CTL_PAD_GPIO_SD_B1_00 (IMXRT_IOMUXC.offset3C4)
  4473. #define IOMUXC_SW_PAD_CTL_PAD_GPIO_SD_B1_01 (IMXRT_IOMUXC.offset3C8)
  4474. #define IOMUXC_SW_PAD_CTL_PAD_GPIO_SD_B1_02 (IMXRT_IOMUXC.offset3CC)
  4475. #define IOMUXC_SW_PAD_CTL_PAD_GPIO_SD_B1_03 (IMXRT_IOMUXC.offset3D0)
  4476. #define IOMUXC_SW_PAD_CTL_PAD_GPIO_SD_B1_04 (IMXRT_IOMUXC.offset3D4)
  4477. #define IOMUXC_SW_PAD_CTL_PAD_GPIO_SD_B1_05 (IMXRT_IOMUXC.offset3D8)
  4478. #define IOMUXC_SW_PAD_CTL_PAD_GPIO_SD_B1_06 (IMXRT_IOMUXC.offset3DC)
  4479. #define IOMUXC_SW_PAD_CTL_PAD_GPIO_SD_B1_07 (IMXRT_IOMUXC.offset3E0)
  4480. #define IOMUXC_SW_PAD_CTL_PAD_GPIO_SD_B1_08 (IMXRT_IOMUXC.offset3E4)
  4481. #define IOMUXC_SW_PAD_CTL_PAD_GPIO_SD_B1_09 (IMXRT_IOMUXC.offset3E8)
  4482. #define IOMUXC_SW_PAD_CTL_PAD_GPIO_SD_B1_10 (IMXRT_IOMUXC.offset3EC)
  4483. #define IOMUXC_SW_PAD_CTL_PAD_GPIO_SD_B1_11 (IMXRT_IOMUXC.offset3F0)
  4484. #define IOMUXC_ANATOP_USB_OTG_ID_SELECT_INPUT (IMXRT_IOMUXC.offset3F4)
  4485. #define IOMUXC_ANATOP_USB_UH1_ID_SELECT_INPUT (IMXRT_IOMUXC.offset3F8)
  4486. #define IOMUXC_CCM_PMIC_READY_SELECT_INPUT (IMXRT_IOMUXC.offset3FC)
  4487. #define IOMUXC_CSI_DATA02_SELECT_INPUT (IMXRT_IOMUXC_b.offset000)
  4488. #define IOMUXC_CSI_DATA03_SELECT_INPUT (IMXRT_IOMUXC_b.offset004)
  4489. #define IOMUXC_CSI_DATA04_SELECT_INPUT (IMXRT_IOMUXC_b.offset008)
  4490. #define IOMUXC_CSI_DATA05_SELECT_INPUT (IMXRT_IOMUXC_b.offset00C)
  4491. #define IOMUXC_CSI_DATA06_SELECT_INPUT (IMXRT_IOMUXC_b.offset010)
  4492. #define IOMUXC_CSI_DATA07_SELECT_INPUT (IMXRT_IOMUXC_b.offset014)
  4493. #define IOMUXC_CSI_DATA08_SELECT_INPUT (IMXRT_IOMUXC_b.offset018)
  4494. #define IOMUXC_CSI_DATA09_SELECT_INPUT (IMXRT_IOMUXC_b.offset01C)
  4495. #define IOMUXC_CSI_HSYNC_SELECT_INPUT (IMXRT_IOMUXC_b.offset020)
  4496. #define IOMUXC_CSI_PIXCLK_SELECT_INPUT (IMXRT_IOMUXC_b.offset024)
  4497. #define IOMUXC_CSI_VSYNC_SELECT_INPUT (IMXRT_IOMUXC_b.offset028)
  4498. #define IOMUXC_ENET_IPG_CLK_RMII_SELECT_INPUT (IMXRT_IOMUXC_b.offset02C)
  4499. #define IOMUXC_ENET_MDIO_SELECT_INPUT (IMXRT_IOMUXC_b.offset030)
  4500. #define IOMUXC_ENET0_RXDATA_SELECT_INPUT (IMXRT_IOMUXC_b.offset034)
  4501. #define IOMUXC_ENET1_RXDATA_SELECT_INPUT (IMXRT_IOMUXC_b.offset038)
  4502. #define IOMUXC_ENET_RXEN_SELECT_INPUT (IMXRT_IOMUXC_b.offset03C)
  4503. #define IOMUXC_ENET_RXERR_SELECT_INPUT (IMXRT_IOMUXC_b.offset040)
  4504. #define IOMUXC_ENET0_TIMER_SELECT_INPUT (IMXRT_IOMUXC_b.offset044)
  4505. #define IOMUXC_ENET_TXCLK_SELECT_INPUT (IMXRT_IOMUXC_b.offset048)
  4506. #define IOMUXC_FLEXCAN1_RX_SELECT_INPUT (IMXRT_IOMUXC_b.offset04C)
  4507. #define IOMUXC_FLEXCAN2_RX_SELECT_INPUT (IMXRT_IOMUXC_b.offset050)
  4508. #define IOMUXC_FLEXPWM1_PWMA3_SELECT_INPUT (IMXRT_IOMUXC_b.offset054)
  4509. #define IOMUXC_FLEXPWM1_PWMA0_SELECT_INPUT (IMXRT_IOMUXC_b.offset058)
  4510. #define IOMUXC_FLEXPWM1_PWMA1_SELECT_INPUT (IMXRT_IOMUXC_b.offset05C)
  4511. #define IOMUXC_FLEXPWM1_PWMA2_SELECT_INPUT (IMXRT_IOMUXC_b.offset060)
  4512. #define IOMUXC_FLEXPWM1_PWMB3_SELECT_INPUT (IMXRT_IOMUXC_b.offset064)
  4513. #define IOMUXC_FLEXPWM1_PWMB0_SELECT_INPUT (IMXRT_IOMUXC_b.offset068)
  4514. #define IOMUXC_FLEXPWM1_PWMB1_SELECT_INPUT (IMXRT_IOMUXC_b.offset06C)
  4515. #define IOMUXC_FLEXPWM1_PWMB2_SELECT_INPUT (IMXRT_IOMUXC_b.offset070)
  4516. #define IOMUXC_FLEXPWM2_PWMA3_SELECT_INPUT (IMXRT_IOMUXC_b.offset074)
  4517. #define IOMUXC_FLEXPWM2_PWMA0_SELECT_INPUT (IMXRT_IOMUXC_b.offset078)
  4518. #define IOMUXC_FLEXPWM2_PWMA1_SELECT_INPUT (IMXRT_IOMUXC_b.offset07C)
  4519. #define IOMUXC_FLEXPWM2_PWMA2_SELECT_INPUT (IMXRT_IOMUXC_b.offset080)
  4520. #define IOMUXC_FLEXPWM2_PWMB3_SELECT_INPUT (IMXRT_IOMUXC_b.offset084)
  4521. #define IOMUXC_FLEXPWM2_PWMB0_SELECT_INPUT (IMXRT_IOMUXC_b.offset088)
  4522. #define IOMUXC_FLEXPWM2_PWMB1_SELECT_INPUT (IMXRT_IOMUXC_b.offset09C)
  4523. #define IOMUXC_FLEXPWM2_PWMB2_SELECT_INPUT (IMXRT_IOMUXC_b.offset090)
  4524. #define IOMUXC_FLEXPWM4_PWMA0_SELECT_INPUT (IMXRT_IOMUXC_b.offset094)
  4525. #define IOMUXC_FLEXPWM4_PWMA1_SELECT_INPUT (IMXRT_IOMUXC_b.offset098)
  4526. #define IOMUXC_FLEXPWM4_PWMA2_SELECT_INPUT (IMXRT_IOMUXC_b.offset09C)
  4527. #define IOMUXC_FLEXPWM4_PWMA3_SELECT_INPUT (IMXRT_IOMUXC_b.offset0A0)
  4528. #define IOMUXC_FLEXSPIA_DQS_SELECT_INPUT (IMXRT_IOMUXC_b.offset0A4)
  4529. #define IOMUXC_FLEXSPIA_DATA0_SELECT_INPUT (IMXRT_IOMUXC_b.offset0A8)
  4530. #define IOMUXC_FLEXSPIA_DATA1_SELECT_INPUT (IMXRT_IOMUXC_b.offset0AC)
  4531. #define IOMUXC_FLEXSPIA_DATA2_SELECT_INPUT (IMXRT_IOMUXC_b.offset0B0)
  4532. #define IOMUXC_FLEXSPIA_DATA3_SELECT_INPUT (IMXRT_IOMUXC_b.offset0B4)
  4533. #define IOMUXC_FLEXSPIB_DATA0_SELECT_INPUT (IMXRT_IOMUXC_b.offset0B8)
  4534. #define IOMUXC_FLEXSPIB_DATA1_SELECT_INPUT (IMXRT_IOMUXC_b.offset0BC)
  4535. #define IOMUXC_FLEXSPIB_DATA2_SELECT_INPUT (IMXRT_IOMUXC_b.offset0C0)
  4536. #define IOMUXC_FLEXSPIB_DATA3_SELECT_INPUT (IMXRT_IOMUXC_b.offset0C4)
  4537. #define IOMUXC_FLEXSPIA_SCK_SELECT_INPUT (IMXRT_IOMUXC_b.offset0C8)
  4538. #define IOMUXC_LPI2C1_SCL_SELECT_INPUT (IMXRT_IOMUXC_b.offset0CC)
  4539. #define IOMUXC_LPI2C1_SDA_SELECT_INPUT (IMXRT_IOMUXC_b.offset0D0)
  4540. #define IOMUXC_LPI2C2_SCL_SELECT_INPUT (IMXRT_IOMUXC_b.offset0D4)
  4541. #define IOMUXC_LPI2C2_SDA_SELECT_INPUT (IMXRT_IOMUXC_b.offset0D8)
  4542. #define IOMUXC_LPI2C3_SCL_SELECT_INPUT (IMXRT_IOMUXC_b.offset0DC)
  4543. #define IOMUXC_LPI2C3_SDA_SELECT_INPUT (IMXRT_IOMUXC_b.offset0E0)
  4544. #define IOMUXC_LPI2C4_SCL_SELECT_INPUT (IMXRT_IOMUXC_b.offset0E4)
  4545. #define IOMUXC_LPI2C4_SDA_SELECT_INPUT (IMXRT_IOMUXC_b.offset0E8)
  4546. #define IOMUXC_LPSPI1_PCS0_SELECT_INPUT (IMXRT_IOMUXC_b.offset0EC)
  4547. #define IOMUXC_LPSPI1_SCK_SELECT_INPUT (IMXRT_IOMUXC_b.offset0F0)
  4548. #define IOMUXC_LPSPI1_SDI_SELECT_INPUT (IMXRT_IOMUXC_b.offset0F4)
  4549. #define IOMUXC_LPSPI1_SDO_SELECT_INPUT (IMXRT_IOMUXC_b.offset0F8)
  4550. #define IOMUXC_LPSPI2_PCS0_SELECT_INPUT (IMXRT_IOMUXC_b.offset0FC)
  4551. #define IOMUXC_LPSPI2_SCK_SELECT_INPUT (IMXRT_IOMUXC_b.offset100)
  4552. #define IOMUXC_LPSPI2_SDI_SELECT_INPUT (IMXRT_IOMUXC_b.offset104)
  4553. #define IOMUXC_LPSPI2_SDO_SELECT_INPUT (IMXRT_IOMUXC_b.offset108)
  4554. #define IOMUXC_LPSPI3_PCS0_SELECT_INPUT (IMXRT_IOMUXC_b.offset10C)
  4555. #define IOMUXC_LPSPI3_SCK_SELECT_INPUT (IMXRT_IOMUXC_b.offset110)
  4556. #define IOMUXC_LPSPI3_SDI_SELECT_INPUT (IMXRT_IOMUXC_b.offset114)
  4557. #define IOMUXC_LPSPI3_SDO_SELECT_INPUT (IMXRT_IOMUXC_b.offset118)
  4558. #define IOMUXC_LPSPI4_PCS0_SELECT_INPUT (IMXRT_IOMUXC_b.offset11C)
  4559. #define IOMUXC_LPSPI4_SCK_SELECT_INPUT (IMXRT_IOMUXC_b.offset120)
  4560. #define IOMUXC_LPSPI4_SDI_SELECT_INPUT (IMXRT_IOMUXC_b.offset124)
  4561. #define IOMUXC_LPSPI4_SDO_SELECT_INPUT (IMXRT_IOMUXC_b.offset128)
  4562. #define IOMUXC_LPUART2_RX_SELECT_INPUT (IMXRT_IOMUXC_b.offset12C)
  4563. #define IOMUXC_LPUART2_TX_SELECT_INPUT (IMXRT_IOMUXC_b.offset130)
  4564. #define IOMUXC_LPUART3_CTS_B_SELECT_INPUT (IMXRT_IOMUXC_b.offset134)
  4565. #define IOMUXC_LPUART3_RX_SELECT_INPUT (IMXRT_IOMUXC_b.offset138)
  4566. #define IOMUXC_LPUART3_TX_SELECT_INPUT (IMXRT_IOMUXC_b.offset13C)
  4567. #define IOMUXC_LPUART4_RX_SELECT_INPUT (IMXRT_IOMUXC_b.offset140)
  4568. #define IOMUXC_LPUART4_TX_SELECT_INPUT (IMXRT_IOMUXC_b.offset144)
  4569. #define IOMUXC_LPUART5_RX_SELECT_INPUT (IMXRT_IOMUXC_b.offset148)
  4570. #define IOMUXC_LPUART5_TX_SELECT_INPUT (IMXRT_IOMUXC_b.offset14C)
  4571. #define IOMUXC_LPUART6_RX_SELECT_INPUT (IMXRT_IOMUXC_b.offset150)
  4572. #define IOMUXC_LPUART6_TX_SELECT_INPUT (IMXRT_IOMUXC_b.offset154)
  4573. #define IOMUXC_LPUART7_RX_SELECT_INPUT (IMXRT_IOMUXC_b.offset158)
  4574. #define IOMUXC_LPUART7_TX_SELECT_INPUT (IMXRT_IOMUXC_b.offset15C)
  4575. #define IOMUXC_LPUART8_RX_SELECT_INPUT (IMXRT_IOMUXC_b.offset160)
  4576. #define IOMUXC_LPUART8_TX_SELECT_INPUT (IMXRT_IOMUXC_b.offset164)
  4577. #define IOMUXC_NMI_GLUE_NMI_SELECT_INPUT (IMXRT_IOMUXC_b.offset168)
  4578. #define IOMUXC_QTIMER2_TIMER0_SELECT_INPUT (IMXRT_IOMUXC_b.offset16C)
  4579. #define IOMUXC_QTIMER2_TIMER1_SELECT_INPUT (IMXRT_IOMUXC_b.offset170)
  4580. #define IOMUXC_QTIMER2_TIMER2_SELECT_INPUT (IMXRT_IOMUXC_b.offset174)
  4581. #define IOMUXC_QTIMER2_TIMER3_SELECT_INPUT (IMXRT_IOMUXC_b.offset178)
  4582. #define IOMUXC_QTIMER3_TIMER0_SELECT_INPUT (IMXRT_IOMUXC_b.offset17C)
  4583. #define IOMUXC_QTIMER3_TIMER1_SELECT_INPUT (IMXRT_IOMUXC_b.offset180)
  4584. #define IOMUXC_QTIMER3_TIMER2_SELECT_INPUT (IMXRT_IOMUXC_b.offset184)
  4585. #define IOMUXC_QTIMER3_TIMER3_SELECT_INPUT (IMXRT_IOMUXC_b.offset188)
  4586. #define IOMUXC_SAI1_MCLK2_SELECT_INPUT (IMXRT_IOMUXC_b.offset18C)
  4587. #define IOMUXC_SAI1_RX_BCLK_SELECT_INPUT (IMXRT_IOMUXC_b.offset190)
  4588. #define IOMUXC_SAI1_RX_DATA0_SELECT_INPUT (IMXRT_IOMUXC_b.offset194)
  4589. #define IOMUXC_SAI1_RX_DATA1_SELECT_INPUT (IMXRT_IOMUXC_b.offset198)
  4590. #define IOMUXC_SAI1_RX_DATA2_SELECT_INPUT (IMXRT_IOMUXC_b.offset19C)
  4591. #define IOMUXC_SAI1_RX_DATA3_SELECT_INPUT (IMXRT_IOMUXC_b.offset1A0)
  4592. #define IOMUXC_SAI1_RX_SYNC_SELECT_INPUT (IMXRT_IOMUXC_b.offset1A4)
  4593. #define IOMUXC_SAI1_TX_BCLK_SELECT_INPUT (IMXRT_IOMUXC_b.offset1A8)
  4594. #define IOMUXC_SAI1_TX_SYNC_SELECT_INPUT (IMXRT_IOMUXC_b.offset1AC)
  4595. #define IOMUXC_SAI2_MCLK2_SELECT_INPUT (IMXRT_IOMUXC_b.offset1B0)
  4596. #define IOMUXC_SAI2_RX_BCLK_SELECT_INPUT (IMXRT_IOMUXC_b.offset1B4)
  4597. #define IOMUXC_SAI2_RX_DATA0_SELECT_INPUT (IMXRT_IOMUXC_b.offset1B8)
  4598. #define IOMUXC_SAI2_RX_SYNC_SELECT_INPUT (IMXRT_IOMUXC_b.offset1BC)
  4599. #define IOMUXC_SAI2_TX_BCLK_SELECT_INPUT (IMXRT_IOMUXC_b.offset1C0)
  4600. #define IOMUXC_SAI2_TX_SYNC_SELECT_INPUT (IMXRT_IOMUXC_b.offset1C4)
  4601. #define IOMUXC_SPDIF_IN_SELECT_INPUT (IMXRT_IOMUXC_b.offset1C8)
  4602. #define IOMUXC_USB_OTG2_OC_SELECT_INPUT (IMXRT_IOMUXC_b.offset1CC)
  4603. #define IOMUXC_USB_OTG1_OC_SELECT_INPUT (IMXRT_IOMUXC_b.offset1D0)
  4604. #define IOMUXC_USDHC1_CD_B_SELECT_INPUT (IMXRT_IOMUXC_b.offset1D4)
  4605. #define IOMUXC_USDHC1_WP_SELECT_INPUT (IMXRT_IOMUXC_b.offset1D8)
  4606. #define IOMUXC_USDHC2_CLK_SELECT_INPUT (IMXRT_IOMUXC_b.offset1DC)
  4607. #define IOMUXC_USDHC2_CD_B_SELECT_INPUT (IMXRT_IOMUXC_b.offset1E0)
  4608. #define IOMUXC_USDHC2_CMD_SELECT_INPUT (IMXRT_IOMUXC_b.offset1E4)
  4609. #define IOMUXC_USDHC2_DATA0_SELECT_INPUT (IMXRT_IOMUXC_b.offset1E8)
  4610. #define IOMUXC_USDHC2_DATA1_SELECT_INPUT (IMXRT_IOMUXC_b.offset1EC)
  4611. #define IOMUXC_USDHC2_DATA2_SELECT_INPUT (IMXRT_IOMUXC_b.offset1F0)
  4612. #define IOMUXC_USDHC2_DATA3_SELECT_INPUT (IMXRT_IOMUXC_b.offset1F4)
  4613. #define IOMUXC_USDHC2_DATA4_SELECT_INPUT (IMXRT_IOMUXC_b.offset1F8)
  4614. #define IOMUXC_USDHC2_DATA5_SELECT_INPUT (IMXRT_IOMUXC_b.offset1FC)
  4615. #define IOMUXC_USDHC2_DATA6_SELECT_INPUT (IMXRT_IOMUXC_b.offset200)
  4616. #define IOMUXC_USDHC2_DATA7_SELECT_INPUT (IMXRT_IOMUXC_b.offset204)
  4617. #define IOMUXC_USDHC2_WP_SELECT_INPUT (IMXRT_IOMUXC_b.offset208)
  4618. #define IOMUXC_XBAR1_IN02_SELECT_INPUT (IMXRT_IOMUXC_b.offset20C)
  4619. #define IOMUXC_XBAR1_IN03_SELECT_INPUT (IMXRT_IOMUXC_b.offset210)
  4620. #define IOMUXC_XBAR1_IN04_SELECT_INPUT (IMXRT_IOMUXC_b.offset214)
  4621. #define IOMUXC_XBAR1_IN05_SELECT_INPUT (IMXRT_IOMUXC_b.offset218)
  4622. #define IOMUXC_XBAR1_IN06_SELECT_INPUT (IMXRT_IOMUXC_b.offset21C)
  4623. #define IOMUXC_XBAR1_IN07_SELECT_INPUT (IMXRT_IOMUXC_b.offset220)
  4624. #define IOMUXC_XBAR1_IN08_SELECT_INPUT (IMXRT_IOMUXC_b.offset224)
  4625. #define IOMUXC_XBAR1_IN09_SELECT_INPUT (IMXRT_IOMUXC_b.offset228)
  4626. #define IOMUXC_XBAR1_IN17_SELECT_INPUT (IMXRT_IOMUXC_b.offset22C)
  4627. #define IOMUXC_XBAR1_IN18_SELECT_INPUT (IMXRT_IOMUXC_b.offset230)
  4628. #define IOMUXC_XBAR1_IN20_SELECT_INPUT (IMXRT_IOMUXC_b.offset234)
  4629. #define IOMUXC_XBAR1_IN22_SELECT_INPUT (IMXRT_IOMUXC_b.offset238)
  4630. #define IOMUXC_XBAR1_IN23_SELECT_INPUT (IMXRT_IOMUXC_b.offset23C)
  4631. #define IOMUXC_XBAR1_IN24_SELECT_INPUT (IMXRT_IOMUXC_b.offset240)
  4632. #define IOMUXC_XBAR1_IN14_SELECT_INPUT (IMXRT_IOMUXC_b.offset244)
  4633. #define IOMUXC_XBAR1_IN15_SELECT_INPUT (IMXRT_IOMUXC_b.offset248)
  4634. #define IOMUXC_XBAR1_IN16_SELECT_INPUT (IMXRT_IOMUXC_b.offset24C)
  4635. #define IOMUXC_XBAR1_IN25_SELECT_INPUT (IMXRT_IOMUXC_b.offset250)
  4636. #define IOMUXC_XBAR1_IN19_SELECT_INPUT (IMXRT_IOMUXC_b.offset254)
  4637. #define IOMUXC_XBAR1_IN21_SELECT_INPUT (IMXRT_IOMUXC_b.offset258)
  4638. #define IOMUXC_PAD_SRE ((uint32_t)(1<<0))
  4639. #define IOMUXC_PAD_DSE(n) ((uint32_t)(((n) & 0x07) << 3))
  4640. #define IOMUXC_PAD_SPEED(n) ((uint32_t)(((n) & 0x03) << 6))
  4641. #define IOMUXC_PAD_ODE ((uint32_t)(1<<11))
  4642. #define IOMUXC_PAD_PKE ((uint32_t)(1<<12))
  4643. #define IOMUXC_PAD_PUE ((uint32_t)(1<<13))
  4644. #define IOMUXC_PAD_PUS(n) ((uint32_t)(((n) & 0x03) << 14))
  4645. #define IOMUXC_PAD_HYS ((uint32_t)(1<<16))
  4646. // 35.6: page 2301
  4647. #define IMXRT_KPP (*(IMXRT_REGISTER16_t *)0x401FC000)
  4648. #define KPP_KPCR (IMXRT_KPP.offset000)
  4649. #define KPP_KPSR (IMXRT_KPP.offset002)
  4650. #define KPP_KDDR (IMXRT_KPP.offset004)
  4651. #define KPP_KPDR (IMXRT_KPP.offset006)
  4652. // 36.4: page 2325
  4653. #define IMXRT_LCDIF (*(IMXRT_REGISTER32_t *)0x402B8000)
  4654. #define LCDIF_CTRL (IMXRT_LCDIF.offset000)
  4655. #define LCDIF_CTRL_SET (IMXRT_LCDIF.offset004)
  4656. #define LCDIF_CTRL_CLR (IMXRT_LCDIF.offset008)
  4657. #define LCDIF_CTRL_TOG (IMXRT_LCDIF.offset00C)
  4658. #define LCDIF_CTRL1 (IMXRT_LCDIF.offset010)
  4659. #define LCDIF_CTRL1_SET (IMXRT_LCDIF.offset014)
  4660. #define LCDIF_CTRL1_CLR (IMXRT_LCDIF.offset018)
  4661. #define LCDIF_CTRL1_TOG (IMXRT_LCDIF.offset01C)
  4662. #define LCDIF_CTRL2 (IMXRT_LCDIF.offset020)
  4663. #define LCDIF_CTRL2_SET (IMXRT_LCDIF.offset024)
  4664. #define LCDIF_CTRL2_CLR (IMXRT_LCDIF.offset028)
  4665. #define LCDIF_CTRL2_TOG (IMXRT_LCDIF.offset02C)
  4666. #define LCDIF_TRANSFER_COUNT (IMXRT_LCDIF.offset030)
  4667. #define LCDIF_CUR_BUF (IMXRT_LCDIF.offset040)
  4668. #define LCDIF_NEXT_BUF (IMXRT_LCDIF.offset050)
  4669. #define LCDIF_VDCTRL0 (IMXRT_LCDIF.offset070)
  4670. #define LCDIF_VDCTRL0_SET (IMXRT_LCDIF.offset074)
  4671. #define LCDIF_VDCTRL0_CLR (IMXRT_LCDIF.offset078)
  4672. #define LCDIF_VDCTRL0_TOG (IMXRT_LCDIF.offset07C)
  4673. #define LCDIF_VDCTRL1 (IMXRT_LCDIF.offset080)
  4674. #define LCDIF_VDCTRL2 (IMXRT_LCDIF.offset090)
  4675. #define LCDIF_VDCTRL3 (IMXRT_LCDIF.offset0A0)
  4676. #define LCDIF_VDCTRL4 (IMXRT_LCDIF.offset0B0)
  4677. #define LCDIF_BM_ERROR_STAT (IMXRT_LCDIF.offset190)
  4678. #define LCDIF_CRC_STAT (IMXRT_LCDIF.offset1A0)
  4679. #define LCDIF_STAT (IMXRT_LCDIF.offset1B0)
  4680. #define LCDIF_THRES (IMXRT_LCDIF.offset200)
  4681. #define LCDIF_AS_CTRL (IMXRT_LCDIF.offset210)
  4682. #define LCDIF_AS_BUF (IMXRT_LCDIF.offset220)
  4683. #define LCDIF_AS_NEXT_BUF (IMXRT_LCDIF.offset230)
  4684. #define LCDIF_AS_CLRKEYLOW (IMXRT_LCDIF.offset240)
  4685. #define LCDIF_AS_CLRKEYHIGH (IMXRT_LCDIF.offset250)
  4686. #define LCDIF_PIGEONCTRL0 (IMXRT_LCDIF.offset380)
  4687. #define LCDIF_PIGEONCTRL0_SET (IMXRT_LCDIF.offset384)
  4688. #define LCDIF_PIGEONCTRL0_CLR (IMXRT_LCDIF.offset388)
  4689. #define LCDIF_PIGEONCTRL0_TOG (IMXRT_LCDIF.offset38C)
  4690. #define LCDIF_PIGEONCTRL1 (IMXRT_LCDIF.offset390)
  4691. #define LCDIF_PIGEONCTRL1_SET (IMXRT_LCDIF.offset394)
  4692. #define LCDIF_PIGEONCTRL1_CLR (IMXRT_LCDIF.offset398)
  4693. #define LCDIF_PIGEONCTRL1_TOG (IMXRT_LCDIF.offset39C)
  4694. #define LCDIF_PIGEONCTRL2 (IMXRT_LCDIF.offset3A0)
  4695. #define LCDIF_PIGEONCTRL2_SET (IMXRT_LCDIF.offset3A4)
  4696. #define LCDIF_PIGEONCTRL2_CLR (IMXRT_LCDIF.offset3A8)
  4697. #define LCDIF_PIGEONCTRL2_TOG (IMXRT_LCDIF.offset3AC)
  4698. #define IMXRT_LCDIF_b (*(IMXRT_REGISTER32_t *)0x402B8800)
  4699. #define LCDIF_PIGEON_0_0 (IMXRT_LCDIF_b.offset000)
  4700. #define LCDIF_PIGEON_0_1 (IMXRT_LCDIF_b.offset010)
  4701. #define LCDIF_PIGEON_0_2 (IMXRT_LCDIF_b.offset020)
  4702. #define LCDIF_PIGEON_1_0 (IMXRT_LCDIF_b.offset040)
  4703. #define LCDIF_PIGEON_1_1 (IMXRT_LCDIF_b.offset050)
  4704. #define LCDIF_PIGEON_1_2 (IMXRT_LCDIF_b.offset060)
  4705. #define LCDIF_PIGEON_2_0 (IMXRT_LCDIF_b.offset080)
  4706. #define LCDIF_PIGEON_2_1 (IMXRT_LCDIF_b.offset090)
  4707. #define LCDIF_PIGEON_2_2 (IMXRT_LCDIF_b.offset0A0)
  4708. #define LCDIF_PIGEON_3_0 (IMXRT_LCDIF_b.offset0C0)
  4709. #define LCDIF_PIGEON_3_1 (IMXRT_LCDIF_b.offset0D0)
  4710. #define LCDIF_PIGEON_3_2 (IMXRT_LCDIF_b.offset0E0)
  4711. #define LCDIF_PIGEON_4_0 (IMXRT_LCDIF_b.offset100)
  4712. #define LCDIF_PIGEON_4_1 (IMXRT_LCDIF_b.offset110)
  4713. #define LCDIF_PIGEON_4_2 (IMXRT_LCDIF_b.offset120)
  4714. #define LCDIF_PIGEON_5_0 (IMXRT_LCDIF_b.offset140)
  4715. #define LCDIF_PIGEON_5_1 (IMXRT_LCDIF_b.offset150)
  4716. #define LCDIF_PIGEON_5_2 (IMXRT_LCDIF_b.offset160)
  4717. #define LCDIF_PIGEON_6_0 (IMXRT_LCDIF_b.offset180)
  4718. #define LCDIF_PIGEON_6_1 (IMXRT_LCDIF_b.offset190)
  4719. #define LCDIF_PIGEON_6_2 (IMXRT_LCDIF_b.offset1A0)
  4720. #define LCDIF_PIGEON_7_0 (IMXRT_LCDIF_b.offset1C0)
  4721. #define LCDIF_PIGEON_7_1 (IMXRT_LCDIF_b.offset1D0)
  4722. #define LCDIF_PIGEON_7_2 (IMXRT_LCDIF_b.offset1E0)
  4723. #define LCDIF_PIGEON_8_0 (IMXRT_LCDIF_b.offset200)
  4724. #define LCDIF_PIGEON_8_1 (IMXRT_LCDIF_b.offset210)
  4725. #define LCDIF_PIGEON_8_2 (IMXRT_LCDIF_b.offset220)
  4726. #define LCDIF_PIGEON_9_0 (IMXRT_LCDIF_b.offset240)
  4727. #define LCDIF_PIGEON_9_1 (IMXRT_LCDIF_b.offset250)
  4728. #define LCDIF_PIGEON_9_2 (IMXRT_LCDIF_b.offset260)
  4729. #define LCDIF_PIGEON_10_0 (IMXRT_LCDIF_b.offset280)
  4730. #define LCDIF_PIGEON_10_1 (IMXRT_LCDIF_b.offset290)
  4731. #define LCDIF_PIGEON_10_2 (IMXRT_LCDIF_b.offset2A0)
  4732. #define LCDIF_PIGEON_11_0 (IMXRT_LCDIF_b.offset2C0)
  4733. #define LCDIF_PIGEON_11_1 (IMXRT_LCDIF_b.offset2D0)
  4734. #define LCDIF_PIGEON_11_2 (IMXRT_LCDIF_b.offset2E0)
  4735. // 37.4: page 2371
  4736. #if 0
  4737. typedef struct {
  4738. const uint32_t VERID;
  4739. const uint32_t PARAM;
  4740. const uint32_t unused1;
  4741. const uint32_t unused2;
  4742. volatile uint32_t MCR; (IMXRT_LPI2C1.offset010)
  4743. volatile uint32_t MSR; (IMXRT_LPI2C1.offset014)
  4744. volatile uint32_t MIER; (IMXRT_LPI2C1.offset018)
  4745. volatile uint32_t MDER; (IMXRT_LPI2C1.offset01C)
  4746. volatile uint32_t MCFGR0; (IMXRT_LPI2C1.offset020)
  4747. volatile uint32_t MCFGR1; (IMXRT_LPI2C1.offset024)
  4748. volatile uint32_t MCFGR2; (IMXRT_LPI2C1.offset028)
  4749. volatile uint32_t MCFGR3; (IMXRT_LPI2C1.offset02C)
  4750. volatile uint32_t unused3[4];
  4751. volatile uint32_t MDMR; (IMXRT_LPI2C1.offset040)
  4752. volatile uint32_t unused4;
  4753. volatile uint32_t MCCR0 ; (IMXRT_LPI2C1.offset048)
  4754. volatile uint32_t unused4;
  4755. volatile uint32_t MCCR1; (IMXRT_LPI2C1.offset050)
  4756. volatile uint32_t unused4;
  4757. volatile uint32_t MFCR; (IMXRT_LPI2C1.offset058)
  4758. volatile uint32_t MFSR; (IMXRT_LPI2C1.offset05C)
  4759. volatile uint32_t MTDR; (IMXRT_LPI2C1.offset060)
  4760. volatile uint32_t unused4[3];
  4761. volatile uint32_t MRDR; (IMXRT_LPI2C1.offset070)
  4762. volatile uint32_t unused4[39];
  4763. volatile uint32_t SCR; (IMXRT_LPI2C1.offset110)
  4764. volatile uint32_t SSR; (IMXRT_LPI2C1.offset114)
  4765. volatile uint32_t SIER; (IMXRT_LPI2C1.offset118)
  4766. volatile uint32_t SDER; (IMXRT_LPI2C1.offset11C)
  4767. volatile uint32_t unused4;
  4768. volatile uint32_t SCFGR1; (IMXRT_LPI2C1.offset124)
  4769. volatile uint32_t SCFGR2; (IMXRT_LPI2C1.offset128)
  4770. volatile uint32_t unused4[5];
  4771. volatile uint32_t SAMR; (IMXRT_LPI2C1.offset140)
  4772. volatile uint32_t unused4[3];
  4773. volatile uint32_t SASR; (IMXRT_LPI2C1.offset150)
  4774. volatile uint32_t unused4[3];
  4775. volatile uint32_t STAR; (IMXRT_LPI2C1.offset154)
  4776. volatile uint32_t unused4[3];
  4777. volatile uint32_t STDR; (IMXRT_LPI2C1.offset160)
  4778. volatile uint32_t unused4[3];
  4779. volatile uint32_t SRDR; (IMXRT_LPI2C1.offset170)
  4780. } IMXRT_LPI2C_t;
  4781. #define IMXRT_LPI2C1 (*(IMXRT_LPI2C_t *)0x403F0000)
  4782. #else
  4783. #define IMXRT_LPI2C1 (*(IMXRT_REGISTER32_t *)0x403F0000)
  4784. #define LPI2C1_VERID (IMXRT_LPI2C1.offset000)
  4785. #define LPI2C1_PARAM (IMXRT_LPI2C1.offset004)
  4786. #define LPI2C1_MCR (IMXRT_LPI2C1.offset010)
  4787. #define LPI2C1_MSR (IMXRT_LPI2C1.offset014)
  4788. #define LPI2C1_MIER (IMXRT_LPI2C1.offset018)
  4789. #define LPI2C1_MDER (IMXRT_LPI2C1.offset01C)
  4790. #define LPI2C1_MCFGR0 (IMXRT_LPI2C1.offset020)
  4791. #define LPI2C1_MCFGR1 (IMXRT_LPI2C1.offset024)
  4792. #define LPI2C1_MCFGR2 (IMXRT_LPI2C1.offset028)
  4793. #define LPI2C1_MCFGR3 (IMXRT_LPI2C1.offset02C)
  4794. #define LPI2C1_MDMR (IMXRT_LPI2C1.offset040)
  4795. #define LPI2C1_MCCR0 (IMXRT_LPI2C1.offset048)
  4796. #define LPI2C1_MCCR1 (IMXRT_LPI2C1.offset050)
  4797. #define LPI2C1_MFCR (IMXRT_LPI2C1.offset058)
  4798. #define LPI2C1_MFSR (IMXRT_LPI2C1.offset05C)
  4799. #define LPI2C1_MTDR (IMXRT_LPI2C1.offset060)
  4800. #define LPI2C1_MRDR (IMXRT_LPI2C1.offset070)
  4801. #define LPI2C1_SCR (IMXRT_LPI2C1.offset110)
  4802. #define LPI2C1_SSR (IMXRT_LPI2C1.offset114)
  4803. #define LPI2C1_SIER (IMXRT_LPI2C1.offset118)
  4804. #define LPI2C1_SDER (IMXRT_LPI2C1.offset11C)
  4805. #define LPI2C1_SCFGR1 (IMXRT_LPI2C1.offset124)
  4806. #define LPI2C1_SCFGR2 (IMXRT_LPI2C1.offset128)
  4807. #define LPI2C1_SAMR (IMXRT_LPI2C1.offset140)
  4808. #define LPI2C1_SASR (IMXRT_LPI2C1.offset150)
  4809. #define LPI2C1_STAR (IMXRT_LPI2C1.offset154)
  4810. #define LPI2C1_STDR (IMXRT_LPI2C1.offset160)
  4811. #define LPI2C1_SRDR (IMXRT_LPI2C1.offset170)
  4812. #define IMXRT_LPI2C2 (*(IMXRT_REGISTER32_t *)0x403F4000)
  4813. #define LPI2C2_VERID (IMXRT_LPI2C2.offset000)
  4814. #define LPI2C2_PARAM (IMXRT_LPI2C2.offset004)
  4815. #define LPI2C2_MCR (IMXRT_LPI2C2.offset010)
  4816. #define LPI2C2_MSR (IMXRT_LPI2C2.offset014)
  4817. #define LPI2C2_MIER (IMXRT_LPI2C2.offset018)
  4818. #define LPI2C2_MDER (IMXRT_LPI2C2.offset01C)
  4819. #define LPI2C2_MCFGR0 (IMXRT_LPI2C2.offset020)
  4820. #define LPI2C2_MCFGR1 (IMXRT_LPI2C2.offset024)
  4821. #define LPI2C2_MCFGR2 (IMXRT_LPI2C2.offset028)
  4822. #define LPI2C2_MCFGR3 (IMXRT_LPI2C2.offset02C)
  4823. #define LPI2C2_MDMR (IMXRT_LPI2C2.offset040)
  4824. #define LPI2C2_MCCR0 (IMXRT_LPI2C2.offset048)
  4825. #define LPI2C2_MCCR1 (IMXRT_LPI2C2.offset050)
  4826. #define LPI2C2_MFCR (IMXRT_LPI2C2.offset058)
  4827. #define LPI2C2_MFSR (IMXRT_LPI2C2.offset05C)
  4828. #define LPI2C2_MTDR (IMXRT_LPI2C2.offset060)
  4829. #define LPI2C2_MRDR (IMXRT_LPI2C2.offset070)
  4830. #define LPI2C2_SCR (IMXRT_LPI2C2.offset110)
  4831. #define LPI2C2_SSR (IMXRT_LPI2C2.offset114)
  4832. #define LPI2C2_SIER (IMXRT_LPI2C2.offset118)
  4833. #define LPI2C2_SDER (IMXRT_LPI2C2.offset11C)
  4834. #define LPI2C2_SCFGR1 (IMXRT_LPI2C2.offset124)
  4835. #define LPI2C2_SCFGR2 (IMXRT_LPI2C2.offset128)
  4836. #define LPI2C2_SAMR (IMXRT_LPI2C2.offset140)
  4837. #define LPI2C2_SASR (IMXRT_LPI2C2.offset150)
  4838. #define LPI2C2_STAR (IMXRT_LPI2C2.offset154)
  4839. #define LPI2C2_STDR (IMXRT_LPI2C2.offset160)
  4840. #define LPI2C2_SRDR (IMXRT_LPI2C2.offset170)
  4841. #define IMXRT_LPI2C3 (*(IMXRT_REGISTER32_t *)0x403F8000)
  4842. #define LPI2C3_VERID (IMXRT_LPI2C3.offset000)
  4843. #define LPI2C3_PARAM (IMXRT_LPI2C3.offset004)
  4844. #define LPI2C3_MCR (IMXRT_LPI2C3.offset010)
  4845. #define LPI2C3_MSR (IMXRT_LPI2C3.offset014)
  4846. #define LPI2C3_MIER (IMXRT_LPI2C3.offset018)
  4847. #define LPI2C3_MDER (IMXRT_LPI2C3.offset01C)
  4848. #define LPI2C3_MCFGR0 (IMXRT_LPI2C3.offset020)
  4849. #define LPI2C3_MCFGR1 (IMXRT_LPI2C3.offset024)
  4850. #define LPI2C3_MCFGR2 (IMXRT_LPI2C3.offset028)
  4851. #define LPI2C3_MCFGR3 (IMXRT_LPI2C3.offset02C)
  4852. #define LPI2C3_MDMR (IMXRT_LPI2C3.offset040)
  4853. #define LPI2C3_MCCR0 (IMXRT_LPI2C3.offset048)
  4854. #define LPI2C3_MCCR1 (IMXRT_LPI2C3.offset050)
  4855. #define LPI2C3_MFCR (IMXRT_LPI2C3.offset058)
  4856. #define LPI2C3_MFSR (IMXRT_LPI2C3.offset05C)
  4857. #define LPI2C3_MTDR (IMXRT_LPI2C3.offset060)
  4858. #define LPI2C3_MRDR (IMXRT_LPI2C3.offset070)
  4859. #define LPI2C3_SCR (IMXRT_LPI2C3.offset110)
  4860. #define LPI2C3_SSR (IMXRT_LPI2C3.offset114)
  4861. #define LPI2C3_SIER (IMXRT_LPI2C3.offset118)
  4862. #define LPI2C3_SDER (IMXRT_LPI2C3.offset11C)
  4863. #define LPI2C3_SCFGR1 (IMXRT_LPI2C3.offset124)
  4864. #define LPI2C3_SCFGR2 (IMXRT_LPI2C3.offset128)
  4865. #define LPI2C3_SAMR (IMXRT_LPI2C3.offset140)
  4866. #define LPI2C3_SASR (IMXRT_LPI2C3.offset150)
  4867. #define LPI2C3_STAR (IMXRT_LPI2C3.offset154)
  4868. #define LPI2C3_STDR (IMXRT_LPI2C3.offset160)
  4869. #define LPI2C3_SRDR (IMXRT_LPI2C3.offset170)
  4870. #define IMXRT_LPI2C4 (*(IMXRT_REGISTER32_t *)0x403FC000)
  4871. #define LPI2C4_VERID (IMXRT_LPI2C4.offset000)
  4872. #define LPI2C4_PARAM (IMXRT_LPI2C4.offset004)
  4873. #define LPI2C4_MCR (IMXRT_LPI2C4.offset010)
  4874. #define LPI2C4_MSR (IMXRT_LPI2C4.offset014)
  4875. #define LPI2C4_MIER (IMXRT_LPI2C4.offset018)
  4876. #define LPI2C4_MDER (IMXRT_LPI2C4.offset01C)
  4877. #define LPI2C4_MCFGR0 (IMXRT_LPI2C4.offset020)
  4878. #define LPI2C4_MCFGR1 (IMXRT_LPI2C4.offset024)
  4879. #define LPI2C4_MCFGR2 (IMXRT_LPI2C4.offset028)
  4880. #define LPI2C4_MCFGR3 (IMXRT_LPI2C4.offset02C)
  4881. #define LPI2C4_MDMR (IMXRT_LPI2C4.offset040)
  4882. #define LPI2C4_MCCR0 (IMXRT_LPI2C4.offset048)
  4883. #define LPI2C4_MCCR1 (IMXRT_LPI2C4.offset050)
  4884. #define LPI2C4_MFCR (IMXRT_LPI2C4.offset058)
  4885. #define LPI2C4_MFSR (IMXRT_LPI2C4.offset05C)
  4886. #define LPI2C4_MTDR (IMXRT_LPI2C4.offset060)
  4887. #define LPI2C4_MRDR (IMXRT_LPI2C4.offset070)
  4888. #define LPI2C4_SCR (IMXRT_LPI2C4.offset110)
  4889. #define LPI2C4_SSR (IMXRT_LPI2C4.offset114)
  4890. #define LPI2C4_SIER (IMXRT_LPI2C4.offset118)
  4891. #define LPI2C4_SDER (IMXRT_LPI2C4.offset11C)
  4892. #define LPI2C4_SCFGR1 (IMXRT_LPI2C4.offset124)
  4893. #define LPI2C4_SCFGR2 (IMXRT_LPI2C4.offset128)
  4894. #define LPI2C4_SAMR (IMXRT_LPI2C4.offset140)
  4895. #define LPI2C4_SASR (IMXRT_LPI2C4.offset150)
  4896. #define LPI2C4_STAR (IMXRT_LPI2C4.offset154)
  4897. #define LPI2C4_STDR (IMXRT_LPI2C4.offset160)
  4898. #define LPI2C4_SRDR (IMXRT_LPI2C4.offset170)
  4899. #endif
  4900. #define LPI2C_MCR_RRF ((uint32_t)(1<<9))
  4901. #define LPI2C_MCR_RTF ((uint32_t)(1<<8))
  4902. #define LPI2C_MCR_DBGEN ((uint32_t)(1<<3))
  4903. #define LPI2C_MCR_DOZEN ((uint32_t)(1<<2))
  4904. #define LPI2C_MCR_RST ((uint32_t)(1<<1))
  4905. #define LPI2C_MCR_MEN ((uint32_t)(1<<0))
  4906. #define LPI2C_MSR_BBF ((uint32_t)(1<<25))
  4907. #define LPI2C_MSR_MBF ((uint32_t)(1<<24))
  4908. #define LPI2C_MSR_DMF ((uint32_t)(1<<14))
  4909. #define LPI2C_MSR_PLTF ((uint32_t)(1<<13))
  4910. #define LPI2C_MSR_FEF ((uint32_t)(1<<12))
  4911. #define LPI2C_MSR_ALF ((uint32_t)(1<<11))
  4912. #define LPI2C_MSR_NDF ((uint32_t)(1<<10))
  4913. #define LPI2C_MSR_SDF ((uint32_t)(1<<9))
  4914. #define LPI2C_MSR_EPF ((uint32_t)(1<<8))
  4915. #define LPI2C_MSR_RDF ((uint32_t)(1<<1))
  4916. #define LPI2C_MSR_TDF ((uint32_t)(1<<0))
  4917. #define LPI2C_MIER_DMIE ((uint32_t)(1<<14))
  4918. #define LPI2C_MIER_PLTIE ((uint32_t)(1<<13))
  4919. #define LPI2C_MIER_FEIE ((uint32_t)(1<<12))
  4920. #define LPI2C_MIER_ALIE ((uint32_t)(1<<11))
  4921. #define LPI2C_MIER_NDIE ((uint32_t)(1<<10))
  4922. #define LPI2C_MIER_SDIE ((uint32_t)(1<<9))
  4923. #define LPI2C_MIER_EPIE ((uint32_t)(1<<8))
  4924. #define LPI2C_MIER_RDIE ((uint32_t)(1<<1))
  4925. #define LPI2C_MIER_TDIE ((uint32_t)(1<<0))
  4926. #define LPI2C_MDER_RDDE ((uint32_t)(1<<1))
  4927. #define LPI2C_MDER_TDDE ((uint32_t)(1<<0))
  4928. #define LPI2C_MCFGR0_RDMO ((uint32_t)(1<<9))
  4929. #define LPI2C_MCFGR0_CIRFIFO ((uint32_t)(1<<8))
  4930. #define LPI2C_MCFGR0_HRSEL ((uint32_t)(1<<2))
  4931. #define LPI2C_MCFGR0_HRPOL ((uint32_t)(1<<1))
  4932. #define LPI2C_MCFGR0_HREN ((uint32_t)(1<<0))
  4933. #define LPI2C_MCFGR1_PINCFG(n) ((uint32_t)(((n) & 0x07) << 24))
  4934. #define LPI2C_MCFGR1_MATCFG(n) ((uint32_t)(((n) & 0x07) << 16))
  4935. #define LPI2C_MCFGR1_TIMECFG ((uint32_t)(1<<10))
  4936. #define LPI2C_MCFGR1_IGNACK ((uint32_t)(1<<9))
  4937. #define LPI2C_MCFGR1_AUTOSTOP ((uint32_t)(1<<8))
  4938. #define LPI2C_MCFGR1_PRESCALE(n) ((uint32_t)(((n) & 0x07) << 0))
  4939. #define LPI2C_MCFGR2_FILTSDA(n) ((uint32_t)(((n) & 0x0F) << 24))
  4940. #define LPI2C_MCFGR2_FILTSCL(n) ((uint32_t)(((n) & 0x0F) << 16))
  4941. #define LPI2C_MCFGR2_BUSIDLE(n) ((uint32_t)(((n) & 0xFFF) << 0))
  4942. #define LPI2C_MCFGR3_PINLOW(n) ((uint32_t)(((n) & 0xFFF) << 8))
  4943. #define LPI2C_MDMR_MATCH1(n) ((uint32_t)(((n) & 0xFF) << 16))
  4944. #define LPI2C_MDMR_MATCH0(n) ((uint32_t)(((n) & 0xFF) << 0))
  4945. #define LPI2C_MCCR0_DATAVD(n) ((uint32_t)(((n) & 0x3F) << 24))
  4946. #define LPI2C_MCCR0_SETHOLD(n) ((uint32_t)(((n) & 0x3F) << 16))
  4947. #define LPI2C_MCCR0_CLKHI(n) ((uint32_t)(((n) & 0x3F) << 8))
  4948. #define LPI2C_MCCR0_CLKLO(n) ((uint32_t)(((n) & 0x3F) << 0))
  4949. #define LPI2C_MCCR1_DATAVD(n) ((uint32_t)(((n) & 0x3F) << 24))
  4950. #define LPI2C_MCCR1_SETHOLD(n) ((uint32_t)(((n) & 0x3F) << 16))
  4951. #define LPI2C_MCCR1_CLKHI(n) ((uint32_t)(((n) & 0x3F) << 8))
  4952. #define LPI2C_MCCR1_CLKLO(n) ((uint32_t)(((n) & 0x3F) << 0))
  4953. #define LPI2C_MFCR_RXWATER(n) ((uint32_t)(((n) & 0x03) << 16))
  4954. #define LPI2C_MFCR_TXWATER(n) ((uint32_t)(((n) & 0x03) << 0))
  4955. #define LPI2C_MFSR_RXCOUNT(n) ((uint32_t)(((n) & 0x07) << 16))
  4956. #define LPI2C_MFSR_TXCOUNT(n) ((uint32_t)(((n) & 0x07) << 16))
  4957. #define LPI2C_MTDR_CMD(n) ((uint32_t)(((n) & 0x07) << 8))
  4958. #define LPI2C_MTDR_CMD_TRANSMIT ((uint32_t)(0 << 8))
  4959. #define LPI2C_MTDR_CMD_RECEIVE ((uint32_t)(1 << 8))
  4960. #define LPI2C_MTDR_CMD_STOP ((uint32_t)(2 << 8))
  4961. #define LPI2C_MTDR_CMD_DISCARD ((uint32_t)(3 << 8))
  4962. #define LPI2C_MTDR_CMD_START ((uint32_t)(4 << 8))
  4963. #define LPI2C_MTDR_CMD_START_NACK ((uint32_t)(5 << 8))
  4964. #define LPI2C_MTDR_CMD_HS_START ((uint32_t)(6 << 8))
  4965. #define LPI2C_MTDR_CMD_HS_START_NAcK ((uint32_t)(7 << 8))
  4966. #define LPI2C_MTDR_DATA(n) ((uint32_t)(((n) & 0xFF) << 0))
  4967. #define LPI2C_MRDR_RXEMPTY ((uint32_t)(1<<14))
  4968. #define LPI2C_MRDR_DATA(n) ((uint32_t)(((n) & 0xFF) << 0))
  4969. #define LPI2C_SCR_RRF ((uint32_t)(1<<9))
  4970. #define LPI2C_SCR_RTF ((uint32_t)(1<<8))
  4971. #define LPI2C_SCR_FILTDZ ((uint32_t)(1<<5))
  4972. #define LPI2C_SCR_FILTEN ((uint32_t)(1<<4))
  4973. #define LPI2C_SCR_RST ((uint32_t)(1<<1))
  4974. #define LPI2C_SCR_SEN ((uint32_t)(1<<0))
  4975. #define LPI2C_SSR_BBF ((uint32_t)(1<<25))
  4976. #define LPI2C_SSR_SBF ((uint32_t)(1<<24))
  4977. #define LPI2C_SSR_SARF ((uint32_t)(1<<15))
  4978. #define LPI2C_SSR_GCF ((uint32_t)(1<<14))
  4979. #define LPI2C_SSR_AM1F ((uint32_t)(1<<13))
  4980. #define LPI2C_SSR_AM0F ((uint32_t)(1<<12))
  4981. #define LPI2C_SSR_FEF ((uint32_t)(1<<11))
  4982. #define LPI2C_SSR_BEF ((uint32_t)(1<<10))
  4983. #define LPI2C_SSR_SDF ((uint32_t)(1<<9))
  4984. #define LPI2C_SSR_RSF ((uint32_t)(1<<8))
  4985. #define LPI2C_SSR_TAF ((uint32_t)(1<<3))
  4986. #define LPI2C_SSR_AVF ((uint32_t)(1<<2))
  4987. #define LPI2C_SSR_RDF ((uint32_t)(1<<1))
  4988. #define LPI2C_SSR_TDF ((uint32_t)(1<<0))
  4989. #define LPI2C_SIER_SARIE ((uint32_t)(1<<25))
  4990. #define LPI2C_SIER_GCIE ((uint32_t)(1<<24))
  4991. #define LPI2C_SIER_AM1F ((uint32_t)(1<<13))
  4992. #define LPI2C_SIER_AM0IE ((uint32_t)(1<<12))
  4993. #define LPI2C_SIER_FEIE ((uint32_t)(1<<11))
  4994. #define LPI2C_SIER_BEIE ((uint32_t)(1<<10))
  4995. #define LPI2C_SIER_SDIE ((uint32_t)(1<<9))
  4996. #define LPI2C_SIER_RSIE ((uint32_t)(1<<8))
  4997. #define LPI2C_SIER_TAIE ((uint32_t)(1<<3))
  4998. #define LPI2C_SIER_AVIE ((uint32_t)(1<<2))
  4999. #define LPI2C_SIER_RDIE ((uint32_t)(1<<1))
  5000. #define LPI2C_SIER_TDIE ((uint32_t)(1<<0))
  5001. #define LPI2C_SDER_AVDE ((uint32_t)(1<<2))
  5002. #define LPI2C_SDER_RDDE ((uint32_t)(1<<1))
  5003. #define LPI2C_SDER_TDDE ((uint32_t)(1<<0))
  5004. #define LPI2C_SCFGR1_ADDRCFG(n) ((uint32_t)(((n) & 0x07) << 16))
  5005. #define LPI2C_SCFGR1_HSMEN ((uint32_t)(1<<13))
  5006. #define LPI2C_SCFGR1_IGNACK ((uint32_t)(1<<12))
  5007. #define LPI2C_SCFGR1_RXCFG ((uint32_t)(1<<11))
  5008. #define LPI2C_SCFGR1_TXCFG ((uint32_t)(1<<10))
  5009. #define LPI2C_SCFGR1_SAEN ((uint32_t)(1<<9))
  5010. #define LPI2C_SCFGR1_GCEN ((uint32_t)(1<<8))
  5011. #define LPI2C_SCFGR1_ACKSTALL ((uint32_t)(1<<3))
  5012. #define LPI2C_SCFGR1_TXDSTALL ((uint32_t)(1<<2))
  5013. #define LPI2C_SCFGR1_RXSTALL ((uint32_t)(1<<1))
  5014. #define LPI2C_SCFGR1_ADRSTALL ((uint32_t)(1<<0))
  5015. #define LPI2C_SCFGR2_FILTSDA(n) ((uint32_t)(((n) & 0x0F) << 24))
  5016. #define LPI2C_SCFGR2_FILTSCL(n) ((uint32_t)(((n) & 0x0F) << 16))
  5017. #define LPI2C_SCFGR2_DATAVD(n) ((uint32_t)(((n) & 0x3F) << 8))
  5018. #define LPI2C_SCFGR2_CLKHOLD(n) ((uint32_t)(((n) & 0x0F) << 0))
  5019. #define LPI2C_SAMR_ADDR1(n) ((uint32_t)(((n) & 0x7F) << 17))
  5020. #define LPI2C_SAMR_ADDR0(n) ((uint32_t)(((n) & 0x7F) << 1))
  5021. #define LPI2C_SASR_ANV ((uint32_t)(1<<14))
  5022. #define LPI2C_SASR_RADDR(n) ((uint32_t)(((n) & 0x7FF) << 0))
  5023. #define LPI2C_STAR_TXNACK ((uint32_t)(1<<0))
  5024. #define LPI2C_STDR_DATA(n) ((uint32_t)(((n) & 0xFF) << 0))
  5025. #define LPI2C_SRDR_SOF ((uint32_t)(1<<15))
  5026. #define LPI2C_SRDR_RXEMPTY ((uint32_t)(1<<14))
  5027. #define LPI2C_SRDR_DATA(n) ((uint32_t)(((n) & 0xFF) << 0))
  5028. // 38.3.5.2: page 2422
  5029. #define IMXRT_LPSPI1 (*(IMXRT_REGISTER32_t *)0x40394000)
  5030. #define LPSPI1_VERID (IMXRT_LPSPI1.offset000)
  5031. #define LPSPI1_PARAM (IMXRT_LPSPI1.offset004)
  5032. #define LPSPI1_CR (IMXRT_LPSPI1.offset010)
  5033. #define LPSPI1_SR (IMXRT_LPSPI1.offset014)
  5034. #define LPSPI1_IER (IMXRT_LPSPI1.offset018)
  5035. #define LPSPI1_DER (IMXRT_LPSPI1.offset01C)
  5036. #define LPSPI1_CFGR0 (IMXRT_LPSPI1.offset020)
  5037. #define LPSPI1_CFGR1 (IMXRT_LPSPI1.offset024)
  5038. #define LPSPI1_DMR0 (IMXRT_LPSPI1.offset030)
  5039. #define LPSPI1_DMR1 (IMXRT_LPSPI1.offset034)
  5040. #define LPSPI1_CCR (IMXRT_LPSPI1.offset040)
  5041. #define LPSPI1_FCR (IMXRT_LPSPI1.offset058)
  5042. #define LPSPI1_FSR (IMXRT_LPSPI1.offset05C)
  5043. #define LPSPI1_TCR (IMXRT_LPSPI1.offset060)
  5044. #define LPSPI1_TDR (IMXRT_LPSPI1.offset064)
  5045. #define LPSPI1_RSR (IMXRT_LPSPI1.offset070)
  5046. #define LPSPI1_RDR (IMXRT_LPSPI1.offset074)
  5047. #define IMXRT_LPSPI2 (*(IMXRT_REGISTER32_t *)0x40398000)
  5048. #define LPSPI2_VERID (IMXRT_LPSPI2.offset000)
  5049. #define LPSPI2_PARAM (IMXRT_LPSPI2.offset004)
  5050. #define LPSPI2_CR (IMXRT_LPSPI2.offset010)
  5051. #define LPSPI2_SR (IMXRT_LPSPI2.offset014)
  5052. #define LPSPI2_IER (IMXRT_LPSPI2.offset018)
  5053. #define LPSPI2_DER (IMXRT_LPSPI2.offset01C)
  5054. #define LPSPI2_CFGR0 (IMXRT_LPSPI2.offset020)
  5055. #define LPSPI2_CFGR1 (IMXRT_LPSPI2.offset024)
  5056. #define LPSPI2_DMR0 (IMXRT_LPSPI2.offset030)
  5057. #define LPSPI2_DMR1 (IMXRT_LPSPI2.offset034)
  5058. #define LPSPI2_CCR (IMXRT_LPSPI2.offset040)
  5059. #define LPSPI2_FCR (IMXRT_LPSPI2.offset058)
  5060. #define LPSPI2_FSR (IMXRT_LPSPI2.offset05C)
  5061. #define LPSPI2_TCR (IMXRT_LPSPI2.offset060)
  5062. #define LPSPI2_TDR (IMXRT_LPSPI2.offset064)
  5063. #define LPSPI2_RSR (IMXRT_LPSPI2.offset070)
  5064. #define LPSPI2_RDR (IMXRT_LPSPI2.offset074)
  5065. #define IMXRT_LPSPI3 (*(IMXRT_REGISTER32_t *)0x4039C000)
  5066. #define LPSPI3_VERID (IMXRT_LPSPI3.offset000)
  5067. #define LPSPI3_PARAM (IMXRT_LPSPI3.offset004)
  5068. #define LPSPI3_CR (IMXRT_LPSPI3.offset010)
  5069. #define LPSPI3_SR (IMXRT_LPSPI3.offset014)
  5070. #define LPSPI3_IER (IMXRT_LPSPI3.offset018)
  5071. #define LPSPI3_DER (IMXRT_LPSPI3.offset01C)
  5072. #define LPSPI3_CFGR0 (IMXRT_LPSPI3.offset020)
  5073. #define LPSPI3_CFGR1 (IMXRT_LPSPI3.offset024)
  5074. #define LPSPI3_DMR0 (IMXRT_LPSPI3.offset030)
  5075. #define LPSPI3_DMR1 (IMXRT_LPSPI3.offset034)
  5076. #define LPSPI3_CCR (IMXRT_LPSPI3.offset040)
  5077. #define LPSPI3_FCR (IMXRT_LPSPI3.offset058)
  5078. #define LPSPI3_FSR (IMXRT_LPSPI3.offset05C)
  5079. #define LPSPI3_TCR (IMXRT_LPSPI3.offset060)
  5080. #define LPSPI3_TDR (IMXRT_LPSPI3.offset064)
  5081. #define LPSPI3_RSR (IMXRT_LPSPI3.offset070)
  5082. #define LPSPI3_RDR (IMXRT_LPSPI3.offset074)
  5083. #define IMXRT_LPSPI4 (*(IMXRT_REGISTER32_t *)0x403A0000)
  5084. #define LPSPI4_VERID (IMXRT_LPSPI4.offset000)
  5085. #define LPSPI4_PARAM (IMXRT_LPSPI4.offset004)
  5086. #define LPSPI4_CR (IMXRT_LPSPI4.offset010)
  5087. #define LPSPI4_SR (IMXRT_LPSPI4.offset014)
  5088. #define LPSPI4_IER (IMXRT_LPSPI4.offset018)
  5089. #define LPSPI4_DER (IMXRT_LPSPI4.offset01C)
  5090. #define LPSPI4_CFGR0 (IMXRT_LPSPI4.offset020)
  5091. #define LPSPI4_CFGR1 (IMXRT_LPSPI4.offset024)
  5092. #define LPSPI4_DMR0 (IMXRT_LPSPI4.offset030)
  5093. #define LPSPI4_DMR1 (IMXRT_LPSPI4.offset034)
  5094. #define LPSPI4_CCR (IMXRT_LPSPI4.offset040)
  5095. #define LPSPI4_FCR (IMXRT_LPSPI4.offset058)
  5096. #define LPSPI4_FSR (IMXRT_LPSPI4.offset05C)
  5097. #define LPSPI4_TCR (IMXRT_LPSPI4.offset060)
  5098. #define LPSPI4_TDR (IMXRT_LPSPI4.offset064)
  5099. #define LPSPI4_RSR (IMXRT_LPSPI4.offset070)
  5100. #define LPSPI4_RDR (IMXRT_LPSPI4.offset074)
  5101. #define LPSPI_CR_RRF ((uint32_t)(1<<9))
  5102. #define LPSPI_CR_RTF ((uint32_t)(1<<8))
  5103. #define LPSPI_CR_DBGEN ((uint32_t)(1<<3))
  5104. #define LPSPI_CR_DOZEN ((uint32_t)(1<<2))
  5105. #define LPSPI_CR_RST ((uint32_t)(1<<1))
  5106. #define LPSPI_CR_MEN ((uint32_t)(1<<0))
  5107. #define LPSPI_SR_MBF ((uint32_t)(1<<24))
  5108. #define LPSPI_SR_DMF ((uint32_t)(1<<13))
  5109. #define LPSPI_SR_REF ((uint32_t)(1<<12))
  5110. #define LPSPI_SR_TEF ((uint32_t)(1<<11))
  5111. #define LPSPI_SR_TCF ((uint32_t)(1<<10))
  5112. #define LPSPI_SR_FCF ((uint32_t)(1<<9))
  5113. #define LPSPI_SR_WCF ((uint32_t)(1<<8))
  5114. #define LPSPI_SR_RDF ((uint32_t)(1<<1))
  5115. #define LPSPI_SR_TDF ((uint32_t)(1<<0))
  5116. #define LPSPI_IER_DMIE ((uint32_t)(1<<13))
  5117. #define LPSPI_IER_REIE ((uint32_t)(1<<12))
  5118. #define LPSPI_IER_TEIE ((uint32_t)(1<<11))
  5119. #define LPSPI_IER_TCIE ((uint32_t)(1<<10))
  5120. #define LPSPI_IER_FCIE ((uint32_t)(1<<9))
  5121. #define LPSPI_IER_WCIE ((uint32_t)(1<<8))
  5122. #define LPSPI_IER_RDIE ((uint32_t)(1<<1))
  5123. #define LPSPI_IER_TDIE ((uint32_t)(1<<0))
  5124. #define LPSPI_DER_RDDE ((uint32_t)(1<<1))
  5125. #define LPSPI_DER_TDDE ((uint32_t)(1<<0))
  5126. #define LPSPI_CFGR0_RDMO ((uint32_t)(1<<9))
  5127. #define LPSPI_CFGR0_CIRFIFO ((uint32_t)(1<<8))
  5128. #define LPSPI_CFGR0_HRSEL ((uint32_t)(1<<2))
  5129. #define LPSPI_CFGR0_HRPOL ((uint32_t)(1<<1))
  5130. #define LPSPI_CFGR0_HREN ((uint32_t)(1<<0))
  5131. #define LPSPI_CFGR1_PCSCFG ((uint32_t)(1<<27))
  5132. #define LPSPI_CFGR1_OUTCFG ((uint32_t)(1<<26))
  5133. #define LPSPI_CFGR1_PINCFG(n) ((uint32_t)(((n) & 0x03) << 24))
  5134. #define LPSPI_CFGR1_MATCFG(n) ((uint32_t)(((n) & 0x07) << 16))
  5135. #define LPSPI_CFGR1_PCSPOL(n) ((uint32_t)(((n) & 0x0F) << 8))
  5136. #define LPSPI_CFGR1_NOSTALL ((uint32_t)(1<<3))
  5137. #define LPSPI_CFGR1_AUTOPCS ((uint32_t)(1<<2))
  5138. #define LPSPI_CFGR1_SAMPLE ((uint32_t)(1<<1))
  5139. #define LPSPI_CFGR1_MASTER ((uint32_t)(1<<0))
  5140. #define LPSPI_CCR_SCKPCS(n) ((uint32_t)(((n) & 0xFF) << 24))
  5141. #define LPSPI_CCR_PCSSCK(n) ((uint32_t)(((n) & 0xFF) << 16))
  5142. #define LPSPI_CCR_DBT(n) ((uint32_t)(((n) & 0xFF) << 8))
  5143. #define LPSPI_CCR_SCKDIV(n) ((uint32_t)(((n) & 0xFF) << 0))
  5144. #define LPSPI_FCR_RXWATER(n) ((uint32_t)(((n) & 0x0F) << 16))
  5145. #define LPSPI_FCR_TXWATER(n) ((uint32_t)(((n) & 0x0F) << 0))
  5146. #define LPSPI_FSR_RXCOUNT(n) ((uint32_t)(((n) & 0x1F) << 16))
  5147. #define LPSPI_FSR_TXCOUNT(n) ((uint32_t)(((n) & 0x1F) << 0))
  5148. #define LPSPI_TCR_CPOL ((uint32_t)(1<<31))
  5149. #define LPSPI_TCR_CPHA ((uint32_t)(1<<30))
  5150. #define LPSPI_TCR_PRESCALE(n) ((uint32_t)(((n) & 0x07) << 27))
  5151. #define LPSPI_TCR_PCS(n) ((uint32_t)(((n) & 0x03) << 24))
  5152. #define LPSPI_TCR_LSBF ((uint32_t)(1<<23))
  5153. #define LPSPI_TCR_BYSW ((uint32_t)(1<<22))
  5154. #define LPSPI_TCR_CONT ((uint32_t)(1<<21))
  5155. #define LPSPI_TCR_CONTC ((uint32_t)(1<<20))
  5156. #define LPSPI_TCR_RXMSK ((uint32_t)(1<<19))
  5157. #define LPSPI_TCR_TXMSK ((uint32_t)(1<<18))
  5158. #define LPSPI_TCR_WIDTH(n) ((uint32_t)(((n) & 0x03) << 16))
  5159. #define LPSPI_TCR_FRAMESZ(n) ((uint32_t)(((n) & 0xFFF) << 0))
  5160. #define LPSPI_RSR_RXEMPTY ((uint32_t)(1<<1))
  5161. #define LPSPI_RSR_SOF ((uint32_t)(1<<0))
  5162. // 39.3.1.1: page 2466
  5163. #define IMXRT_LPUART1 (*(IMXRT_REGISTER32_t *)0x40184000)
  5164. #define LPUART1_VERID (IMXRT_LPUART1.offset000)
  5165. #define LPUART1_PARAM (IMXRT_LPUART1.offset004)
  5166. #define LPUART1_GLOBAL (IMXRT_LPUART1.offset008)
  5167. #define LPUART1_PINCFG (IMXRT_LPUART1.offset00C)
  5168. #define LPUART1_BAUD (IMXRT_LPUART1.offset010)
  5169. #define LPUART1_STAT (IMXRT_LPUART1.offset014)
  5170. #define LPUART1_CTRL (IMXRT_LPUART1.offset018)
  5171. #define LPUART1_DATA (IMXRT_LPUART1.offset01C)
  5172. #define LPUART1_MATCH (IMXRT_LPUART1.offset020)
  5173. #define LPUART1_MODIR (IMXRT_LPUART1.offset024)
  5174. #define LPUART1_FIFO (IMXRT_LPUART1.offset028)
  5175. #define LPUART1_WATER (IMXRT_LPUART1.offset02C)
  5176. #define IMXRT_LPUART2 (*(IMXRT_REGISTER32_t *)0x40188000)
  5177. #define LPUART2_VERID (IMXRT_LPUART2.offset000)
  5178. #define LPUART2_PARAM (IMXRT_LPUART2.offset004)
  5179. #define LPUART2_GLOBAL (IMXRT_LPUART2.offset008)
  5180. #define LPUART2_PINCFG (IMXRT_LPUART2.offset00C)
  5181. #define LPUART2_BAUD (IMXRT_LPUART2.offset010)
  5182. #define LPUART2_STAT (IMXRT_LPUART2.offset014)
  5183. #define LPUART2_CTRL (IMXRT_LPUART2.offset018)
  5184. #define LPUART2_DATA (IMXRT_LPUART2.offset01C)
  5185. #define LPUART2_MATCH (IMXRT_LPUART2.offset020)
  5186. #define LPUART2_MODIR (IMXRT_LPUART2.offset024)
  5187. #define LPUART2_FIFO (IMXRT_LPUART2.offset028)
  5188. #define LPUART2_WATER (IMXRT_LPUART2.offset02C)
  5189. #define IMXRT_LPUART3 (*(IMXRT_REGISTER32_t *)0x4018C000)
  5190. #define LPUART3_VERID (IMXRT_LPUART3.offset000)
  5191. #define LPUART3_PARAM (IMXRT_LPUART3.offset004)
  5192. #define LPUART3_GLOBAL (IMXRT_LPUART3.offset008)
  5193. #define LPUART3_PINCFG (IMXRT_LPUART3.offset00C)
  5194. #define LPUART3_BAUD (IMXRT_LPUART3.offset010)
  5195. #define LPUART3_STAT (IMXRT_LPUART3.offset014)
  5196. #define LPUART3_CTRL (IMXRT_LPUART3.offset018)
  5197. #define LPUART3_DATA (IMXRT_LPUART3.offset01C)
  5198. #define LPUART3_MATCH (IMXRT_LPUART3.offset020)
  5199. #define LPUART3_MODIR (IMXRT_LPUART3.offset024)
  5200. #define LPUART3_FIFO (IMXRT_LPUART3.offset028)
  5201. #define LPUART3_WATER (IMXRT_LPUART3.offset02C)
  5202. #define IMXRT_LPUART4 (*(IMXRT_REGISTER32_t *)0x40190000)
  5203. #define LPUART4_VERID (IMXRT_LPUART4.offset000)
  5204. #define LPUART4_PARAM (IMXRT_LPUART4.offset004)
  5205. #define LPUART4_GLOBAL (IMXRT_LPUART4.offset008)
  5206. #define LPUART4_PINCFG (IMXRT_LPUART4.offset00C)
  5207. #define LPUART4_BAUD (IMXRT_LPUART4.offset010)
  5208. #define LPUART4_STAT (IMXRT_LPUART4.offset014)
  5209. #define LPUART4_CTRL (IMXRT_LPUART4.offset018)
  5210. #define LPUART4_DATA (IMXRT_LPUART4.offset01C)
  5211. #define LPUART4_MATCH (IMXRT_LPUART4.offset020)
  5212. #define LPUART4_MODIR (IMXRT_LPUART4.offset024)
  5213. #define LPUART4_FIFO (IMXRT_LPUART4.offset028)
  5214. #define LPUART4_WATER (IMXRT_LPUART4.offset02C)
  5215. #define IMXRT_LPUART5 (*(IMXRT_REGISTER32_t *)0x40194000)
  5216. #define LPUART5_VERID (IMXRT_LPUART5.offset000)
  5217. #define LPUART5_PARAM (IMXRT_LPUART5.offset004)
  5218. #define LPUART5_GLOBAL (IMXRT_LPUART5.offset008)
  5219. #define LPUART5_PINCFG (IMXRT_LPUART5.offset00C)
  5220. #define LPUART5_BAUD (IMXRT_LPUART5.offset010)
  5221. #define LPUART5_STAT (IMXRT_LPUART5.offset014)
  5222. #define LPUART5_CTRL (IMXRT_LPUART5.offset018)
  5223. #define LPUART5_DATA (IMXRT_LPUART5.offset01C)
  5224. #define LPUART5_MATCH (IMXRT_LPUART5.offset020)
  5225. #define LPUART5_MODIR (IMXRT_LPUART5.offset024)
  5226. #define LPUART5_FIFO (IMXRT_LPUART5.offset028)
  5227. #define LPUART5_WATER (IMXRT_LPUART5.offset02C)
  5228. #define IMXRT_LPUART6 (*(IMXRT_REGISTER32_t *)0x40198000)
  5229. #define LPUART6_VERID (IMXRT_LPUART6.offset000)
  5230. #define LPUART6_PARAM (IMXRT_LPUART6.offset004)
  5231. #define LPUART6_GLOBAL (IMXRT_LPUART6.offset008)
  5232. #define LPUART6_PINCFG (IMXRT_LPUART6.offset00C)
  5233. #define LPUART6_BAUD (IMXRT_LPUART6.offset010)
  5234. #define LPUART6_STAT (IMXRT_LPUART6.offset014)
  5235. #define LPUART6_CTRL (IMXRT_LPUART6.offset018)
  5236. #define LPUART6_DATA (IMXRT_LPUART6.offset01C)
  5237. #define LPUART6_MATCH (IMXRT_LPUART6.offset020)
  5238. #define LPUART6_MODIR (IMXRT_LPUART6.offset024)
  5239. #define LPUART6_FIFO (IMXRT_LPUART6.offset028)
  5240. #define LPUART6_WATER (IMXRT_LPUART6.offset02C)
  5241. #define IMXRT_LPUART7 (*(IMXRT_REGISTER32_t *)0x4019C000)
  5242. #define LPUART7_VERID (IMXRT_LPUART7.offset000)
  5243. #define LPUART7_PARAM (IMXRT_LPUART7.offset004)
  5244. #define LPUART7_GLOBAL (IMXRT_LPUART7.offset008)
  5245. #define LPUART7_PINCFG (IMXRT_LPUART7.offset00C)
  5246. #define LPUART7_BAUD (IMXRT_LPUART7.offset010)
  5247. #define LPUART7_STAT (IMXRT_LPUART7.offset014)
  5248. #define LPUART7_CTRL (IMXRT_LPUART7.offset018)
  5249. #define LPUART7_DATA (IMXRT_LPUART7.offset01C)
  5250. #define LPUART7_MATCH (IMXRT_LPUART7.offset020)
  5251. #define LPUART7_MODIR (IMXRT_LPUART7.offset024)
  5252. #define LPUART7_FIFO (IMXRT_LPUART7.offset028)
  5253. #define LPUART7_WATER (IMXRT_LPUART7.offset02C)
  5254. #define IMXRT_LPUART8 (*(IMXRT_REGISTER32_t *)0x401A0000)
  5255. #define LPUART8_VERID (IMXRT_LPUART8.offset000)
  5256. #define LPUART8_PARAM (IMXRT_LPUART8.offset004)
  5257. #define LPUART8_GLOBAL (IMXRT_LPUART8.offset008)
  5258. #define LPUART8_PINCFG (IMXRT_LPUART8.offset00C)
  5259. #define LPUART8_BAUD (IMXRT_LPUART8.offset010)
  5260. #define LPUART8_STAT (IMXRT_LPUART8.offset014)
  5261. #define LPUART8_CTRL (IMXRT_LPUART8.offset018)
  5262. #define LPUART8_DATA (IMXRT_LPUART8.offset01C)
  5263. #define LPUART8_MATCH (IMXRT_LPUART8.offset020)
  5264. #define LPUART8_MODIR (IMXRT_LPUART8.offset024)
  5265. #define LPUART8_FIFO (IMXRT_LPUART8.offset028)
  5266. #define LPUART8_WATER (IMXRT_LPUART8.offset02C)
  5267. #define LPUART_VERID_MAJOR(n) ((uint32_t)(((n) & 0xFF) << 24))
  5268. #define LPUART_VERID_MINOR(n) ((uint32_t)(((n) & 0xFF) << 16))
  5269. #define LPUART_VERID_FEATURE(n) ((uint32_t)(((n) & 0xFFFF) << 0))
  5270. #define LPUART_PARAM_RXFIFO(n) ((uint32_t)(((n) & 0xFF) << 8))
  5271. #define LPUART_PARAM_TXFIFO(n) ((uint32_t)(((n) & 0xFF) << 0))
  5272. #define LPUART_GLOBAL_RST ((uint32_t)(1<<1))
  5273. #define LPUART_PINCFG_TRGSEL(n) ((uint32_t)(((n) & 0x03) << 0))
  5274. #define LPUART_BAUD_MAEN1 ((uint32_t)(1<<31))
  5275. #define LPUART_BAUD_MAEN2 ((uint32_t)(1<<30))
  5276. #define LPUART_BAUD_M10 ((uint32_t)(1<<29))
  5277. #define LPUART_BAUD_OSR(n) ((uint32_t)(((n) & 0x1F) << 24))
  5278. #define LPUART_BAUD_TDMAE ((uint32_t)(1<<23))
  5279. #define LPUART_BAUD_RDMAE ((uint32_t)(1<<21))
  5280. #define LPUART_BAUD_MATCFG(n) ((uint32_t)(((n) & 0x03) << 18))
  5281. #define LPUART_BAUD_BOTHEDGE ((uint32_t)(1<<17))
  5282. #define LPUART_BAUD_RESYNCDIS ((uint32_t)(1<<16))
  5283. #define LPUART_BAUD_LBKDIE ((uint32_t)(1<<15))
  5284. #define LPUART_BAUD_RXEDGIE ((uint32_t)(1<<14))
  5285. #define LPUART_BAUD_SBNS ((uint32_t)(1<<13))
  5286. #define LPUART_BAUD_SBR(n) ((uint32_t)(((n) & 0x01FFF) << 0))
  5287. #define LPUART_STAT_LBKDIF ((uint32_t)(1<<31))
  5288. #define LPUART_STAT_RXEDGIF ((uint32_t)(1<<30))
  5289. #define LPUART_STAT_MSBF ((uint32_t)(1<<29))
  5290. #define LPUART_STAT_RXINV ((uint32_t)(1<<28))
  5291. #define LPUART_STAT_RWUID ((uint32_t)(1<<27))
  5292. #define LPUART_STAT_BRK13 ((uint32_t)(1<<26))
  5293. #define LPUART_STAT_LBKDE ((uint32_t)(1<<25))
  5294. #define LPUART_STAT_RAF ((uint32_t)(1<<24))
  5295. #define LPUART_STAT_TDRE ((uint32_t)(1<<23))
  5296. #define LPUART_STAT_TC ((uint32_t)(1<<22))
  5297. #define LPUART_STAT_RDRF ((uint32_t)(1<<21))
  5298. #define LPUART_STAT_IDLE ((uint32_t)(1<<20))
  5299. #define LPUART_STAT_OR ((uint32_t)(1<<19))
  5300. #define LPUART_STAT_NF ((uint32_t)(1<<18))
  5301. #define LPUART_STAT_FE ((uint32_t)(1<<17))
  5302. #define LPUART_STAT_PF ((uint32_t)(1<<16))
  5303. #define LPUART_STAT_MA1F ((uint32_t)(1<<15))
  5304. #define LPUART_STAT_MA2F ((uint32_t)(1<<14))
  5305. #define LPUART_CTRL_R8T9 ((uint32_t)(1<<31))
  5306. #define LPUART_CTRL_R9T8 ((uint32_t)(1<<30))
  5307. #define LPUART_CTRL_TXDIR ((uint32_t)(1<<29))
  5308. #define LPUART_CTRL_TXINV ((uint32_t)(1<<28))
  5309. #define LPUART_CTRL_ORIE ((uint32_t)(1<<27))
  5310. #define LPUART_CTRL_NEIE ((uint32_t)(1<<26))
  5311. #define LPUART_CTRL_FEIE ((uint32_t)(1<<25))
  5312. #define LPUART_CTRL_PEIE ((uint32_t)(1<<24))
  5313. #define LPUART_CTRL_TIE ((uint32_t)(1<<23))
  5314. #define LPUART_CTRL_TCIE ((uint32_t)(1<<22))
  5315. #define LPUART_CTRL_RIE ((uint32_t)(1<<21))
  5316. #define LPUART_CTRL_ILIE ((uint32_t)(1<<20))
  5317. #define LPUART_CTRL_TE ((uint32_t)(1<<19))
  5318. #define LPUART_CTRL_RE ((uint32_t)(1<<18))
  5319. #define LPUART_CTRL_RWU ((uint32_t)(1<<17))
  5320. #define LPUART_CTRL_SBK ((uint32_t)(1<<16))
  5321. #define LPUART_CTRL_MA1IE ((uint32_t)(1<<15))
  5322. #define LPUART_CTRL_MA2IE ((uint32_t)(1<<14))
  5323. #define LPUART_CTRL_M7 ((uint32_t)(1<<11))
  5324. #define LPUART_CTRL_IDLECFG(n) ((uint32_t)(((n) & 0x07) << 8))
  5325. #define LPUART_CTRL_LOOPS ((uint32_t)(1<<7))
  5326. #define LPUART_CTRL_DOZEEN ((uint32_t)(1<<6))
  5327. #define LPUART_CTRL_RSRC ((uint32_t)(1<<5))
  5328. #define LPUART_CTRL_M ((uint32_t)(1<<4))
  5329. #define LPUART_CTRL_WAKE ((uint32_t)(1<<3))
  5330. #define LPUART_CTRL_ILT ((uint32_t)(1<<2))
  5331. #define LPUART_CTRL_PE ((uint32_t)(1<<1))
  5332. #define LPUART_CTRL_PT ((uint32_t)(1<<0))
  5333. #define LPUART_DATA_NOISY ((uint32_t)(1<<15))
  5334. #define LPUART_DATA_PARITYE ((uint32_t)(1<<14))
  5335. #define LPUART_DATA_FRETSC ((uint32_t)(1<<13))
  5336. #define LPUART_DATA_RXEMPT ((uint32_t)(1<<12))
  5337. #define LPUART_DATA_IDLINE ((uint32_t)(1<<11))
  5338. #define LPUART_MATCH_MA2(n) ((uint32_t)(((n) & 0x3FF) << 16))
  5339. #define LPUART_MATCH_MA1(n) ((uint32_t)(((n) & 0x3FF) << 0))
  5340. #define LPUART_MODIR_IREN ((uint32_t)(1<<18))
  5341. #define LPUART_MODIR_TNP(n) ((uint32_t)(((n) & 0x03) << 16))
  5342. #define LPUART_MODIR_RTSWATER(n) ((uint32_t)(((n) & 0x03) << 8))
  5343. #define LPUART_MODIR_TXCTSSRC ((uint32_t)(1<<5))
  5344. #define LPUART_MODIR_TXCTSC ((uint32_t)(1<<4))
  5345. #define LPUART_MODIR_RXRTSE ((uint32_t)(1<<3))
  5346. #define LPUART_MODIR_TXRTSPOL ((uint32_t)(1<<2))
  5347. #define LPUART_MODIR_TXRTSE ((uint32_t)(1<<1))
  5348. #define LPUART_MODIR_TXCTSE ((uint32_t)(1<<0))
  5349. #define LPUART_FIFO_TXEMPT ((uint32_t)(1<<23))
  5350. #define LPUART_FIFO_RXEMPT ((uint32_t)(1<<22))
  5351. #define LPUART_FIFO_TXOF ((uint32_t)(1<<17))
  5352. #define LPUART_FIFO_RXUF ((uint32_t)(1<<16))
  5353. #define LPUART_FIFO_TXFLUSH ((uint32_t)(1<<15))
  5354. #define LPUART_FIFO_RXFLUSH ((uint32_t)(1<<14))
  5355. #define LPUART_FIFO_RXIDEN(n) ((uint32_t)(((n) & 0x07) << 10))
  5356. #define LPUART_FIFO_TXOFE ((uint32_t)(1<<9))
  5357. #define LPUART_FIFO_RXUFE ((uint32_t)(1<<8))
  5358. #define LPUART_FIFO_TXFE ((uint32_t)(1<<7))
  5359. #define LPUART_FIFO_TXFIFOSIZE(n) ((uint32_t)(((n) & 0x07) << 4))
  5360. #define LPUART_FIFO_RXFE ((uint32_t)(1<<3))
  5361. #define LPUART_FIFO_RXFIFOSIZE(n) ((uint32_t)(((n) & 0x07) << 0))
  5362. #define LPUART_WATER_RXCOUNT(n) ((uint32_t)(((n) & 0x07) << 24))
  5363. #define LPUART_WATER_RXWATER(n) ((uint32_t)(((n) & 0x03) << 16))
  5364. #define LPUART_WATER_TXCOUNT(n) ((uint32_t)(((n) & 0x07) << 8))
  5365. #define LPUART_WATER_TXWATER(n) ((uint32_t)(((n) & 0x03) << 0))
  5366. // 40.4: page 2495
  5367. // 41.3: page 2498 TODO...
  5368. // 42.5.1.1: page 2509
  5369. #define IMXRT_OCOTP (*(IMXRT_REGISTER32_t *)0x401F4000)
  5370. #define HW_OCOTP_CTRL (IMXRT_OCOTP.offset000)
  5371. #define HW_OCOTP_CTRL_SET (IMXRT_OCOTP.offset004)
  5372. #define HW_OCOTP_CTRL_CLR (IMXRT_OCOTP.offset008)
  5373. #define HW_OCOTP_CTRL_TOG (IMXRT_OCOTP.offset00C)
  5374. #define HW_OCOTP_TIMING (IMXRT_OCOTP.offset010)
  5375. #define HW_OCOTP_DATA (IMXRT_OCOTP.offset020)
  5376. #define HW_OCOTP_READ_CTRL (IMXRT_OCOTP.offset030)
  5377. #define HW_OCOTP_READ_FUSE_DATA (IMXRT_OCOTP.offset040)
  5378. #define HW_OCOTP_SW_STICKY (IMXRT_OCOTP.offset050)
  5379. #define HW_OCOTP_SCS (IMXRT_OCOTP.offset060)
  5380. #define HW_OCOTP_SCS_SET (IMXRT_OCOTP.offset064)
  5381. #define HW_OCOTP_SCS_CLR (IMXRT_OCOTP.offset068)
  5382. #define HW_OCOTP_SCS_TOG (IMXRT_OCOTP.offset06C)
  5383. #define HW_OCOTP_VERSION (IMXRT_OCOTP.offset090)
  5384. #define HW_OCOTP_TIMING2 (IMXRT_OCOTP.offset100)
  5385. #define HW_OCOTP_CTRL_WR_UNLOCK(n) ((uint32_t)(((n) & 0xFFFF) << 16))
  5386. #define HW_OCOTP_CTRL_RELOAD_SHADOWS ((uint32_t)(1<<10))
  5387. #define HW_OCOTP_CTRL_ERROR ((uint32_t)(1<<9))
  5388. #define HW_OCOTP_CTRL_BUSY ((uint32_t)(1<<8))
  5389. #define HW_OCOTP_CTRL_ADDR(n) ((uint32_t)(((n) & 0x3F) << 0))
  5390. #define HW_OCOTP_TIMING_WAIT(n) ((uint32_t)(((n) & 0x3F) << 22))
  5391. #define HW_OCOTP_TIMING_STROBE_READ(n) ((uint32_t)(((n) & 0x3F) << 16))
  5392. #define HW_OCOTP_TIMING_RELAX(n) ((uint32_t)(((n) & 0x0F) << 12))
  5393. #define HW_OCOTP_TIMING_STROBE_PROG(n) ((uint32_t)(((n) & 0xFFF) << 0))
  5394. #define HW_OCOTP_READ_CTRL_READ_FUSE ((uint32_t)(1<<0))
  5395. #define HW_OCOTP_SW_STICKY_JTAG_BLOCK_RELEASE ((uint32_t)(1<<4))
  5396. #define HW_OCOTP_SW_STICKY_BLOCK_ROM_PART ((uint32_t)(1<<3))
  5397. #define HW_OCOTP_SW_STICKY_FIELD_RETURN_LOCK ((uint32_t)(1<<2))
  5398. #define HW_OCOTP_SW_STICKY_SRK_REVOKE_LOCK ((uint32_t)(1<<1))
  5399. #define HW_OCOTP_SW_STICKY_BLOCK_DTCP_KEY ((uint32_t)(1<<0))
  5400. #define HW_OCOTP_SCS_LOCK ((uint32_t)(1<<31))
  5401. #define HW_OCOTP_SCS_HAB_JDE ((uint32_t)(1<<0))
  5402. #define HW_OCOTP_TIMING2_RELAX1(n) ((uint32_t)(((n) & 0x7F) << 24))
  5403. #define HW_OCOTP_TIMING2_RELAX_READ(n) ((uint32_t)(((n) & 0x3F) << 16))
  5404. #define HW_OCOTP_TIMING2_RELAX_PROG(n) ((uint32_t)(((n) & 0xFFF) << 0))
  5405. #define IMXRT_OCOTP_VALUE (*(IMXRT_REGISTER32_t *)0x401F4400)
  5406. #define HW_OCOTP_LOCK (IMXRT_OCOTP_VALUE.offset000)
  5407. #define HW_OCOTP_CFG0 (IMXRT_OCOTP_VALUE.offset010)
  5408. #define HW_OCOTP_CFG1 (IMXRT_OCOTP_VALUE.offset020)
  5409. #define HW_OCOTP_CFG2 (IMXRT_OCOTP_VALUE.offset030)
  5410. #define HW_OCOTP_CFG3 (IMXRT_OCOTP_VALUE.offset040)
  5411. #define HW_OCOTP_CFG4 (IMXRT_OCOTP_VALUE.offset050)
  5412. #define HW_OCOTP_CFG5 (IMXRT_OCOTP_VALUE.offset060)
  5413. #define HW_OCOTP_CFG6 (IMXRT_OCOTP_VALUE.offset070)
  5414. #define HW_OCOTP_MEM0 (IMXRT_OCOTP_VALUE.offset080)
  5415. #define HW_OCOTP MEM1 (IMXRT_OCOTP_VALUE.offset090)
  5416. #define HW_OCOTP_MEM2 (IMXRT_OCOTP_VALUE.offset0A0)
  5417. #define HW_OCOTP_MEM3 (IMXRT_OCOTP_VALUE.offset0B0)
  5418. #define HW_OCOTP_MEM4 (IMXRT_OCOTP_VALUE.offset0C0)
  5419. #define HW_OCOTP_ANA0 (IMXRT_OCOTP_VALUE.offset0D0)
  5420. #define HW_OCOTP_ANA1 (IMXRT_OCOTP_VALUE.offset0E0)
  5421. #define HW_OCOTP_ANA2 (IMXRT_OCOTP_VALUE.offset0F0)
  5422. #define HW_OCOTP_SRK0 (IMXRT_OCOTP_VALUE.offset180)
  5423. #define HW_OCOTP_SRK1 (IMXRT_OCOTP_VALUE.offset190)
  5424. #define HW_OCOTP_SRK2 (IMXRT_OCOTP_VALUE.offset1A0)
  5425. #define HW_OCOTP_SRK3 (IMXRT_OCOTP_VALUE.offset1B0)
  5426. #define HW_OCOTP_SRK4 (IMXRT_OCOTP_VALUE.offset1C0)
  5427. #define HW_OCOTP_SRK5 (IMXRT_OCOTP_VALUE.offset1D0)
  5428. #define HW_OCOTP_SRK6 (IMXRT_OCOTP_VALUE.offset1E0)
  5429. #define HW_OCOTP_SRK7 (IMXRT_OCOTP_VALUE.offset1F0)
  5430. #define HW_OCOTP_SJC_RESP0 (IMXRT_OCOTP_VALUE.offset200)
  5431. #define HW_OCOTP_SJC_RESP1 (IMXRT_OCOTP_VALUE.offset210)
  5432. #define HW_OCOTP_MAC0 (IMXRT_OCOTP_VALUE.offset220)
  5433. #define HW_OCOTP_MAC1 (IMXRT_OCOTP_VALUE.offset230)
  5434. #define HW_OCOTP_MAC2 (IMXRT_OCOTP_VALUE.offset240)
  5435. #define HW_OCOTP_GP3 (IMXRT_OCOTP_VALUE.offset250)
  5436. #define HW_OCOTP_GP1 (IMXRT_OCOTP_VALUE.offset260)
  5437. #define HW_OCOTP_GP2 (IMXRT_OCOTP_VALUE.offset270)
  5438. #define HW_OCOTP_SW_GP1 (IMXRT_OCOTP_VALUE.offset280)
  5439. #define HW_OCOTP_SW_GP20 (IMXRT_OCOTP_VALUE.offset290)
  5440. #define HW_OCOTP_SW_GP21 (IMXRT_OCOTP_VALUE.offset2A0)
  5441. #define HW_OCOTP_SW_GP22 (IMXRT_OCOTP_VALUE.offset2B0)
  5442. #define HW_OCOTP_SW_GP23 (IMXRT_OCOTP_VALUE.offset2C0)
  5443. #define HW_OCOTP_MISC_CONF0 (IMXRT_OCOTP_VALUE.offset2D0)
  5444. #define HW_OCOTP_MISC_CONF1 (IMXRT_OCOTP_VALUE.offset2E0)
  5445. #define HW_OCOTP_SRK_REVOKE (IMXRT_OCOTP_VALUE.offset2F0)
  5446. // 44.8.1: page 2583
  5447. #define IMXRT_PIT (*(IMXRT_REGISTER32_t *)0x40084000)
  5448. #define PIT_MCR (IMXRT_PIT.offset000)
  5449. #define PIT_LTMR64H (IMXRT_PIT.offset0E0)
  5450. #define PIT_LTMR64L (IMXRT_PIT.offset0E4)
  5451. #define PIT_LDVAL0 (IMXRT_PIT.offset100)
  5452. #define PIT_CVAL0 (IMXRT_PIT.offset104)
  5453. #define PIT_TCTRL0 (IMXRT_PIT.offset108)
  5454. #define PIT_TFLG0 (IMXRT_PIT.offset10C)
  5455. #define PIT_LDVAL1 (IMXRT_PIT.offset110)
  5456. #define PIT_CVAL1 (IMXRT_PIT.offset114)
  5457. #define PIT_TCTRL1 (IMXRT_PIT.offset118)
  5458. #define PIT_TFLG1 (IMXRT_PIT.offset11C)
  5459. #define PIT_LDVAL2 (IMXRT_PIT.offset120)
  5460. #define PIT_CVAL2 (IMXRT_PIT.offset124)
  5461. #define PIT_TCTRL2 (IMXRT_PIT.offset128)
  5462. #define PIT_TFLG2 (IMXRT_PIT.offset12C)
  5463. #define PIT_LDVAL3 (IMXRT_PIT.offset130)
  5464. #define PIT_CVAL3 (IMXRT_PIT.offset134)
  5465. #define PIT_TCTRL3 (IMXRT_PIT.offset138)
  5466. #define PIT_TFLG3 (IMXRT_PIT.offset13C)
  5467. // 45.7: page 2598
  5468. #define IMXRT_PMU (*(IMXRT_REGISTER32_t *)0x400D8000)
  5469. #define PMU_REG_1P1 (IMXRT_PMU.offset110)
  5470. #define PMU_REG_1P1_SET (IMXRT_PMU.offset114)
  5471. #define PMU_REG_1P1_CLR (IMXRT_PMU.offset118)
  5472. #define PMU_REG_1P1_TOG (IMXRT_PMU.offset11C)
  5473. #define PMU_REG_3P0 (IMXRT_PMU.offset120)
  5474. #define PMU_REG_3P0_SET (IMXRT_PMU.offset124)
  5475. #define PMU_REG_3P0_CLR (IMXRT_PMU.offset128)
  5476. #define PMU_REG_3P0_TOG (IMXRT_PMU.offset12C)
  5477. #define PMU_REG_2P5 (IMXRT_PMU.offset130)
  5478. #define PMU_REG_2P5_SET (IMXRT_PMU.offset134)
  5479. #define PMU_REG_2P5_CLR (IMXRT_PMU.offset138)
  5480. #define PMU_REG_2P5_TOG (IMXRT_PMU.offset13C)
  5481. #define PMU_REG_CORE (IMXRT_PMU.offset140)
  5482. #define PMU_REG_CORE_SET (IMXRT_PMU.offset144)
  5483. #define PMU_REG_CORE_CLR (IMXRT_PMU.offset148)
  5484. #define PMU_REG_CORE_TOG (IMXRT_PMU.offset14C)
  5485. #define PMU_MISC0 (IMXRT_PMU.offset150)
  5486. #define PMU_MISC0_SET (IMXRT_PMU.offset154)
  5487. #define PMU_MISC0_CLR (IMXRT_PMU.offset158)
  5488. #define PMU_MISC0_TOG (IMXRT_PMU.offset15C)
  5489. #define PMU_MISC1 (IMXRT_PMU.offset160)
  5490. #define PMU_MISC1_SET (IMXRT_PMU.offset164)
  5491. #define PMU_MISC1_CLR (IMXRT_PMU.offset168)
  5492. #define PMU_MISC1_TOG (IMXRT_PMU.offset16C)
  5493. #define PMU_MISC2 (IMXRT_PMU.offset170)
  5494. #define PMU_MISC2_SET (IMXRT_PMU.offset174)
  5495. #define PMU_MISC2_CLR (IMXRT_PMU.offset178)
  5496. #define PMU_MISC2_TOG (IMXRT_PMU.offset17C)
  5497. // 46.7: page 2656
  5498. #define IMXRT_PXP (*(IMXRT_REGISTER32_t *)0x402B4000)
  5499. #define IMXRT_PXP_b (*(IMXRT_REGISTER32_t *)0x402B4400)
  5500. #define PXP_CTRL (IMXRT_PXP.offset000)
  5501. #define PXP_CTRL_SET (IMXRT_PXP.offset004)
  5502. #define PXP_CTRL_CLR (IMXRT_PXP.offset008)
  5503. #define PXP_CTRL_TOG (IMXRT_PXP.offset00C)
  5504. #define PXP_STAT (IMXRT_PXP.offset010)
  5505. #define PXP_STAT_SET (IMXRT_PXP.offset014)
  5506. #define PXP_STAT_CLR (IMXRT_PXP.offset018)
  5507. #define PXP_STAT_TOG (IMXRT_PXP.offset01C)
  5508. #define PXP_OUT_CTRL (IMXRT_PXP.offset020)
  5509. #define PXP_OUT_CTRL_SET (IMXRT_PXP.offset024)
  5510. #define PXP_OUT_CTRL_CLR (IMXRT_PXP.offset028)
  5511. #define PXP_OUT_CTRL_TOG (IMXRT_PXP.offset02C)
  5512. #define PXP_OUT_BUF (IMXRT_PXP.offset030)
  5513. #define PXP_OUT_BUF2 (IMXRT_PXP.offset040)
  5514. #define PXP_OUT_PITCH (IMXRT_PXP.offset050)
  5515. #define PXP_OUT_LRC (IMXRT_PXP.offset060)
  5516. #define PXP_OUT_PS_ULC (IMXRT_PXP.offset070)
  5517. #define PXP_OUT_PS_LRC (IMXRT_PXP.offset080)
  5518. #define PXP_OUT_AS_ULC (IMXRT_PXP.offset090)
  5519. #define PXP_OUT_AS_LRC (IMXRT_PXP.offset0A0)
  5520. #define PXP_PS_CTRL (IMXRT_PXP.offset0B0)
  5521. #define PXP_PS_CTRL_SET (IMXRT_PXP.offset0B4)
  5522. #define PXP_PS_CTRL_CLR (IMXRT_PXP.offset0B8)
  5523. #define PXP_PS_CTRL_TOG (IMXRT_PXP.offset0BC)
  5524. #define PXP_PS_BUF (IMXRT_PXP.offset0C0)
  5525. #define PXP_PS_UBUF (IMXRT_PXP.offset0D0)
  5526. #define PXP_PS_VBUF (IMXRT_PXP.offset0E0)
  5527. #define PXP_PS_PITCH (IMXRT_PXP.offset0F0)
  5528. #define PXP_PS_BACKGROUND_0 (IMXRT_PXP.offset100)
  5529. #define PXP_PS_SCALE (IMXRT_PXP.offset110)
  5530. #define PXP_PS_OFFSET (IMXRT_PXP.offset120)
  5531. #define PXP_PS_CLRKEYLOW_0 (IMXRT_PXP.offset130)
  5532. #define PXP_PS_CLRKEYHIGH_0 (IMXRT_PXP.offset140)
  5533. #define PXP_AS_CTRL (IMXRT_PXP.offset150)
  5534. #define PXP_AS_BUF (IMXRT_PXP.offset160)
  5535. #define PXP_AS_PITCH (IMXRT_PXP.offset170)
  5536. #define PXP_AS_CLRKEYLOW_0 (IMXRT_PXP.offset180)
  5537. #define PXP_AS_CLRKEYHIGH_0 (IMXRT_PXP.offset190)
  5538. #define PXP_CSC1_COEF0 (IMXRT_PXP.offset1A0)
  5539. #define PXP_CSC1_COEF1 (IMXRT_PXP.offset1B0)
  5540. #define PXP_CSC1_COEF2 (IMXRT_PXP.offset1C0)
  5541. #define PXP_POWER (IMXRT_PXP_b.offset000)
  5542. #define PXP_PORTER_DUFF_CTRL (IMXRT_PXP_b.offset040)
  5543. // 47.5: page 2695
  5544. typedef struct {
  5545. union {
  5546. struct {
  5547. volatile uint16_t COMP1;
  5548. volatile uint16_t COMP2;
  5549. volatile uint16_t CAPT;
  5550. volatile uint16_t LOAD;
  5551. volatile uint16_t HOLD;
  5552. volatile uint16_t CNTR;
  5553. volatile uint16_t CTRL;
  5554. volatile uint16_t SCTRL;
  5555. volatile uint16_t CMPLD1;
  5556. volatile uint16_t CMPLD2;
  5557. volatile uint16_t CSCTRL;
  5558. volatile uint16_t FILT;
  5559. volatile uint16_t DMA;
  5560. volatile uint16_t unused1[3];
  5561. } CH[4];
  5562. struct {
  5563. volatile uint16_t unused2[15];
  5564. volatile uint16_t ENBL;
  5565. };
  5566. };
  5567. } IMXRT_TMR_t;
  5568. #define IMXRT_TMR1 (*(IMXRT_TMR_t *)0x401DC000)
  5569. #define TMR1_COMP10 (IMXRT_TMR1.CH[0].COMP1)
  5570. #define TMR1_COMP20 (IMXRT_TMR1.CH[0].COMP2)
  5571. #define TMR1_CAPT0 (IMXRT_TMR1.CH[0].CAPT)
  5572. #define TMR1_LOAD0 (IMXRT_TMR1.CH[0].LOAD)
  5573. #define TMR1_HOLD0 (IMXRT_TMR1.CH[0].HOLD)
  5574. #define TMR1_CNTR0 (IMXRT_TMR1.CH[0].CNTR)
  5575. #define TMR1_CTRL0 (IMXRT_TMR1.CH[0].CTRL)
  5576. #define TMR1_SCTRL0 (IMXRT_TMR1.CH[0].SCTRL)
  5577. #define TMR1_CMPLD10 (IMXRT_TMR1.CH[0].CMPLD1)
  5578. #define TMR1_CMPLD20 (IMXRT_TMR1.CH[0].CMPLD2)
  5579. #define TMR1_CSCTRL0 (IMXRT_TMR1.CH[0].CSCTRL)
  5580. #define TMR1_FILT0 (IMXRT_TMR1.CH[0].FILT)
  5581. #define TMR1_DMA0 (IMXRT_TMR1.CH[0].DMA)
  5582. #define TMR1_ENBL (IMXRT_TMR1.ENBL)
  5583. #define TMR1_COMP11 (IMXRT_TMR1.CH[1].COMP1)
  5584. #define TMR1_COMP21 (IMXRT_TMR1.CH[1].COMP2)
  5585. #define TMR1_CAPT1 (IMXRT_TMR1.CH[1].CAPT)
  5586. #define TMR1_LOAD1 (IMXRT_TMR1.CH[1].LOAD)
  5587. #define TMR1_HOLD1 (IMXRT_TMR1.CH[1].HOLD)
  5588. #define TMR1_CNTR1 (IMXRT_TMR1.CH[1].CNTR)
  5589. #define TMR1_CTRL1 (IMXRT_TMR1.CH[1].CTRL)
  5590. #define TMR1_SCTRL1 (IMXRT_TMR1.CH[1].SCTRL)
  5591. #define TMR1_CMPLD11 (IMXRT_TMR1.CH[1].CMPLD1)
  5592. #define TMR1_CMPLD21 (IMXRT_TMR1.CH[1].CMPLD2)
  5593. #define TMR1_CSCTRL1 (IMXRT_TMR1.CH[1].CSCTRL)
  5594. #define TMR1_FILT1 (IMXRT_TMR1.CH[1].FILT)
  5595. #define TMR1_DMA1 (IMXRT_TMR1.CH[1].DMA)
  5596. #define TMR1_COMP12 (IMXRT_TMR1.CH[2].COMP1)
  5597. #define TMR1_COMP22 (IMXRT_TMR1.CH[2].COMP2)
  5598. #define TMR1_CAPT2 (IMXRT_TMR1.CH[2].CAPT)
  5599. #define TMR1_LOAD2 (IMXRT_TMR1.CH[2].LOAD)
  5600. #define TMR1_HOLD2 (IMXRT_TMR1.CH[2].HOLD)
  5601. #define TMR1_CNTR2 (IMXRT_TMR1.CH[2].CNTR)
  5602. #define TMR1_CTRL2 (IMXRT_TMR1.CH[2].CTRL)
  5603. #define TMR1_SCTRL2 (IMXRT_TMR1.CH[2].SCTRL)
  5604. #define TMR1_CMPLD12 (IMXRT_TMR1.CH[2].CMPLD1)
  5605. #define TMR1_CMPLD22 (IMXRT_TMR1.CH[2].CMPLD2)
  5606. #define TMR1_CSCTRL2 (IMXRT_TMR1.CH[2].CSCTRL)
  5607. #define TMR1_FILT2 (IMXRT_TMR1.CH[2].FILT)
  5608. #define TMR1_DMA2 (IMXRT_TMR1.CH[2].DMA)
  5609. #define TMR1_COMP13 (IMXRT_TMR1.CH[3].COMP1)
  5610. #define TMR1_COMP23 (IMXRT_TMR1.CH[3].COMP2)
  5611. #define TMR1_CAPT3 (IMXRT_TMR1.CH[3].CAPT)
  5612. #define TMR1_LOAD3 (IMXRT_TMR1.CH[3].LOAD)
  5613. #define TMR1_HOLD3 (IMXRT_TMR1.CH[3].HOLD)
  5614. #define TMR1_CNTR3 (IMXRT_TMR1.CH[3].CNTR)
  5615. #define TMR1_CTRL3 (IMXRT_TMR1.CH[3].CTRL)
  5616. #define TMR1_SCTRL3 (IMXRT_TMR1.CH[3].SCTRL)
  5617. #define TMR1_CMPLD13 (IMXRT_TMR1.CH[3].CMPLD1)
  5618. #define TMR1_CMPLD23 (IMXRT_TMR1.CH[3].CMPLD2)
  5619. #define TMR1_CSCTRL3 (IMXRT_TMR1.CH[3].CSCTRL)
  5620. #define TMR1_FILT3 (IMXRT_TMR1.CH[3].FILT)
  5621. #define TMR1_DMA3 (IMXRT_TMR1.CH[3].DMA)
  5622. #define IMXRT_TMR2 (*(IMXRT_TMR_t *)0x401E0000)
  5623. #define TMR2_COMP10 (IMXRT_TMR2.CH[0].COMP1)
  5624. #define TMR2_COMP20 (IMXRT_TMR2.CH[0].COMP2)
  5625. #define TMR2_CAPT0 (IMXRT_TMR2.CH[0].CAPT)
  5626. #define TMR2_LOAD0 (IMXRT_TMR2.CH[0].LOAD)
  5627. #define TMR2_HOLD0 (IMXRT_TMR2.CH[0].HOLD)
  5628. #define TMR2_CNTR0 (IMXRT_TMR2.CH[0].CNTR)
  5629. #define TMR2_CTRL0 (IMXRT_TMR2.CH[0].CTRL)
  5630. #define TMR2_SCTRL0 (IMXRT_TMR2.CH[0].SCTRL)
  5631. #define TMR2_CMPLD10 (IMXRT_TMR2.CH[0].CMPLD1)
  5632. #define TMR2_CMPLD20 (IMXRT_TMR2.CH[0].CMPLD2)
  5633. #define TMR2_CSCTRL0 (IMXRT_TMR2.CH[0].CSCTRL)
  5634. #define TMR2_FILT0 (IMXRT_TMR2.CH[0].FILT)
  5635. #define TMR2_DMA0 (IMXRT_TMR2.CH[0].DMA)
  5636. #define TMR2_ENBL (IMXRT_TMR2.ENBL)
  5637. #define TMR2_COMP11 (IMXRT_TMR2.CH[1].COMP1)
  5638. #define TMR2_COMP21 (IMXRT_TMR2.CH[1].COMP2)
  5639. #define TMR2_CAPT1 (IMXRT_TMR2.CH[1].CAPT)
  5640. #define TMR2_LOAD1 (IMXRT_TMR2.CH[1].LOAD)
  5641. #define TMR2_HOLD1 (IMXRT_TMR2.CH[1].HOLD)
  5642. #define TMR2_CNTR1 (IMXRT_TMR2.CH[1].CNTR)
  5643. #define TMR2_CTRL1 (IMXRT_TMR2.CH[1].CTRL)
  5644. #define TMR2_SCTRL1 (IMXRT_TMR2.CH[1].SCTRL)
  5645. #define TMR2_CMPLD11 (IMXRT_TMR2.CH[1].CMPLD1)
  5646. #define TMR2_CMPLD21 (IMXRT_TMR2.CH[1].CMPLD2)
  5647. #define TMR2_CSCTRL1 (IMXRT_TMR2.CH[1].CSCTRL)
  5648. #define TMR2_FILT1 (IMXRT_TMR2.CH[1].FILT)
  5649. #define TMR2_DMA1 (IMXRT_TMR2.CH[1].DMA)
  5650. #define TMR2_COMP12 (IMXRT_TMR2.CH[2].COMP1)
  5651. #define TMR2_COMP22 (IMXRT_TMR2.CH[2].COMP2)
  5652. #define TMR2_CAPT2 (IMXRT_TMR2.CH[2].CAPT)
  5653. #define TMR2_LOAD2 (IMXRT_TMR2.CH[2].LOAD)
  5654. #define TMR2_HOLD2 (IMXRT_TMR2.CH[2].HOLD)
  5655. #define TMR2_CNTR2 (IMXRT_TMR2.CH[2].CNTR)
  5656. #define TMR2_CTRL2 (IMXRT_TMR2.CH[2].CTRL)
  5657. #define TMR2_SCTRL2 (IMXRT_TMR2.CH[2].SCTRL)
  5658. #define TMR2_CMPLD12 (IMXRT_TMR2.CH[2].CMPLD1)
  5659. #define TMR2_CMPLD22 (IMXRT_TMR2.CH[2].CMPLD2)
  5660. #define TMR2_CSCTRL2 (IMXRT_TMR2.CH[2].CSCTRL)
  5661. #define TMR2_FILT2 (IMXRT_TMR2.CH[2].FILT)
  5662. #define TMR2_DMA2 (IMXRT_TMR2.CH[2].DMA)
  5663. #define TMR2_COMP13 (IMXRT_TMR2.CH[3].COMP1)
  5664. #define TMR2_COMP23 (IMXRT_TMR2.CH[3].COMP2)
  5665. #define TMR2_CAPT3 (IMXRT_TMR2.CH[3].CAPT)
  5666. #define TMR2_LOAD3 (IMXRT_TMR2.CH[3].LOAD)
  5667. #define TMR2_HOLD3 (IMXRT_TMR2.CH[3].HOLD)
  5668. #define TMR2_CNTR3 (IMXRT_TMR2.CH[3].CNTR)
  5669. #define TMR2_CTRL3 (IMXRT_TMR2.CH[3].CTRL)
  5670. #define TMR2_SCTRL3 (IMXRT_TMR2.CH[3].SCTRL)
  5671. #define TMR2_CMPLD13 (IMXRT_TMR2.CH[3].CMPLD1)
  5672. #define TMR2_CMPLD23 (IMXRT_TMR2.CH[3].CMPLD2)
  5673. #define TMR2_CSCTRL3 (IMXRT_TMR2.CH[3].CSCTRL)
  5674. #define TMR2_FILT3 (IMXRT_TMR2.CH[3].FILT)
  5675. #define TMR2_DMA3 (IMXRT_TMR2.CH[3].DMA)
  5676. #define IMXRT_TMR3 (*(IMXRT_TMR_t *)0x401E4000)
  5677. #define TMR3_COMP10 (IMXRT_TMR3.CH[0].COMP1)
  5678. #define TMR3_COMP20 (IMXRT_TMR3.CH[0].COMP2)
  5679. #define TMR3_CAPT0 (IMXRT_TMR3.CH[0].CAPT)
  5680. #define TMR3_LOAD0 (IMXRT_TMR3.CH[0].LOAD)
  5681. #define TMR3_HOLD0 (IMXRT_TMR3.CH[0].HOLD)
  5682. #define TMR3_CNTR0 (IMXRT_TMR3.CH[0].CNTR)
  5683. #define TMR3_CTRL0 (IMXRT_TMR3.CH[0].CTRL)
  5684. #define TMR3_SCTRL0 (IMXRT_TMR3.CH[0].SCTRL)
  5685. #define TMR3_CMPLD10 (IMXRT_TMR3.CH[0].CMPLD1)
  5686. #define TMR3_CMPLD20 (IMXRT_TMR3.CH[0].CMPLD2)
  5687. #define TMR3_CSCTRL0 (IMXRT_TMR3.CH[0].CSCTRL)
  5688. #define TMR3_FILT0 (IMXRT_TMR3.CH[0].FILT)
  5689. #define TMR3_DMA0 (IMXRT_TMR3.CH[0].DMA)
  5690. #define TMR3_ENBL (IMXRT_TMR3.ENBL)
  5691. #define TMR3_COMP11 (IMXRT_TMR3.CH[1].COMP1)
  5692. #define TMR3_COMP21 (IMXRT_TMR3.CH[1].COMP2)
  5693. #define TMR3_CAPT1 (IMXRT_TMR3.CH[1].CAPT)
  5694. #define TMR3_LOAD1 (IMXRT_TMR3.CH[1].LOAD)
  5695. #define TMR3_HOLD1 (IMXRT_TMR3.CH[1].HOLD)
  5696. #define TMR3_CNTR1 (IMXRT_TMR3.CH[1].CNTR)
  5697. #define TMR3_CTRL1 (IMXRT_TMR3.CH[1].CTRL)
  5698. #define TMR3_SCTRL1 (IMXRT_TMR3.CH[1].SCTRL)
  5699. #define TMR3_CMPLD11 (IMXRT_TMR3.CH[1].CMPLD1)
  5700. #define TMR3_CMPLD21 (IMXRT_TMR3.CH[1].CMPLD2)
  5701. #define TMR3_CSCTRL1 (IMXRT_TMR3.CH[1].CSCTRL)
  5702. #define TMR3_FILT1 (IMXRT_TMR3.CH[1].FILT)
  5703. #define TMR3_DMA1 (IMXRT_TMR3.CH[1].DMA)
  5704. #define TMR3_COMP12 (IMXRT_TMR3.CH[2].COMP1)
  5705. #define TMR3_COMP22 (IMXRT_TMR3.CH[2].COMP2)
  5706. #define TMR3_CAPT2 (IMXRT_TMR3.CH[2].CAPT)
  5707. #define TMR3_LOAD2 (IMXRT_TMR3.CH[2].LOAD)
  5708. #define TMR3_HOLD2 (IMXRT_TMR3.CH[2].HOLD)
  5709. #define TMR3_CNTR2 (IMXRT_TMR3.CH[2].CNTR)
  5710. #define TMR3_CTRL2 (IMXRT_TMR3.CH[2].CTRL)
  5711. #define TMR3_SCTRL2 (IMXRT_TMR3.CH[2].SCTRL)
  5712. #define TMR3_CMPLD12 (IMXRT_TMR3.CH[2].CMPLD1)
  5713. #define TMR3_CMPLD22 (IMXRT_TMR3.CH[2].CMPLD2)
  5714. #define TMR3_CSCTRL2 (IMXRT_TMR3.CH[2].CSCTRL)
  5715. #define TMR3_FILT2 (IMXRT_TMR3.CH[2].FILT)
  5716. #define TMR3_DMA2 (IMXRT_TMR3.CH[2].DMA)
  5717. #define TMR3_COMP13 (IMXRT_TMR3.CH[3].COMP1)
  5718. #define TMR3_COMP23 (IMXRT_TMR3.CH[3].COMP2)
  5719. #define TMR3_CAPT3 (IMXRT_TMR3.CH[3].CAPT)
  5720. #define TMR3_LOAD3 (IMXRT_TMR3.CH[3].LOAD)
  5721. #define TMR3_HOLD3 (IMXRT_TMR3.CH[3].HOLD)
  5722. #define TMR3_CNTR3 (IMXRT_TMR3.CH[3].CNTR)
  5723. #define TMR3_CTRL3 (IMXRT_TMR3.CH[3].CTRL)
  5724. #define TMR3_SCTRL3 (IMXRT_TMR3.CH[3].SCTRL)
  5725. #define TMR3_CMPLD13 (IMXRT_TMR3.CH[3].CMPLD1)
  5726. #define TMR3_CMPLD23 (IMXRT_TMR3.CH[3].CMPLD2)
  5727. #define TMR3_CSCTRL3 (IMXRT_TMR3.CH[3].CSCTRL)
  5728. #define TMR3_FILT3 (IMXRT_TMR3.CH[3].FILT)
  5729. #define TMR3_DMA3 (IMXRT_TMR3.CH[3].DMA)
  5730. #define IMXRT_TMR4 (*(IMXRT_TMR_t *)0x401E8000)
  5731. #define TMR4_COMP10 (IMXRT_TMR4.CH[0].COMP1)
  5732. #define TMR4_COMP20 (IMXRT_TMR4.CH[0].COMP2)
  5733. #define TMR4_CAPT0 (IMXRT_TMR4.CH[0].CAPT)
  5734. #define TMR4_LOAD0 (IMXRT_TMR4.CH[0].LOAD)
  5735. #define TMR4_HOLD0 (IMXRT_TMR4.CH[0].HOLD)
  5736. #define TMR4_CNTR0 (IMXRT_TMR4.CH[0].CNTR)
  5737. #define TMR4_CTRL0 (IMXRT_TMR4.CH[0].CTRL)
  5738. #define TMR4_SCTRL0 (IMXRT_TMR4.CH[0].SCTRL)
  5739. #define TMR4_CMPLD10 (IMXRT_TMR4.CH[0].CMPLD1)
  5740. #define TMR4_CMPLD20 (IMXRT_TMR4.CH[0].CMPLD2)
  5741. #define TMR4_CSCTRL0 (IMXRT_TMR4.CH[0].CSCTRL)
  5742. #define TMR4_FILT0 (IMXRT_TMR4.CH[0].FILT)
  5743. #define TMR4_DMA0 (IMXRT_TMR4.CH[0].DMA)
  5744. #define TMR4_ENBL (IMXRT_TMR4.ENBL)
  5745. #define TMR4_COMP11 (IMXRT_TMR4.CH[1].COMP1)
  5746. #define TMR4_COMP21 (IMXRT_TMR4.CH[1].COMP2)
  5747. #define TMR4_CAPT1 (IMXRT_TMR4.CH[1].CAPT)
  5748. #define TMR4_LOAD1 (IMXRT_TMR4.CH[1].LOAD)
  5749. #define TMR4_HOLD1 (IMXRT_TMR4.CH[1].HOLD)
  5750. #define TMR4_CNTR1 (IMXRT_TMR4.CH[1].CNTR)
  5751. #define TMR4_CTRL1 (IMXRT_TMR4.CH[1].CTRL)
  5752. #define TMR4_SCTRL1 (IMXRT_TMR4.CH[1].SCTRL)
  5753. #define TMR4_CMPLD11 (IMXRT_TMR4.CH[1].CMPLD1)
  5754. #define TMR4_CMPLD21 (IMXRT_TMR4.CH[1].CMPLD2)
  5755. #define TMR4_CSCTRL1 (IMXRT_TMR4.CH[1].CSCTRL)
  5756. #define TMR4_FILT1 (IMXRT_TMR4.CH[1].FILT)
  5757. #define TMR4_DMA1 (IMXRT_TMR4.CH[1].DMA)
  5758. #define TMR4_COMP12 (IMXRT_TMR4.CH[2].COMP1)
  5759. #define TMR4_COMP22 (IMXRT_TMR4.CH[2].COMP2)
  5760. #define TMR4_CAPT2 (IMXRT_TMR4.CH[2].CAPT)
  5761. #define TMR4_LOAD2 (IMXRT_TMR4.CH[2].LOAD)
  5762. #define TMR4_HOLD2 (IMXRT_TMR4.CH[2].HOLD)
  5763. #define TMR4_CNTR2 (IMXRT_TMR4.CH[2].CNTR)
  5764. #define TMR4_CTRL2 (IMXRT_TMR4.CH[2].CTRL)
  5765. #define TMR4_SCTRL2 (IMXRT_TMR4.CH[2].SCTRL)
  5766. #define TMR4_CMPLD12 (IMXRT_TMR4.CH[2].CMPLD1)
  5767. #define TMR4_CMPLD22 (IMXRT_TMR4.CH[2].CMPLD2)
  5768. #define TMR4_CSCTRL2 (IMXRT_TMR4.CH[2].CSCTRL)
  5769. #define TMR4_FILT2 (IMXRT_TMR4.CH[2].FILT)
  5770. #define TMR4_DMA2 (IMXRT_TMR4.CH[2].DMA)
  5771. #define TMR4_COMP13 (IMXRT_TMR4.CH[3].COMP1)
  5772. #define TMR4_COMP23 (IMXRT_TMR4.CH[3].COMP2)
  5773. #define TMR4_CAPT3 (IMXRT_TMR4.CH[3].CAPT)
  5774. #define TMR4_LOAD3 (IMXRT_TMR4.CH[3].LOAD)
  5775. #define TMR4_HOLD3 (IMXRT_TMR4.CH[3].HOLD)
  5776. #define TMR4_CNTR3 (IMXRT_TMR4.CH[3].CNTR)
  5777. #define TMR4_CTRL3 (IMXRT_TMR4.CH[3].CTRL)
  5778. #define TMR4_SCTRL3 (IMXRT_TMR4.CH[3].SCTRL)
  5779. #define TMR4_CMPLD13 (IMXRT_TMR4.CH[3].CMPLD1)
  5780. #define TMR4_CMPLD23 (IMXRT_TMR4.CH[3].CMPLD2)
  5781. #define TMR4_CSCTRL3 (IMXRT_TMR4.CH[3].CSCTRL)
  5782. #define TMR4_FILT3 (IMXRT_TMR4.CH[3].FILT)
  5783. #define TMR4_DMA3 (IMXRT_TMR4.CH[3].DMA)
  5784. #define TMR_CTRL_CM(n) ((uint16_t)(((n) & 0x07) << 13))
  5785. #define TMR_CTRL_PCS(n) ((uint16_t)(((n) & 0x0F) << 9))
  5786. #define TMR_CTRL_SCS(n) ((uint16_t)(((n) & 0x03) << 7))
  5787. #define TMR_CTRL_ONCE ((uint16_t)(1<<6))
  5788. #define TMR_CTRL_LENGTH ((uint16_t)(1<<5))
  5789. #define TMR_CTRL_DIR ((uint16_t)(1<<4))
  5790. #define TMR_CTRL_COINIT ((uint16_t)(1<<3))
  5791. #define TMR_CTRL_OUTMODE(n) ((uint16_t)(((n) & 0x07) << 0))
  5792. #define TMR_SCTRL_TCF ((uint16_t)(1<<15))
  5793. #define TMR_SCTRL_TCFIE ((uint16_t)(1<<14))
  5794. #define TMR_SCTRL_TOF ((uint16_t)(1<<13))
  5795. #define TMR_SCTRL_TOFIE ((uint16_t)(1<<12))
  5796. #define TMR_SCTRL_IEF ((uint16_t)(1<<11))
  5797. #define TMR_SCTRL_IEFIE ((uint16_t)(1<<10))
  5798. #define TMR_SCTRL_IPS ((uint16_t)(1<<9))
  5799. #define TMR_SCTRL_INPUT ((uint16_t)(1<<8))
  5800. #define TMR_SCTRL_CAPTURE_MODE(n) ((uint16_t)(((n) & 0x03) << 6))
  5801. #define TMR_SCTRL_MSTR ((uint16_t)(1<<5))
  5802. #define TMR_SCTRL_EEOF ((uint16_t)(1<<4))
  5803. #define TMR_SCTRL_VAL ((uint16_t)(1<<3))
  5804. #define TMR_SCTRL_FORCE ((uint16_t)(1<<2))
  5805. #define TMR_SCTRL_OPS ((uint16_t)(1<<1))
  5806. #define TMR_SCTRL_OEN ((uint16_t)(1<<0))
  5807. #define TMR_CSCTRL_DBG_EN(n) ((uint16_t)(((n) & 0x03) << 14))
  5808. #define TMR_CSCTRL_FAULT ((uint16_t)(1<<13))
  5809. #define TMR_CSCTRL_ALT_LOAD ((uint16_t)(1<<12))
  5810. #define TMR_CSCTRL_ROC ((uint16_t)(1<<11))
  5811. #define TMR_CSCTRL_TCI ((uint16_t)(1<<10))
  5812. #define TMR_CSCTRL_UP ((uint16_t)(1<<9))
  5813. #define TMR_CSCTRL_TCF2EN ((uint16_t)(1<<7))
  5814. #define TMR_CSCTRL_TCF1EN ((uint16_t)(1<<6))
  5815. #define TMR_CSCTRL_TCF2 ((uint16_t)(1<<5))
  5816. #define TMR_CSCTRL_TCF1 ((uint16_t)(1<<4))
  5817. #define TMR_CSCTRL_CL2(n) ((uint16_t)(((n) & 0x03) << 2))
  5818. #define TMR_CSCTRL_CL1(n) ((uint16_t)(((n) & 0x03) << 0))
  5819. #define TMR_FILT_FILT_CNT(n) ((uint16_t)(((n) & 0x07) << 8))
  5820. #define TMR_FILT_FILT_PER(n) ((uint16_t)(((n) & 0xFF) << 0))
  5821. #define TMR_DMA_CMPLD2DE ((uint16_t)(1<<2))
  5822. #define TMR_DMA_CMPLD1DE ((uint16_t)(1<<1))
  5823. #define TMR_DMA_IEFDE ((uint16_t)(1<<0))
  5824. // 48.4.1.1: page 2748
  5825. #define IMXRT_I2S1 (*(IMXRT_REGISTER32_t *)0x40384000)
  5826. #define I2S1_VERID (IMXRT_I2S1.offset000)
  5827. #define I2S1_PARAM (IMXRT_I2S1.offset004)
  5828. #define I2S1_TCSR (IMXRT_I2S1.offset008)
  5829. #define I2S1_TCR1 (IMXRT_I2S1.offset00C)
  5830. #define I2S1_TCR2 (IMXRT_I2S1.offset010)
  5831. #define I2S1_TCR3 (IMXRT_I2S1.offset014)
  5832. #define I2S1_TCR4 (IMXRT_I2S1.offset018)
  5833. #define I2S1_TCR5 (IMXRT_I2S1.offset01C)
  5834. #define I2S1_TDR0 (IMXRT_I2S1.offset020)
  5835. #define I2S1_TDR1 (IMXRT_I2S1.offset024)
  5836. #define I2S1_TDR2 (IMXRT_I2S1.offset028)
  5837. #define I2S1_TDR3 (IMXRT_I2S1.offset02C)
  5838. #define I2S1_TFR0 (IMXRT_I2S1.offset040)
  5839. #define I2S1_TFR1 (IMXRT_I2S1.offset044)
  5840. #define I2S1_TFR2 (IMXRT_I2S1.offset048)
  5841. #define I2S1_TFR3 (IMXRT_I2S1.offset04C)
  5842. #define I2S1_TMR (IMXRT_I2S1.offset060)
  5843. #define I2S1_RCSR (IMXRT_I2S1.offset088)
  5844. #define I2S1_RCR1 (IMXRT_I2S1.offset08C)
  5845. #define I2S1_RCR2 (IMXRT_I2S1.offset090)
  5846. #define I2S1_RCR3 (IMXRT_I2S1.offset094)
  5847. #define I2S1_RCR4 (IMXRT_I2S1.offset098)
  5848. #define I2S1_RCR5 (IMXRT_I2S1.offset09C)
  5849. #define I2S1_RDR0 (IMXRT_I2S1.offset0A0)
  5850. #define I2S1_RDR1 (IMXRT_I2S1.offset0A4)
  5851. #define I2S1_RDR2 (IMXRT_I2S1.offset0A8)
  5852. #define I2S1_RDR3 (IMXRT_I2S1.offset0AC)
  5853. #define I2S1_RFR0 (IMXRT_I2S1.offset0C0)
  5854. #define I2S1_RFR1 (IMXRT_I2S1.offset0C4)
  5855. #define I2S1_RFR2 (IMXRT_I2S1.offset0C8)
  5856. #define I2S1_RFR3 (IMXRT_I2S1.offset0CC)
  5857. #define I2S1_RMR (IMXRT_I2S1.offset0E0)
  5858. #define IMXRT_I2S2 (*(IMXRT_REGISTER32_t *)0x40388000)
  5859. #define I2S2_VERID (IMXRT_I2S2.offset000)
  5860. #define I2S2_PARAM (IMXRT_I2S2.offset004)
  5861. #define I2S2_TCSR (IMXRT_I2S2.offset008)
  5862. #define I2S2_TCR1 (IMXRT_I2S2.offset00C)
  5863. #define I2S2_TCR2 (IMXRT_I2S2.offset010)
  5864. #define I2S2_TCR3 (IMXRT_I2S2.offset014)
  5865. #define I2S2_TCR4 (IMXRT_I2S2.offset018)
  5866. #define I2S2_TCR5 (IMXRT_I2S2.offset01C)
  5867. #define I2S2_TDR0 (IMXRT_I2S2.offset020)
  5868. #define I2S2_TDR1 (IMXRT_I2S2.offset024)
  5869. #define I2S2_TDR2 (IMXRT_I2S2.offset028)
  5870. #define I2S2_TDR3 (IMXRT_I2S2.offset02C)
  5871. #define I2S2_TFR0 (IMXRT_I2S2.offset040)
  5872. #define I2S2_TFR1 (IMXRT_I2S2.offset044)
  5873. #define I2S2_TFR2 (IMXRT_I2S2.offset048)
  5874. #define I2S2_TFR3 (IMXRT_I2S2.offset04C)
  5875. #define I2S2_TMR (IMXRT_I2S2.offset060)
  5876. #define I2S2_RCSR (IMXRT_I2S2.offset088)
  5877. #define I2S2_RCR1 (IMXRT_I2S2.offset08C)
  5878. #define I2S2_RCR2 (IMXRT_I2S2.offset090)
  5879. #define I2S2_RCR3 (IMXRT_I2S2.offset094)
  5880. #define I2S2_RCR4 (IMXRT_I2S2.offset098)
  5881. #define I2S2_RCR5 (IMXRT_I2S2.offset09C)
  5882. #define I2S2_RDR0 (IMXRT_I2S2.offset0A0)
  5883. #define I2S2_RDR1 (IMXRT_I2S2.offset0A4)
  5884. #define I2S2_RDR2 (IMXRT_I2S2.offset0A8)
  5885. #define I2S2_RDR3 (IMXRT_I2S2.offset0AC)
  5886. #define I2S2_RFR0 (IMXRT_I2S2.offset0C0)
  5887. #define I2S2_RFR1 (IMXRT_I2S2.offset0C4)
  5888. #define I2S2_RFR2 (IMXRT_I2S2.offset0C8)
  5889. #define I2S2_RFR3 (IMXRT_I2S2.offset0CC)
  5890. #define I2S2_RMR (IMXRT_I2S2.offset0E0)
  5891. #define IMXRT_I2S3 (*(IMXRT_REGISTER32_t *)0x4038C000)
  5892. #define I2S3_VERID (IMXRT_I2S3.offset000)
  5893. #define I2S3_PARAM (IMXRT_I2S3.offset004)
  5894. #define I2S3_TCSR (IMXRT_I2S3.offset008)
  5895. #define I2S3_TCR1 (IMXRT_I2S3.offset00C)
  5896. #define I2S3_TCR2 (IMXRT_I2S3.offset010)
  5897. #define I2S3_TCR3 (IMXRT_I2S3.offset014)
  5898. #define I2S3_TCR4 (IMXRT_I2S3.offset018)
  5899. #define I2S3_TCR5 (IMXRT_I2S3.offset01C)
  5900. #define I2S3_TDR0 (IMXRT_I2S3.offset020)
  5901. #define I2S3_TDR1 (IMXRT_I2S3.offset024)
  5902. #define I2S3_TDR2 (IMXRT_I2S3.offset028)
  5903. #define I2S3_TDR3 (IMXRT_I2S3.offset02C)
  5904. #define I2S3_TFR0 (IMXRT_I2S3.offset040)
  5905. #define I2S3_TFR1 (IMXRT_I2S3.offset044)
  5906. #define I2S3_TFR2 (IMXRT_I2S3.offset048)
  5907. #define I2S3_TFR3 (IMXRT_I2S3.offset04C)
  5908. #define I2S3_TMR (IMXRT_I2S3.offset060)
  5909. #define I2S3_RCSR (IMXRT_I2S3.offset088)
  5910. #define I2S3_RCR1 (IMXRT_I2S3.offset08C)
  5911. #define I2S3_RCR2 (IMXRT_I2S3.offset090)
  5912. #define I2S3_RCR3 (IMXRT_I2S3.offset094)
  5913. #define I2S3_RCR4 (IMXRT_I2S3.offset098)
  5914. #define I2S3_RCR5 (IMXRT_I2S3.offset09C)
  5915. #define I2S3_RDR0 (IMXRT_I2S3.offset0A0)
  5916. #define I2S3_RDR1 (IMXRT_I2S3.offset0A4)
  5917. #define I2S3_RDR2 (IMXRT_I2S3.offset0A8)
  5918. #define I2S3_RDR3 (IMXRT_I2S3.offset0AC)
  5919. #define I2S3_RFR0 (IMXRT_I2S3.offset0C0)
  5920. #define I2S3_RFR1 (IMXRT_I2S3.offset0C4)
  5921. #define I2S3_RFR2 (IMXRT_I2S3.offset0C8)
  5922. #define I2S3_RFR3 (IMXRT_I2S3.offset0CC)
  5923. #define I2S3_RMR (IMXRT_I2S3.offset0E0)
  5924. // 49.3.1.1: page 2784
  5925. #define IMXRT_SEMC (*(IMXRT_REGISTER32_t *)0x402F0000)
  5926. #define SEMC_MCR (IMXRT_SEMC.offset000)
  5927. #define SEMC_IOCR (IMXRT_SEMC.offset004)
  5928. #define SEMC_BMCR0 (IMXRT_SEMC.offset008)
  5929. #define SEMC_BMCR1 (IMXRT_SEMC.offset00C)
  5930. #define SEMC_BR0 (IMXRT_SEMC.offset010)
  5931. #define SEMC_BR1 (IMXRT_SEMC.offset014)
  5932. #define SEMC_BR2 (IMXRT_SEMC.offset018)
  5933. #define SEMC_BR3 (IMXRT_SEMC.offset01C)
  5934. #define SEMC_BR4 (IMXRT_SEMC.offset020)
  5935. #define SEMC_BR5 (IMXRT_SEMC.offset024)
  5936. #define SEMC_BR6 (IMXRT_SEMC.offset028)
  5937. #define SEMC_BR7 (IMXRT_SEMC.offset02C)
  5938. #define SEMC_BR8 (IMXRT_SEMC.offset030)
  5939. #define SEMC_INTEN (IMXRT_SEMC.offset038)
  5940. #define SEMC_INTR (IMXRT_SEMC.offset03C)
  5941. #define SEMC_SDRAMCR0 (IMXRT_SEMC.offset040)
  5942. #define SEMC_SDRAMCR1 (IMXRT_SEMC.offset044)
  5943. #define SEMC_SDRAMCR2 (IMXRT_SEMC.offset048)
  5944. #define SEMC_SDRAMCR3 (IMXRT_SEMC.offset04C)
  5945. #define SEMC_NANDCR0 (IMXRT_SEMC.offset050)
  5946. #define SEMC_NANDCR1 (IMXRT_SEMC.offset054)
  5947. #define SEMC_NANDCR2 (IMXRT_SEMC.offset058)
  5948. #define SEMC_NANDCR3 (IMXRT_SEMC.offset05C)
  5949. #define SEMC_ORCR0 (IMXRT_SEMC.offset060)
  5950. #define SEMC_ORCR1 (IMXRT_SEMC.offset064)
  5951. #define SEMC_ORCR2 (IMXRT_SEMC.offset068)
  5952. #define SEMC_ORCR3 (IMXRT_SEMC.offset06C)
  5953. #define SEMC_SRAMCR0 (IMXRT_SEMC.offset070)
  5954. #define SEMC_SRAMCR1 (IMXRT_SEMC.offset074)
  5955. #define SEMC_SRAMCR2 (IMXRT_SEMC.offset078)
  5956. #define SEMC_SRAMCR3 (IMXRT_SEMC.offset07C)
  5957. #define SEMC_DBICR0 (IMXRT_SEMC.offset080)
  5958. #define SEMC_DBICR1 (IMXRT_SEMC.offset084)
  5959. #define SEMC_IPCR0 (IMXRT_SEMC.offset090)
  5960. #define SEMC_IPCR1 (IMXRT_SEMC.offset094)
  5961. #define SEMC_IPCR2 (IMXRT_SEMC.offset098)
  5962. #define SEMC_IPCMD (IMXRT_SEMC.offset09C)
  5963. #define SEMC_IPTXDAT (IMXRT_SEMC.offset0A0)
  5964. #define SEMC_IPRXDAT (IMXRT_SEMC.offset0B0)
  5965. #define SEMC_STS0 (IMXRT_SEMC.offset0C0)
  5966. #define SEMC_STS1 (IMXRT_SEMC.offset0C4)
  5967. #define SEMC_STS2 (IMXRT_SEMC.offset0C8)
  5968. #define SEMC_STS3 (IMXRT_SEMC.offset0CC)
  5969. #define SEMC_STS4 (IMXRT_SEMC.offset0D0)
  5970. #define SEMC_STS5 (IMXRT_SEMC.offset0D4)
  5971. #define SEMC_STS6 (IMXRT_SEMC.offset0D8)
  5972. #define SEMC_STS7 (IMXRT_SEMC.offset0DC)
  5973. #define SEMC_STS8 (IMXRT_SEMC.offset0E0)
  5974. #define SEMC_STS9 (IMXRT_SEMC.offset0E4)
  5975. #define SEMC_STS10 (IMXRT_SEMC.offset0E8)
  5976. #define SEMC_STS11 (IMXRT_SEMC.offset0EC)
  5977. #define SEMC_STS12 (IMXRT_SEMC.offset0F0)
  5978. #define SEMC_STS13 (IMXRT_SEMC.offset0F4)
  5979. #define SEMC_STS14 (IMXRT_SEMC.offset0F8)
  5980. #define SEMC_STS15 (IMXRT_SEMC.offset0FC)
  5981. // 50.6.1: page 2895
  5982. #define IMXRT_SNVS (*(IMXRT_REGISTER32_t *)0x400D4000)
  5983. #define SNVS_HPLR (IMXRT_SNVS.offset000)
  5984. #define SNVS_HPCOMR (IMXRT_SNVS.offset004)
  5985. #define SNVS_HPCR (IMXRT_SNVS.offset008)
  5986. #define SNVS_HPSR (IMXRT_SNVS.offset014)
  5987. #define SNVS_HPRTCMR (IMXRT_SNVS.offset024)
  5988. #define SNVS_HPRTCLR (IMXRT_SNVS.offset028)
  5989. #define SNVS_HPTAMR (IMXRT_SNVS.offset02C)
  5990. #define SNVS_HPTALR (IMXRT_SNVS.offset030)
  5991. #define SNVS_LPLR (IMXRT_SNVS.offset034)
  5992. #define SNVS_LPCR (IMXRT_SNVS.offset038)
  5993. #define SNVS_LPSR (IMXRT_SNVS.offset04C)
  5994. #define SNVS_LPSMCMR (IMXRT_SNVS.offset05C)
  5995. #define SNVS_LPSMCLR (IMXRT_SNVS.offset060)
  5996. #define SNVS_LPGPR (IMXRT_SNVS.offset068)
  5997. #define IMXRT_SNVS_b (*(IMXRT_REGISTER32_t *)0x400D4800)
  5998. #define SNVS_HPVIDR1 (IMXRT_SNVS_b.offset3F8)
  5999. #define SNVS_HPVIDR2 (IMXRT_SNVS_b.offset3FC)
  6000. // 51.5: page 2938
  6001. #define IMXRT_SPDIF (*(IMXRT_REGISTER32_t *)0x400D4000)
  6002. #define SPDIF_SCR (IMXRT_SPDIF.offset000)
  6003. #define SPDIF_SRCD (IMXRT_SPDIF.offset004)
  6004. #define SPDIF_SRPC (IMXRT_SPDIF.offset008)
  6005. #define SPDIF_SIE (IMXRT_SPDIF.offset00C)
  6006. #define SPDIF_SIS (IMXRT_SPDIF.offset010)
  6007. #define SPDIF_SIC (IMXRT_SPDIF.offset010)
  6008. #define SPDIF_SRL (IMXRT_SPDIF.offset014)
  6009. #define SPDIF_SRR (IMXRT_SPDIF.offset018)
  6010. #define SPDIF_SRCSH (IMXRT_SPDIF.offset01C)
  6011. #define SPDIF_SRCSL (IMXRT_SPDIF.offset020)
  6012. #define SPDIF_SRU (IMXRT_SPDIF.offset024)
  6013. #define SPDIF_SRQ (IMXRT_SPDIF.offset028)
  6014. #define SPDIF_STL (IMXRT_SPDIF.offset02C)
  6015. #define SPDIF_STR (IMXRT_SPDIF.offset030)
  6016. #define SPDIF_STCSCH (IMXRT_SPDIF.offset034)
  6017. #define SPDIF_STCSCL (IMXRT_SPDIF.offset038)
  6018. #define SPDIF_SRFM (IMXRT_SPDIF.offset044)
  6019. #define SPDIF_STC (IMXRT_SPDIF.offset050)
  6020. // 52.7: page 2969
  6021. #define IMXRT_SRC (*(IMXRT_REGISTER32_t *)0x400F8000)
  6022. #define SRC_SCR (IMXRT_SRC.offset000)
  6023. #define SRC_SBMR1 (IMXRT_SRC.offset004)
  6024. #define SRC_SRSR (IMXRT_SRC.offset008)
  6025. #define SRC_SBMR2 (IMXRT_SRC.offset01C)
  6026. #define SRC_GPR1 (IMXRT_SRC.offset020)
  6027. #define SRC_GPR2 (IMXRT_SRC.offset024)
  6028. #define SRC_GPR3 (IMXRT_SRC.offset028)
  6029. #define SRC_GPR4 (IMXRT_SRC.offset02C)
  6030. #define SRC_GPR5 (IMXRT_SRC.offset030)
  6031. #define SRC_GPR6 (IMXRT_SRC.offset034)
  6032. #define SRC_GPR7 (IMXRT_SRC.offset038)
  6033. #define SRC_GPR8 (IMXRT_SRC.offset03C)
  6034. #define SRC_GPR9 (IMXRT_SRC.offset040)
  6035. #define SRC_GPR10 (IMXRT_SRC.offset044)
  6036. // 53.3: page 2986 TODO...
  6037. // 54.3: page 2998
  6038. #define IMXRT_TSC (*(IMXRT_REGISTER32_t *)0x400E0000)
  6039. #define TSC_BASIC_SETTING (IMXRT_TSC.offset000)
  6040. #define TSC_PS_INPUT_BUFFER_ADDR (IMXRT_TSC.offset010)
  6041. #define TSC_FLOW_CONTROL (IMXRT_TSC.offset020)
  6042. #define TSC_MEASEURE_VALUE (IMXRT_TSC.offset030)
  6043. #define TSC_INT_EN (IMXRT_TSC.offset040)
  6044. #define TSC_INT_SIG_EN (IMXRT_TSC.offset050)
  6045. #define TSC_INT_STATUS (IMXRT_TSC.offset060)
  6046. #define TSC_DEBUG_MODE (IMXRT_TSC.offset070)
  6047. #define TSC_DEBUG_MODE2 (IMXRT_TSC.offset080)
  6048. // 55.4.1.1: page 3022
  6049. #define IMXRT_USB1 (*(IMXRT_REGISTER32_t *)0x402E0000)
  6050. #define USB1_ID (IMXRT_USB1.offset000)
  6051. #define USB1_HWGENERAL (IMXRT_USB1.offset004)
  6052. #define USB1_HWHOST (IMXRT_USB1.offset008)
  6053. #define USB1_HWDEVICE (IMXRT_USB1.offset00C)
  6054. #define USB1_HWTXBUF (IMXRT_USB1.offset010)
  6055. #define USB1_HWRXBUF (IMXRT_USB1.offset014)
  6056. #define USB1_GPTIMER0LD (IMXRT_USB1.offset080)
  6057. #define USB1_GPTIMER0CTRL (IMXRT_USB1.offset084)
  6058. #define USB1_GPTIMER1LD (IMXRT_USB1.offset088)
  6059. #define USB1_GPTIMER1CTRL (IMXRT_USB1.offset08C)
  6060. #define USB1_SBUSCFG (IMXRT_USB1.offset090)
  6061. #define USB1_HCIVERSION (IMXRT_USB1.offset100)
  6062. #define USB1_HCSPARAMS (IMXRT_USB1.offset104)
  6063. #define USB1_HCCPARAMS (IMXRT_USB1.offset108)
  6064. #define USB1_DCIVERSION (IMXRT_USB1.offset120)
  6065. #define USB1_DCCPARAMS (IMXRT_USB1.offset124)
  6066. #define USB1_USBCMD (IMXRT_USB1.offset140)
  6067. #define USB1_USBSTS (IMXRT_USB1.offset144)
  6068. #define USB1_USBINTR (IMXRT_USB1.offset148)
  6069. #define USB1_FRINDEX (IMXRT_USB1.offset14C)
  6070. #define USB1_PERIODICLISTBASE (IMXRT_USB1.offset154)
  6071. #define USB1_DEVICEADDR (IMXRT_USB1.offset154)
  6072. #define USB1_ASYNCLISTADDR (IMXRT_USB1.offset158)
  6073. #define USB1_ENDPOINTLISTADDR (IMXRT_USB1.offset158)
  6074. #define USB1_BURSTSIZE (IMXRT_USB1.offset160)
  6075. #define USB1_TXFILLTUNING (IMXRT_USB1.offset164)
  6076. #define USB1_ENDPTNAK (IMXRT_USB1.offset178)
  6077. #define USB1_ENDPTNAKEN (IMXRT_USB1.offset17C)
  6078. #define USB1_CONFIGFLAG (IMXRT_USB1.offset180)
  6079. #define USB1_PORTSC1 (IMXRT_USB1.offset184)
  6080. #define USB1_OTGSC (IMXRT_USB1.offset1A4)
  6081. #define USB1_USBMODE (IMXRT_USB1.offset1A8)
  6082. #define USB1_ENDPTSETUPSTAT (IMXRT_USB1.offset1AC)
  6083. #define USB1_ENDPTPRIME (IMXRT_USB1.offset1B0)
  6084. #define USB1_ENDPTFLUSH (IMXRT_USB1.offset1B4)
  6085. #define USB1_ENDPTSTATUS (IMXRT_USB1.offset1B8)
  6086. #define USB1_ENDPTCOMPLETE (IMXRT_USB1.offset1BC)
  6087. #define USB1_ENDPTCTRL0 (IMXRT_USB1.offset1C0)
  6088. #define USB1_ENDPTCTRL1 (IMXRT_USB1.offset1C4)
  6089. #define USB1_ENDPTCTRL2 (IMXRT_USB1.offset1C8)
  6090. #define USB1_ENDPTCTRL3 (IMXRT_USB1.offset1CC)
  6091. #define USB1_ENDPTCTRL4 (IMXRT_USB1.offset1D0)
  6092. #define USB1_ENDPTCTRL5 (IMXRT_USB1.offset1D4)
  6093. #define USB1_ENDPTCTRL6 (IMXRT_USB1.offset1D8)
  6094. #define USB1_ENDPTCTRL7 (IMXRT_USB1.offset1DC)
  6095. #define IMXRT_USB2 (*(IMXRT_REGISTER32_t *)0x402DC000)
  6096. #define USB2_ID (IMXRT_USB2.offset000)
  6097. #define USB2_HWGENERAL (IMXRT_USB2.offset004)
  6098. #define USB2_HWHOST (IMXRT_USB2.offset008)
  6099. #define USB2_HWDEVICE (IMXRT_USB2.offset00C)
  6100. #define USB2_HWTXBUF (IMXRT_USB2.offset010)
  6101. #define USB2_HWRXBUF (IMXRT_USB2.offset014)
  6102. #define USB2_GPTIMER0LD (IMXRT_USB2.offset080)
  6103. #define USB2_GPTIMER0CTRL (IMXRT_USB2.offset084)
  6104. #define USB2_GPTIMER1LD (IMXRT_USB2.offset088)
  6105. #define USB2_GPTIMER1CTRL (IMXRT_USB2.offset08C)
  6106. #define USB2_SBUSCFG (IMXRT_USB2.offset090)
  6107. #define USB2_HCIVERSION (IMXRT_USB2.offset100)
  6108. #define USB2_HCSPARAMS (IMXRT_USB2.offset104)
  6109. #define USB2_HCCPARAMS (IMXRT_USB2.offset108)
  6110. #define USB2_DCIVERSION (IMXRT_USB2.offset120)
  6111. #define USB2_DCCPARAMS (IMXRT_USB2.offset124)
  6112. #define USB2_USBCMD (IMXRT_USB2.offset140)
  6113. #define USB2_USBSTS (IMXRT_USB2.offset144)
  6114. #define USB2_USBINTR (IMXRT_USB2.offset148)
  6115. #define USB2_FRINDEX (IMXRT_USB2.offset14C)
  6116. #define USB2_PERIODICLISTBASE (IMXRT_USB2.offset154)
  6117. #define USB2_DEVICEADDR (IMXRT_USB2.offset154)
  6118. #define USB2_ASYNCLISTADDR (IMXRT_USB2.offset158)
  6119. #define USB2_ENDPOINTLISTADDR (IMXRT_USB2.offset158)
  6120. #define USB2_BURSTSIZE (IMXRT_USB2.offset160)
  6121. #define USB2_TXFILLTUNING (IMXRT_USB2.offset164)
  6122. #define USB2_ENDPTNAK (IMXRT_USB2.offset178)
  6123. #define USB2_ENDPTNAKEN (IMXRT_USB2.offset17C)
  6124. #define USB2_CONFIGFLAG (IMXRT_USB2.offset180)
  6125. #define USB2_PORTSC1 (IMXRT_USB2.offset184)
  6126. #define USB2_OTGSC (IMXRT_USB2.offset1A4)
  6127. #define USB2_USBMODE (IMXRT_USB2.offset1A8)
  6128. #define USB2_ENDPTSETUPSTAT (IMXRT_USB2.offset1AC)
  6129. #define USB2_ENDPTPRIME (IMXRT_USB2.offset1B0)
  6130. #define USB2_ENDPTFLUSH (IMXRT_USB2.offset1B4)
  6131. #define USB2_ENDPTSTATUS (IMXRT_USB2.offset1B8)
  6132. #define USB2_ENDPTCOMPLETE (IMXRT_USB2.offset1BC)
  6133. #define USB2_ENDPTCTRL0 (IMXRT_USB2.offset1C0)
  6134. #define USB2_ENDPTCTRL1 (IMXRT_USB2.offset1C4)
  6135. #define USB2_ENDPTCTRL2 (IMXRT_USB2.offset1C8)
  6136. #define USB2_ENDPTCTRL3 (IMXRT_USB2.offset1CC)
  6137. #define USB2_ENDPTCTRL4 (IMXRT_USB2.offset1D0)
  6138. #define USB2_ENDPTCTRL5 (IMXRT_USB2.offset1D4)
  6139. #define USB2_ENDPTCTRL6 (IMXRT_USB2.offset1D8)
  6140. #define USB2_ENDPTCTRL7 (IMXRT_USB2.offset1DC)
  6141. #define USB_USBCMD_ITC(n) ((uint32_t)(((n) & 0xFF) << 16))
  6142. #define USB_USBCMD_FS_2 ((uint32_t)(1<<15))
  6143. #define USB_USBCMD_SUTW ((uint32_t)(1<<13))
  6144. #define USB_USBCMD_ATDTW ((uint32_t)(1<<12))
  6145. #define USB_USBCMD_ASPE ((uint32_t)(1<<11))
  6146. #define USB_USBCMD_ASP(n) ((uint32_t)(((n) & 0x03) << 8))
  6147. #define USB_USBCMD_IAA ((uint32_t)(1<<6))
  6148. #define USB_USBCMD_ASE ((uint32_t)(1<<5))
  6149. #define USB_USBCMD_PSE ((uint32_t)(1<<4))
  6150. #define USB_USBCMD_FS_1(n) ((uint32_t)(((n) & 0x03) << 2))
  6151. #define USB_USBCMD_RST ((uint32_t)(1<<1))
  6152. #define USB_USBCMD_RS ((uint32_t)(1<<0))
  6153. #define USB_USBSTS_TI1 ((uint32_t)(1<<25))
  6154. #define USB_USBSTS_TI0 ((uint32_t)(1<<24))
  6155. #define USB_USBSTS_NAKI ((uint32_t)(1<<16))
  6156. #define USB_USBSTS_AS ((uint32_t)(1<<15))
  6157. #define USB_USBSTS_PS ((uint32_t)(1<<14))
  6158. #define USB_USBSTS_RCL ((uint32_t)(1<<13))
  6159. #define USB_USBSTS_HCH ((uint32_t)(1<<12))
  6160. #define USB_USBSTS_ULPII ((uint32_t)(1<<10))
  6161. #define USB_USBSTS_SLI ((uint32_t)(1<<8))
  6162. #define USB_USBSTS_SRI ((uint32_t)(1<<7))
  6163. #define USB_USBSTS_URI ((uint32_t)(1<<6))
  6164. #define USB_USBSTS_AAI ((uint32_t)(1<<5))
  6165. #define USB_USBSTS_SEI ((uint32_t)(1<<4))
  6166. #define USB_USBSTS_FRI ((uint32_t)(1<<3))
  6167. #define USB_USBSTS_PCI ((uint32_t)(1<<2))
  6168. #define USB_USBSTS_UEI ((uint32_t)(1<<1))
  6169. #define USB_USBSTS_UI ((uint32_t)(1<<0))
  6170. #define USB_USBINTR_TIE1 ((uint32_t)(1<<25))
  6171. #define USB_USBINTR_TIE0 ((uint32_t)(1<<24))
  6172. #define USB_USBINTR_UPIE ((uint32_t)(1<<19))
  6173. #define USB_USBINTR_UAIE ((uint32_t)(1<<18))
  6174. #define USB_USBINTR_NAKE ((uint32_t)(1<<16))
  6175. #define USB_USBINTR_ULPIE ((uint32_t)(1<<10))
  6176. #define USB_USBINTR_SLE ((uint32_t)(1<<8))
  6177. #define USB_USBINTR_SRE ((uint32_t)(1<<7))
  6178. #define USB_USBINTR_URE ((uint32_t)(1<<6))
  6179. #define USB_USBINTR_AAE ((uint32_t)(1<<5))
  6180. #define USB_USBINTR_SEE ((uint32_t)(1<<4))
  6181. #define USB_USBINTR_FRE ((uint32_t)(1<<3))
  6182. #define USB_USBINTR_PCE ((uint32_t)(1<<2))
  6183. #define USB_USBINTR_UEE ((uint32_t)(1<<1))
  6184. #define USB_USBINTR_UE ((uint32_t)(1<<0))
  6185. #define USB_DEVICEADDR_USBADR(n) ((uint32_t)(((n) & 0x7F) << 25))
  6186. #define USB_DEVICEADDR_USBADRA ((uint32_t)(1<<24))
  6187. #define USB_PORTSC1_PTS_1(n) ((uint32_t)(((n) & 0x03) << 30))
  6188. #define USB_PORTSC1_STS ((uint32_t)(1<<29))
  6189. #define USB_PORTSC1_PTW ((uint32_t)(1<<28))
  6190. #define USB_PORTSC1_PSPD(n) ((uint32_t)(((n) & 0x03) << 26))
  6191. #define USB_PORTSC1_PTS_2 ((uint32_t)(1<<25))
  6192. #define USB_PORTSC1_PFSC ((uint32_t)(1<<24))
  6193. #define USB_PORTSC1_PHCD ((uint32_t)(1<<23))
  6194. #define USB_PORTSC1_WKOC ((uint32_t)(1<<22))
  6195. #define USB_PORTSC1_WKDC ((uint32_t)(1<<21))
  6196. #define USB_PORTSC1_WKCN ((uint32_t)(1<<20))
  6197. #define USB_PORTSC1_PTC(n) ((uint32_t)(((n) & 0x0F) << 16))
  6198. #define USB_PORTSC1_PIC(n) ((uint32_t)(((n) & 0x03) << 14))
  6199. #define USB_PORTSC1_PO ((uint32_t)(1<<13))
  6200. #define USB_PORTSC1_PP ((uint32_t)(1<<12))
  6201. #define USB_PORTSC1_LS(n) ((uint32_t)(((n) & 0x03) << 10))
  6202. #define USB_PORTSC1_HSP ((uint32_t)(1<<9))
  6203. #define USB_PORTSC1_PR ((uint32_t)(1<<8))
  6204. #define USB_PORTSC1_SUSP ((uint32_t)(1<<7))
  6205. #define USB_PORTSC1_FPR ((uint32_t)(1<<6))
  6206. #define USB_PORTSC1_OCC ((uint32_t)(1<<5))
  6207. #define USB_PORTSC1_OCA ((uint32_t)(1<<4))
  6208. #define USB_PORTSC1_PEC ((uint32_t)(1<<3))
  6209. #define USB_PORTSC1_PE ((uint32_t)(1<<2))
  6210. #define USB_PORTSC1_CSC ((uint32_t)(1<<1))
  6211. #define USB_PORTSC1_CCS ((uint32_t)(1<<0))
  6212. #define USB_USBMODE_SDIS ((uint32_t)(1<<4))
  6213. #define USB_USBMODE_SLOM ((uint32_t)(1<<3))
  6214. #define USB_USBMODE_ES ((uint32_t)(1<<2))
  6215. #define USB_USBMODE_CM(n) ((uint32_t)(((n) & 0x03) << 0))
  6216. #define USB_USBMODE_CM_MASK USB_USBMODE_CM(3)
  6217. #define USB_ENDPTCTRL_TXE ((uint32_t)(1<<23))
  6218. #define USB_ENDPTCTRL_TXR ((uint32_t)(1<<22))
  6219. #define USB_ENDPTCTRL_TXI ((uint32_t)(1<<21))
  6220. #define USB_ENDPTCTRL_TXT(n) ((uint32_t)(((n) & 0x03) << 18))
  6221. #define USB_ENDPTCTRL_TXD ((uint32_t)(1<<17))
  6222. #define USB_ENDPTCTRL_TXS ((uint32_t)(1<<16))
  6223. #define USB_ENDPTCTRL_RXE ((uint32_t)(1<<7))
  6224. #define USB_ENDPTCTRL_RXR ((uint32_t)(1<<6))
  6225. #define USB_ENDPTCTRL_RXI ((uint32_t)(1<<5))
  6226. #define USB_ENDPTCTRL_RXT(n) ((uint32_t)(((n) & 0x03) << 2))
  6227. #define USB_ENDPTCTRL_RXD ((uint32_t)(1<<0))
  6228. #define USB_ENDPTCTRL_RXS ((uint32_t)(1<<1))
  6229. // 56.3: page 3283
  6230. #define IMXRT_USBPHY1 (*(IMXRT_REGISTER32_t *)0x400D9000)
  6231. #define USBPHY1_PWD (IMXRT_USBPHY1.offset000)
  6232. #define USBPHY1_PWD_SET (IMXRT_USBPHY1.offset004)
  6233. #define USBPHY1_PWD_CLR (IMXRT_USBPHY1.offset008)
  6234. #define USBPHY1_PWD_TOG (IMXRT_USBPHY1.offset00C)
  6235. #define USBPHY1_TX (IMXRT_USBPHY1.offset010)
  6236. #define USBPHY1_TX_SET (IMXRT_USBPHY1.offset014)
  6237. #define USBPHY1_TX_CLR (IMXRT_USBPHY1.offset018)
  6238. #define USBPHY1_TX_TOG (IMXRT_USBPHY1.offset01C)
  6239. #define USBPHY1_RX (IMXRT_USBPHY1.offset020)
  6240. #define USBPHY1_RX_SET (IMXRT_USBPHY1.offset024)
  6241. #define USBPHY1_RX_CLR (IMXRT_USBPHY1.offset028)
  6242. #define USBPHY1_RX_TOG (IMXRT_USBPHY1.offset02C)
  6243. #define USBPHY1_CTRL (IMXRT_USBPHY1.offset030)
  6244. #define USBPHY1_CTRL_SET (IMXRT_USBPHY1.offset034)
  6245. #define USBPHY1_CTRL_CLR (IMXRT_USBPHY1.offset038)
  6246. #define USBPHY1_CTRL_TOG (IMXRT_USBPHY1.offset03C)
  6247. #define USBPHY1_STATUS (IMXRT_USBPHY1.offset040)
  6248. #define USBPHY1_DEBUG (IMXRT_USBPHY1.offset050)
  6249. #define USBPHY1_DEBUG_SET (IMXRT_USBPHY1.offset054)
  6250. #define USBPHY1_DEBUG_CLR (IMXRT_USBPHY1.offset058)
  6251. #define USBPHY1_DEBUG_TOG (IMXRT_USBPHY1.offset05C)
  6252. #define USBPHY1_DEBUG0_STATUS (IMXRT_USBPHY1.offset060)
  6253. #define USBPHY1_DEBUG1 (IMXRT_USBPHY1.offset070)
  6254. #define USBPHY1_DEBUG1_SET (IMXRT_USBPHY1.offset074)
  6255. #define USBPHY1_DEBUG1_CLR (IMXRT_USBPHY1.offset078)
  6256. #define USBPHY1_DEBUG1_TOG (IMXRT_USBPHY1.offset07C)
  6257. #define USBPHY1_VERSION (IMXRT_USBPHY1.offset080)
  6258. #define IMXRT_USBPHY2 (*(IMXRT_REGISTER32_t *)0x400DA000)
  6259. #define USBPHY2_PWD (IMXRT_USBPHY2.offset000)
  6260. #define USBPHY2_PWD_SET (IMXRT_USBPHY2.offset004)
  6261. #define USBPHY2_PWD_CLR (IMXRT_USBPHY2.offset008)
  6262. #define USBPHY2_PWD_TOG (IMXRT_USBPHY2.offset00C)
  6263. #define USBPHY2_TX (IMXRT_USBPHY2.offset010)
  6264. #define USBPHY2_TX_SET (IMXRT_USBPHY2.offset014)
  6265. #define USBPHY2_TX_CLR (IMXRT_USBPHY2.offset018)
  6266. #define USBPHY2_TX_TOG (IMXRT_USBPHY2.offset01C)
  6267. #define USBPHY2_RX (IMXRT_USBPHY2.offset020)
  6268. #define USBPHY2_RX_SET (IMXRT_USBPHY2.offset024)
  6269. #define USBPHY2_RX_CLR (IMXRT_USBPHY2.offset028)
  6270. #define USBPHY2_RX_TOG (IMXRT_USBPHY2.offset02C)
  6271. #define USBPHY2_CTRL (IMXRT_USBPHY2.offset030)
  6272. #define USBPHY2_CTRL_SET (IMXRT_USBPHY2.offset034)
  6273. #define USBPHY2_CTRL_CLR (IMXRT_USBPHY2.offset038)
  6274. #define USBPHY2_CTRL_TOG (IMXRT_USBPHY2.offset03C)
  6275. #define USBPHY2_STATUS (IMXRT_USBPHY2.offset040)
  6276. #define USBPHY2_DEBUG (IMXRT_USBPHY2.offset050)
  6277. #define USBPHY2_DEBUG_SET (IMXRT_USBPHY2.offset054)
  6278. #define USBPHY2_DEBUG_CLR (IMXRT_USBPHY2.offset058)
  6279. #define USBPHY2_DEBUG_TOG (IMXRT_USBPHY2.offset05C)
  6280. #define USBPHY2_DEBUG0_STATUS (IMXRT_USBPHY2.offset060)
  6281. #define USBPHY2_DEBUG1 (IMXRT_USBPHY2.offset070)
  6282. #define USBPHY2_DEBUG1_SET (IMXRT_USBPHY2.offset074)
  6283. #define USBPHY2_DEBUG1_CLR (IMXRT_USBPHY2.offset078)
  6284. #define USBPHY2_DEBUG1_TOG (IMXRT_USBPHY2.offset07C)
  6285. #define USBPHY2_VERSION (IMXRT_USBPHY2.offset080)
  6286. #define USBPHY_PWD_RXPWDRX ((uint32_t)(1<<20))
  6287. #define USBPHY_PWD_RXPWDDIFF ((uint32_t)(1<<19))
  6288. #define USBPHY_PWD_RXPWD1PT1 ((uint32_t)(1<<18))
  6289. #define USBPHY_PWD_RXPWDENV ((uint32_t)(1<<17))
  6290. #define USBPHY_PWD_TXPWDV2I ((uint32_t)(1<<12))
  6291. #define USBPHY_PWD_TXPWDIBIAS ((uint32_t)(1<<11))
  6292. #define USBPHY_PWD_TXPWDFS ((uint32_t)(1<<10))
  6293. #define USBPHY_TX_USBPHY_TX_EDGECTRL(n) ((uint32_t)(((n) & 0x07) << 26))
  6294. #define USBPHY_TX_TXCAL45DP(n) ((uint32_t)(((n) & 0x0F) << 16))
  6295. #define USBPHY_TX_TXCAL45DN(n) ((uint32_t)(((n) & 0x0F) << 8))
  6296. #define USBPHY_TX_D_CAL(n) ((uint32_t)(((n) & 0x0F) << 0))
  6297. #define USBPHY_RX_RXDBYPASS ((uint32_t)(1<<22))
  6298. #define USBPHY_RX_DISCONADJ(n) ((uint32_t)(((n) & 0x07) << 4))
  6299. #define USBPHY_RX_ENVADJ(n) ((uint32_t)(((n) & 0x07) << 0))
  6300. #define USBPHY_CTRL_SFTRST ((uint32_t)(1<<31))
  6301. #define USBPHY_CTRL_CLKGATE ((uint32_t)(1<<30))
  6302. #define USBPHY_CTRL_UTMI_SUSPENDM ((uint32_t)(1<<29))
  6303. #define USBPHY_CTRL_HOST_FORCE_LS_SE0 ((uint32_t)(1<<28))
  6304. #define USBPHY_CTRL_OTG_ID_VALUE ((uint32_t)(1<<27))
  6305. #define USBPHY_CTRL_FSDLL_RST_EN ((uint32_t)(1<<24))
  6306. #define USBPHY_CTRL_ENVBUSCHG_WKUP ((uint32_t)(1<<23))
  6307. #define USBPHY_CTRL_ENIDCHG_WKUP ((uint32_t)(1<<22))
  6308. #define USBPHY_CTRL_ENDPDMCHG_WKUP ((uint32_t)(1<<21))
  6309. #define USBPHY_CTRL_ENAUTOCLR_PHY_PWD ((uint32_t)(1<<20))
  6310. #define USBPHY_CTRL_ENAUTOCLR_CLKGATE ((uint32_t)(1<<19))
  6311. #define USBPHY_CTRL_ENAUTO_PWRON_PLL ((uint32_t)(1<<18))
  6312. #define USBPHY_CTRL_WAKEUP_IRQ ((uint32_t)(1<<17))
  6313. #define USBPHY_CTRL_ENIRQWAKEUP ((uint32_t)(1<<16))
  6314. #define USBPHY_CTRL_ENUTMILEVEL3 ((uint32_t)(1<<15))
  6315. #define USBPHY_CTRL_ENUTMILEVEL2 ((uint32_t)(1<<14))
  6316. #define USBPHY_CTRL_DATA_ON_LRADC ((uint32_t)(1<<13))
  6317. #define USBPHY_CTRL_DEVPLUGIN_IRQ ((uint32_t)(1<<12))
  6318. #define USBPHY_CTRL_ENIRQDEVPLUGIN ((uint32_t)(1<<11))
  6319. #define USBPHY_CTRL_RESUME_IRQ ((uint32_t)(1<<10))
  6320. #define USBPHY_CTRL_ENIRQRESUMEDETECT ((uint32_t)(1<<9))
  6321. #define USBPHY_CTRL_RESUMEIRQSTICKY ((uint32_t)(1<<8))
  6322. #define USBPHY_CTRL_ENOTGIDDETECT ((uint32_t)(1<<7))
  6323. #define USBPHY_CTRL_OTG_ID_CHG_IRQ ((uint32_t)(1<<6))
  6324. #define USBPHY_CTRL_DEVPLUGIN_POLARITY ((uint32_t)(1<<5))
  6325. #define USBPHY_CTRL_ENDEVPLUGINDETECT ((uint32_t)(1<<4))
  6326. #define USBPHY_CTRL_HOSTDISCONDETECT_IRQ ((uint32_t)(1<<3))
  6327. #define USBPHY_CTRL_ENIRQHOSTDISCON ((uint32_t)(1<<2))
  6328. #define USBPHY_CTRL_ENHOSTDISCONDETECT ((uint32_t)(1<<1))
  6329. #define USBPHY_CTRL_ENOTG_ID_CHG_IRQ ((uint32_t)(1<<0))
  6330. // 57.9.1.1: page 3381
  6331. #define IMXRT_USDHC1 (*(IMXRT_REGISTER32_t *)0x402C0000)
  6332. #define USDHC1_DS_ADDR (IMXRT_USDHC1.offset000)
  6333. #define USDHC1_BLK_ATT (IMXRT_USDHC1.offset004)
  6334. #define USDHC1_CMD_ARG (IMXRT_USDHC1.offset008)
  6335. #define USDHC1_CMD_XFR_TYP (IMXRT_USDHC1.offset00C)
  6336. #define USDHC1_CMD_RSP0 (IMXRT_USDHC1.offset010)
  6337. #define USDHC1_CMD_RSP1 (IMXRT_USDHC1.offset014)
  6338. #define USDHC1_CMD_RSP2 (IMXRT_USDHC1.offset018)
  6339. #define USDHC1_CMD_RSP3 (IMXRT_USDHC1.offset01C)
  6340. #define USDHC1_DATA_BUFF_ACC_PORT (IMXRT_USDHC1.offset020)
  6341. #define USDHC1_PRES_STATE (IMXRT_USDHC1.offset024)
  6342. #define USDHC1_PROT_CTRL (IMXRT_USDHC1.offset028)
  6343. #define USDHC1_SYS_CTRL (IMXRT_USDHC1.offset02C)
  6344. #define USDHC1_INT_STATUS (IMXRT_USDHC1.offset030)
  6345. #define USDHC1_INT_STATUS_EN (IMXRT_USDHC1.offset034)
  6346. #define USDHC1_INT_SIGNAL_EN (IMXRT_USDHC1.offset038)
  6347. #define USDHC1_AUTOCMD12_ERR_STATUS (IMXRT_USDHC1.offset03C)
  6348. #define USDHC1_HOST_CTRL_CAP (IMXRT_USDHC1.offset040)
  6349. #define USDHC1_WTMK_LVL (IMXRT_USDHC1.offset044)
  6350. #define USDHC1_MIX_CTRL (IMXRT_USDHC1.offset048)
  6351. #define USDHC1_FORCE_EVENT (IMXRT_USDHC1.offset050)
  6352. #define USDHC1_ADMA_ERR_STATUS (IMXRT_USDHC1.offset054)
  6353. #define USDHC1_ADMA_SYS_ADDR (IMXRT_USDHC1.offset058)
  6354. #define USDHC1_DLL_CTRL (IMXRT_USDHC1.offset060)
  6355. #define USDHC1_DLL_STATUS (IMXRT_USDHC1.offset064)
  6356. #define USDHC1_CLK_TUNE_CTRL_STATUS (IMXRT_USDHC1.offset068)
  6357. #define USDHC1_VEND_SPEC (IMXRT_USDHC1.offset0C0)
  6358. #define USDHC1_MMC_BOOT (IMXRT_USDHC1.offset0C4)
  6359. #define USDHC1_VEND_SPEC2 (IMXRT_USDHC1.offset0C8)
  6360. #define USDHC1_TUNING_CTRL (IMXRT_USDHC1.offset0CC)
  6361. #define IMXRT_USDHC2 (*(IMXRT_REGISTER32_t *)0x402C4000)
  6362. #define USDHC2_DS_ADDR (IMXRT_USDHC2.offset000)
  6363. #define USDHC2_BLK_ATT (IMXRT_USDHC2.offset004)
  6364. #define USDHC2_CMD_ARG (IMXRT_USDHC2.offset008)
  6365. #define USDHC2_CMD_XFR_TYP (IMXRT_USDHC2.offset00C)
  6366. #define USDHC2_CMD_RSP0 (IMXRT_USDHC2.offset010)
  6367. #define USDHC2_CMD_RSP1 (IMXRT_USDHC2.offset014)
  6368. #define USDHC2_CMD_RSP2 (IMXRT_USDHC2.offset018)
  6369. #define USDHC2_CMD_RSP3 (IMXRT_USDHC2.offset01C)
  6370. #define USDHC2_DATA_BUFF_ACC_PORT (IMXRT_USDHC2.offset020)
  6371. #define USDHC2_PRES_STATE (IMXRT_USDHC2.offset024)
  6372. #define USDHC2_PROT_CTRL (IMXRT_USDHC2.offset028)
  6373. #define USDHC2_SYS_CTRL (IMXRT_USDHC2.offset02C)
  6374. #define USDHC2_INT_STATUS (IMXRT_USDHC2.offset030)
  6375. #define USDHC2_INT_STATUS_EN (IMXRT_USDHC2.offset034)
  6376. #define USDHC2_INT_SIGNAL_EN (IMXRT_USDHC2.offset038)
  6377. #define USDHC2_AUTOCMD12_ERR_STATUS (IMXRT_USDHC2.offset03C)
  6378. #define USDHC2_HOST_CTRL_CAP (IMXRT_USDHC2.offset040)
  6379. #define USDHC2_WTMK_LVL (IMXRT_USDHC2.offset044)
  6380. #define USDHC2_MIX_CTRL (IMXRT_USDHC2.offset048)
  6381. #define USDHC2_FORCE_EVENT (IMXRT_USDHC2.offset050)
  6382. #define USDHC2_ADMA_ERR_STATUS (IMXRT_USDHC2.offset054)
  6383. #define USDHC2_ADMA_SYS_ADDR (IMXRT_USDHC2.offset058)
  6384. #define USDHC2_DLL_CTRL (IMXRT_USDHC2.offset060)
  6385. #define USDHC2_DLL_STATUS (IMXRT_USDHC2.offset064)
  6386. #define USDHC2_CLK_TUNE_CTRL_STATUS (IMXRT_USDHC2.offset068)
  6387. #define USDHC2_VEND_SPEC (IMXRT_USDHC2.offset0C0)
  6388. #define USDHC2_MMC_BOOT (IMXRT_USDHC2.offset0C4)
  6389. #define USDHC2_VEND_SPEC2 (IMXRT_USDHC2.offset0C8)
  6390. #define USDHC2_TUNING_CTRL (IMXRT_USDHC2.offset0CC)
  6391. // 58.7.1.1: page 3461
  6392. #define IMXRT_WDOG1 (*(IMXRT_REGISTER16_t *)0x400B8000)
  6393. #define WDOG1_WCR (IMXRT_WDOG1.offset000)
  6394. #define WDOG1_WSR (IMXRT_WDOG1.offset002)
  6395. #define WDOG1_WRSR (IMXRT_WDOG1.offset004)
  6396. #define WDOG1_WICR (IMXRT_WDOG1.offset006)
  6397. #define WDOG1_WMCR (IMXRT_WDOG1.offset008)
  6398. #define IMXRT_WDOG2 (*(IMXRT_REGISTER16_t *)0x400D0000)
  6399. #define WDOG2_WCR (IMXRT_WDOG2.offset000)
  6400. #define WDOG2_WSR (IMXRT_WDOG2.offset002)
  6401. #define WDOG2_WRSR (IMXRT_WDOG2.offset004)
  6402. #define WDOG2_WICR (IMXRT_WDOG2.offset006)
  6403. #define WDOG2_WMCR (IMXRT_WDOG2.offset008)
  6404. // 59.3.1.1: page 3471
  6405. #define IMXRT_WDOG3 (*(IMXRT_REGISTER32_t *)0x400BC000)
  6406. #define WDOG3_CS (IMXRT_WDOG3.offset000)
  6407. #define WDOG3_CNT (IMXRT_WDOG3.offset004)
  6408. #define WDOG3_TOVAL (IMXRT_WDOG3.offset008)
  6409. #define WDOG3_WIN (IMXRT_WDOG3.offset00C)
  6410. // 60.4: page 3491
  6411. #define IMXRT_XBARA1 (*(IMXRT_REGISTER16_t *)0x403BC000)
  6412. #define XBARA1_SEL0 (IMXRT_XBARA1.offset000)
  6413. #define XBARA1_SEL1 (IMXRT_XBARA1.offset002)
  6414. #define XBARA1_SEL2 (IMXRT_XBARA1.offset004)
  6415. #define XBARA1_SEL3 (IMXRT_XBARA1.offset006)
  6416. #define XBARA1_SEL4 (IMXRT_XBARA1.offset008)
  6417. #define XBARA1_SEL5 (IMXRT_XBARA1.offset00A)
  6418. #define XBARA1_SEL6 (IMXRT_XBARA1.offset00C)
  6419. #define XBARA1_SEL7 (IMXRT_XBARA1.offset00E)
  6420. #define XBARA1_SEL8 (IMXRT_XBARA1.offset010)
  6421. #define XBARA1_SEL9 (IMXRT_XBARA1.offset012)
  6422. #define XBARA1_SEL10 (IMXRT_XBARA1.offset014)
  6423. #define XBARA1_SEL11 (IMXRT_XBARA1.offset016)
  6424. #define XBARA1_SEL12 (IMXRT_XBARA1.offset018)
  6425. #define XBARA1_SEL13 (IMXRT_XBARA1.offset01A)
  6426. #define XBARA1_SEL14 (IMXRT_XBARA1.offset01C)
  6427. #define XBARA1_SEL15 (IMXRT_XBARA1.offset01E)
  6428. #define XBARA1_SEL16 (IMXRT_XBARA1.offset020)
  6429. #define XBARA1_SEL17 (IMXRT_XBARA1.offset022)
  6430. #define XBARA1_SEL18 (IMXRT_XBARA1.offset024)
  6431. #define XBARA1_SEL19 (IMXRT_XBARA1.offset026)
  6432. #define XBARA1_SEL20 (IMXRT_XBARA1.offset028)
  6433. #define XBARA1_SEL21 (IMXRT_XBARA1.offset02A)
  6434. #define XBARA1_SEL22 (IMXRT_XBARA1.offset02C)
  6435. #define XBARA1_SEL23 (IMXRT_XBARA1.offset02E)
  6436. #define XBARA1_SEL24 (IMXRT_XBARA1.offset030)
  6437. #define XBARA1_SEL25 (IMXRT_XBARA1.offset032)
  6438. #define XBARA1_SEL26 (IMXRT_XBARA1.offset034)
  6439. #define XBARA1_SEL27 (IMXRT_XBARA1.offset036)
  6440. #define XBARA1_SEL28 (IMXRT_XBARA1.offset038)
  6441. #define XBARA1_SEL29 (IMXRT_XBARA1.offset03A)
  6442. #define XBARA1_CTRL0 (IMXRT_XBARA1.offset03C)
  6443. #define XBARA1_CTRL1 (IMXRT_XBARA1.offset03E)
  6444. // 61.3: page 3537
  6445. #define IMXRT_XBARB2 (*(IMXRT_REGISTER16_t *)0x403C0000)
  6446. #define XBARB2_SEL0 (IMXRT_XBARB2.offset000)
  6447. #define XBARB2_SEL1 (IMXRT_XBARB2.offset002)
  6448. #define XBARB2_SEL2 (IMXRT_XBARB2.offset004)
  6449. #define XBARB2_SEL3 (IMXRT_XBARB2.offset006)
  6450. #define XBARB2_SEL4 (IMXRT_XBARB2.offset008)
  6451. #define XBARB2_SEL5 (IMXRT_XBARB2.offset00A)
  6452. #define XBARB2_SEL6 (IMXRT_XBARB2.offset00C)
  6453. #define XBARB2_SEL7 (IMXRT_XBARB2.offset00E)
  6454. #define IMXRT_XBARB3 (*(IMXRT_REGISTER16_t *)0x403C4000)
  6455. #define XBARB3_SEL0 (IMXRT_XBARB3.offset000)
  6456. #define XBARB3_SEL1 (IMXRT_XBARB3.offset002)
  6457. #define XBARB3_SEL2 (IMXRT_XBARB3.offset004)
  6458. #define XBARB3_SEL3 (IMXRT_XBARB3.offset006)
  6459. #define XBARB3_SEL4 (IMXRT_XBARB3.offset008)
  6460. #define XBARB3_SEL5 (IMXRT_XBARB3.offset00A)
  6461. #define XBARB3_SEL6 (IMXRT_XBARB3.offset00C)
  6462. #define XBARB3_SEL7 (IMXRT_XBARB3.offset00E)
  6463. // 62.5: page 3548
  6464. #define IMXRT_XTALOSC24M (*(IMXRT_REGISTER32_t *)0x400D8000)
  6465. #define XTALOSC24M_MISC0 (IMXRT_XTALOSC24M.offset150)
  6466. #define XTALOSC24M_LOWPWR_CTRL (IMXRT_XTALOSC24M.offset270)
  6467. #define XTALOSC24M_LOWPWR_CTRL_SET (IMXRT_XTALOSC24M.offset274)
  6468. #define XTALOSC24M_LOWPWR_CTRL_CLR (IMXRT_XTALOSC24M.offset278)
  6469. #define XTALOSC24M_LOWPWR_CTRL_TOG (IMXRT_XTALOSC24M.offset27C)
  6470. #define XTALOSC24M_OSC_CONFIG0 (IMXRT_XTALOSC24M.offset2A0)
  6471. #define XTALOSC24M_OSC_CONFIG0_SET (IMXRT_XTALOSC24M.offset2A4)
  6472. #define XTALOSC24M_OSC_CONFIG0_CLR (IMXRT_XTALOSC24M.offset2A8)
  6473. #define XTALOSC24M_OSC_CONFIG0_TOG (IMXRT_XTALOSC24M.offset2AC)
  6474. #define XTALOSC24M_OSC_CONFIG1 (IMXRT_XTALOSC24M.offset2B0)
  6475. #define XTALOSC24M_OSC_CONFIG1_SET (IMXRT_XTALOSC24M.offset2B4)
  6476. #define XTALOSC24M_OSC_CONFIG1_CLR (IMXRT_XTALOSC24M.offset2B8)
  6477. #define XTALOSC24M_OSC_CONFIG1_TOG (IMXRT_XTALOSC24M.offset2BC)
  6478. #define XTALOSC24M_OSC_CONFIG2 (IMXRT_XTALOSC24M.offset2C0)
  6479. #define XTALOSC24M_OSC_CONFIG2_SET (IMXRT_XTALOSC24M.offset2C4)
  6480. #define XTALOSC24M_OSC_CONFIG2_CLR (IMXRT_XTALOSC24M.offset2C8)
  6481. #define XTALOSC24M_OSC_CONFIG2_TOG (IMXRT_XTALOSC24M.offset2CC)
  6482. #define __disable_irq() __asm__ volatile("CPSID i":::"memory");
  6483. #define __enable_irq() __asm__ volatile("CPSIE i":::"memory");
  6484. // System Control Space (SCS), ARMv7 ref manual, B3.2, page 708
  6485. #define SCB_CPUID (*(const uint32_t *)0xE000ED00) // CPUID Base Register
  6486. #define SCB_ICSR (*(volatile uint32_t *)0xE000ED04) // Interrupt Control and State
  6487. #define SCB_ICSR_NMIPENDSET ((uint32_t)(1<<31))
  6488. #define SCB_ICSR_PENDSVSET ((uint32_t)(1<<28))
  6489. #define SCB_ICSR_PENDSVCLR ((uint32_t)(1<<27))
  6490. #define SCB_ICSR_PENDSTSET ((uint32_t)(1<<26))
  6491. #define SCB_ICSR_PENDSTCLR ((uint32_t)(1<<25))
  6492. #define SCB_ICSR_ISRPREEMPT ((uint32_t)(1<<23))
  6493. #define SCB_ICSR_ISRPENDING ((uint32_t)(1<<22))
  6494. #define SCB_ICSR_RETTOBASE ((uint32_t)(1<<11))
  6495. #define SCB_VTOR (*(volatile uint32_t *)0xE000ED08) // Vector Table Offset
  6496. #define SCB_AIRCR (*(volatile uint32_t *)0xE000ED0C) // Application Interrupt & Reset
  6497. #define SCB_SCR (*(volatile uint32_t *)0xE000ED10) // System Control Register
  6498. #define SCB_SCR_SEVONPEND ((uint8_t)0x10) // Send Event on Pending bit
  6499. #define SCB_SCR_SLEEPDEEP ((uint8_t)0x04) // Sleep or Deep Sleep
  6500. #define SCB_SCR_SLEEPONEXIT ((uint8_t)0x02) // Sleep-on-exit
  6501. #define SCB_CCR (*(volatile uint32_t *)0xE000ED14) // Configuration and Control
  6502. #define SCB_CCR_BP ((uint32_t)(1<<18)) // Branch prediction enable
  6503. #define SCB_CCR_IC ((uint32_t)(1<<17)) // Instruction caches enable
  6504. #define SCB_CCR_DC ((uint32_t)(1<<16))
  6505. #define SCB_CCR_STKALIGN ((uint32_t)(1<<9))
  6506. #define SCB_CCR_BFHFNMIGN ((uint32_t)(1<<8))
  6507. #define SCB_CCR_DIV_0_TRP ((uint32_t)(1<<4))
  6508. #define SCB_CCR_UNALIGN_TRP ((uint32_t)(1<<3))
  6509. #define SCB_CCR_USERSETMPEND ((uint32_t)(1<<1))
  6510. #define SCB_CCR_NONBASETHRDENA ((uint32_t)(1<<0))
  6511. #define SCB_SHPR1 (*(volatile uint32_t *)0xE000ED18) // System Handler Priority 1
  6512. #define SCB_SHPR2 (*(volatile uint32_t *)0xE000ED1C) // System Handler Priority 2
  6513. #define SCB_SHPR3 (*(volatile uint32_t *)0xE000ED20) // System Handler Priority 3
  6514. #define SCB_SHCSR (*(volatile uint32_t *)0xE000ED24) // System Handler Control & State
  6515. #define SCB_CFSR (*(volatile uint32_t *)0xE000ED28) // Configurable Fault Status
  6516. #define SCB_HFSR (*(volatile uint32_t *)0xE000ED2C) // HardFault Status
  6517. #define SCB_DFSR (*(volatile uint32_t *)0xE000ED30) // Debug Fault Status
  6518. #define SCB_MMFAR (*(volatile uint32_t *)0xE000ED34) // MemManage Fault Address
  6519. #define SCB_BFAR (*(volatile uint32_t *)0xE000ED38) // Bus Fault Address
  6520. #define SCB_AFAR (*(volatile uint32_t *)0xE000ED3C) // Aux Fault Address
  6521. #define SCB_CPACR (*(volatile uint32_t *)0xE000ED88) // Coprocessor Access Control
  6522. #define SCB_FPCCR (*(volatile uint32_t *)0xE000EF34) // FP Context Control
  6523. #define SCB_FPCAR (*(volatile uint32_t *)0xE000EF38) // FP Context Address
  6524. #define SCB_FPDSCR (*(volatile uint32_t *)0xE000EF3C) // FP Default Status Control
  6525. #define SCB_MVFR0 (*(volatile uint32_t *)0xE000EF40) // Media & FP Feature 0
  6526. #define SCB_MVFR1 (*(volatile uint32_t *)0xE000EF44) // Media & FP Feature 1
  6527. #define SCB_MVFR2 (*(volatile uint32_t *)0xE000EF48) // Media & FP Feature 2
  6528. #define SYST_CSR (*(volatile uint32_t *)0xE000E010) // SysTick Control and Status
  6529. #define SYST_CSR_COUNTFLAG ((uint32_t)(1<<16))
  6530. #define SYST_CSR_CLKSOURCE ((uint32_t)(1<<2))
  6531. #define SYST_CSR_TICKINT ((uint32_t)(1<<1))
  6532. #define SYST_CSR_ENABLE ((uint32_t)(1<<0))
  6533. #define SYST_RVR (*(volatile uint32_t *)0xE000E014) // SysTick Reload Value Register
  6534. #define SYST_CVR (*(volatile uint32_t *)0xE000E018) // SysTick Current Value Register
  6535. #define SYST_CALIB (*(const uint32_t *)0xE000E01C) // SysTick Calibration Value
  6536. // Nested Vectored Interrupt Controller, Table 3-4 & ARMv7 ref, appendix B3.4 (page 750)
  6537. #define NVIC_ISER0 (*(volatile uint32_t *)0xE000E100)
  6538. #define NVIC_ISER1 (*(volatile uint32_t *)0xE000E104)
  6539. #define NVIC_ISER2 (*(volatile uint32_t *)0xE000E108)
  6540. #define NVIC_ISER3 (*(volatile uint32_t *)0xE000E10C)
  6541. #define NVIC_ICER0 (*(volatile uint32_t *)0xE000E180)
  6542. #define NVIC_ICER1 (*(volatile uint32_t *)0xE000E184)
  6543. #define NVIC_ICER2 (*(volatile uint32_t *)0xE000E188)
  6544. #define NVIC_ICER3 (*(volatile uint32_t *)0xE000E18C)
  6545. #define NVIC_STIR (*(volatile uint32_t *)0xE000EF00)
  6546. #define NVIC_ENABLE_IRQ(n) (*(&NVIC_ISER0 + ((n) >> 5)) = (1 << ((n) & 31)))
  6547. #define NVIC_DISABLE_IRQ(n) (*(&NVIC_ICER0 + ((n) >> 5)) = (1 << ((n) & 31)))
  6548. #define NVIC_SET_PENDING(n) (*((volatile uint32_t *)0xE000E200 + ((n) >> 5)) = (1 << ((n) & 31)))
  6549. #define NVIC_CLEAR_PENDING(n) (*((volatile uint32_t *)0xE000E280 + ((n) >> 5)) = (1 << ((n) & 31)))
  6550. #define NVIC_IS_ENABLED(n) (*(&NVIC_ISER0 + ((n) >> 5)) & (1 << ((n) & 31)))
  6551. #define NVIC_IS_PENDING(n) (*((volatile uint32_t *)0xE000E200 + ((n) >> 5)) & (1 << ((n) & 31)))
  6552. #define NVIC_IS_ACTIVE(n) (*((volatile uint32_t *)0xE000E300 + ((n) >> 5)) & (1 << ((n) & 31)))
  6553. #define NVIC_TRIGGER_IRQ(n) NVIC_STIR=(n)
  6554. #define ARM_DEMCR (*(volatile uint32_t *)0xE000EDFC) // Debug Exception and Monitor Control
  6555. #define ARM_DEMCR_TRCENA (1 << 24) // Enable debugging & monitoring blocks
  6556. #define ARM_DWT_CTRL (*(volatile uint32_t *)0xE0001000) // DWT control register
  6557. #define ARM_DWT_CTRL_CYCCNTENA (1 << 0) // Enable cycle count
  6558. #define ARM_DWT_CYCCNT (*(volatile uint32_t *)0xE0001004) // Cycle count register
  6559. #define SCB_MPU_TYPE (*(volatile uint32_t *)0xE000ED90) //
  6560. #define SCB_MPU_CTRL (*(volatile uint32_t *)0xE000ED94) //
  6561. #define SCB_MPU_CTRL_PRIVDEFENA ((uint32_t)(1<<2)) // Enables default memory map
  6562. #define SCB_MPU_CTRL_HFNMIENA ((uint32_t)(1<<1)) // Use MPU for HardFault & NMI
  6563. #define SCB_MPU_CTRL_ENABLE ((uint32_t)(1<<0)) // Enables MPU
  6564. #define SCB_MPU_RNR (*(volatile uint32_t *)0xE000ED98) //
  6565. #define SCB_MPU_RBAR (*(volatile uint32_t *)0xE000ED9C) //
  6566. #define SCB_MPU_RBAR_ADDR_MASK ((uint32_t)(0xFFFFFFE0))
  6567. #define SCB_MPU_RBAR_VALID ((uint32_t)(1<<4))
  6568. #define SCB_MPU_RBAR_REGION(n) ((uint32_t)((n) & 15))
  6569. #define SCB_MPU_RASR (*(volatile uint32_t *)0xE000EDA0) // ARM DDI0403E, pg 696
  6570. #define SCB_MPU_RASR_XN ((uint32_t)(1<<28))
  6571. #define SCB_MPU_RASR_AP(n) ((uint32_t)(((n) & 7) << 24))
  6572. #define SCB_MPU_RASR_TEX(n) ((uint32_t)(((n) & 7) << 19))
  6573. #define SCB_MPU_RASR_S ((uint32_t)(1<<18))
  6574. #define SCB_MPU_RASR_C ((uint32_t)(1<<17))
  6575. #define SCB_MPU_RASR_B ((uint32_t)(1<<16))
  6576. #define SCB_MPU_RASR_SRD(n) ((uint32_t)(((n) & 255) << 8))
  6577. #define SCB_MPU_RASR_SIZE(n) ((uint32_t)(((n) & 31) << 1))
  6578. #define SCB_MPU_RASR_ENABLE ((uint32_t)(1<<0))
  6579. #define SCB_MPU_RBAR_A1 (*(volatile uint32_t *)0xE000EDA4) //
  6580. #define SCB_MPU_RASR_A1 (*(volatile uint32_t *)0xE000EDA8) //
  6581. #define SCB_MPU_RBAR_A2 (*(volatile uint32_t *)0xE000EDAC) //
  6582. #define SCB_MPU_RASR_A2 (*(volatile uint32_t *)0xE000EDB0) //
  6583. #define SCB_MPU_RBAR_A3 (*(volatile uint32_t *)0xE000EDB4) //
  6584. #define SCB_MPU_RASR_A3 (*(volatile uint32_t *)0xE000EDB8) //
  6585. #define SCB_CACHE_ICIALLU (*(volatile uint32_t *)0xE000EF50)
  6586. #define SCB_CACHE_ICIMVAU (*(volatile uint32_t *)0xE000EF58)
  6587. #define SCB_CACHE_DCIMVAC (*(volatile uint32_t *)0xE000EF5C)
  6588. #define SCB_CACHE_DCISW (*(volatile uint32_t *)0xE000EF60)
  6589. #define SCB_CACHE_DCCMVAU (*(volatile uint32_t *)0xE000EF64)
  6590. #define SCB_CACHE_DCCMVAC (*(volatile uint32_t *)0xE000EF68)
  6591. #define SCB_CACHE_DCCSW (*(volatile uint32_t *)0xE000EF6C)
  6592. #define SCB_CACHE_DCCIMVAC (*(volatile uint32_t *)0xE000EF70)
  6593. #define SCB_CACHE_DCCISW (*(volatile uint32_t *)0xE000EF74)
  6594. #define SCB_CACHE_BPIALL (*(volatile uint32_t *)0xE000EF78)