MX8QX.h
40.4 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
/*
** ###################################################################
** Processors: MX8
**
** Compilers: GNU C Compiler
**
** Abstract:
** CMSIS Peripheral Access Layer for MX8
**
** Copyright (c) 1997 - 2015 Freescale Semiconductor, Inc.
** Copyright 2017-2019 NXP
**
** Redistribution and use in source and binary forms, with or without modification,
** are permitted provided that the following conditions are met:
**
** o Redistributions of source code must retain the above copyright notice, this list
** of conditions and the following disclaimer.
**
** o Redistributions in binary form must reproduce the above copyright notice, this
** list of conditions and the following disclaimer in the documentation and/or
** other materials provided with the distribution.
**
** o Neither the name of the copyright holder nor the names of its
** contributors may be used to endorse or promote products derived from this
** software without specific prior written permission.
**
** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
** ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
** WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
** DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
** ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
** (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
** LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
** ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
** SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
**
**
** ###################################################################
*/
/*!
* @file MX8QX.h
* @version 1.7
* @date 2015-05-16
* @brief CMSIS Peripheral Access Layer for MX8QX
*
* CMSIS Peripheral Access Layer for MX8QX
*/
#ifndef MX8QX_H
#define MX8QX_H /**< Symbol preventing repeated inclusion */
/* Check for valid CPU versions */
#if !defined(SREV_B0) && !defined(SREV_C0)
#error "Invalid SOC revision!\n"
#endif
/** Memory map major version (memory maps with equal major version number are
* compatible) */
#define MCU_MEM_MAP_VERSION 0x0100U
/** Memory map minor version */
#define MCU_MEM_MAP_VERSION_MINOR 0x0007U
/* ----------------------------------------------------------------------------
-- Memory Map (SC perspective)
---------------------------------------------------------------------------- */
#define LSIO_SS_BASE1 0x00000000U /* LSIO SS - slot 1 */
#define OCRAM_ALIAS_BASE (LSIO_SS_BASE1+0x000000U) /* OCRAM alias */
#define SC_ROM_BASE 0x00000000U /* SC ROM */
#define OCRAM_BASE (LSIO_SS_BASE1+0x100000U) /* OCRAM */
#define FSPI0_MEM_BASE (LSIO_SS_BASE1+0x8000000U) /* FlexSPI0 Memory */
#define TCML_BASE 0x1FFE0000U /* SC TCML */
#define TCMU_BASE 0x20000000U /* SC TCMU */
#define CAAM_BASE 0x20400000U /* SC CAAM */
#define ADM_BASE 0x20520000U /* SC ADM */
#define OTP_BASE 0x20530000U /* SC OTP */
#define SNVS_BASE 0x20540000U /* SC SNVS */
#define MU0_BASE 0x20550000U /* SECO MU 1 */
#define VPU_SS_BASE1 0x2C000000U /* VPU SS - slot 1 */
#define VPU_SCB_BASE (VPU_SS_BASE1+0x0070000U) /* VPU SCB */
#define VPU_MFD_BASE (VPU_SS_BASE1+0x01B0000U) /* VPU Decoder */
#define MU7_BASE (VPU_SS_BASE1+0x1010000U) /* VPU MU 0 */
#define MU8_BASE (VPU_SS_BASE1+0x1030000U) /* VPU MU 1 */
#define SCU_SS_BASE0 0x30000000U /* SCU SS - slot 0 */
#define TCML0_BASE (SCU_SS_BASE0+0x00FE0000U) /* SCU TCML */
#define TCMU0_BASE (SCU_SS_BASE0+0x01000000U) /* SCU TCMU */
#define MCU_0_SS_BASE0 0x34000000U /* MCU 0 SS - slot 0 */
#define TCML1_BASE (MCU_0_SS_BASE0+0x0FE0000U) /* MCU 0 TCML */
#define TCMU1_BASE (MCU_0_SS_BASE0+0x1000000U) /* MCU 0 TCMU */
#define RGPIOB_BASE (MCU_0_SS_BASE0+0x30F0000U) /* MCU 0 RGPIO */
#define LPUART1_BASE (MCU_0_SS_BASE0+0x3220000U) /* MCU 0 LPUART */
#define LPI2C1_BASE (MCU_0_SS_BASE0+0x3230000U) /* MCU 0 LPI2C */
#define WDOG1_BASE (MCU_0_SS_BASE0+0x3420000U) /* MCU 0 WDOG */
#define MU9_BASE (MCU_0_SS_BASE0+0x3480000U) /* MCU 0 MU 1A */
#define SYSCTR_CTRL_BASE 0x40000000U /* SC SYSCTR Control */
#define SYSCTR_RD_BASE 0x40010000U /* SC SYSCTR Read */
#define SYSCTR_CMP_BASE 0x40020000U /* SC SYSCTR Compare 0 */
#define SYSCTR_CMP1_BASE 0x40020100U /* SC SYSCTR Compare 1 */
#define LPC_BASE 0x40070000U /* SC LPC */
#define CSGPR_BASE 0x40470000U /* CoreSight GPR */
#define AP_1_DEBUG_APB_BASE 0x40600000U /* AP_1 Debug APB */
#define AP_0_DEBUG_APB_BASE 0x40800000U /* AP_0 Debug APB */
#define AP_2_DEBUG_APB_BASE 0x40800000U /* AP_2 Debug APB */
#define RGPIOA_BASE 0x410F0000U /* SC RGPIO */
#define LPIT0_BASE 0x41210000U /* SC LPIT */
#define LPUART0_BASE 0x41220000U /* SC LPUART */
#define LPI2C0_BASE 0x41230000U /* SC LPI2C */
#define ASMC_BASE 0x41410000U /* SC ASMC */
#define WDOG0_BASE 0x41420000U /* SC WDOG */
#define MU1_BASE 0x41430000U /* SC MU 0B */
#define MU2_BASE 0x41440000U /* SC MU 0A0 */
#define MU3_BASE 0x41450000U /* SC MU 0A1 */
#define MU4_BASE 0x41460000U /* SC MU 0A2 */
#define MU5_BASE 0x41470000U /* SC MU 0A3 */
#define MU6_BASE 0x41480000U /* SC MU 1A */
#define MSI0_BASE 0x41800000U /* SC DSC MSI Ring 0 */
#define DSC1_BASE 0x41820000U /* SC SC DSC */
#define REP2_BASE 0x4182B000U /* SC MBIST MTR */
#define MSI1_BASE 0x41A00000U /* SC DSC MSI Ring 1 */
#define DSC19_BASE 0x41A60000U /* SC ADMA DSC */
#define DSC22_BASE 0x41AC0000U /* SC GPU_0 DSC */
#define DSC25_BASE 0x41B20000U /* SC DB DSC */
#define DSC26_BASE 0x41B40000U /* SC AP_2 DSC */
#define DSC27_BASE 0x41B60000U /* SC MCU_0 DSC */
#define MSI2_BASE 0x41C00000U /* SC DSC MSI Ring 2 */
#define DSC36_BASE 0x41C80000U /* SC DRC_0 DSC */
#define DSC37_BASE 0x41CA0000U /* SC DC_0 DSC */
#define DSC38_BASE 0x41CC0000U /* SC HSIO DSC */
#define DSC39_BASE 0x41CE0000U /* SC CONN DSC */
#define DSC40_BASE 0x41D00000U /* SC VPU DSC */
#define MSI3_BASE 0x41E00000U /* SC DSC MSI Ring 3 */
#define DSC50_BASE 0x41E40000U /* SC IMG DSC */
#define DSC51_BASE 0x41E60000U /* SC LSIO DSC */
#define DSC56_BASE 0x41F00000U /* SC MIPI_1 DSC */
#define DSC57_BASE 0x41F20000U /* SC MIPI_0 DSC */
#define DSC58_BASE 0x41F40000U /* SC CSI_0 DSC */
#define DSC59_BASE 0x41F60000U /* SC PI_0 DSC */
#define PAD_BASE 0x41F80000U /* SC Pad */
#define MSI4_BASE 0x41F9F000U /* SC Pad MSI Ring 0 */
#define MSI5_BASE 0x41FBF000U /* SC Pad MSI Ring 1 */
#define MSI6_BASE 0x41FDF000U /* SC Pad MSI Ring 2 */
#define MSI7_BASE 0x41FFF000U /* SC Pad MSI Ring 3 */
#define ADMA_SS_BASE2 0x51000000U /* ADMA SS - slot 2 */
#define IRQSTR_SCU_BASE (ADMA_SS_BASE2+0x060000U) /* IRQSTR.SCU1 */
#define GIC0_BASE (ADMA_SS_BASE2+0xA00000U) /* GIC 0 */
#define GPU_0_SS_BASE0 0x53000000U /* GPU 0 SS - slot 0 */
#define DC_0_SS_BASE0 0x56000000U /* DC 0 SS - slot 0 */
#define DC_0_ADDR_0 (DC_0_SS_BASE0+0x00000U) /* DC 0 test addr 0 */
#define DC_0_ADDR_1 (DC_0_SS_BASE0+0x10000U) /* DC 0 test addr 1 */
#define DC_0_MSI_BASE (DC_0_SS_BASE0+0x200000U) /* DC_0 MSI CTRL */
#define MIPI_0_SS_BASE (DC_0_SS_BASE0+0x220000U) /* MIPI 0 */
#define LPI2C2_BASE (MIPI_0_SS_BASE+0x6000U) /* MIPI 0 LPI2C 0 */
#define LPI2C3_BASE (MIPI_0_SS_BASE+0x7000U) /* MIPI 0 LPI2C 1 */
#define MIPI_1_SS_BASE (DC_0_SS_BASE0+0x240000U) /* MIPI 1 */
#define LPI2C4_BASE (MIPI_1_SS_BASE+0x6000U) /* MIPI 1 LPI2C 0 */
#define LPI2C5_BASE (MIPI_1_SS_BASE+0x7000U) /* MIPI 1 LPI2C 1 */
#define IMG_SS_BASE0 0x58000000U /* IMG SS - slot 0 */
#define IMG_0_GPIO_BASE (IMG_SS_BASE0+0x000000U) /* IMG GPIO */
#define ISI0_BASE (IMG_SS_BASE0+0x100000U) /* IMG CH0 */
#define ISI1_BASE (IMG_SS_BASE0+0x110000U) /* IMG CH1 */
#define ISI2_BASE (IMG_SS_BASE0+0x120000U) /* IMG CH2 */
#define ISI3_BASE (IMG_SS_BASE0+0x130000U) /* IMG CH3 */
#define ISI4_BASE (IMG_SS_BASE0+0x140000U) /* IMG CH4 */
#define ISI5_BASE (IMG_SS_BASE0+0x150000U) /* IMG CH5 */
#define ISI6_BASE (IMG_SS_BASE0+0x160000U) /* IMG CH6 */
#define ISI7_BASE (IMG_SS_BASE0+0x170000U) /* IMG CH7 */
#define IMG_0_MSI_BASE (IMG_SS_BASE0+0x200000U) /* IMG MSI CTRL */
#define CSI_0_SS_BASE (IMG_SS_BASE0+0x220000U) /* CSI 0 */
#define LPI2C6_BASE (CSI_0_SS_BASE+0x6000U) /* CSI 0 LPI2C 0 */
#define PI_0_SS_BASE (IMG_SS_BASE0+0x260000U) /* PI 0 */
#define PI_0_BASE (PI_0_SS_BASE+0x1000U) /* PI 0 */
#define LPI2C7_BASE (PI_0_SS_BASE+0x6000U) /* PI 0 LPI2C */
#define ADMA_SS_BASE0 0x59000000U /* ADMA SS - slot 0 */
#define DMA0_BASE (ADMA_SS_BASE0+0x1F0000U) /* ADMA eDMA 0 MP */
#define DSP_DRAM_BASE (ADMA_SS_BASE0+0x6E8000U) /* DSP DRAM */
#define DSP_DRAM1_BASE (ADMA_SS_BASE0+0x6F0000U) /* DSP DRAM 1 */
#define DSP_IRAM_BASE (ADMA_SS_BASE0+0x6F8000U) /* DSP IRAM */
#define DSP_OCRAM_BASE (ADMA_SS_BASE0+0x700000U) /* DSP OCRAM */
#define DMA1_BASE (ADMA_SS_BASE0+0x9F0000U) /* ADMA eDMA 1 MP */
#define ADMA_SS_BASE1 0x5A000000U /* ADMA SS - slot 1 */
#define LPUART2_BASE (ADMA_SS_BASE1+0x060000U) /* ADMA LPUART 0 */
#define LPUART3_BASE (ADMA_SS_BASE1+0x070000U) /* ADMA LPUART 1 */
#define LPUART4_BASE (ADMA_SS_BASE1+0x080000U) /* ADMA LPUART 2 */
#define LPUART5_BASE (ADMA_SS_BASE1+0x090000U) /* ADMA LPUART 3 */
#define DMA2_BASE (ADMA_SS_BASE1+0x1F0000U) /* ADMA eDMA 2 MP */
#define LPI2C8_BASE (ADMA_SS_BASE1+0x800000U) /* ADMA LPI2C 0 */
#define LPI2C9_BASE (ADMA_SS_BASE1+0x810000U) /* ADMA LPI2C 1 */
#define LPI2C10_BASE (ADMA_SS_BASE1+0x820000U) /* ADMA LPI2C 2 */
#define LPI2C11_BASE (ADMA_SS_BASE1+0x830000U) /* ADMA LPI2C 3 */
#define DMA3_BASE (ADMA_SS_BASE1+0x9F0000U) /* ADMA eDMA 3 MP */
#define CONN_SS_BASE0 0x5B000000U /* CONN SS - slot 0 */
#define SDHC0_BASE (CONN_SS_BASE0+0x010000U) /* CONN SDHC 0 */
#define SDHC1_BASE (CONN_SS_BASE0+0x020000U) /* CONN SDHC 1 */
#define SDHC2_BASE (CONN_SS_BASE0+0x030000U) /* CONN SDHC 2 */
#define ENET0_BASE (CONN_SS_BASE0+0x040000U) /* CONN ENET 0 */
#define ENET1_BASE (CONN_SS_BASE0+0x050000U) /* CONN ENET 1 */
#define DMA4_BASE (CONN_SS_BASE0+0x070000U) /* CONN eDMA MP */
#define USB_0_BASE (CONN_SS_BASE0+0x0D0000U) /* CONN USB 0 */
#define USB_1_BASE (CONN_SS_BASE0+0x0E0000U) /* CONN USB 1 */
#define USB_0_PHY_BASE (CONN_SS_BASE0+0x100000U) /* CONN USB 0 PHY */
#define USB_1_PHY_BASE (CONN_SS_BASE0+0x110000U) /* CONN USB 1 PHY */
#define ENET0_LPCG (CONN_SS_BASE0+0x230000U) /* CONN ENET 0 LPCG */
#define NAND_BASE (CONN_SS_BASE0+0x810000U) /* CONN NAND */
#define DB_SS_BASE0 0x5C000000U /* DB SS - slot 0 */
#define DRC_LPCG_6 (DB_SS_BASE0+0x090000U) /* DRC LPCG 6 */
#define DRC_LPCG_5 (DB_SS_BASE0+0x0A0000U) /* DRC LPCG 5 - fixed */
#define DRC_LPCG_4 (DB_SS_BASE0+0x0B0000U) /* DRC LPCG 4 - fixed */
#define DRC_LPCG_0 (DB_SS_BASE0+0x0C0000U) /* DRC LPCG 0 */
#define DRC_LPCG_1 (DB_SS_BASE0+0x0D0000U) /* DRC LPCG 1 */
#define DRC_LPCG_2 (DB_SS_BASE0+0x0E0000U) /* DRC LPCG 2 - doesn't exist */
#define DRC_LPCG_3 (DB_SS_BASE0+0x0F0000U) /* DRC LPCG 3 */
#define STC0_BASE (DB_SS_BASE0+0x400000U) /* DB PG0 STC 0 */
#define STC1_BASE (DB_SS_BASE0+0x410000U) /* DB PG0 STC 1 */
#define STC2_BASE (DB_SS_BASE0+0x420000U) /* DB PG0 STC 2 */
#define STC3_BASE (DB_SS_BASE0+0x430000U) /* DB PG0 STC 3 */
#define DB_LPCG_PG0_BASE (DB_SS_BASE0+0x4F0000U) /* DB PG0 LPCG */
#define STC4_BASE (DB_SS_BASE0+0x500000U) /* DB PG1 STC 0 */
#define STC5_BASE (DB_SS_BASE0+0x510000U) /* DB PG1 STC 1 */
#define STC6_BASE (DB_SS_BASE0+0x520000U) /* DB PG1 STC 2 */
#define STC7_BASE (DB_SS_BASE0+0x530000U) /* DB PG1 STC 3 */
#define DB_LPCG_PG1_BASE (DB_SS_BASE0+0x5F0000U) /* DB PG1 LPCG */
#define STC8_BASE (DB_SS_BASE0+0x600000U) /* DB PG2 STC 0 */
#define STC9_BASE (DB_SS_BASE0+0x610000U) /* DB PG2 STC 1 */
#define STC10_BASE (DB_SS_BASE0+0x620000U) /* DB PG2 STC 2 */
#define STC11_BASE (DB_SS_BASE0+0x630000U) /* DB PG2 STC 3 */
#define DB_LPCG_PG2_BASE (DB_SS_BASE0+0x6F0000U) /* DB PG2 LPCG */
#define DB_LPCG_BN_BASE (DB_SS_BASE0+0xAF0000U) /* DB BN LPCG */
#define LSIO_SS_BASE0 0x5D000000U /* LSIO SS - slot 0 */
#define PWM0_BASE (LSIO_SS_BASE0+0x000000U) /* LSIO PWM 0 */
#define PWM1_BASE (LSIO_SS_BASE0+0x010000U) /* LSIO PWM 1 */
#define PWM2_BASE (LSIO_SS_BASE0+0x020000U) /* LSIO PWM 2 */
#define PWM3_BASE (LSIO_SS_BASE0+0x030000U) /* LSIO PWM 3 */
#define PWM4_BASE (LSIO_SS_BASE0+0x040000U) /* LSIO PWM 4 */
#define PWM5_BASE (LSIO_SS_BASE0+0x050000U) /* LSIO PWM 5 */
#define PWM6_BASE (LSIO_SS_BASE0+0x060000U) /* LSIO PWM 6 */
#define PWM7_BASE (LSIO_SS_BASE0+0x070000U) /* LSIO PWM 7 */
#define GPIO0_BASE (LSIO_SS_BASE0+0x080000U) /* LSIO GPIO 0 */
#define GPIO1_BASE (LSIO_SS_BASE0+0x090000U) /* LSIO GPIO 1 */
#define GPIO2_BASE (LSIO_SS_BASE0+0x0A0000U) /* LSIO GPIO 2 */
#define GPIO3_BASE (LSIO_SS_BASE0+0x0B0000U) /* LSIO GPIO 3 */
#define GPIO4_BASE (LSIO_SS_BASE0+0x0C0000U) /* LSIO GPIO 4 */
#define GPIO5_BASE (LSIO_SS_BASE0+0x0D0000U) /* LSIO GPIO 5 */
#define GPIO6_BASE (LSIO_SS_BASE0+0x0E0000U) /* LSIO GPIO 6 */
#define GPIO7_BASE (LSIO_SS_BASE0+0x0F0000U) /* LSIO GPIO 7 */
#define FSPI0_BASE (LSIO_SS_BASE0+0x120000U) /* FSPI0 */
#define FSPI1_BASE (LSIO_SS_BASE0+0x130000U) /* FSPI1 */
#define GPT0_BASE (LSIO_SS_BASE0+0x140000U) /* LSIO GPT 0 */
#define GPT1_BASE (LSIO_SS_BASE0+0x150000U) /* LSIO GPT 1 */
#define GPT2_BASE (LSIO_SS_BASE0+0x160000U) /* LSIO GPT 2 */
#define GPT3_BASE (LSIO_SS_BASE0+0x170000U) /* LSIO GPT 3 */
#define GPT4_BASE (LSIO_SS_BASE0+0x180000U) /* LSIO GPT 4 */
#define KPP_BASE (LSIO_SS_BASE0+0x1A0000U) /* LSIO KPP */
#define MU10_BASE (LSIO_SS_BASE0+0x1B0000U) /* LSIO MU 0A */
#define MU11_BASE (LSIO_SS_BASE0+0x1C0000U) /* LSIO MU 1A */
#define MU12_BASE (LSIO_SS_BASE0+0x1D0000U) /* LSIO MU 2A */
#define MU13_BASE (LSIO_SS_BASE0+0x1E0000U) /* LSIO MU 3A */
#define MU14_BASE (LSIO_SS_BASE0+0x1F0000U) /* LSIO MU 4A */
#define IEE_BASE (LSIO_SS_BASE0+0x320000U) /* IEE */
#define IEE_R0_BASE (LSIO_SS_BASE0+0x330000U) /* IEE R0 */
#define IEE_R1_BASE (LSIO_SS_BASE0+0x340000U) /* IEE R1 */
#define HSIO_0_SS_BASE0 0x5F000000U /* HSIO 0 SS - slot 0 */
#define HSIO_0_LPCG_GPIO (HSIO_0_SS_BASE0+0x100000U) /* HSIO 0 GPIO LPCG */
#define HSIO_0_SS_BASE2 0x70000000U /* HSIO 0 SS - slot 2 */
#define DDR_BASE0 0x80000000U /* DDR */
#define MCM_BASE 0xE0080000U /* SC MCM */
#define LMEM_BASE 0xE0082000U /* SC LMEM */
#define DDR_BASE0_END 0xFFFFFFFFU /* Top of DDR 0 */
#define LSIO_SS_BASE2 0x400000000ULL /* LSIO SS - slot 2 */
#define FSPI1_MEM_BASE (LSIO_SS_BASE2+0x0U) /* FlexSPI1 Memory */
#define DDR_BASE1 0x880000000ULL /* DDR - high mem */
#define DDR_BASE1_END 0xFFFFFFFFFULL /* Top of DDR 1 */
/* Unused */
#define DSC2_BASE 0
#define DSC3_BASE 0
#define DSC4_BASE 0
#define DSC5_BASE 0
#define DSC6_BASE 0
#define DSC7_BASE 0
#define DSC8_BASE 0
#define DSC9_BASE 0
#define DSC10_BASE 0
#define DSC11_BASE 0
#define DSC12_BASE 0
#define DSC13_BASE 0
#define DSC14_BASE 0
#define DSC15_BASE 0
#define DSC17_BASE 0
#define DSC18_BASE 0
#define DSC20_BASE 0
#define DSC21_BASE 0
#define DSC23_BASE 0
#define DSC24_BASE 0
#define DSC28_BASE 0
#define DSC29_BASE 0
#define DSC30_BASE 0
#define DSC31_BASE 0
#define DSC33_BASE 0
#define DSC34_BASE 0
#define DSC35_BASE 0
#define DSC41_BASE 0
#define DSC42_BASE 0
#define DSC43_BASE 0
#define DSC44_BASE 0
#define DSC45_BASE 0
#define DSC46_BASE 0
#define DSC47_BASE 0
#define DSC49_BASE 0
#define DSC52_BASE 0
#define DSC53_BASE 0
#define DSC54_BASE 0
#define DSC55_BASE 0
#define DSC60_BASE 0
#define DSC61_BASE 0
#define DSC62_BASE 0
#define DSC63_BASE 0
#define WDOG2_BASE 0
#define RGPIOC_BASE 0
#define LPI2C12_BASE 0
#define LPI2C13_BASE 0
#define LPI2C14_BASE 0
#define LPI2C15_BASE 0
#define LPI2C16_BASE 0
#define LPI2C17_BASE 0
#define LPI2C18_BASE 0
#define LPI2C19_BASE 0
#define LPI2C20_BASE 0
#define LPI2C21_BASE 0
#define LPI2C22_BASE 0
#define LPI2C23_BASE 0
#define LPI2C24_BASE 0
#define LPI2C25_BASE 0
#define LPUART6_BASE 0
#define LPUART7_BASE 0
#define LPUART8_BASE 0
#define DMA5_BASE 0
#define DMA6_BASE 0
#define ISI8_BASE 0
#define ISI9_BASE 0
#define ISI10_BASE 0
#define ISI11_BASE 0
#define ISI12_BASE 0
#define ISI13_BASE 0
#define ISI14_BASE 0
#define ISI15_BASE 0
#define ISI16_BASE 0
#define ISI17_BASE 0
#define ISI18_BASE 0
#define ISI19_BASE 0
#define ISI20_BASE 0
#define ISI21_BASE 0
#define ISI22_BASE 0
#define ISI23_BASE 0
#define MU15_BASE 0
#define MU16_BASE 0
#define MU17_BASE 0
#define MU18_BASE 0
#define MU19_BASE 0
#define MU20_BASE 0
#define MU21_BASE 0
#define MU22_BASE 0
#define MU23_BASE 0
#define MU24_BASE 0
#define STC12_BASE 0
#define STC13_BASE 0
#define STC14_BASE 0
#define STC15_BASE 0
#define STC16_BASE 0
#define STC17_BASE 0
#define STC18_BASE 0
#define STC19_BASE 0
#define STC20_BASE 0
#define STC21_BASE 0
#define STC22_BASE 0
#define STC23_BASE 0
/* ----------------------------------------------------------------------------
-- Device Mapping
---------------------------------------------------------------------------- */
#define DMA_AUDIO0 DMA0
#define DMA_AUDIO1 DMA1
#define DMA_PERIPH0 DMA2
#define DMA_PERIPH1 DMA3
#define DMA_CONN DMA4
#define DSC_SC DSC1
#define DSC_ADMA DSC19
#define DSC_GPU_0 DSC22
#define DSC_DB DSC25
#define DSC_AP_2 DSC26
#define DSC_MCU_0 DSC27
#define DSC_DRC_0 DSC36
#define DSC_DC_0 DSC37
#define DSC_HSIO DSC38
#define DSC_CONN DSC39
#define DSC_VPU DSC40
#define DSC_IMG DSC50
#define DSC_LSIO DSC51
#define DSC_MIPI_1 DSC56
#define DSC_MIPI_0 DSC57
#define DSC_CSI_0 DSC58
#define DSC_PI_0 DSC59
#define GPIO_SC RGPIOA
#define GPIO_MCU_0 RGPIOB
#define ISI_IMG_0_CH0 ISI0
#define ISI_IMG_0_CH1 ISI1
#define ISI_IMG_0_CH2 ISI2
#define ISI_IMG_0_CH3 ISI3
#define ISI_IMG_0_CH4 ISI4
#define ISI_IMG_0_CH5 ISI5
#define ISI_IMG_0_CH6 ISI6
#define ISI_IMG_0_CH7 ISI7
#define LPI2C_SC LPI2C0
#define LPI2C_MCU_0 LPI2C1
#define LPI2C_MIPI0_0 LPI2C2
#define LPI2C_MIPI0_1 LPI2C3
#define LPI2C_MIPI1_0 LPI2C4
#define LPI2C_MIPI1_1 LPI2C5
#define LPI2C_CSI0_0 LPI2C6
#define LPI2C_PI_0 LPI2C7
#define LPI2C_0 LPI2C8
#define LPI2C_1 LPI2C9
#define LPI2C_2 LPI2C10
#define LPI2C_3 LPI2C11
#define LPIT_SC LPIT0
#define LPUART_SC LPUART0
#define LPUART_MCU_0 LPUART1
#define LPUART_0 LPUART2
#define LPUART_1 LPUART3
#define LPUART_2 LPUART4
#define LPUART_3 LPUART5
#define MU_SECO MU0
#define MU_SC_0B MU1
#define MU_SC_0A0 MU2
#define MU_SC_0A1 MU3
#define MU_SC_0A2 MU4
#define MU_SC_0A3 MU5
#define MU_SC_1A MU6
#define MU_VPU_0 MU7
#define MU_VPU_1 MU8
#define MU_MCU_0_1A MU9
#define MU_LSIO_0A MU10
#define MU_LSIO_1A MU11
#define MU_LSIO_2A MU12
#define MU_LSIO_3A MU13
#define MU_LSIO_4A MU14
#define STC_PG0_0 STC0
#define STC_PG0_1 STC1
#define STC_PG0_2 STC2
#define STC_PG0_3 STC3
#define STC_PG1_0 STC4
#define STC_PG1_1 STC5
#define STC_PG1_2 STC6
#define STC_PG1_3 STC7
#define STC_PG2_0 STC8
#define STC_PG2_1 STC9
#define STC_PG2_2 STC10
#define STC_PG2_3 STC11
#define TCMU_SC TCMU0_BASE
#define TCMU_MCU_0 TCMU1_BASE
#define TCML_SC TCML0_BASE
#define TCML_MCU_0 TCML1_BASE
#define WDOG_SC WDOG0
#define WDOG_MCU_0 WDOG1
/* ----------------------------------------------------------------------------
-- CoreSight Granular Power Requestor Mappings
---------------------------------------------------------------------------- */
#define CSGPR_CPWRUPREQ (CSGPR_BASE+0x000U)
#define CSGPR_CPWRUPACK (CSGPR_BASE+0x004U)
#define CSGPR_CLAIMSET (CSGPR_BASE+0xFA0U)
#define CSGPR_CLAIMCLR (CSGPR_BASE+0xFA4U)
#define CSGPR_LAR (CSGPR_BASE+0xFB0U)
#define CSGPR_LSR (CSGPR_BASE+0xFB4U)
#define CSGPR_IDX_A35 5U
#define CSGPR_IDX_MCU_0 6U
#define CSGPR_XOR_DSC_REG 1U
#define CSGPR_XOR_DSC_MASK 0x0000FFFFU
#define CSGPR_ACK_DSC_REG 2U
#define CSGPR_ACK_DSC_MASK 0xFFFF0000U
/* ----------------------------------------------------------------------------
-- GIC Mappings
---------------------------------------------------------------------------- */
#define GICD_BASE (GIC0_BASE+0x000000U)
#define GICR_BASE (GIC0_BASE+0x100000U)
#define GICD_CTLR_OFS (0x0000U)
#define GICD_CTLR_RWP_MASK (0x80000000U)
#define GICR_WAKER_OFS (0x0014U)
#define GICR_WAKER_PA_MASK (0x00000002U)
#define GICR_WAKER_CA_MASK (0x00000004U)
/* ----------------------------------------------------------------------------
-- Interrupt vector numbers
---------------------------------------------------------------------------- */
/*!
* @addtogroup Interrupt_vector_numbers Interrupt vector numbers
* @{
*/
/** Interrupt Number Definitions */
#define NUMBER_OF_INT_VECTORS 256 /**< Number of interrupts in the Vector table */
/* Auxiliary constants */
#define NotAvail_IRQn -128 /**< Not available device specific interrupt */
/* Core interrupts */
#define NonMaskableInt_IRQn -14 /**< Non Maskable Interrupt */
#define HardFault_IRQn -13 /**< Cortex-M4 SV Hard Fault Interrupt */
#define MemoryManagement_IRQn -12 /**< Cortex-M4 Memory Management Interrupt */
#define BusFault_IRQn -11 /**< Cortex-M4 Bus Fault Interrupt */
#define UsageFault_IRQn -10 /**< Cortex-M4 Usage Fault Interrupt */
#define SVCall_IRQn -5 /**< Cortex-M4 SV Call Interrupt */
#define DebugMonitor_IRQn -4 /**< Cortex-M4 Debug Monitor Interrupt */
#define PendSV_IRQn -2 /**< Cortex-M4 Pend SV Interrupt */
#define SysTick_IRQn -1 /**< Cortex-M4 System Tick Interrupt */
/* Device specific interrupts */
#define Reserved0_IRQn 0 /**< Reserved interrupt */
#define Reserved1_IRQn 1 /**< Reserved interrupt */
#define Reserved2_IRQn 2 /**< Reserved interrupt */
#define Reserved3_IRQn 3 /**< Reserved interrupt */
#define Reserved4_IRQn 4 /**< Reserved interrupt */
#define MCM_IRQn 5 /**< MCM interrupt */
#define DebugWake_IRQn 6 /**< Debug wake interrupt */
#define OCOTP_Bank0_IRQn 7 /**< OCOTP bank0 interrupt */
#define OCOTP_Bank1_IRQn 8 /**< OCOTP bank1 interrupt */
#define Reserved9_IRQn 9 /**< Reserved interrupt */
#define INTMUX0_8_IRQn 10 /**< INTMUX0_8 interrupt */
#define INTMUX0_9_IRQn 11 /**< INTMUX0_9 interrupt */
#define INTMUX0_10_IRQn 12 /**< INTMUX0_10 interrupt */
#define INTMUX0_11_IRQn 13 /**< INTMUX0_11 interrupt */
#define INTMUX0_12_IRQn 14 /**< INTMUX0_12 interrupt */
#define INTMUX0_13_IRQn 15 /**< INTMUX0_13 interrupt */
#define INTMUX0_14_IRQn 16 /**< INTMUX0_14 interrupt */
#define INTMUX0_15_IRQn 17 /**< INTMUX0_15 interrupt */
#define Reserved18_IRQn 18 /**< Reserved interrupt */
#define TPM0_IRQn 19 /**< TPM0 interrupt */
#define Reserved20_IRQn 20 /**< Reserved interrupt */
#define Reserved21_IRQn 21 /**< Reserved interrupt */
#define LPIT0_IRQn 22 /**< LPIT0 interrupt */
#define Reserved23_IRQn 23 /**< Reserved interrupt */
#define Reserved24_IRQn 24 /**< Reserved interrupt */
#define LPUART0_IRQn 25 /**< LPUART0 interrupt */
#define Reserved26_IRQn 26 /**< Reserved interrupt */
#define LPI2C0_IRQn 27 /**< LPI2C0 interrupt */
#define Reserved28_IRQn 28 /**< Reserved interrupt */
#define MU0_B0_IRQn 29 /**< MU0_B0 interrupt */
#define SECO_MU_NMI_IRQn 30 /**< SECO_MU_NMI interrupt */
#define SECO_MU_IRQn 31 /**< SECO_MU interrupt */
#define INTMUX0_0_IRQn 32 /**< INTMUX0_0 interrupt */
#define INTMUX0_1_IRQn 33 /**< INTMUX0_1 interrupt */
#define INTMUX0_2_IRQn 34 /**< INTMUX0_2 interrupt */
#define INTMUX0_3_IRQn 35 /**< INTMUX0_3 interrupt */
#define INTMUX0_4_IRQn 36 /**< INTMUX0_4 interrupt */
#define INTMUX0_5_IRQn 37 /**< INTMUX0_5 interrupt */
#define INTMUX0_6_IRQn 38 /**< INTMUX0_6 interrupt */
#define INTMUX0_7_IRQn 39 /**< INTMUX0_7 interrupt */
#define SYSCTR_CMP3_IRQn 40 /**< SYSCTR_CMP3 interrupt */
#define SYSCTR_CMP2_IRQn 41 /**< SYSCTR_CMP2 interrupt */
#define SYSCTR_CMP1_IRQn 42 /**< SYSCTR_CMP1 interrupt */
#define SYSCTR_CMP0_IRQn 43 /**< SYSCTR_CMP0 interrupt */
#define MU0_B1_IRQn 44 /**< MU0_B1 interrupt */
#define MU0_B2_IRQn 45 /**< MU0_B2 interrupt */
#define MU0_B3_IRQn 46 /**< MU0_B3 interrupt */
#define PMIC_INT_IRQn 47 /**< PMIC_INT interrupt */
#define PMIC_EarlyWarning_IRQn 48 /**< PMIC_EarlyWarning interrupt */
#define MU1_A_IRQn 49 /**< MU1_A interrupt */
#define SWI_IRQn 50 /**< Software interrupt */
#define SWI_DQS2DQ_IRQn 51 /**< DQS2DQ Software interrupt */
#define CAAM_IRQ0_IRQn 52 /**< CAAM_IRQ0 interrupt */
#define CAAM_IRQ1_IRQn 53 /**< CAAM_IRQ1 interrupt */
#define CAAM_IRQ2_IRQn 54 /**< CAAM_IRQ2 interrupt */
#define CAAM_IRQ3_IRQn 55 /**< CAAM_IRQ3 interrupt */
#define CAAM_RTIC_IRQn 56 /**< CAAM_RTIC interrupt */
#define CAAM_Error_IRQn 57 /**< CAAM_Error interrupt */
#define SNVS_Functional_IRQn 58 /**< SNVS_Functional interrupt */
#define SNVS_SecurityViolation_IRQn 59 /**< SNVS_SecurityViolation interrupt */
#define SNVS_Periodic_IRQn 60 /**< SNVS_Periodic interrupt */
#define SNVS_Button_IRQn 61 /**< SNVS_Button interrupt */
#define SNVS_Alarm_IRQn 62 /**< Reserved interrupt */
#define SNVS_PowerOff_IRQn 63 /**< Reserved interrupt */
#define DSC00_IRQn 64 /**< DSC0 interrupt */
#define DSC_SCU_IRQn 64 /**< DSC0 interrupt */
#define DSC_DB_IRQn 65 /**< DSC1 interrupt */
#define DSC02_IRQn 66 /**< DSC2 interrupt */
#define DSC03_IRQn 67 /**< DSC3 interrupt */
#define DSC_HSIO_IRQn 68 /**< DSC4 interrupt */
#define DSC05_IRQn 69 /**< DSC5 interrupt */
#define DSC06_IRQn 70 /**< DSC6 interrupt */
#define DSC_CM4_0_IRQn 71 /**< DSC7 interrupt */
#define DSC08_IRQn 72 /**< DSC8 interrupt */
#define DSC09_IRQn 73 /**< DSC9 interrupt */
#define DSC_LSIO_IRQn 74 /**< DSC10 interrupt */
#define DSC_GPU_0_IRQn 75 /**< DSC11 interrupt */
#define DSC_CA35_IRQn 76 /**< DSC12 interrupt */
#define DSC13_IRQn 77 /**< DSC13 interrupt */
#define DSC14_IRQn 78 /**< DSC14 interrupt */
#define DSC15_IRQn 79 /**< DSC15 interrupt */
#define DSC_Connectivity_IRQn 80 /**< DSC16 interrupt */
#define DSC17_IRQn 81 /**< DSC17 interrupt */
#define DSC18_IRQn 82 /**< DSC18 interrupt */
#define DSC19_IRQn 83 /**< DSC19 interrupt */
#define DSC_VPU_IRQn 84 /**< DSC20 interrupt */
#define DSC21_IRQn 85 /**< DSC21 interrupt */
#define DSC_DRC_0_IRQn 86 /**< DSC22 interrupt */
#define DSC_DC_0_IRQn 87 /**< DSC23 interrupt */
#define DSC_MIPI_CSI_0_IRQn 88 /**< DSC24 interrupt */
#define DSC25_IRQn 89 /**< DSC25 interrupt */
#define DSC_CI_PI_IRQn 90 /**< DSC26 interrupt */
#define DSC_Imaging_IRQn 91 /**< DSC27 interrupt */
#define DSC_ADMA_IRQn 92 /**< DSC28 interrupt */
#define DSC29_IRQn 93 /**< DSC29 interrupt */
#define DSC_DI_MIPI_0_IRQn 94 /**< DSC30 interrupt */
#define DSC_DI_MIPI_1_IRQn 95 /**< DSC31 interrupt */
#define DSC31_IRQn 95 /**< DSC31 interrupt */
#define IOMUX31_IRQn 96 /**< IOMUX31 interrupt */
#define IOMUX30_IRQn 97 /**< IOMUX30 interrupt */
#define IOMUX29_IRQn 98 /**< IOMUX29 interrupt */
#define IOMUX28_IRQn 99 /**< IOMUX28 interrupt */
#define IOMUX27_IRQn 100 /**< IOMUX27 interrupt */
#define IOMUX26_IRQn 101 /**< IOMUX26 interrupt */
#define IOMUX25_IRQn 102 /**< IOMUX25 interrupt */
#define IOMUX24_IRQn 103 /**< IOMUX24 interrupt */
#define IOMUX23_IRQn 104 /**< IOMUX23 interrupt */
#define IOMUX22_IRQn 105 /**< IOMUX22 interrupt */
#define IOMUX21_IRQn 106 /**< IOMUX21 interrupt */
#define IOMUX20_IRQn 107 /**< IOMUX20 interrupt */
#define IOMUX19_IRQn 108 /**< IOMUX19 interrupt */
#define IOMUX18_IRQn 109 /**< IOMUX18 interrupt */
#define IOMUX17_IRQn 110 /**< IOMUX17 interrupt */
#define IOMUX16_IRQn 111 /**< IOMUX16 interrupt */
#define IOMUX15_IRQn 112 /**< IOMUX15 interrupt */
#define IOMUX14_IRQn 113 /**< IOMUX14 interrupt */
#define IOMUX13_IRQn 114 /**< IOMUX13 interrupt */
#define IOMUX12_IRQn 115 /**< IOMUX12 interrupt */
#define IOMUX11_IRQn 116 /**< IOMUX11 interrupt */
#define IOMUX10_IRQn 117 /**< IOMUX10 interrupt */
#define IOMUX9_IRQn 118 /**< IOMUX9 interrupt */
#define IOMUX8_IRQn 119 /**< IOMUX8 interrupt */
#define IOMUX7_IRQn 120 /**< IOMUX7 interrupt */
#define IOMUX6_IRQn 121 /**< IOMUX6 interrupt */
#define IOMUX5_IRQn 122 /**< IOMUX5 interrupt */
#define IOMUX4_IRQn 123 /**< IOMUX4 interrupt */
#define IOMUX3_IRQn 124 /**< IOMUX3 interrupt */
#define IOMUX2_IRQn 125 /**< IOMUX2 interrupt */
#define IOMUX1_IRQn 126 /**< IOMUX1 interrupt */
#define IOMUX0_IRQn 127 /**< IOMUX0 interrupt */
#define NUM_NVIC_IRQn 128 /**< Number of NVIC interrupts */
typedef int IRQn_Type;
/*!
* @}
*/ /* end of group Interrupt_vector_numbers */
/* ----------------------------------------------------------------------------
-- Cortex-M Core Configuration
---------------------------------------------------------------------------- */
/*!
* @addtogroup Cortex_Core_Configuration Cortex-M Core Configuration
* @{
*/
#define __MPU_PRESENT 1 /**< Defines if an MPU is present or not */
#define __NVIC_PRIO_BITS 4 /**< Number of priority bits implemented in the NVIC */
#define __Vendor_SysTickConfig 0 /**< Vendor specific implementation of SysTickConfig is defined */
#define __FPU_PRESENT 1 /**< Defines if an FPU is present or not */
#include "core_cm4.h" /* Core Peripheral Access Layer */
#include "system_MX8QX.h" /* Device specific configuration file */
__attribute__( ( always_inline ) ) __STATIC_INLINE uint64_t LDRD (const __IO uint32_t *addr)
{
union
{
uint32_t w32[2];
uint64_t w64;
} llr;
__ASM volatile ("ldrd %0, %1, %2" : "=r" (llr.w32[0]), "=r" (llr.w32[1]) : "Q" (*addr) );
return(llr.w64);
}
/*!
* @}
*/ /* end of group Cortex_Core_Configuration */
#endif /* MX8QX_H */
/* MX8QX.h, eof. */