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
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
1652
1653
1654
1655
1656
1657
1658
1659
1660
1661
1662
1663
1664
1665
1666
1667
1668
1669
1670
1671
1672
1673
1674
1675
1676
1677
1678
1679
1680
1681
1682
1683
1684
1685
1686
1687
1688
1689
1690
1691
1692
1693
1694
1695
1696
1697
1698
1699
1700
1701
1702
1703
1704
1705
1706
1707
1708
1709
1710
1711
1712
1713
1714
1715
1716
1717
1718
1719
1720
1721
1722
1723
1724
1725
1726
1727
1728
1729
1730
1731
1732
1733
1734
1735
1736
1737
1738
1739
1740
1741
1742
1743
1744
1745
1746
1747
1748
|
/**************************************************************************//**
* @file nuc980.h
* @brief NUC980 peripheral access layer header file.
* This file contains all the peripheral register's definitions
* and memory mapping for NuMicro NUC980 MPU.
*
* SPDX-License-Identifier: Apache-2.0
* @copyright (C) 2019 Nuvoton Technology Corp. All rights reserved.
*****************************************************************************/
/**
\mainpage NuMicro NUC980 Family Driver Reference Guide
*
* <b>Introduction</b>
*
* This user manual describes the usage of NUC980 family device driver
*
* <b>Disclaimer</b>
*
* The Software is furnished "AS IS", without warranty as to performance or results, and
* the entire risk as to performance or results is assumed by YOU. Nuvoton disclaims all
* warranties, express, implied or otherwise, with regard to the Software, its use, or
* operation, including without limitation any and all warranties of merchantability, fitness
* for a particular purpose, and non-infringement of intellectual property rights.
*
* <b>Important Notice</b>
*
* Nuvoton Products are neither intended nor warranted for usage in systems or equipment,
* any malfunction or failure of which may cause loss of human life, bodily injury or severe
* property damage. Such applications are deemed, "Insecure Usage".
*
* Insecure usage includes, but is not limited to: equipment for surgical implementation,
* atomic energy control instruments, airplane or spaceship instruments, the control or
* operation of dynamic, brake or safety systems designed for vehicular use, traffic signal
* instruments, all types of safety devices, and other applications intended to support or
* sustain life.
*
* All Insecure Usage shall be made at customer's risk, and in the event that third parties
* lay claims to Nuvoton as a result of customer's Insecure Usage, customer shall indemnify
* the damages and liabilities thus incurred by Nuvoton.
*
* Please note that all data and specifications are subject to change without notice. All the
* trademarks of products and companies mentioned in this document belong to their respective
* owners.
*
* <b>Copyright Notice</b>
*
* Copyright (C) 2020 Nuvoton Technology Corp. All rights reserved.
*/
#ifndef __NUC980_H__
#define __NUC980_H__
#include <stdint.h>
/** @addtogroup NUC980_PERIPHERAL_MEM_MAP Peripheral Memory Base
Memory Mapped Structure for NUC980 Peripheral
@{
*/
/*!< AHB peripherals */
#define SYS_BA 0xB0000000 /* Global Control */
#define CLK_BA 0xB0000200 /* Clock Control */
#define SDIC_BA 0xB0002000
#define EBI_BA 0xB0010000 /* EBI Control */
#define GPIO_BA 0xB0004000
#define PDMA0_BA 0xB0008000
#define PDMA1_BA 0xB0009000
#define EMC0_BA 0xB0012000
#define EHCI_BA 0xB0015000
#define USBD_BA 0xB0016000
#define OHCI_BA 0xB0017000
#define SDH_BA 0xB0018000
#define FMI_BA 0xB0019000
#define CRPT_BA 0xB001C000
#define I2S_BA 0xB0020000
#define EMC1_BA 0xB0022000
#define CAP0_BA 0xB0024000
#define CAP1_BA 0xB0014000
#define PA_BA 0xB0004000
#define PB_BA 0xB0004040
#define PC_BA 0xB0004080
#define PD_BA 0xB00040C0
#define PE_BA 0xB0004100
#define PF_BA 0xB0004140
#define PG_BA 0xB0004180
/*!< APB peripherals */
#define WDT_BA 0xB0040000 /* Watch Dog Timer */
#define WWDT_BA 0xB0040100 /* Windows Watch Dog Timer */
#define RTC_BA 0xB0041000
#define AIC_BA 0xB0042000 /* Interrupt Controller */
#define ADC_BA 0xB0043000
#define ETMR0_BA 0xB0050000 /* ETimer0 */
#define ETMR1_BA 0xB0050100 /* ETimer1 */
#define ETMR2_BA 0xB0051000 /* ETimer2 */
#define ETMR3_BA 0xB0051100 /* ETimer3 */
#define ETMR4_BA 0xB0052000 /* ETimer4 */
#define ETMR5_BA 0xB0052100 /* ETimer5 */
#define PWM0_BA 0xB0058000
#define PWM1_BA 0xB0059000
#define QSPI0_BA 0xB0060000
#define SPI0_BA 0xB0061000
#define SPI1_BA 0xB0062000
#define UART0_BA 0xB0070000 /* UART0 Control */
#define UART1_BA 0xB0071000 /* UART1 Control */
#define UART2_BA 0xB0072000
#define UART3_BA 0xB0073000
#define UART4_BA 0xB0074000
#define UART5_BA 0xB0075000
#define UART6_BA 0xB0076000
#define UART7_BA 0xB0077000
#define UART8_BA 0xB0078000
#define UART9_BA 0xB0079000
#define I2C0_BA 0xB0080000
#define I2C1_BA 0xB0081000
#define I2C2_BA 0xB0082000
#define I2C3_BA 0xB0083000
#define SC0_BA 0xB0090000
#define SC1_BA 0xB0091000
#define CAN0_BA 0xB00A0000
#define CAN1_BA 0xB00A1000
#define CAN2_BA 0xB00A2000
#define CAN3_BA 0xB00A3000
/*@}*/ /* end of group NUC980_PERIPHERAL_MEM_MAP */
/******************************************************************************/
/* Device Specific Peripheral registers structures */
/******************************************************************************/
/** @addtogroup REGISTER Control Register
NUC980 Device Specific Peripheral registers structures
@{
*/
/*---------------------- System Manger Controller -------------------------*/
/**
@addtogroup SYS System Manger Controller(SYS)
Memory Mapped Structure for SYS Controller
@{ */
#define REG_SYS_PDID (SYS_BA+0x000) /*!< Product Identifier Register */
#define REG_SYS_PWRON (SYS_BA+0x004) /*!< Power-On Setting Register */
#define REG_SYS_ARBCON (SYS_BA+0x008) /*!< Arbitration Control Register */
#define REG_SYS_LVRDCR (SYS_BA+0x020) /*!< Low Voltage Reset & Detect Control Register */
#define REG_SYS_MISCFCR (SYS_BA+0x030) /*!< Miscellaneous Function Control Register */
#define REG_SYS_MISCIER (SYS_BA+0x040) /*!< Miscellaneous Interrupt Enable Register */
#define REG_SYS_MISCISR (SYS_BA+0x044) /*!< Miscellaneous Interrupt Status Register */
#define REG_SYS_WKUPSER0 (SYS_BA+0x050) /*!< System Wakeup Source Enable Register0 */
#define REG_SYS_WKUPSER1 (SYS_BA+0x054) /*!< System Wakeup Source Enable Register1 */
#define REG_SYS_WKUPSSR0 (SYS_BA+0x058) /*!< System Wakeup Source Status Register0 */
#define REG_SYS_WKUPSSR1 (SYS_BA+0x05C) /*!< System Wakeup Source Status Register1 */
#define REG_SYS_AHBIPRST (SYS_BA+0x060) /*!< AHB IP Reset Control Register */
#define REG_SYS_APBIPRST0 (SYS_BA+0x064) /*!< APB IP Reset Control Register 0 */
#define REG_SYS_APBIPRST1 (SYS_BA+0x068) /*!< APB IP Reset Control Register 1 */
#define REG_SYS_RSTSTS (SYS_BA+0x06C) /*!< Reset Source Active Status Register */
#define REG_SYS_GPA_MFPL (SYS_BA+0x070) /*!< GPIOA Low Byte Multiple Function Control Register */
#define REG_SYS_GPA_MFPH (SYS_BA+0x074) /*!< GPIOA High Byte Multiple Function Control Register */
#define REG_SYS_GPB_MFPL (SYS_BA+0x078) /*!< GPIOB Low Byte Multiple Function Control Register */
#define REG_SYS_GPB_MFPH (SYS_BA+0x07C) /*!< GPIOB High Byte Multiple Function Control Register */
#define REG_SYS_GPC_MFPL (SYS_BA+0x080) /*!< GPIOC Low Byte Multiple Function Control Register */
#define REG_SYS_GPC_MFPH (SYS_BA+0x084) /*!< GPIOC High Byte Multiple Function Control Register */
#define REG_SYS_GPD_MFPL (SYS_BA+0x088) /*!< GPIOD Low Byte Multiple Function Control Register */
#define REG_SYS_GPD_MFPH (SYS_BA+0x08C) /*!< GPIOD High Byte Multiple Function Control Register */
#define REG_SYS_GPE_MFPL (SYS_BA+0x090) /*!< GPIOE Low Byte Multiple Function Control Register */
#define REG_SYS_GPE_MFPH (SYS_BA+0x094) /*!< GPIOE High Byte Multiple Function Control Register */
#define REG_SYS_GPF_MFPL (SYS_BA+0x098) /*!< GPIOF Low Byte Multiple Function Control Register */
#define REG_SYS_GPF_MFPH (SYS_BA+0x09C) /*!< GPIOF High Byte Multiple Function Control Register */
#define REG_SYS_GPG_MFPL (SYS_BA+0x0A0) /*!< GPIOG Low Byte Multiple Function Control Register */
#define REG_SYS_GPG_MFPH (SYS_BA+0x0A4) /*!< GPIOG High Byte Multiple Function Control Register */
#define REG_SYS_GPH_MFPL (SYS_BA+0x0A8) /*!< GPIOH Low Byte Multiple Function Control Register */
#define REG_SYS_GPH_MFPH (SYS_BA+0x0AC) /*!< GPIOH High Byte Multiple Function Control Register */
#define REG_SYS_GPI_MFPL (SYS_BA+0x0B0) /*!< GPIOI Low Byte Multiple Function Control Register */
#define REG_SYS_GPI_MFPH (SYS_BA+0x0B4) /*!< GPIOI High Byte Multiple Function Control Register */
#define REG_SYS_GPJ_MFPL (SYS_BA+0x0B8) /*!< GPIOJ Low Byte Multiple Function Control Register */
#define REG_SYS_DDR_DSCTL (SYS_BA+0x0F0) /*!< DDR I/O Driving Strength Control Register */
#define REG_SYS_PORDISCR (SYS_BA+0x100) /*!< Power-On-Reset Disable Control Register */
#define REG_SYS_ICEDBGCR (SYS_BA+0x104) /*!< ICE Debug Interface Control Register */
#define REG_SYS_ERRADDCR (SYS_BA+0x108) /*!< Error Response Address Control Regsiter */
#define REG_SYS_REGWPCTL (SYS_BA+0x1FC) /*!< Register Write-Protection Control Register */
/**@}*/ /* end of SYS register group */
/*---------------------- System Clock Controller -------------------------*/
/**
@addtogroup CLK System Clock Controller(CLK)
Memory Mapped Structure for CLK Controller
@{ */
#define REG_CLK_PMCON (CLK_BA+0x00) /*!< Power Management Control Register */
#define REG_CLK_HCLKEN (CLK_BA+0x10) /*!< AHB IP Clock Enable Control Register */
#define REG_CLK_PCLKEN0 (CLK_BA+0x18) /*!< APB IP Clock Enable Control Register 0 */
#define REG_CLK_PCLKEN1 (CLK_BA+0x1C) /*!< APB IP Clock Enable Control Register 1 */
#define REG_CLK_DIVCTL0 (CLK_BA+0x20) /*!< Clock Divider Control Register 0 */
#define REG_CLK_DIVCTL1 (CLK_BA+0x24) /*!< Clock Divider Control Register 1 */
#define REG_CLK_DIVCTL2 (CLK_BA+0x28) /*!< Clock Divider Control Register 2 */
#define REG_CLK_DIVCTL3 (CLK_BA+0x2C) /*!< Clock Divider Control Register 3 */
#define REG_CLK_DIVCTL4 (CLK_BA+0x30) /*!< Clock Divider Control Register 4 */
#define REG_CLK_DIVCTL5 (CLK_BA+0x34) /*!< Clock Divider Control Register 5 */
#define REG_CLK_DIVCTL6 (CLK_BA+0x38) /*!< Clock Divider Control Register 6 */
#define REG_CLK_DIVCTL7 (CLK_BA+0x3C) /*!< Clock Divider Control Register 7 */
#define REG_CLK_DIVCTL8 (CLK_BA+0x40) /*!< Clock Divider Control Register 8 */
#define REG_CLK_DIVCTL9 (CLK_BA+0x44) /*!< Clock Divider Control Register 9 */
#define REG_CLK_APLLCON (CLK_BA+0x60) /*!< APLL Control Register */
#define REG_CLK_UPLLCON (CLK_BA+0x64) /*!< UPLL Control Register */
#define REG_CLK_PLLSTBCNTR (CLK_BA+0x80) /*!< PLL Stable Counter and Test Clock Control Register */
/**@}*/ /* end of CLK register group */
/*---------------------- External Bus Interface Controller -------------------------*/
/**
@addtogroup EBI External Bus Interface Controller(EBI)
Memory Mapped Structure for EBI Controller
@{ */
#define REG_EBI_CTL (EBI_BA+0x000) /*!< EBI control register */
#define REG_EBI_BNKCTL0 (EBI_BA+0x018) /*!< External I/O 0 control register */
#define REG_EBI_BNKCTL1 (EBI_BA+0x01C) /*!< External I/O 1 control register */
#define REG_EBI_BNKCTL2 (EBI_BA+0x020) /*!< External I/O 2 control register */
#define REG_EBI_BNKCTL3 (EBI_BA+0x024) /*!< External I/O 3 control register */
#define REG_EBI_BNKCTL4 (EBI_BA+0x028) /*!< External I/O 4 control register */
/**@}*/ /* end of EBI register group */
/*---------------------- Analog to Digital Converter -------------------------*/
/**
@addtogroup ADC Analog to Digital Converter(ADC)
Memory Mapped Structure for ADC Controller
@{ */
#define REG_ADC_CTL (ADC_BA+0x000) /*!< ADC Contrl */
#define REG_ADC_CONF (ADC_BA+0x004) /*!< ADC Configure */
#define REG_ADC_IER (ADC_BA+0x008) /*!< ADC Interrupt Enable Register */
#define REG_ADC_ISR (ADC_BA+0x00C) /*!< ADC Interrupt Status Register */
#define REG_ADC_WKISR (ADC_BA+0x010) /*!< ADC Wake Up Interrupt Status Register */
#define REG_ADC_XYDATA (ADC_BA+0x020) /*!< ADC Touch XY Pressure Data */
#define REG_ADC_ZDATA (ADC_BA+0x024) /*!< ADC Touch Z Pressure Data */
#define REG_ADC_DATA (ADC_BA+0x028) /*!< ADC Normal Conversion Data */
#define REG_ADC_VBADATA (ADC_BA+0x02C) /*!< ADC Battery Detection Data */
#define REG_ADC_KPDATA (ADC_BA+0x030) /*!< ADC Key Pad Data */
#define REG_ADC_SELFDATA (ADC_BA+0x034) /*!< ADC Self-Test Data */
#define REG_ADC_XYSORT0 (ADC_BA+0x1F4) /*!< ADC Touch XY Position Mean Value Sort 0 */
#define REG_ADC_XYSORT1 (ADC_BA+0x1F8) /*!< ADC Touch XY Position Mean Value Sort 1 */
#define REG_ADC_XYSORT2 (ADC_BA+0x1FC) /*!< ADC Touch XY Position Mean Value Sort 2 */
#define REG_ADC_XYSORT3 (ADC_BA+0x200) /*!< ADC Touch XY Position Mean Value Sort 3 */
#define REG_ADC_ZSORT0 (ADC_BA+0x204) /*!< ADC Touch Z Pressure Mean Value Sort 0 */
#define REG_ADC_ZSORT1 (ADC_BA+0x208) /*!< ADC Touch Z Pressure Mean Value Sort 1 */
#define REG_ADC_ZSORT2 (ADC_BA+0x20C) /*!< ADC Touch Z Pressure Mean Value Sort 2 */
#define REG_ADC_ZSORT3 (ADC_BA+0x210) /*!< ADC Touch Z Pressure Mean Value Sort 3 */
#define REG_ADC_MTMULCK (ADC_BA+0x220) /*!< ADC Manual Test Mode Unlock */
#define REG_ADC_MTCONF (ADC_BA+0x224) /*!< ADC Manual Test Mode Configure */
#define REG_ADC_MTCON (ADC_BA+0x228) /*!< ADC Manual Test Mode Control */
#define REG_ADC_ADCAII (ADC_BA+0x22C) /*!< ADC Analog Interface Information */
#define REG_ADC_ADCAIIRLT (ADC_BA+0x230) /*!< ADC Analog Interface Information Result */
/**@}*/ /* end of ADC register group */
/*---------------------- Ethernet MAC Controller -------------------------*/
/**
@addtogroup EMAC Ethernet MAC Controller(EMAC)
Memory Mapped Structure for EMAC Controller
@{ */
#define REG_EMAC0_CAMCMR (EMC0_BA+0x000) /*!< CAM Command Register */
#define REG_EMAC0_CAMEN (EMC0_BA+0x004) /*!< CAM Enable Register */
#define REG_EMAC0_CAM0M (EMC0_BA+0x008) /*!< CAM0 Most Significant Word Register */
#define REG_EMAC0_CAM0L (EMC0_BA+0x00c) /*!< CAM0 Least Significant Word Register */
#define REG_EMAC0_CAMxM_Reg(x)(REG_EMAC0_CAM0M+(x)*0x8) /*!< CAMx Most Significant Word Register */
#define REG_EMAC0_CAMxL_Reg(x)(REG_EMAC0_CAM0L+(x)*0x8) /*!< CAMx Least Significant Word Register */
#define REG_EMAC0_TXDLSA (EMC0_BA+0x088) /*!< Transmit Descriptor Link List Start Address Register */
#define REG_EMAC0_RXDLSA (EMC0_BA+0x08C) /*!< Receive Descriptor Link List Start Address Register */
#define REG_EMAC0_MCMDR (EMC0_BA+0x090) /*!< MAC Command Register */
#define REG_EMAC0_MIID (EMC0_BA+0x094) /*!< MII Management Data Register */
#define REG_EMAC0_MIIDA (EMC0_BA+0x098) /*!< MII Management Control and Address Register */
#define REG_EMAC0_FFTCR (EMC0_BA+0x09C) /*!< FIFO Threshold Control Register */
#define REG_EMAC0_TSDR (EMC0_BA+0x0a0) /*!< Transmit Start Demand Register */
#define REG_EMAC0_RSDR (EMC0_BA+0x0a4) /*!< Receive Start Demand Register */
#define REG_EMAC0_DMARFC (EMC0_BA+0x0a8) /*!< Maximum Receive Frame Control Register */
#define REG_EMAC0_MIEN (EMC0_BA+0x0ac) /*!< MAC Interrupt Enable Register */
#define REG_EMAC0_MISTA (EMC0_BA+0x0b0) /*!< MAC Interrupt Status Register */
#define REG_EMAC0_MGSTA (EMC0_BA+0x0b4) /*!< MAC General Status Register */
#define REG_EMAC0_MPCNT (EMC0_BA+0x0b8) /*!< Missed Packet Count Register */
#define REG_EMAC0_MRPC (EMC0_BA+0x0bc) /*!< MAC Receive Pause Count Register */
#define REG_EMAC0_DMARFS (EMC0_BA+0x0c8) /*!< DMA Receive Frame Status Register */
#define REG_EMAC0_CTXDSA (EMC0_BA+0x0cc) /*!< Current Transmit Descriptor Start Address Register */
#define REG_EMAC0_CTXBSA (EMC0_BA+0x0d0) /*!< Current Transmit Buffer Start Address Register */
#define REG_EMAC0_CRXDSA (EMC0_BA+0x0d4) /*!< Current Receive Descriptor Start Address Register */
#define REG_EMAC0_CRXBSA (EMC0_BA+0x0d8) /*!< Current Receive Buffer Start Address Register */
#define REG_EMAC0_TSCTL (EMC0_BA+0x100) /*!< Time Stamp Control Register */
#define REG_EMAC0_TSSEC (EMC0_BA+0x110) /*!< Time Stamp Counter Second Register */
#define REG_EMAC0_TSSUBSEC (EMC0_BA+0x114) /*!< Time Stamp Counter Sub Second Register */
#define REG_EMAC0_TSINC (EMC0_BA+0x118) /*!< Time Stamp Increment Register */
#define REG_EMAC0_TSADDEN (EMC0_BA+0x11c) /*!< Time Stamp Addend Register */
#define REG_EMAC0_TSUPDSEC (EMC0_BA+0x120) /*!< Time Stamp Update Second Register */
#define REG_EMAC0_TSUPDSUBSEC (EMC0_BA+0x124) /*!< Time Stamp Update Sub Second Register */
#define REG_EMAC0_TSALMSEC (EMC0_BA+0x128) /*!< Time Stamp Alarm Second Register */
#define REG_EMAC0_TSALMSUBSEC (EMC0_BA+0x12c) /*!< Time Stamp Alarm Sub Second Register */
#define REG_EMAC1_CAMCMR (EMC1_BA+0x000) /*!< CAM Command Register */
#define REG_EMAC1_CAMEN (EMC1_BA+0x004) /*!< CAM Enable Register */
#define REG_EMAC1_CAM0M (EMC1_BA+0x008) /*!< CAM0 Most Significant Word Register */
#define REG_EMAC1_CAM0L (EMC1_BA+0x00c) /*!< CAM0 Least Significant Word Register */
#define REG_EMAC1_CAMxM_Reg(x)(REG_EMAC1_CAM0M+(x)*0x8) /*!< CAMx Most Significant Word Register */
#define REG_EMAC1_CAMxL_Reg(x)(REG_EMAC1_CAM0L+(x)*0x8) /*!< CAMx Least Significant Word Register */
#define REG_EMAC1_TXDLSA (EMC1_BA+0x088) /*!< Transmit Descriptor Link List Start Address Register */
#define REG_EMAC1_RXDLSA (EMC1_BA+0x08C) /*!< Receive Descriptor Link List Start Address Register */
#define REG_EMAC1_MCMDR (EMC1_BA+0x090) /*!< MAC Command Register */
#define REG_EMAC1_MIID (EMC1_BA+0x094) /*!< MII Management Data Register */
#define REG_EMAC1_MIIDA (EMC1_BA+0x098) /*!< MII Management Control and Address Register */
#define REG_EMAC1_FFTCR (EMC1_BA+0x09C) /*!< FIFO Threshold Control Register */
#define REG_EMAC1_TSDR (EMC1_BA+0x0a0) /*!< Transmit Start Demand Register */
#define REG_EMAC1_RSDR (EMC1_BA+0x0a4) /*!< Receive Start Demand Register */
#define REG_EMAC1_DMARFC (EMC1_BA+0x0a8) /*!< Maximum Receive Frame Control Register */
#define REG_EMAC1_MIEN (EMC1_BA+0x0ac) /*!< MAC Interrupt Enable Register */
#define REG_EMAC1_MISTA (EMC1_BA+0x0b0) /*!< MAC Interrupt Status Register */
#define REG_EMAC1_MGSTA (EMC1_BA+0x0b4) /*!< MAC General Status Register */
#define REG_EMAC1_MPCNT (EMC1_BA+0x0b8) /*!< Missed Packet Count Register */
#define REG_EMAC1_MRPC (EMC1_BA+0x0bc) /*!< MAC Receive Pause Count Register */
#define REG_EMAC1_DMARFS (EMC1_BA+0x0c8) /*!< DMA Receive Frame Status Register */
#define REG_EMAC1_CTXDSA (EMC1_BA+0x0cc) /*!< Current Transmit Descriptor Start Address Register */
#define REG_EMAC1_CTXBSA (EMC1_BA+0x0d0) /*!< Current Transmit Buffer Start Address Register */
#define REG_EMAC1_CRXDSA (EMC1_BA+0x0d4) /*!< Current Receive Descriptor Start Address Register */
#define REG_EMAC1_CRXBSA (EMC1_BA+0x0d8) /*!< Current Receive Buffer Start Address Register */
#define REG_EMAC1_TSCTL (EMC1_BA+0x100) /*!< Time Stamp Control Register */
#define REG_EMAC1_TSSEC (EMC1_BA+0x110) /*!< Time Stamp Counter Second Register */
#define REG_EMAC1_TSSUBSEC (EMC1_BA+0x114) /*!< Time Stamp Counter Sub Second Register */
#define REG_EMAC1_TSINC (EMC1_BA+0x118) /*!< Time Stamp Increment Register */
#define REG_EMAC1_TSADDEN (EMC1_BA+0x11c) /*!< Time Stamp Addend Register */
#define REG_EMAC1_TSUPDSEC (EMC1_BA+0x120) /*!< Time Stamp Update Second Register */
#define REG_EMAC1_TSUPDSUBSEC (EMC1_BA+0x124) /*!< Time Stamp Update Sub Second Register */
#define REG_EMAC1_TSALMSEC (EMC1_BA+0x128) /*!< Time Stamp Alarm Second Register */
#define REG_EMAC1_TSALMSUBSEC (EMC1_BA+0x12c) /*!< Time Stamp Alarm Sub Second Register */
/**@}*/ /* end of EMAC register group */
/*---------------------- USB Device Controller -------------------------*/
/**
@addtogroup USBD USB Device Controller(USBD)
Memory Mapped Structure for USBD Controller
@{ */
#define REG_USBD_GINTSTS (USBD_BA+0x00) /*!< Interrupt Status Low Register */
#define REG_USBD_GINTEN (USBD_BA+0x08) /*!< Interrupt Enable Low Register */
#define REG_USBD_BUSINTSTS (USBD_BA+0x10) /*!< USB Bus Interrupt Status Register */
#define REG_USBD_BUSINTEN (USBD_BA+0x14) /*!< USB Bus Interrupt Enable Register */
#define REG_USBD_OPER (USBD_BA+0x18) /*!< USB Operational Register */
#define REG_USBD_FRAMECNT (USBD_BA+0x1C) /*!< USB Frame Count Register */
#define REG_USBD_FADDR (USBD_BA+0x20) /*!< USB Function Address Register */
#define REG_USBD_TEST (USBD_BA+0x24) /*!< USB Test Mode Register */
#define REG_USBD_CEPDAT (USBD_BA+0x28) /*!< Control-ep data buffer register */
#define REG_USBD_CEPCTL (USBD_BA+0x2C) /*!< Control-ep control and status register */
#define REG_USBD_CEPINTEN (USBD_BA+0x30) /*!< Control-ep interrupt enable register */
#define REG_USBD_CEPINTSTS (USBD_BA+0x34) /*!< Control-ep interrupt status register */
#define REG_USBD_CEPTXCNT (USBD_BA+0x38) /*!< In-transfer data count register */
#define REG_USBD_CEPRXCNT (USBD_BA+0x3C) /*!< Out-transfer data count register */
#define REG_USBD_CEPDATCNT (USBD_BA+0x40) /*!< Control-ep data count register */
#define REG_USBD_SETUP1_0 (USBD_BA+0x44) /*!< Setup byte1 & byte0 register */
#define REG_USBD_SETUP3_2 (USBD_BA+0x48) /*!< Setup byte3 & byte2 register */
#define REG_USBD_SETUP5_4 (USBD_BA+0x4C) /*!< Setup byte5 & byte4 register */
#define REG_USBD_SETUP7_6 (USBD_BA+0x50) /*!< Setup byte7 & byte6 register */
#define REG_USBD_CEPBUFSTART (USBD_BA+0x54) /*!< Control-ep ram start address register */
#define REG_USBD_CEPBUFEND (USBD_BA+0x58) /*!< Control-ep ram end address register */
#define REG_USBD_DMACTL (USBD_BA+0x5C) /*!< Dma control and status register */
#define REG_USBD_DMACNT (USBD_BA+0x60) /*!< Dma count register */
#define REG_USBD_EPADAT (USBD_BA+0x64) /*!< Endpoint A data buffer register */
#define REG_USBD_EPAINTSTS (USBD_BA+0x68) /*!< Endpoint A interrupt status register */
#define REG_USBD_EPAINTEN (USBD_BA+0x6C) /*!< Endpoint A interrupt enable register */
#define REG_USBD_EPADATCNT (USBD_BA+0x70) /*!< Data count available in endpoint A buffer */
#define REG_USBD_EPARSPCTL (USBD_BA+0x74) /*!< Endpoint A response register set/clear */
#define REG_USBD_EPAMPS (USBD_BA+0x78) /*!< Endpoint A max packet size register */
#define REG_USBD_EPATXCNT (USBD_BA+0x7C) /*!< Endpoint A transfer count register */
#define REG_USBD_EPACFG (USBD_BA+0x80) /*!< Endpoint A configuration register */
#define REG_USBD_EPABUFSTART (USBD_BA+0x84) /*!< Endpoint A ram start address register */
#define REG_USBD_EPABUFEND (USBD_BA+0x88) /*!< Endpoint A ram end address register */
#define REG_USBD_EPBDAT (USBD_BA+0x8C) /*!< Endpoint B data buffer register */
#define REG_USBD_EPBINTSTS (USBD_BA+0x90) /*!< Endpoint B interrupt status register */
#define REG_USBD_EPBINTEN (USBD_BA+0x94) /*!< Endpoint B interrupt enable register */
#define REG_USBD_EPBDATCNT (USBD_BA+0x98) /*!< Data count available in endpoint B buffer */
#define REG_USBD_EPBRSPCTL (USBD_BA+0x9C) /*!< Endpoint B response register set/clear */
#define REG_USBD_EPBMPS (USBD_BA+0xA0) /*!< Endpoint B max packet size register */
#define REG_USBD_EPBTXCNT (USBD_BA+0xA4) /*!< Endpoint B transfer count register */
#define REG_USBD_EPBCFG (USBD_BA+0xA8) /*!< Endpoint B configuration register */
#define REG_USBD_EPBBUFSTART (USBD_BA+0xAC) /*!< Endpoint B ram start address register */
#define REG_USBD_EPBBUFEND (USBD_BA+0xB0) /*!< Endpoint B ram end address register */
#define REG_USBD_EPCDAT (USBD_BA+0xB4) /*!< Endpoint C data buffer register */
#define REG_USBD_EPCINTSTS (USBD_BA+0xB8) /*!< Endpoint C interrupt status register */
#define REG_USBD_EPCINTEN (USBD_BA+0xBC) /*!< Endpoint C interrupt enable register */
#define REG_USBD_EPCDATCNT (USBD_BA+0xC0) /*!< Data count available in endpoint C buffer */
#define REG_USBD_EPCRSPCTL (USBD_BA+0xC4) /*!< Endpoint C response register set/clear */
#define REG_USBD_EPCMPS (USBD_BA+0xC8) /*!< Endpoint C max packet size register */
#define REG_USBD_EPCTXCNT (USBD_BA+0xCC) /*!< Endpoint C transfer count register */
#define REG_USBD_EPCCFG (USBD_BA+0xD0) /*!< Endpoint C configuration register */
#define REG_USBD_EPCBUFSTART (USBD_BA+0xD4) /*!< Endpoint C ram start address register */
#define REG_USBD_EPCBUFEND (USBD_BA+0xD8) /*!< Endpoint C ram end address register */
#define REG_USBD_EPDDAT (USBD_BA+0xDC) /*!< Endpoint D data buffer register */
#define REG_USBD_EPDINTSTS (USBD_BA+0xE0) /*!< Endpoint D interrupt status register */
#define REG_USBD_EPDINTEN (USBD_BA+0xE4) /*!< Endpoint D interrupt enable register */
#define REG_USBD_EPDDATCNT (USBD_BA+0xE8) /*!< Data count available in endpoint D buffer */
#define REG_USBD_EPDRSPCTL (USBD_BA+0xEC) /*!< Endpoint D response register set/clear */
#define REG_USBD_EPDMPS (USBD_BA+0xF0) /*!< Endpoint D max packet size register */
#define REG_USBD_EPDTXCNT (USBD_BA+0xF4) /*!< Endpoint D transfer count register */
#define REG_USBD_EPDCFG (USBD_BA+0xF8) /*!< Endpoint D configuration register */
#define REG_USBD_EPDBUFSTART (USBD_BA+0xFC) /*!< Endpoint D ram start address register */
#define REG_USBD_EPDBUFEND (USBD_BA+0x100) /*!< Endpoint D ram end address register */
#define REG_USBD_EPEDAT (USBD_BA+0x104) /*!< Endpoint E data buffer register */
#define REG_USBD_EPEINTSTS (USBD_BA+0x108) /*!< Endpoint E interrupt status register */
#define REG_USBD_EPEINTEN (USBD_BA+0x10C) /*!< Endpoint E interrupt enable register */
#define REG_USBD_EPEDATCNT (USBD_BA+0x110) /*!< Data count available in endpoint E buffer */
#define REG_USBD_EPERSPCTL (USBD_BA+0x114) /*!< Endpoint E response register set/clear */
#define REG_USBD_EPEMPS (USBD_BA+0x118) /*!< Endpoint E max packet size register */
#define REG_USBD_EPETXCNT (USBD_BA+0x11C) /*!< Endpoint E transfer count register */
#define REG_USBD_EPECFG (USBD_BA+0x120) /*!< Endpoint E configuration register */
#define REG_USBD_EPEBUFSTART (USBD_BA+0x124) /*!< Endpoint E ram start address register */
#define REG_USBD_EPEBUFEND (USBD_BA+0x128) /*!< Endpoint E ram end address register */
#define REG_USBD_EPFDAT (USBD_BA+0x12C) /*!< Endpoint F data buffer register */
#define REG_USBD_EPFINTSTS (USBD_BA+0x130) /*!< Endpoint F interrupt status register */
#define REG_USBD_EPFINTEN (USBD_BA+0x134) /*!< Endpoint F interrupt enable register */
#define REG_USBD_EPFDATCNT (USBD_BA+0x138) /*!< Data count available in endpoint F buffer */
#define REG_USBD_EPFRSPCTL (USBD_BA+0x13C) /*!< Endpoint F response register set/clear */
#define REG_USBD_EPFMPS (USBD_BA+0x140) /*!< Endpoint F max packet size register */
#define REG_USBD_EPFTXCNT (USBD_BA+0x144) /*!< Endpoint F transfer count register */
#define REG_USBD_EPFCFG (USBD_BA+0x148) /*!< Endpoint F configuration register */
#define REG_USBD_EPFBUFSTART (USBD_BA+0x14C) /*!< Endpoint F ram start address register */
#define REG_USBD_EPFBUFEND (USBD_BA+0x150) /*!< Endpoint F ram end address register */
#define REG_USBD_EPGDAT (USBD_BA+0x154) /*!< Endpoint G data buffer register */
#define REG_USBD_EPGINTSTS (USBD_BA+0x158) /*!< Endpoint G interrupt status register */
#define REG_USBD_EPGINTEN (USBD_BA+0x15C) /*!< Endpoint G interrupt enable register */
#define REG_USBD_EPGDATCNT (USBD_BA+0x160) /*!< Data count available in endpoint G buffer */
#define REG_USBD_EPGRSPCTL (USBD_BA+0x164) /*!< Endpoint G response register set/clear */
#define REG_USBD_EPGMPS (USBD_BA+0x168) /*!< Endpoint G max packet size register */
#define REG_USBD_EPGTXCNT (USBD_BA+0x16C) /*!< Endpoint G transfer count register */
#define REG_USBD_EPGCFG (USBD_BA+0x170) /*!< Endpoint G configuration register */
#define REG_USBD_EPGBUFSTART (USBD_BA+0x174) /*!< Endpoint G ram start address register */
#define REG_USBD_EPGBUFEND (USBD_BA+0x178) /*!< Endpoint G ram end address register */
#define REG_USBD_EPHDAT (USBD_BA+0x17C) /*!< Endpoint H data buffer register */
#define REG_USBD_EPHINTSTS (USBD_BA+0x180) /*!< Endpoint H interrupt status register */
#define REG_USBD_EPHINTEN (USBD_BA+0x184) /*!< Endpoint H interrupt enable register */
#define REG_USBD_EPHDATCNT (USBD_BA+0x188) /*!< Data count available in endpoint H buffer */
#define REG_USBD_EPHRSPCTL (USBD_BA+0x18C) /*!< Endpoint H response register set/clear */
#define REG_USBD_EPHMPS (USBD_BA+0x190) /*!< Endpoint H max packet size register */
#define REG_USBD_EPHTXCNT (USBD_BA+0x194) /*!< Endpoint H transfer count register */
#define REG_USBD_EPHCFG (USBD_BA+0x198) /*!< Endpoint H configuration register */
#define REG_USBD_EPHBUFSTART (USBD_BA+0x19C) /*!< Endpoint H ram start address register */
#define REG_USBD_EPHBUFEND (USBD_BA+0x1A0) /*!< Endpoint H ram end address register */
#define REG_USBD_EPIDAT (USBD_BA+0x1A4) /*!< Endpoint I data buffer register */
#define REG_USBD_EPIINTSTS (USBD_BA+0x1A8) /*!< Endpoint I interrupt status register */
#define REG_USBD_EPIINTEN (USBD_BA+0x1AC) /*!< Endpoint I interrupt enable register */
#define REG_USBD_EPIDATCNT (USBD_BA+0x1B0) /*!< Data count available in endpoint I buffer */
#define REG_USBD_EPIRSPCTL (USBD_BA+0x1B4) /*!< Endpoint I response register set/clear */
#define REG_USBD_EPIMPS (USBD_BA+0x1B8) /*!< Endpoint I max packet size register */
#define REG_USBD_EPITXCNT (USBD_BA+0x1BC) /*!< Endpoint I transfer count register */
#define REG_USBD_EPICFG (USBD_BA+0x1C0) /*!< Endpoint I configuration register */
#define REG_USBD_EPIBUFSTART (USBD_BA+0x1C4) /*!< Endpoint I ram start address register */
#define REG_USBD_EPIBUFEND (USBD_BA+0x1C8) /*!< Endpoint I ram end address register */
#define REG_USBD_EPJDAT (USBD_BA+0x1CC) /*!< Endpoint J data buffer register */
#define REG_USBD_EPJINTSTS (USBD_BA+0x1D0) /*!< Endpoint J interrupt status register */
#define REG_USBD_EPJINTEN (USBD_BA+0x1D4) /*!< Endpoint J interrupt enable register */
#define REG_USBD_EPJDATCNT (USBD_BA+0x1D8) /*!< Data count available in endpoint J buffer */
#define REG_USBD_EPJRSPCTL (USBD_BA+0x1DC) /*!< Endpoint J response register set/clear */
#define REG_USBD_EPJMPS (USBD_BA+0x1E0) /*!< Endpoint J max packet size register */
#define REG_USBD_EPJTXCNT (USBD_BA+0x1E4) /*!< Endpoint J transfer count register */
#define REG_USBD_EPJCFG (USBD_BA+0x1E8) /*!< Endpoint J configuration register */
#define REG_USBD_EPJBUFSTART (USBD_BA+0x1EC) /*!< Endpoint J ram start address register */
#define REG_USBD_EPJBUFEND (USBD_BA+0x1F0) /*!< Endpoint J ram end address register */
#define REG_USBD_EPKDAT (USBD_BA+0x1F4) /*!< Endpoint K data buffer register */
#define REG_USBD_EPKINTSTS (USBD_BA+0x1F8) /*!< Endpoint K interrupt status register */
#define REG_USBD_EPKINTEN (USBD_BA+0x1FC) /*!< Endpoint K interrupt enable register */
#define REG_USBD_EPKDATCNT (USBD_BA+0x200) /*!< Data count available in endpoint K buffer */
#define REG_USBD_EPKRSPCTL (USBD_BA+0x204) /*!< Endpoint K response register set/clear */
#define REG_USBD_EPKMPS (USBD_BA+0x208) /*!< Endpoint K max packet size register */
#define REG_USBD_EPKTXCNT (USBD_BA+0x20C) /*!< Endpoint K transfer count register */
#define REG_USBD_EPKCFG (USBD_BA+0x210) /*!< Endpoint K configuration register */
#define REG_USBD_EPKBUFSTART (USBD_BA+0x214) /*!< Endpoint K ram start address register */
#define REG_USBD_EPKBUFEND (USBD_BA+0x218) /*!< Endpoint K ram end address register */
#define REG_USBD_EPLDAT (USBD_BA+0x21C) /*!< Endpoint L data buffer register */
#define REG_USBD_EPLINTSTS (USBD_BA+0x220) /*!< Endpoint L interrupt status register */
#define REG_USBD_EPLINTEN (USBD_BA+0x224) /*!< Endpoint L interrupt enable register */
#define REG_USBD_EPLDATCNT (USBD_BA+0x228) /*!< Data count available in endpoint L buffer */
#define REG_USBD_EPLRSPCTL (USBD_BA+0x22C) /*!< Endpoint L response register set/clear */
#define REG_USBD_EPLMPS (USBD_BA+0x230) /*!< Endpoint L max packet size register */
#define REG_USBD_EPLTXCNT (USBD_BA+0x234) /*!< Endpoint L transfer count register */
#define REG_USBD_EPLCFG (USBD_BA+0x238) /*!< Endpoint L configuration register */
#define REG_USBD_EPLBUFSTART (USBD_BA+0x23C) /*!< Endpoint L ram start address register */
#define REG_USBD_EPLBUFEND (USBD_BA+0x240) /*!< Endpoint L ram end address register */
#define REG_USBD_DMAADDR (USBD_BA+0x700) /*!< AHB_DMA address register */
#define REG_USBD_PHYCTL (USBD_BA+0x704) /*!< USB PHY control register */
/**@}*/ /* end of USBD register group */
/*---------------------- I2S Interface Controller -------------------------*/
/**
@addtogroup I2S I2S Interface Controller(I2S)
Memory Mapped Structure for I2S Controller
@{ */
#define REG_I2S_CON (I2S_BA+0x00) /*!< Audio controller control register */
#define REG_I2S_RESET (I2S_BA+0x04) /*!< Sub block reset control register */
#define REG_I2S_RDESB (I2S_BA+0x08) /*!< DMA destination base address register for record */
#define REG_I2S_RDES_LENGTH (I2S_BA+0x0C) /*!< DMA destination length register for record */
#define REG_I2S_RDESC (I2S_BA+0x10) /*!< DMA destination current address for record */
#define REG_I2S_PDESB (I2S_BA+0x14) /*!< DMA destination current address for play */
#define REG_I2S_PDES_LENGTH (I2S_BA+0x18) /*!< DMA destination length register for play */
#define REG_I2S_PDESC (I2S_BA+0x1C) /*!< DMA destination current address register for play */
#define REG_I2S_RSR (I2S_BA+0x20) /*!< Record status register */
#define REG_I2S_PSR (I2S_BA+0x24) /*!< Play status register */
#define REG_I2S_I2SCON (I2S_BA+0x28) /*!< I2S control register */
#define REG_I2S_COUNTER (I2S_BA+0x2C) /*!< DMA count down values */
#define REG_I2S_PCMCON (I2S_BA+0x30) /*!< PCM interface control register */
#define REG_I2S_PCMS1ST (I2S_BA+0x34) /*!< PCM interface slot1 start register */
#define REG_I2S_PCMS2ST (I2S_BA+0x38) /*!< PCM interface slot2 start register */
#define REG_I2S_RDESB2 (I2S_BA+0x40) /*!< DMA destination base address register for record right channel */
#define REG_I2S_PDESB2 (I2S_BA+0x44) /*!< DMA destination base address register for play right channel */
/**@}*/ /* end of I2S register group */
/*---------------------- Flash Memory Interface -------------------------*/
/**
@addtogroup FMI Flash Memory Interface(FMI)
Memory Mapped Structure for FMI Controller
@{ */
/* DMAC Control Registers*/
#define REG_FMI_BUFFER (FMI_BA+0x000) /*!< FMI Embedded Buffer Word */
#define REG_FMI_DMACTL (FMI_BA+0x400) /*!< FMI DMA Control Register */
#define REG_FMI_DMASA (FMI_BA+0x408) /*!< FMI DMA Transfer Starting Address Register */
#define REG_FMI_DMABCNT (FMI_BA+0x40C) /*!< FMI DMA Transfer Byte Count Register */
#define REG_FMI_DMAINTEN (FMI_BA+0x410) /*!< FMI DMA Interrupt Enable Register */
#define REG_FMI_DMAINTSTS (FMI_BA+0x414) /*!< FMI DMA Interrupt Status Register */
#define REG_FMI_CTL (FMI_BA+0x800) /*!< Global Control and Status Register */
#define REG_FMI_INTEN (FMI_BA+0x804) /*!< Global Interrupt Control Register */
#define REG_FMI_INTSTS (FMI_BA+0x808) /*!< Global Interrupt Status Register */
/* eMMC Registers */
#define REG_FMI_EMMCCTL (FMI_BA+0x820) /*!< eMMC control and status register */
#define REG_FMI_EMMCCMD (FMI_BA+0x824) /*!< eMMC command argument register */
#define REG_FMI_EMMCINTEN (FMI_BA+0x828) /*!< eMMC interrupt enable register */
#define REG_FMI_EMMCINTSTS (FMI_BA+0x82C) /*!< eMMC interrupt status register */
#define REG_FMI_EMMCRESP0 (FMI_BA+0x830) /*!< eMMC receive response token register 0 */
#define REG_FMI_EMMCRESP1 (FMI_BA+0x834) /*!< eMMC receive response token register 1 */
#define REG_FMI_EMMCBLEN (FMI_BA+0x838) /*!< eMMC block length register */
#define REG_FMI_EMMCTOUT (FMI_BA+0x83C) /*!< eMMC block length register */
/* NAND-type Flash Registers */
#define REG_NANDCTL (FMI_BA+0x8A0) /*!< NAND Flash Control and Status Register */
#define REG_NANDTMCTL (FMI_BA+0x8A4) /*!< NAND Flash Timing Control Register */
#define REG_NANDINTEN (FMI_BA+0x8A8) /*!< NAND Flash Interrupt Control Register */
#define REG_NANDINTSTS (FMI_BA+0x8AC) /*!< NAND Flash Interrupt Status Register */
#define REG_NANDCMD (FMI_BA+0x8B0) /*!< NAND Flash Command Port Register */
#define REG_NANDADDR (FMI_BA+0x8B4) /*!< NAND Flash Address Port Register */
#define REG_NANDDATA (FMI_BA+0x8B8) /*!< NAND Flash Data Port Register */
#define REG_NANDRACTL (FMI_BA+0x8BC) /*!< NAND Flash Redundant Area Control Register */
#define REG_NANDECTL (FMI_BA+0x8C0) /*!< NAND Flash Extend Control Regsiter */
#define REG_NANDECCES0 (FMI_BA+0x8D0) /*!< NAND Flash ECC Error Status 0 */
#define REG_NANDECCES1 (FMI_BA+0x8D4) /*!< NAND Flash ECC Error Status 1 */
#define REG_NANDECCES2 (FMI_BA+0x8D8) /*!< NAND Flash ECC Error Status 2 */
#define REG_NANDECCES3 (FMI_BA+0x8DC) /*!< NAND Flash ECC Error Status 3 */
#define REG_NANDPROTA0 (FMI_BA+0x8E0) /*!< NAND Flash Protect Region End Address 0 */
#define REG_NANDPROTA1 (FMI_BA+0x8E4) /*!< NAND Flash Protect Region End Address 1 */
/* NAND-type Flash BCH Error Address Registers */
#define REG_NANDECCEA0 (FMI_BA+0x900) /*!< NAND Flash ECC Error Byte Address 0 */
#define REG_NANDECCEA1 (FMI_BA+0x904) /*!< NAND Flash ECC Error Byte Address 1 */
#define REG_NANDECCEA2 (FMI_BA+0x908) /*!< NAND Flash ECC Error Byte Address 2 */
#define REG_NANDECCEA3 (FMI_BA+0x90C) /*!< NAND Flash ECC Error Byte Address 3 */
#define REG_NANDECCEA4 (FMI_BA+0x910) /*!< NAND Flash ECC Error Byte Address 4 */
#define REG_NANDECCEA5 (FMI_BA+0x914) /*!< NAND Flash ECC Error Byte Address 5 */
#define REG_NANDECCEA6 (FMI_BA+0x918) /*!< NAND Flash ECC Error Byte Address 6 */
#define REG_NANDECCEA7 (FMI_BA+0x91C) /*!< NAND Flash ECC Error Byte Address 7 */
#define REG_NANDECCEA8 (FMI_BA+0x920) /*!< NAND Flash ECC Error Byte Address 8 */
#define REG_NANDECCEA9 (FMI_BA+0x924) /*!< NAND Flash ECC Error Byte Address 9 */
#define REG_NANDECCEA10 (FMI_BA+0x928) /*!< NAND Flash ECC Error Byte Address 10 */
#define REG_NANDECCEA11 (FMI_BA+0x92C) /*!< NAND Flash ECC Error Byte Address 11 */
/* NAND-type Flash BCH Error Data Registers */
#define REG_NANDECCED0 (FMI_BA+0x960) /*!< NAND Flash ECC Error Data Register 0 */
#define REG_NANDECCED1 (FMI_BA+0x964) /*!< NAND Flash ECC Error Data Register 1 */
#define REG_NANDECCED2 (FMI_BA+0x968) /*!< NAND Flash ECC Error Data Register 2 */
#define REG_NANDECCED3 (FMI_BA+0x96C) /*!< NAND Flash ECC Error Data Register 3 */
#define REG_NANDECCED4 (FMI_BA+0x970) /*!< NAND Flash ECC Error Data Register 4 */
#define REG_NANDECCED5 (FMI_BA+0x974) /*!< NAND Flash ECC Error Data Register 5 */
/* NAND-type Flash Redundant Area Registers */
#define REG_NANDRA0 (FMI_BA+0xA00) /*!< NAND Flash Redundant Area Register */
#define REG_NANDRA1 (FMI_BA+0xA04) /*!< NAND Flash Redundant Area Register */
/**@}*/ /* end of FMI register group */
/*---------------------- SD/SDIO Host Controller -------------------------*/
/**
@addtogroup SDH SD/SDIO Host Controller(SDH)
Memory Mapped Structure for SDH Controller
@{ */
/* DMAC Control Registers*/
#define REG_SDH_FB0 (SDH_BA+0x000) /*!< SD Host Embedded Buffer Word */
#define REG_SDH_DMACTL (SDH_BA+0x400) /*!< SD Host DMA Control and Status Register */
#define REG_SDH_DMASA (SDH_BA+0x408) /*!< SD Host DMA Transfer Starting Address Register */
#define REG_SDH_DMABCNT (SDH_BA+0x40C) /*!< SD Host DMA Transfer Byte Count Register */
#define REG_SDH_DMAINTEN (SDH_BA+0x410) /*!< SD Host DMA Interrupt Enable Register */
#define REG_SDH_DMAINTSTS (SDH_BA+0x414) /*!< SD Host DMA Interrupt Status Register */
#define REG_SDH_GCTL (SDH_BA+0x800) /*!< SD Host Global Control and Status Register */
#define REG_SDH_GINTEN (SDH_BA+0x804) /*!< SD Host Global Interrupt Control Register */
#define REG_SDH_GINTSTS (SDH_BA+0x808) /*!< SD Host Global Interrupt Status Register */
/* Secure Digit Registers */
#define REG_SDH_CTL (SDH_BA+0x820) /*!< SD Host control and status register */
#define REG_SDH_CMD (SDH_BA+0x824) /*!< SD Host command argument register */
#define REG_SDH_INTEN (SDH_BA+0x828) /*!< SD Host interrupt enable register */
#define REG_SDH_INTSTS (SDH_BA+0x82C) /*!< SD Host interrupt status register */
#define REG_SDH_RESP0 (SDH_BA+0x830) /*!< SD Host receive response token register 0 */
#define REG_SDH_RESP1 (SDH_BA+0x834) /*!< SD Host receive response token register 1 */
#define REG_SDH_BLEN (SDH_BA+0x838) /*!< SD Host block length register */
#define REG_SDH_TMOUT (SDH_BA+0x83C) /*!< SD Host Response/Data-in Time-out register */
#define REG_SDH_ECTL (SDH_BA+0x840) /*!< SD Host Extend Control Register */
/**@}*/ /* end of SDH register group */
/*---------------------- Serial Peripheral Interface Controller -------------------------*/
/**
@addtogroup SPI Serial Peripheral Interface Controller(SPI)
Memory Mapped Structure for SPI Controller
@{ */
#define REG_QSPI0_CTL (QSPI0_BA+0x00) /*!< Control Register Address */
#define REG_QSPI0_CLKDIV (QSPI0_BA+0x04) /*!< Divider Register Address */
#define REG_QSPI0_SSCTL (QSPI0_BA+0x08) /*!< Slave Select Register Address */
#define REG_QSPI0_PDMACTL (QSPI0_BA+0x0C) /*!< PDMA Control Register Address */
#define REG_QSPI0_FIFOCTL (QSPI0_BA+0x10) /*!< FIFO Control Register Address */
#define REG_QSPI0_STATUS (QSPI0_BA+0x14) /*!< Status Register Address */
#define REG_QSPI0_TX (QSPI0_BA+0x20) /*!< Data Transmit Register Address */
#define REG_QSPI0_RX (QSPI0_BA+0x30) /*!< Data Receive Register Address */
#define REG_SPI0_CTL (SPI0_BA+0x00) /*!< Control Register Address */
#define REG_SPI0_CLKDIV (SPI0_BA+0x04) /*!< Divider Register Address */
#define REG_SPI0_SSCTL (SPI0_BA+0x08) /*!< Slave Select Register Address */
#define REG_SPI0_PDMACTL (SPI0_BA+0x0C) /*!< PDMA Control Register Address */
#define REG_SPI0_FIFOCTL (SPI0_BA+0x10) /*!< FIFO Control Register Address */
#define REG_SPI0_STATUS (SPI0_BA+0x14) /*!< Status Register Address */
#define REG_SPI0_TX (SPI0_BA+0x20) /*!< Data Transmit Register Address */
#define REG_SPI0_RX (SPI0_BA+0x30) /*!< Data Receive Register Address */
#define REG_SPI1_CTL (SPI1_BA+0x00) /*!< Control Register Address */
#define REG_SPI1_CLKDIV (SPI1_BA+0x04) /*!< Divider Register Address */
#define REG_SPI1_SSCTL (SPI1_BA+0x08) /*!< Slave Select Register Address */
#define REG_SPI1_PDMACTL (SPI1_BA+0x0C) /*!< PDMA Control Register Address */
#define REG_SPI1_FIFOCTL (SPI1_BA+0x10) /*!< FIFO Control Register Address */
#define REG_SPI1_STATUS (SPI1_BA+0x14) /*!< Status Register Address */
#define REG_SPI1_TX (SPI1_BA+0x20) /*!< Data Transmit Register Address */
#define REG_SPI1_RX (SPI1_BA+0x30) /*!< Data Receive Register Address */
/**@}*/ /* end of SPI register group */
/*---------------------- Cryptographic Accelerator -------------------------*/
/**
@addtogroup CRYPTO Cryptographic Accelerator(CRYPTO)
Memory Mapped Structure for Cryptographic Accelerator registers
@{ */
/* Crypto Control Registers */
#define CRPT_INTEN (CRPT_BA+0x000) /*!< Crypto Interrupt Enable Control Register */
#define CRPT_INTSTS (CRPT_BA+0x004) /*!< Crypto Interrupt Flag */
/* PRNG Registers */
#define CRPT_PRNG_CTL (CRPT_BA+0x008) /*!< PRNG Control Register */
#define CRPT_PRNG_SEED (CRPT_BA+0x00C) /*!< Seed for PRNG */
#define CRPT_PRNG_KEY0 (CRPT_BA+0x010) /*!< PRNG Generated Key 0 */
#define CRPT_PRNG_KEY1 (CRPT_BA+0x014) /*!< PRNG Generated Key 1 */
#define CRPT_PRNG_KEY2 (CRPT_BA+0x018) /*!< PRNG Generated Key 2 */
#define CRPT_PRNG_KEY3 (CRPT_BA+0x01C) /*!< PRNG Generated Key 3 */
#define CRPT_PRNG_KEY4 (CRPT_BA+0x020) /*!< PRNG Generated Key 4 */
#define CRPT_PRNG_KEY5 (CRPT_BA+0x024) /*!< PRNG Generated Key 5 */
#define CRPT_PRNG_KEY6 (CRPT_BA+0x028) /*!< PRNG Generated Key 6 */
#define CRPT_PRNG_KEY7 (CRPT_BA+0x02C) /*!< PRNG Generated Key 7 */
/* AES/TDES feedback Registers */
#define CRPT_AES_FDBCK0 (CRPT_BA+0x050) /*!< AES Engine Output Feedback Data after Cryptographic Operation */
#define CRPT_AES_FDBCK1 (CRPT_BA+0x054) /*!< AES Engine Output Feedback Data after Cryptographic Operation */
#define CRPT_AES_FDBCK2 (CRPT_BA+0x058) /*!< AES Engine Output Feedback Data after Cryptographic Operation */
#define CRPT_AES_FDBCK3 (CRPT_BA+0x05C) /*!< AES Engine Output Feedback Data after Cryptographic Operation */
#define CRPT_TDES_FDBCKH (CRPT_BA+0x060) /*!< TDES/DES Engine Output Feedback High Word Data after Cryptographic Operation */
#define CRPT_TDES_FDBCKL (CRPT_BA+0x064) /*!< TDES/DES Engine Output Feedback Low Word Data after Cryptographic Operation */
/* AES Control Registers */
#define CRPT_AES_CTL (CRPT_BA+0x100) /*!< AES Control Register */
#define CRPT_AES_STS (CRPT_BA+0x104) /*!< AES Engine Flag */
#define CRPT_AES_DATIN (CRPT_BA+0x108) /*!< AES Engine Data Input Port Register */
#define CRPT_AES_DATOUT (CRPT_BA+0x10C) /*!< AES Engine Data Output Port Register */
#define CRPT_AES0_KEY0 (CRPT_BA+0x110) /*!< AES Key Word 0 Register for Channel 0 */
#define CRPT_AES0_KEY1 (CRPT_BA+0x114) /*!< AES Key Word 1 Register for Channel 0 */
#define CRPT_AES0_KEY2 (CRPT_BA+0x118) /*!< AES Key Word 2 Register for Channel 0 */
#define CRPT_AES0_KEY3 (CRPT_BA+0x11C) /*!< AES Key Word 3 Register for Channel 0 */
#define CRPT_AES0_KEY4 (CRPT_BA+0x120) /*!< AES Key Word 4 Register for Channel 0 */
#define CRPT_AES0_KEY5 (CRPT_BA+0x124) /*!< AES Key Word 5 Register for Channel 0 */
#define CRPT_AES0_KEY6 (CRPT_BA+0x128) /*!< AES Key Word 6 Register for Channel 0 */
#define CRPT_AES0_KEY7 (CRPT_BA+0x12C) /*!< AES Key Word 7 Register for Channel 0 */
#define CRPT_AES0_IV0 (CRPT_BA+0x130) /*!< AES Initial Vector Word 0 Register for Channel 0 */
#define CRPT_AES0_IV1 (CRPT_BA+0x134) /*!< AES Initial Vector Word 1 Register for Channel 0 */
#define CRPT_AES0_IV2 (CRPT_BA+0x138) /*!< AES Initial Vector Word 2 Register for Channel 0 */
#define CRPT_AES0_IV3 (CRPT_BA+0x13C) /*!< AES Initial Vector Word 3 Register for Channel 0 */
#define CRPT_AES0_SADDR (CRPT_BA+0x140) /*!< AES DMA Source Address Register for Channel 0 */
#define CRPT_AES0_DADDR (CRPT_BA+0x144) /*!< AES DMA Destination Address Register for Channel 0 */
#define CRPT_AES0_CNT (CRPT_BA+0x148) /*!< AES Byte Count Register for Channel 0 */
#define CRPT_AES1_KEY0 (CRPT_BA+0x14C) /*!< AES Key Word 0 Register for Channel 1 */
#define CRPT_AES1_KEY1 (CRPT_BA+0x150) /*!< AES Key Word 1 Register for Channel 1 */
#define CRPT_AES1_KEY2 (CRPT_BA+0x154) /*!< AES Key Word 2 Register for Channel 1 */
#define CRPT_AES1_KEY3 (CRPT_BA+0x158) /*!< AES Key Word 3 Register for Channel 1 */
#define CRPT_AES1_KEY4 (CRPT_BA+0x15C) /*!< AES Key Word 4 Register for Channel 1 */
#define CRPT_AES1_KEY5 (CRPT_BA+0x160) /*!< AES Key Word 5 Register for Channel 1 */
#define CRPT_AES1_KEY6 (CRPT_BA+0x164) /*!< AES Key Word 6 Register for Channel 1 */
#define CRPT_AES1_KEY7 (CRPT_BA+0x168) /*!< AES Key Word 7 Register for Channel 1 */
#define CRPT_AES1_IV0 (CRPT_BA+0x16C) /*!< AES Initial Vector Word 0 Register for Channel 1 */
#define CRPT_AES1_IV1 (CRPT_BA+0x170) /*!< AES Initial Vector Word 1 Register for Channel 1 */
#define CRPT_AES1_IV2 (CRPT_BA+0x174) /*!< AES Initial Vector Word 2 Register for Channel 1 */
#define CRPT_AES1_IV3 (CRPT_BA+0x178) /*!< AES Initial Vector Word 3 Register for Channel 1 */
#define CRPT_AES1_SADDR (CRPT_BA+0x17C) /*!< AES DMA Source Address Register for Channel 1 */
#define CRPT_AES1_DADDR (CRPT_BA+0x180) /*!< AES DMA Destination Address Register for Channel 1 */
#define CRPT_AES1_CNT (CRPT_BA+0x184) /*!< AES Byte Count Register for Channel 1 */
#define CRPT_AES2_KEY0 (CRPT_BA+0x188) /*!< AES Key Word 0 Register for Channel 2 */
#define CRPT_AES2_KEY1 (CRPT_BA+0x18C) /*!< AES Key Word 1 Register for Channel 2 */
#define CRPT_AES2_KEY2 (CRPT_BA+0x190) /*!< AES Key Word 2 Register for Channel 2 */
#define CRPT_AES2_KEY3 (CRPT_BA+0x194) /*!< AES Key Word 3 Register for Channel 2 */
#define CRPT_AES2_KEY4 (CRPT_BA+0x198) /*!< AES Key Word 4 Register for Channel 2 */
#define CRPT_AES2_KEY5 (CRPT_BA+0x19C) /*!< AES Key Word 5 Register for Channel 2 */
#define CRPT_AES2_KEY6 (CRPT_BA+0x1A0) /*!< AES Key Word 6 Register for Channel 2 */
#define CRPT_AES2_KEY7 (CRPT_BA+0x1A4) /*!< AES Key Word 7 Register for Channel 2 */
#define CRPT_AES2_IV0 (CRPT_BA+0x1A8) /*!< AES Initial Vector Word 0 Register for Channel 2 */
#define CRPT_AES2_IV1 (CRPT_BA+0x1AC) /*!< AES Initial Vector Word 1 Register for Channel 2 */
#define CRPT_AES2_IV2 (CRPT_BA+0x1B0) /*!< AES Initial Vector Word 2 Register for Channel 2 */
#define CRPT_AES2_IV3 (CRPT_BA+0x1B4) /*!< AES Initial Vector Word 3 Register for Channel 2 */
#define CRPT_AES2_SADDR (CRPT_BA+0x1B8) /*!< AES DMA Source Address Register for Channel 2 */
#define CRPT_AES2_DADDR (CRPT_BA+0x1BC) /*!< AES DMA Destination Address Register for Channel 2 */
#define CRPT_AES2_CNT (CRPT_BA+0x1C0) /*!< AES Byte Count Register for Channel 2 */
#define CRPT_AES3_KEY0 (CRPT_BA+0x1C4) /*!< AES Key Word 0 Register for Channel 3 */
#define CRPT_AES3_KEY1 (CRPT_BA+0x1C8) /*!< AES Key Word 1 Register for Channel 3 */
#define CRPT_AES3_KEY2 (CRPT_BA+0x1CC) /*!< AES Key Word 2 Register for Channel 3 */
#define CRPT_AES3_KEY3 (CRPT_BA+0x1D0) /*!< AES Key Word 3 Register for Channel 3 */
#define CRPT_AES3_KEY4 (CRPT_BA+0x1D4) /*!< AES Key Word 4 Register for Channel 3 */
#define CRPT_AES3_KEY5 (CRPT_BA+0x1D8) /*!< AES Key Word 5 Register for Channel 3 */
#define CRPT_AES3_KEY6 (CRPT_BA+0x1DC) /*!< AES Key Word 6 Register for Channel 3 */
#define CRPT_AES3_KEY7 (CRPT_BA+0x1E0) /*!< AES Key Word 7 Register for Channel 3 */
#define CRPT_AES3_IV0 (CRPT_BA+0x1E4) /*!< AES Initial Vector Word 0 Register for Channel 3 */
#define CRPT_AES3_IV1 (CRPT_BA+0x1E8) /*!< AES Initial Vector Word 1 Register for Channel 3 */
#define CRPT_AES3_IV2 (CRPT_BA+0x1EC) /*!< AES Initial Vector Word 2 Register for Channel 3 */
#define CRPT_AES3_IV3 (CRPT_BA+0x1F0) /*!< AES Initial Vector Word 3 Register for Channel 3 */
#define CRPT_AES3_SADDR (CRPT_BA+0x1F4) /*!< AES DMA Source Address Register for Channel 3 */
#define CRPT_AES3_DADDR (CRPT_BA+0x1F8) /*!< AES DMA Destination Address Register for Channel 3 */
#define CRPT_AES3_CNT (CRPT_BA+0x1FC) /*!< AES Byte Count Register for Channel 3 */
/* DES/TDES Control Registers */
#define CRPT_TDES_CTL (CRPT_BA+0x200) /*!< TDES/DES Control Register */
#define CRPT_TDES_STS (CRPT_BA+0x204) /*!< TDES/DES Engine Flag */
#define CRPT_TDES0_KEY1H (CRPT_BA+0x208) /*!< TDES/DES Key 1 High Word Register for Channel 0 */
#define CRPT_TDES0_KEY1L (CRPT_BA+0x20C) /*!< TDES/DES Key 1 Low Word Register for Channel 0 */
#define CRPT_TDES0_KEY2H (CRPT_BA+0x210) /*!< TDES/DES Key 2 High Word Register for Channel 0 */
#define CRPT_TDES0_KEY2L (CRPT_BA+0x214) /*!< TDES/DES Key 2 Low Word Register for Channel 0 */
#define CRPT_TDES0_KEY3H (CRPT_BA+0x218) /*!< TDES/DES Key 3 High Word Register for Channel 0 */
#define CRPT_TDES0_KEY3L (CRPT_BA+0x21C) /*!< TDES/DES Key 3 Low Word Register for Channel 0 */
#define CRPT_TDES0_IVH (CRPT_BA+0x220) /*!< TDES/DES Initial Vector High Word Register for Channel 0 */
#define CRPT_TDES0_IVL (CRPT_BA+0x224) /*!< TDES/DES Initial Vector Low Word Register for Channel 0 */
#define CRPT_TDES0_SADDR (CRPT_BA+0x228) /*!< TDES/DES DMA Source Address Register for Channel 0 */
#define CRPT_TDES0_DADDR (CRPT_BA+0x22C) /*!< TDES/DES DMA Destination Address Register for Channel 0 */
#define CRPT_TDES0_CNT (CRPT_BA+0x230) /*!< TDES/DES Byte Count Register for Channel 0 */
#define CRPT_TDES_DATIN (CRPT_BA+0x234) /*!< TDES/DES Engine Input data Word Register */
#define CRPT_TDES_DATOUT (CRPT_BA+0x238) /*!< TDES/DES Engine Output data Word Register */
#define CRPT_TDES1_KEY1H (CRPT_BA+0x248) /*!< TDES/DES Key 1 High Word Register for Channel 1 */
#define CRPT_TDES1_KEY1L (CRPT_BA+0x24C) /*!< TDES/DES Key 1 Low Word Register for Channel 1 */
#define CRPT_TDES1_KEY2H (CRPT_BA+0x250) /*!< TDES/DES Key 2 High Word Register for Channel 1 */
#define CRPT_TDES1_KEY2L (CRPT_BA+0x254) /*!< TDES/DES Key 2 Low Word Register for Channel 1 */
#define CRPT_TDES1_KEY3H (CRPT_BA+0x258) /*!< TDES/DES Key 3 High Word Register for Channel 1 */
#define CRPT_TDES1_KEY3L (CRPT_BA+0x25C) /*!< TDES/DES Key 3 Low Word Register for Channel 1 */
#define CRPT_TDES1_IVH (CRPT_BA+0x260) /*!< TDES/DES Initial Vector High Word Register for Channel 1 */
#define CRPT_TDES1_IVL (CRPT_BA+0x264) /*!< TDES/DES Initial Vector Low Word Register for Channel 1 */
#define CRPT_TDES1_SADDR (CRPT_BA+0x268) /*!< TDES/DES DMA Source Address Register for Channel 1 */
#define CRPT_TDES1_DADDR (CRPT_BA+0x26C) /*!< TDES/DES DMA Destination Address Register for Channel 1 */
#define CRPT_TDES1_CNT (CRPT_BA+0x270) /*!< TDES/DES Byte Count Register for Channel 1 */
#define CRPT_TDES2_KEY1H (CRPT_BA+0x288) /*!< TDES/DES Key 1 High Word Register for Channel 2 */
#define CRPT_TDES2_KEY1L (CRPT_BA+0x28C) /*!< TDES/DES Key 1 Low Word Register for Channel 2 */
#define CRPT_TDES2_KEY2H (CRPT_BA+0x290) /*!< TDES/DES Key 2 High Word Register for Channel 2 */
#define CRPT_TDES2_KEY2L (CRPT_BA+0x294) /*!< TDES/DES Key 2 Low Word Register for Channel 2 */
#define CRPT_TDES2_KEY3H (CRPT_BA+0x298) /*!< TDES/DES Key 3 High Word Register for Channel 2 */
#define CRPT_TDES2_KEY3L (CRPT_BA+0x29C) /*!< TDES/DES Key 3 Low Word Register for Channel 2 */
#define CRPT_TDES2_IVH (CRPT_BA+0x2A0) /*!< TDES/DES Initial Vector High Word Register for Channel 2 */
#define CRPT_TDES2_IVL (CRPT_BA+0x2A4) /*!< TDES/DES Initial Vector Low Word Register for Channel 2 */
#define CRPT_TDES2_SADDR (CRPT_BA+0x2A8) /*!< TDES/DES DMA Source Address Register for Channel 2 */
#define CRPT_TDES2_DADDR (CRPT_BA+0x2AC) /*!< TDES/DES DMA Destination Address Register for Channel 2 */
#define CRPT_TDES2_CNT (CRPT_BA+0x2B0) /*!< TDES/DES Byte Count Register for Channel 3 */
#define CRPT_TDES3_KEY1H (CRPT_BA+0x2C8) /*!< TDES/DES Key 1 High Word Register for Channel 3 */
#define CRPT_TDES3_KEY1L (CRPT_BA+0x2CC) /*!< TDES/DES Key 1 Low Word Register for Channel 3 */
#define CRPT_TDES3_KEY2H (CRPT_BA+0x2D0) /*!< TDES/DES Key 2 High Word Register for Channel 3 */
#define CRPT_TDES3_KEY2L (CRPT_BA+0x2D4) /*!< TDES/DES Key 2 Low Word Register for Channel 3 */
#define CRPT_TDES3_KEY3H (CRPT_BA+0x2D8) /*!< TDES/DES Key 3 High Word Register for Channel 3 */
#define CRPT_TDES3_KEY3L (CRPT_BA+0x2DC) /*!< TDES/DES Key 3 Low Word Register for Channel 3 */
#define CRPT_TDES3_IVH (CRPT_BA+0x2E0) /*!< TDES/DES Initial Vector High Word Register for Channel 3 */
#define CRPT_TDES3_IVL (CRPT_BA+0x2E4) /*!< TDES/DES Initial Vector Low Word Register for Channel 3 */
#define CRPT_TDES3_SADDR (CRPT_BA+0x2E8) /*!< TDES/DES DMA Source Address Register for Channel 3 */
#define CRPT_TDES3_DADDR (CRPT_BA+0x2EC) /*!< TDES/DES DMA Destination Address Register for Channel 3 */
#define CRPT_TDES3_CNT (CRPT_BA+0x2F0) /*!< TDES/DES Byte Count Register for Channel 3 */
/* SHA/HMAC Control Registers */
#define CRPT_HMAC_CTL (CRPT_BA+0x300) /*!< SHA/HMAC Control Register */
#define CRPT_HMAC_STS (CRPT_BA+0x304) /*!< SHA/HMAC Status Flag */
#define CRPT_HMAC_DGST0 (CRPT_BA+0x308) /*!< SHA/HMAC Digest Message 0 */
#define CRPT_HMAC_DGST1 (CRPT_BA+0x30C) /*!< SHA/HMAC Digest Message 1 */
#define CRPT_HMAC_DGST2 (CRPT_BA+0x310) /*!< SHA/HMAC Digest Message 2 */
#define CRPT_HMAC_DGST3 (CRPT_BA+0x314) /*!< SHA/HMAC Digest Message 3 */
#define CRPT_HMAC_DGST4 (CRPT_BA+0x318) /*!< SHA/HMAC Digest Message 4 */
#define CRPT_HMAC_DGST5 (CRPT_BA+0x31C) /*!< SHA/HMAC Digest Message 5 */
#define CRPT_HMAC_DGST6 (CRPT_BA+0x320) /*!< SHA/HMAC Digest Message 6 */
#define CRPT_HMAC_DGST7 (CRPT_BA+0x324) /*!< SHA/HMAC Digest Message 7 */
#define CRPT_HMAC_DGST8 (CRPT_BA+0x328) /*!< SHA/HMAC Digest Message 8 */
#define CRPT_HMAC_DGST9 (CRPT_BA+0x32C) /*!< SHA/HMAC Digest Message 8 */
#define CRPT_HMAC_DGST10 (CRPT_BA+0x330) /*!< SHA/HMAC Digest Message 10 */
#define CRPT_HMAC_DGST11 (CRPT_BA+0x334) /*!< SHA/HMAC Digest Message 11 */
#define CRPT_HMAC_DGST12 (CRPT_BA+0x338) /*!< SHA/HMAC Digest Message 12 */
#define CRPT_HMAC_DGST13 (CRPT_BA+0x33C) /*!< SHA/HMAC Digest Message 13 */
#define CRPT_HMAC_DGST14 (CRPT_BA+0x340) /*!< SHA/HMAC Digest Message 14 */
#define CRPT_HMAC_DGST15 (CRPT_BA+0x344) /*!< SHA/HMAC Digest Message 15 */
#define CRPT_HMAC_KEYCNT (CRPT_BA+0x348) /*!< SHA/HMAC Key Byte Count */
#define CRPT_HMAC_SADDR (CRPT_BA+0x34C) /*!< SHA/HMAC Key Byte Count */
#define CRPT_HMAC_DMACNT (CRPT_BA+0x350) /*!< SHA/HMAC Byte Count Register */
#define CRPT_HMAC_DATIN (CRPT_BA+0x354) /*!< SHA/HMAC Engine Non-DMA Mode Data Input Port Register */
/**@}*/ /* end of Cryptographic Accelerator register group */
/*---------------------- Universal Asynchronous Receiver/Transmitter Controller -------------------------*/
/**
@addtogroup UART Universal Asynchronous Receiver/Transmitter Controller(UART)
Memory Mapped Structure for UART Controller
@{ */
#define REG_UART0_RBR (UART0_BA+0x00) /*!< Receive Buffer Register */
#define REG_UART0_THR (UART0_BA+0x00) /*!< Transmit Holding Register */
#define REG_UART0_IER (UART0_BA+0x04) /*!< Interrupt Enable Register */
#define REG_UART0_FCR (UART0_BA+0x08) /*!< FIFO Control Register */
#define REG_UART0_LCR (UART0_BA+0x0C) /*!< Line Control Register */
#define REG_UART0_MCR (UART0_BA+0x10) /*!< Modem Control Register */
#define REG_UART0_MSR (UART0_BA+0x14) /*!< MODEM Status Register */
#define REG_UART0_FSR (UART0_BA+0x18) /*!< FIFO Status Register */
#define REG_UART0_ISR (UART0_BA+0x1C) /*!< Interrupt Status Control Register */
#define REG_UART0_TOR (UART0_BA+0x20) /*!< Time-out Register */
#define REG_UART0_BAUD (UART0_BA+0x24) /*!< Baud Rate Divider Register */
#define REG_UART0_IRCR (UART0_BA+0x28) /*!< IrDA Control Register */
#define REG_UART0_ALT_CSR (UART0_BA+0x2C) /*!< Alternate Control Register */
#define REG_UART0_FUN_SEL (UART0_BA+0x30) /*!< UART Function Select REgister */
#define REG_UART0_LIN_CTL (UART0_BA+0x34) /*!< UART LIN Control Register */
#define REG_UART0_LIN_SR (UART0_BA+0x38) /*!< LIN Status Register */
/*
UART1 Control Registers
*/
#define REG_UART1_RBR (UART1_BA+0x00) /*!< Receive Buffer Register */
#define REG_UART1_THR (UART1_BA+0x00) /*!< Transmit Holding Register */
#define REG_UART1_IER (UART1_BA+0x04) /*!< Interrupt Enable Register */
#define REG_UART1_FCR (UART1_BA+0x08) /*!< FIFO Control Register */
#define REG_UART1_LCR (UART1_BA+0x0C) /*!< Line Control Register */
#define REG_UART1_MCR (UART1_BA+0x10) /*!< Modem Control Register */
#define REG_UART1_MSR (UART1_BA+0x14) /*!< MODEM Status Register */
#define REG_UART1_FSR (UART1_BA+0x18) /*!< FIFO Status Register */
#define REG_UART1_ISR (UART1_BA+0x1C) /*!< Interrupt Status Control Register */
#define REG_UART1_TOR (UART1_BA+0x20) /*!< Time-out Register */
#define REG_UART1_BAUD (UART1_BA+0x24) /*!< Baud Rate Divider Register */
#define REG_UART1_IRCR (UART1_BA+0x28) /*!< IrDA Control Register */
#define REG_UART1_ALT_CSR (UART1_BA+0x2C) /*!< Alternate Control Register */
#define REG_UART1_FUN_SEL (UART1_BA+0x30) /*!< UART Function Select REgister */
#define REG_UART1_LIN_CTL (UART1_BA+0x34) /*!< UART LIN Control Register */
#define REG_UART1_LIN_SR (UART1_BA+0x38) /*!< LIN Status Register */
/*
UART2 Control Registers
*/
#define REG_UART2_RBR (UART2_BA+0x00) /*!< Receive Buffer Register */
#define REG_UART2_THR (UART2_BA+0x00) /*!< Transmit Holding Register */
#define REG_UART2_IER (UART2_BA+0x04) /*!< Interrupt Enable Register */
#define REG_UART2_FCR (UART2_BA+0x08) /*!< FIFO Control Register */
#define REG_UART2_LCR (UART2_BA+0x0C) /*!< Line Control Register */
#define REG_UART2_MCR (UART2_BA+0x10) /*!< Modem Control Register */
#define REG_UART2_MSR (UART2_BA+0x14) /*!< MODEM Status Register */
#define REG_UART2_FSR (UART2_BA+0x18) /*!< FIFO Status Register */
#define REG_UART2_ISR (UART2_BA+0x1C) /*!< Interrupt Status Control Register */
#define REG_UART2_TOR (UART2_BA+0x20) /*!< Time-out Register */
#define REG_UART2_BAUD (UART2_BA+0x24) /*!< Baud Rate Divider Register */
#define REG_UART2_IRCR (UART2_BA+0x28) /*!< IrDA Control Register */
#define REG_UART2_ALT_CSR (UART2_BA+0x2C) /*!< Alternate Control Register */
#define REG_UART2_FUN_SEL (UART2_BA+0x30) /*!< UART Function Select REgister */
#define REG_UART2_LIN_CTL (UART2_BA+0x34) /*!< UART LIN Control Register */
#define REG_UART2_LIN_SR (UART2_BA+0x38) /*!< LIN Status Register */
/*
UART3 Control Registers
*/
#define REG_UART3_RBR (UART3_BA+0x00) /*!< Receive Buffer Register */
#define REG_UART3_THR (UART3_BA+0x00) /*!< Transmit Holding Register */
#define REG_UART3_IER (UART3_BA+0x04) /*!< Interrupt Enable Register */
#define REG_UART3_FCR (UART3_BA+0x08) /*!< FIFO Control Register */
#define REG_UART3_LCR (UART3_BA+0x0C) /*!< Line Control Register */
#define REG_UART3_MCR (UART3_BA+0x10) /*!< Modem Control Register */
#define REG_UART3_MSR (UART3_BA+0x14) /*!< MODEM Status Register */
#define REG_UART3_FSR (UART3_BA+0x18) /*!< FIFO Status Register */
#define REG_UART3_ISR (UART3_BA+0x1C) /*!< Interrupt Status Control Register */
#define REG_UART3_TOR (UART3_BA+0x20) /*!< Time-out Register */
#define REG_UART3_BAUD (UART3_BA+0x24) /*!< Baud Rate Divider Register */
#define REG_UART3_IRCR (UART3_BA+0x28) /*!< IrDA Control Register */
#define REG_UART3_ALT_CSR (UART3_BA+0x2C) /*!< Alternate Control Register */
#define REG_UART3_FUN_SEL (UART3_BA+0x30) /*!< UART Function Select REgister */
#define REG_UART3_LIN_CTL (UART3_BA+0x34) /*!< UART LIN Control Register */
#define REG_UART3_LIN_SR (UART3_BA+0x38) /*!< LIN Status Register */
/*
UART4 Control Registers
*/
#define REG_UART4_RBR (UART4_BA+0x00) /*!< Receive Buffer Register */
#define REG_UART4_THR (UART4_BA+0x00) /*!< Transmit Holding Register */
#define REG_UART4_IER (UART4_BA+0x04) /*!< Interrupt Enable Register */
#define REG_UART4_FCR (UART4_BA+0x08) /*!< FIFO Control Register */
#define REG_UART4_LCR (UART4_BA+0x0C) /*!< Line Control Register */
#define REG_UART4_MCR (UART4_BA+0x10) /*!< Modem Control Register */
#define REG_UART4_MSR (UART4_BA+0x14) /*!< MODEM Status Register */
#define REG_UART4_FSR (UART4_BA+0x18) /*!< FIFO Status Register */
#define REG_UART4_ISR (UART4_BA+0x1C) /*!< Interrupt Status Control Register */
#define REG_UART4_TOR (UART4_BA+0x20) /*!< Time-out Register */
#define REG_UART4_BAUD (UART4_BA+0x24) /*!< Baud Rate Divider Register */
#define REG_UART4_IRCR (UART4_BA+0x28) /*!< IrDA Control Register */
#define REG_UART4_ALT_CSR (UART4_BA+0x2C) /*!< Alternate Control Register */
#define REG_UART4_FUN_SEL (UART4_BA+0x30) /*!< UART Function Select REgister */
#define REG_UART4_LIN_CTL (UART4_BA+0x34) /*!< UART LIN Control Register */
#define REG_UART4_LIN_SR (UART4_BA+0x38) /*!< LIN Status Register */
/*
UART5 Control Registers
*/
#define REG_UART5_RBR (UART5_BA+0x00) /*!< Receive Buffer Register */
#define REG_UART5_THR (UART5_BA+0x00) /*!< Transmit Holding Register */
#define REG_UART5_IER (UART5_BA+0x04) /*!< Interrupt Enable Register */
#define REG_UART5_FCR (UART5_BA+0x08) /*!< FIFO Control Register */
#define REG_UART5_LCR (UART5_BA+0x0C) /*!< Line Control Register */
#define REG_UART5_MCR (UART5_BA+0x10) /*!< Modem Control Register */
#define REG_UART5_MSR (UART5_BA+0x14) /*!< MODEM Status Register */
#define REG_UART5_FSR (UART5_BA+0x18) /*!< FIFO Status Register */
#define REG_UART5_ISR (UART5_BA+0x1C) /*!< Interrupt Status Control Register */
#define REG_UART5_TOR (UART5_BA+0x20) /*!< Time-out Register */
#define REG_UART5_BAUD (UART5_BA+0x24) /*!< Baud Rate Divider Register */
#define REG_UART5_IRCR (UART5_BA+0x28) /*!< IrDA Control Register */
#define REG_UART5_ALT_CSR (UART5_BA+0x2C) /*!< Alternate Control Register */
#define REG_UART5_FUN_SEL (UART5_BA+0x30) /*!< UART Function Select REgister */
#define REG_UART5_LIN_CTL (UART5_BA+0x34) /*!< UART LIN Control Register */
#define REG_UART5_LIN_SR (UART5_BA+0x38) /*!< LIN Status Register */
/*
UART6 Control Registers
*/
#define REG_UART6_RBR (UART6_BA+0x00) /*!< Receive Buffer Register */
#define REG_UART6_THR (UART6_BA+0x00) /*!< Transmit Holding Register */
#define REG_UART6_IER (UART6_BA+0x04) /*!< Interrupt Enable Register */
#define REG_UART6_FCR (UART6_BA+0x08) /*!< FIFO Control Register */
#define REG_UART6_LCR (UART6_BA+0x0C) /*!< Line Control Register */
#define REG_UART6_MCR (UART6_BA+0x10) /*!< Modem Control Register */
#define REG_UART6_MSR (UART6_BA+0x14) /*!< MODEM Status Register */
#define REG_UART6_FSR (UART6_BA+0x18) /*!< FIFO Status Register */
#define REG_UART6_ISR (UART6_BA+0x1C) /*!< Interrupt Status Control Register */
#define REG_UART6_TOR (UART6_BA+0x20) /*!< Time-out Register */
#define REG_UART6_BAUD (UART6_BA+0x24) /*!< Baud Rate Divider Register */
#define REG_UART6_IRCR (UART6_BA+0x28) /*!< IrDA Control Register */
#define REG_UART6_ALT_CSR (UART6_BA+0x2C) /*!< Alternate Control Register */
#define REG_UART6_FUN_SEL (UART6_BA+0x30) /*!< UART Function Select REgister */
#define REG_UART6_LIN_CTL (UART6_BA+0x34) /*!< UART LIN Control Register */
#define REG_UART6_LIN_SR (UART6_BA+0x38) /*!< LIN Status Register */
/*
UART7 Control Registers
*/
#define REG_UART7_RBR (UART7_BA+0x00) /*!< Receive Buffer Register */
#define REG_UART7_THR (UART7_BA+0x00) /*!< Transmit Holding Register */
#define REG_UART7_IER (UART7_BA+0x04) /*!< Interrupt Enable Register */
#define REG_UART7_FCR (UART7_BA+0x08) /*!< FIFO Control Register */
#define REG_UART7_LCR (UART7_BA+0x0C) /*!< Line Control Register */
#define REG_UART7_MCR (UART7_BA+0x10) /*!< Modem Control Register */
#define REG_UART7_MSR (UART7_BA+0x14) /*!< MODEM Status Register */
#define REG_UART7_FSR (UART7_BA+0x18) /*!< FIFO Status Register */
#define REG_UART7_ISR (UART7_BA+0x1C) /*!< Interrupt Status Control Register */
#define REG_UART7_TOR (UART7_BA+0x20) /*!< Time-out Register */
#define REG_UART7_BAUD (UART7_BA+0x24) /*!< Baud Rate Divider Register */
#define REG_UART7_IRCR (UART7_BA+0x28) /*!< IrDA Control Register */
#define REG_UART7_ALT_CSR (UART7_BA+0x2C) /*!< Alternate Control Register */
#define REG_UART7_FUN_SEL (UART7_BA+0x30) /*!< UART Function Select REgister */
#define REG_UART7_LIN_CTL (UART7_BA+0x34) /*!< UART LIN Control Register */
#define REG_UART7_LIN_SR (UART7_BA+0x38) /*!< LIN Status Register */
/*
UART8 Control Registers
*/
#define REG_UART8_RBR (UART8_BA+0x00) /*!< Receive Buffer Register */
#define REG_UART8_THR (UART8_BA+0x00) /*!< Transmit Holding Register */
#define REG_UART8_IER (UART8_BA+0x04) /*!< Interrupt Enable Register */
#define REG_UART8_FCR (UART8_BA+0x08) /*!< FIFO Control Register */
#define REG_UART8_LCR (UART8_BA+0x0C) /*!< Line Control Register */
#define REG_UART8_MCR (UART8_BA+0x10) /*!< Modem Control Register */
#define REG_UART8_MSR (UART8_BA+0x14) /*!< MODEM Status Register */
#define REG_UART8_FSR (UART8_BA+0x18) /*!< FIFO Status Register */
#define REG_UART8_ISR (UART8_BA+0x1C) /*!< Interrupt Status Control Register */
#define REG_UART8_TOR (UART8_BA+0x20) /*!< Time-out Register */
#define REG_UART8_BAUD (UART8_BA+0x24) /*!< Baud Rate Divider Register */
#define REG_UART8_IRCR (UART8_BA+0x28) /*!< IrDA Control Register */
#define REG_UART8_ALT_CSR (UART8_BA+0x2C) /*!< Alternate Control Register */
#define REG_UART8_FUN_SEL (UART8_BA+0x30) /*!< UART Function Select REgister */
#define REG_UART8_LIN_CTL (UART8_BA+0x34) /*!< UART LIN Control Register */
#define REG_UART8_LIN_SR (UART8_BA+0x38) /*!< LIN Status Register */
/*
UART9 Control Registers
*/
#define REG_UART9_RBR (UART9_BA+0x00) /*!< Receive Buffer Register */
#define REG_UART9_THR (UART9_BA+0x00) /*!< Transmit Holding Register */
#define REG_UART9_IER (UART9_BA+0x04) /*!< Interrupt Enable Register */
#define REG_UART9_FCR (UART9_BA+0x08) /*!< FIFO Control Register */
#define REG_UART9_LCR (UART9_BA+0x0C) /*!< Line Control Register */
#define REG_UART9_MCR (UART9_BA+0x10) /*!< Modem Control Register */
#define REG_UART9_MSR (UART9_BA+0x14) /*!< MODEM Status Register */
#define REG_UART9_FSR (UART9_BA+0x18) /*!< FIFO Status Register */
#define REG_UART9_ISR (UART9_BA+0x1C) /*!< Interrupt Status Control Register */
#define REG_UART9_TOR (UART9_BA+0x20) /*!< Time-out Register */
#define REG_UART9_BAUD (UART9_BA+0x24) /*!< Baud Rate Divider Register */
#define REG_UART9_IRCR (UART9_BA+0x28) /*!< IrDA Control Register */
#define REG_UART9_ALT_CSR (UART9_BA+0x2C) /*!< Alternate Control Register */
#define REG_UART9_FUN_SEL (UART9_BA+0x30) /*!< UART Function Select REgister */
#define REG_UART9_LIN_CTL (UART9_BA+0x34) /*!< UART LIN Control Register */
#define REG_UART9_LIN_SR (UART9_BA+0x38) /*!< LIN Status Register */
/**@}*/ /* end of UART register group */
/*---------------------- Enhance Timer Controller -------------------------*/
/**
@addtogroup ETIMER Enhance Timer Controller(ETIMER)
Memory Mapped Structure for TIMER Controller
@{ */
#define REG_ETMR0_CTL (ETMR0_BA+0x00) /*!< Enhance Timer 0 Control Register */
#define REG_ETMR0_PRECNT (ETMR0_BA+0x04) /*!< Enhance Timer 0 Pre-Scale Counter Register */
#define REG_ETMR0_CMPR (ETMR0_BA+0x08) /*!< Enhance Timer 0 Compare Register */
#define REG_ETMR0_IER (ETMR0_BA+0x0C) /*!< Enhance Timer 0 Interrupt Enable Register */
#define REG_ETMR0_ISR (ETMR0_BA+0x10) /*!< Enhance Timer 0 Interrupt Status Register */
#define REG_ETMR0_DR (ETMR0_BA+0x14) /*!< Enhance Timer 0 Data Register */
#define REG_ETMR0_TCAP (ETMR0_BA+0x18) /*!< Enhance Timer 0 Capture Data Register */
#define REG_ETMR0_ECTL (ETMR0_BA+0x20) /*!< Enhance Timer 0 Extended Control Register */
#define REG_ETMR1_CTL (ETMR1_BA+0x00) /*!< Enhance Timer 1 Control Register */
#define REG_ETMR1_PRECNT (ETMR1_BA+0x04) /*!< Enhance Timer 1 Pre-Scale Counter Register */
#define REG_ETMR1_CMPR (ETMR1_BA+0x08) /*!< Enhance Timer 1 Compare Register */
#define REG_ETMR1_IER (ETMR1_BA+0x0C) /*!< Enhance Timer 1 Interrupt Enable Register */
#define REG_ETMR1_ISR (ETMR1_BA+0x10) /*!< Enhance Timer 1 Interrupt Status Register */
#define REG_ETMR1_DR (ETMR1_BA+0x14) /*!< Enhance Timer 1 Data Register */
#define REG_ETMR1_TCAP (ETMR1_BA+0x18) /*!< Enhance Timer 1 Capture Data Register */
#define REG_ETMR1_ECTL (ETMR1_BA+0x20) /*!< Enhance Timer 1 Extended Control Register */
#define REG_ETMR2_CTL (ETMR2_BA+0x00) /*!< Enhance Timer 2 Control Register */
#define REG_ETMR2_PRECNT (ETMR2_BA+0x04) /*!< Enhance Timer 2 Pre-Scale Counter Register */
#define REG_ETMR2_CMPR (ETMR2_BA+0x08) /*!< Enhance Timer 2 Compare Register */
#define REG_ETMR2_IER (ETMR2_BA+0x0C) /*!< Enhance Timer 2 Interrupt Enable Register */
#define REG_ETMR2_ISR (ETMR2_BA+0x10) /*!< Enhance Timer 2 Interrupt Status Register */
#define REG_ETMR2_DR (ETMR2_BA+0x14) /*!< Enhance Timer 2 Data Register */
#define REG_ETMR2_TCAP (ETMR2_BA+0x18) /*!< Enhance Timer 2 Capture Data Register */
#define REG_ETMR2_ECTL (ETMR2_BA+0x20) /*!< Enhance Timer 2 Extended Control Register */
#define REG_ETMR3_CTL (ETMR3_BA+0x00) /*!< Enhance Timer 3 Control Register */
#define REG_ETMR3_PRECNT (ETMR3_BA+0x04) /*!< Enhance Timer 3 Pre-Scale Counter Register */
#define REG_ETMR3_CMPR (ETMR3_BA+0x08) /*!< Enhance Timer 3 Compare Register */
#define REG_ETMR3_IER (ETMR3_BA+0x0C) /*!< Enhance Timer 3 Interrupt Enable Register */
#define REG_ETMR3_ISR (ETMR3_BA+0x10) /*!< Enhance Timer 3 Interrupt Status Register */
#define REG_ETMR3_DR (ETMR3_BA+0x14) /*!< Enhance Timer 3 Data Register */
#define REG_ETMR3_TCAP (ETMR3_BA+0x18) /*!< Enhance Timer 3 Capture Data Register */
#define REG_ETMR3_ECTL (ETMR3_BA+0x20) /*!< Enhance Timer 3 Extended Control Register */
#define REG_ETMR4_CTL (ETMR4_BA+0x00) /*!< Enhance Timer 4 Control Register */
#define REG_ETMR4_PRECNT (ETMR4_BA+0x04) /*!< Enhance Timer 4 Pre-Scale Counter Register */
#define REG_ETMR4_CMPR (ETMR4_BA+0x08) /*!< Enhance Timer 4 Compare Register */
#define REG_ETMR4_IER (ETMR4_BA+0x0C) /*!< Enhance Timer 4 Interrupt Enable Register */
#define REG_ETMR4_ISR (ETMR4_BA+0x10) /*!< Enhance Timer 4 Interrupt Status Register */
#define REG_ETMR4_DR (ETMR4_BA+0x14) /*!< Enhance Timer 4 Data Register */
#define REG_ETMR4_TCAP (ETMR4_BA+0x18) /*!< Enhance Timer 4 Capture Data Register */
#define REG_ETMR4_ECTL (ETMR4_BA+0x20) /*!< Enhance Timer 4 Extended Control Register */
#define REG_ETMR5_CTL (ETMR5_BA+0x00) /*!< Enhance Timer 5 Control Register */
#define REG_ETMR5_PRECNT (ETMR5_BA+0x04) /*!< Enhance Timer 5 Pre-Scale Counter Register */
#define REG_ETMR5_CMPR (ETMR5_BA+0x08) /*!< Enhance Timer 5 Compare Register */
#define REG_ETMR5_IER (ETMR5_BA+0x0C) /*!< Enhance Timer 5 Interrupt Enable Register */
#define REG_ETMR5_ISR (ETMR5_BA+0x10) /*!< Enhance Timer 5 Interrupt Status Register */
#define REG_ETMR5_DR (ETMR5_BA+0x14) /*!< Enhance Timer 5 Data Register */
#define REG_ETMR5_TCAP (ETMR5_BA+0x18) /*!< Enhance Timer 5 Capture Data Register */
#define REG_ETMR5_ECTL (ETMR5_BA+0x20) /*!< Enhance Timer 5 Extended Control Register */
/**@}*/ /* end of ETIMER register group */
/*---------------------- WDT Controller -------------------------*/
/**
@addtogroup WDT Watch Dog Timer Controller(WDT)
Memory Mapped Structure for WDT Controller
@{ */
#define REG_WDT_CTL (WDT_BA+0x00) /*!< WDT Control Register */
#define REG_WDT_ALTCTL (WDT_BA+0x04) /*!< WDT Alternative Control Register */
#define REG_WDT_RSTCNT (WDT_BA+0x08) /*!< WDT Reset Counter Register */
/**@}*/ /* end of WDT register group */
/*---------------------- WWDT Controller -------------------------*/
/**
@addtogroup WWDT Window Watch Dog Timer Controller(WWDT)
Memory Mapped Structure for WWDT Controller
@{ */
#define REG_WWDT_RLDCNT (WWDT_BA+0x00) /*!< WWDT Reload Counter Register */
#define REG_WWDT_CTL (WWDT_BA+0x04) /*!< WWDT Control Register */
#define REG_WWDT_STATUS (WWDT_BA+0x08) /*!< WWDT Status Register */
#define REG_WWDT_CNT (WWDT_BA+0x0C) /*!< WWDT Counter Value Register */
/**@}*/ /* end of WWDT register group */
/*---------------------- SC Host Interface -------------------------*/
/**
@addtogroup SC Smart Card Host Interface (SC)
Memory Mapped Structure for Smart Card Host Interface
@{ */
#define REG_SC0_DAT (SC0_BA+0x00) /*!< SC0 Receiving/Transmit Holding Buffer Register */
#define REG_SC0_CTL (SC0_BA+0x04) /*!< SC0 Control Register */
#define REG_SC0_ALTCTL (SC0_BA+0x08) /*!< SC0 Alternate Control Register */
#define REG_SC0_EGT (SC0_BA+0x0C) /*!< SC0 Extend Guard Time Register */
#define REG_SC0_RXTOUT (SC0_BA+0x10) /*!< SC0 Receive Buffer Time-out Register */
#define REG_SC0_ETUCTL (SC0_BA+0x14) /*!< SC0 ETU Control Register */
#define REG_SC0_INTEN (SC0_BA+0x18) /*!< SC0 Interrupt Enable Control Register */
#define REG_SC0_INTSTS (SC0_BA+0x1C) /*!< SC0 Interrupt Status Register */
#define REG_SC0_STATUS (SC0_BA+0x20) /*!< SC0 Status Register */
#define REG_SC0_PINCTL (SC0_BA+0x24) /*!< SC0 Pin Control State Register */
#define REG_SC0_TMRCTL0 (SC0_BA+0x28) /*!< SC0 Internal Timer Control Register 0 */
#define REG_SC0_TMRCTL1 (SC0_BA+0x2C) /*!< SC0 Internal Timer Control Register 1 */
#define REG_SC0_TMRCTL2 (SC0_BA+0x30) /*!< SC0 Internal Timer Control Register 2 */
#define REG_SC0_UARTCTL (SC0_BA+0x34) /*!< SC0 UART Mode Control Register */
#define REG_SC0_ACTCTL (SC0_BA+0x4C) /*!< SC0 Activation Control Register */
#define REG_SC1_DAT (SC1_BA+0x00) /*!< SC1 Receiving/Transmit Holding Buffer Register */
#define REG_SC1_CTL (SC1_BA+0x04) /*!< SC1 Control Register */
#define REG_SC1_ALTCTL (SC1_BA+0x08) /*!< SC1 Alternate Control Register */
#define REG_SC1_EGT (SC1_BA+0x0C) /*!< SC1 Extend Guard Time Register */
#define REG_SC1_RXTOUT (SC1_BA+0x10) /*!< SC1 Receive Buffer Time-out Register */
#define REG_SC1_ETUCTL (SC1_BA+0x14) /*!< SC1 ETU Control Register */
#define REG_SC1_INTEN (SC1_BA+0x18) /*!< SC1 Interrupt Enable Control Register */
#define REG_SC1_INTSTS (SC1_BA+0x1C) /*!< SC1 Interrupt Status Register */
#define REG_SC1_STATUS (SC1_BA+0x20) /*!< SC1 Status Register */
#define REG_SC1_PINCTL (SC1_BA+0x24) /*!< SC1 Pin Control State Register */
#define REG_SC1_TMRCTL0 (SC1_BA+0x28) /*!< SC1 Internal Timer Control Register 0 */
#define REG_SC1_TMRCTL1 (SC1_BA+0x2C) /*!< SC1 Internal Timer Control Register 1 */
#define REG_SC1_TMRCTL2 (SC1_BA+0x30) /*!< SC1 Internal Timer Control Register 2 */
#define REG_SC1_UARTCTL (SC1_BA+0x34) /*!< SC1 UART Mode Control Register */
#define REG_SC1_ACTCTL (SC1_BA+0x4C) /*!< SC1 Activation Control Register 1 */
/**@}*/ /* end of SC register group */
/*---------------------- Advance Interrupt Controller -------------------------*/
/**
@addtogroup AIC Advance Interrupt Controller(AIC)
Memory Mapped Structure for AIC Controller
@{ */
#define REG_AIC_SRCCTL0 (AIC_BA+0x00) /* Source control register 0 */
#define REG_AIC_SRCCTL1 (AIC_BA+0x04) /* Source control register 1 */
#define REG_AIC_SRCCTL2 (AIC_BA+0x08) /* Source control register 2 */
#define REG_AIC_SRCCTL3 (AIC_BA+0x0C) /* Source control register 3 */
#define REG_AIC_SRCCTL4 (AIC_BA+0x10) /* Source control register 4 */
#define REG_AIC_SRCCTL5 (AIC_BA+0x14) /* Source control register 5 */
#define REG_AIC_SRCCTL6 (AIC_BA+0x18) /* Source control register 6 */
#define REG_AIC_SRCCTL7 (AIC_BA+0x1C) /* Source control register 7 */
#define REG_AIC_SRCCTL8 (AIC_BA+0x20) /* Source control register 8 */
#define REG_AIC_SRCCTL9 (AIC_BA+0x24) /* Source control register 9 */
#define REG_AIC_SRCCTL10 (AIC_BA+0x28) /* Source control register 10 */
#define REG_AIC_SRCCTL11 (AIC_BA+0x2C) /* Source control register 11 */
#define REG_AIC_SRCCTL12 (AIC_BA+0x30) /* Source control register 12 */
#define REG_AIC_SRCCTL13 (AIC_BA+0x34) /* Source control register 13 */
#define REG_AIC_SRCCTL14 (AIC_BA+0x38) /* Source control register 14 */
#define REG_AIC_SRCCTL15 (AIC_BA+0x3C) /* Source control register 15 */
#define REG_AIC_RAWSTS0 (AIC_BA+0x100) /* Interrupt raw status register */
#define REG_AIC_RAWSTS1 (AIC_BA+0x104) /* Interrupt raw status register (Hign) */
#define REG_AIC_ACTSTS0 (AIC_BA+0x108) /* Interrupt active status register */
#define REG_AIC_ACTSTS1 (AIC_BA+0x10C) /* Interrupt active status register (Hign) */
#define REG_AIC_INTSTS0 (AIC_BA+0x110) /* Interrupt status register */
#define REG_AIC_INTSTS1 (AIC_BA+0x114) /* Interrupt status register (High) */
#define REG_AIC_IRQNUM (AIC_BA+0x120) /* Interrupt source number register */
#define REG_AIC_FIQNUM (AIC_BA+0x124) /* Output interrupt status register */
#define REG_AIC_INTMSK0 (AIC_BA+0x128) /* Interrupt mask register */
#define REG_AIC_INTMSK1 (AIC_BA+0x12C) /* Interrupt mask register (High) */
#define REG_AIC_INTEN0 (AIC_BA+0x130) /* Mask enable command register */
#define REG_AIC_INTEN1 (AIC_BA+0x134) /* Mask enable command register (High) */
#define REG_AIC_INTDIS0 (AIC_BA+0x138) /* Mask disable command register */
#define REG_AIC_INTDIS1 (AIC_BA+0x13C) /* Mask disable command register (High) */
#define REG_AIC_EOIS (AIC_BA+0x150) /* End of service command register */
#define REG_AIC_EOFS (AIC_BA+0x154) /* End of service command register */
/**@}*/ /* end of AIC register group */
/*---------------------- Real Time Clock Controller -------------------------*/
/**
@addtogroup RTC Real Time Clock Controller(RTC)
Memory Mapped Structure for RTC Controller
@{ */
#define REG_RTC_INIT (RTC_BA+0x00) /*!< RTC Initiation Register */
#define REG_RTC_RWEN (RTC_BA+0x04) /*!< RTC Access Enable Register */
#define REG_RTC_FREQADJ (RTC_BA+0x08) /*!< RTC Frequency Compensation Register */
#define REG_RTC_TIME (RTC_BA+0x0C) /*!< Time Loading Register */
#define REG_RTC_CAL (RTC_BA+0x10) /*!< Calendar Loading Register */
#define REG_RTC_TIMEFMT (RTC_BA+0x14) /*!< Time Format Selection Register */
#define REG_RTC_WEEKDAY (RTC_BA+0x18) /*!< Day of the Week Register */
#define REG_RTC_TALM (RTC_BA+0x1C) /*!< Time Alarm Register */
#define REG_RTC_CALM (RTC_BA+0x20) /*!< Calendar Alarm Register */
#define REG_RTC_LEAPYEAR (RTC_BA+0x24) /*!< Leap year Indicator Register */
#define REG_RTC_INTEN (RTC_BA+0x28) /*!< RTC Interrupt Enable Register */
#define REG_RTC_INTSTS (RTC_BA+0x2C) /*!< RTC Interrupt Indicator Register */
#define REG_RTC_TICK (RTC_BA+0x30) /*!< RTC Time Tick Register */
#define REG_RTC_PWRCTL (RTC_BA+0x34) /*!< Power Control Register */
#define REG_RTC_PWRCNT (RTC_BA+0x38) /*!< Power Control Counter Register */
#define REG_RTC_SPR0 (RTC_BA+0x40) /*!< Spare REgistger 0 */
#define REG_RTC_SPR1 (RTC_BA+0x44) /*!< Spare REgistger 1 */
#define REG_RTC_SPR2 (RTC_BA+0x48) /*!< Spare REgistger 2 */
#define REG_RTC_SPR3 (RTC_BA+0x4C) /*!< Spare REgistger 3 */
#define REG_RTC_SPR4 (RTC_BA+0x50) /*!< Spare REgistger 4 */
#define REG_RTC_SPR5 (RTC_BA+0x54) /*!< Spare REgistger 5 */
#define REG_RTC_SPR6 (RTC_BA+0x58) /*!< Spare REgistger 6 */
#define REG_RTC_SPR7 (RTC_BA+0x5C) /*!< Spare REgistger 7 */
#define REG_RTC_SPR8 (RTC_BA+0x60) /*!< Spare REgistger 8 */
#define REG_RTC_SPR9 (RTC_BA+0x64) /*!< Spare REgistger 9 */
#define REG_RTC_SPR10 (RTC_BA+0x68) /*!< Spare REgistger 10 */
#define REG_RTC_SPR11 (RTC_BA+0x6C) /*!< Spare REgistger 11 */
#define REG_RTC_SPR12 (RTC_BA+0x70) /*!< Spare REgistger 12 */
#define REG_RTC_SPR13 (RTC_BA+0x74) /*!< Spare REgistger 13 */
#define REG_RTC_SPR14 (RTC_BA+0x78) /*!< Spare REgistger 14 */
#define REG_RTC_SPR15 (RTC_BA+0x7C) /*!< Spare REgistger 15 */
/**@}*/ /* end of RTC register group */
/*---------------------- Pulse Width Modulation Controller -------------------------*/
/**
@addtogroup PWM Pulse Width Modulation Controller(PWM)
Memory Mapped Structure for PWM Controller
@{ */
#define REG_PWM0_PPR (PWM0_BA+0x00) /*!< PWM Pre-scale Register 0 */
#define REG_PWM0_CSR (PWM0_BA+0x04) /*!< PWM Clock Select Register */
#define REG_PWM0_PCR (PWM0_BA+0x08) /*!< PWM Control Register */
#define REG_PWM0_CNR0 (PWM0_BA+0x0C) /*!< PWM Counter Register 0 */
#define REG_PWM0_CMR0 (PWM0_BA+0x10) /*!< PWM Comparator Register 0 */
#define REG_PWM0_PDR0 (PWM0_BA+0x14) /*!< PWM Data Register 0 */
#define REG_PWM0_CNR1 (PWM0_BA+0x18) /*!< PWM Counter Register 1 */
#define REG_PWM0_CMR1 (PWM0_BA+0x1C) /*!< PWM Comparator Register 1 */
#define REG_PWM0_PDR1 (PWM0_BA+0x20) /*!< PWM Data Register 1 */
#define REG_PWM0_CNR2 (PWM0_BA+0x24) /*!< PWM Counter Register 2 */
#define REG_PWM0_CMR2 (PWM0_BA+0x28) /*!< PWM Comparator Register 2 */
#define REG_PWM0_PDR2 (PWM0_BA+0x2C) /*!< PWM Data Register 2 */
#define REG_PWM0_CNR3 (PWM0_BA+0x30) /*!< PWM Counter Register 3 */
#define REG_PWM0_CMR3 (PWM0_BA+0x34) /*!< PWM Comparator Register 3 */
#define REG_PWM0_PDR3 (PWM0_BA+0x38) /*!< PWM Data Register 3 */
#define REG_PWM0_PIER (PWM0_BA+0x3C) /*!< PWM Timer Interrupt Enable Register */
#define REG_PWM0_PIIR (PWM0_BA+0x40) /*!< PWM Timer Interrupt Identification Register */
/*---------------------- Analog to Digital Converter -------------------------*/
/**
@addtogroup ADC Analog to Digital Converter(ADC)
Memory Mapped Structure for ADC Controller
@{ */
#define REG_ADC_CTL (ADC_BA+0x000) /*!< ADC Contrl */
#define REG_ADC_CONF (ADC_BA+0x004) /*!< ADC Configure */
#define REG_ADC_IER (ADC_BA+0x008) /*!< ADC Interrupt Enable Register */
#define REG_ADC_ISR (ADC_BA+0x00C) /*!< ADC Interrupt Status Register */
#define REG_ADC_WKISR (ADC_BA+0x010) /*!< ADC Wake Up Interrupt Status Register */
#define REG_ADC_XYDATA (ADC_BA+0x020) /*!< ADC Touch XY Pressure Data */
#define REG_ADC_ZDATA (ADC_BA+0x024) /*!< ADC Touch Z Pressure Data */
#define REG_ADC_DATA (ADC_BA+0x028) /*!< ADC Normal Conversion Data */
#define REG_ADC_VBADATA (ADC_BA+0x02C) /*!< ADC Battery Detection Data */
#define REG_ADC_KPDATA (ADC_BA+0x030) /*!< ADC Key Pad Data */
#define REG_ADC_SELFDATA (ADC_BA+0x034) /*!< ADC Self-Test Data */
#define REG_ADC_XYSORT0 (ADC_BA+0x1F4) /*!< ADC Touch XY Position Mean Value Sort 0 */
#define REG_ADC_XYSORT1 (ADC_BA+0x1F8) /*!< ADC Touch XY Position Mean Value Sort 1 */
#define REG_ADC_XYSORT2 (ADC_BA+0x1FC) /*!< ADC Touch XY Position Mean Value Sort 2 */
#define REG_ADC_XYSORT3 (ADC_BA+0x200) /*!< ADC Touch XY Position Mean Value Sort 3 */
#define REG_ADC_ZSORT0 (ADC_BA+0x204) /*!< ADC Touch Z Pressure Mean Value Sort 0 */
#define REG_ADC_ZSORT1 (ADC_BA+0x208) /*!< ADC Touch Z Pressure Mean Value Sort 1 */
#define REG_ADC_ZSORT2 (ADC_BA+0x20C) /*!< ADC Touch Z Pressure Mean Value Sort 2 */
#define REG_ADC_ZSORT3 (ADC_BA+0x210) /*!< ADC Touch Z Pressure Mean Value Sort 3 */
#define REG_ADC_MTMULCK (ADC_BA+0x220) /*!< ADC Manual Test Mode Unlock */
#define REG_ADC_MTCONF (ADC_BA+0x224) /*!< ADC Manual Test Mode Configure */
#define REG_ADC_MTCON (ADC_BA+0x228) /*!< ADC Manual Test Mode Control */
#define REG_ADC_ADCAII (ADC_BA+0x22C) /*!< ADC Analog Interface Information */
#define REG_ADC_ADCAIIRLT (ADC_BA+0x230) /*!< ADC Analog Interface Information Result */
/**@}*/ /* end of ADC register group */
/*------------------ Capture Sensor Interface Controller ---------------------*/
/**
@addtogroup CAP Capture Engine(CAP)
Memory Mapped Structure for CAP Controller
@{ */
#define REG_CAP0_CTL (CAP0_BA+0x000) /*!< Image Capture Interface Control Register */
#define REG_CAP0_PAR (CAP0_BA+0x004) /*!< Image Capture Interface Parameter Register */
#define REG_CAP0_INT (CAP0_BA+0x008) /*!< Image Capture Interface Interrupt Registe */
#define REG_CAP0_POSTERIZE (CAP0_BA+0x00C) /*!< YUV Component Posterizing Factor Register */
#define REG_CAP0_MD (CAP0_BA+0x010) /*!< Motion Detection Register */
#define REG_CAP0_MDADDR (CAP0_BA+0x014) /*!< Motion Detection Output Address Register */
#define REG_CAP0_MDYADDR (CAP0_BA+0x018) /*!< Motion Detection Temp YOutput Address Register */
#define REG_CAP0_SEPIA (CAP0_BA+0x01C) /*!< Sepia Effect Control Register */
#define REG_CAP0_CWSP (CAP0_BA+0x020) /*!< Cropping Window Starting Address Register */
#define REG_CAP0_CWS (CAP0_BA+0x024) /*!< Cropping Window Size Register */
#define REG_CAP0_PKTSL (CAP0_BA+0x028) /*!< Packet Scaling Vertical/Horizontal Factor Register (LSB) */
#define REG_CAP0_PLNSL (CAP0_BA+0x02C) /*!< Planar Scaling Vertical/Horizontal Factor Register (LSB) */
#define REG_CAP0_FRCTL (CAP0_BA+0x030) /*!< Scaling Frame Rate Factor Register */
#define REG_CAP0_STRIDE (CAP0_BA+0x034) /*!< Frame Output Pixel Stride Register */
#define REG_CAP0_FIFOTH (CAP0_BA+0x03C) /*!< FIFO threshold Register */
#define REG_CAP0_CMPADDR (CAP0_BA+0x040) /*!< Compare Packet Memory Base Address Register */
#define REG_CAP0_PKTSM (CAP0_BA+0x048) /*!< Packet Scaling Vertical/Horizontal Factor Register (MSB) */
#define REG_CAP0_PLNSM (CAP0_BA+0x04C) /*!< Planar Scaling Vertical/Horizontal Factor Register (MSB) */
#define REG_CAP0_CURADDRP (CAP0_BA+0x050) /*!< Current Packet System Memory Address Register */
#define REG_CAP0_CURADDRY (CAP0_BA+0x054) /*!< Current Planar Y System Memory Address Register */
#define REG_CAP0_CURADDRU (CAP0_BA+0x058) /*!< Current Planar U System Memory Address Register */
#define REG_CAP0_CURADDRV (CAP0_BA+0x05C) /*!< Current Planar V System Memory Address Register */
#define REG_CAP0_PKTBA0 (CAP0_BA+0x060) /*!< System Memory Packet Base Address Register */
#define REG_CAP0_PKTBA1 (CAP0_BA+0x064) /*!< System Memory Packet Base Address Register */
#define REG_CAP0_YBA (CAP0_BA+0x080) /*!< System Memory Planar Y Base Address Register */
#define REG_CAP0_UBA (CAP0_BA+0x084) /*!< System Memory Planar U Base Address Register */
#define REG_CAP0_VBA (CAP0_BA+0x088) /*!< System Memory Planar V Base Address Register */
/**@}*/ /* end of CAP register group */
/*------------------ SDRAM Interface Controller ---------------------*/
/**
@addtogroup SDIC SDRAM Interface Controller(SDIC)
Memory Mapped Structure for SDIC Controller
@{ */
#define REG_SDIC_OPMCTL (SDIC_BA+0x000) /*!< SDRAM Controller Operation Mode Control Register */
#define REG_SDIC_CMD (SDIC_BA+0x004) /*!< SDRAM Command Register */
#define REG_SDIC_REFCTL (SDIC_BA+0x008) /*!< SDRAM Controller Refresh Control Register */
#define REG_SDIC_SIZE0 (SDIC_BA+0x010) /*!< SDRAM 0 Size Register */
#define REG_SDIC_SIZE1 (SDIC_BA+0x014) /*!< SDRAM 1 Size Register */
#define REG_SDIC_MR (SDIC_BA+0x018) /*!< SDRAM Mode Register */
#define REG_SDIC_EMR (SDIC_BA+0x01C) /*!< SDRAM Extended Mode Register */
#define REG_SDIC_EMR2 (SDIC_BA+0x020) /*!< SDRAM Extended Mode Register 2 */
#define REG_SDIC_EMR3 (SDIC_BA+0x024) /*!< SDRAM Extended Mode Register 3 */
#define REG_SDIC_TIME (SDIC_BA+0x028) /*!< SDRAM Timing Control Register */
#define REG_SDIC_DQSODS (SDIC_BA+0x030) /*!< DQS Output Delay Selection Register */
#define REG_SDIC_CKDQSDS (SDIC_BA+0x034) /*!< Clock and DQS Delay Selection Register */
#define REG_SDIC_DAENSEL (SDIC_BA+0x038) /*!< Data Latch Enable Selection Register */
/**@}*/ /* end of SDIC register group */
/*---------------------- Controller Area Network -------------------------*/
/**
@addtogroup CAN Controller Area Network(CAN)
Memory Mapped Structure for CAN Controller
@{ */
#define REG_CAN0_CON (CAN0_BA+0x00) /*!< Control Register */
#define REG_CAN0_STATUS (CAN0_BA+0x04) /*!< Status Register */
#define REG_CAN0_ERR (CAN0_BA+0x08) /*!< Error Counter Register */
#define REG_CAN0_BTIME (CAN0_BA+0x0C) /*!< Bit Time Register */
#define REG_CAN0_IIDR (CAN0_BA+0x10) /*!< Interrupt Identifier Register */
#define REG_CAN0_TEST (CAN0_BA+0x14) /*!< Test Register */
#define REG_CAN0_BRPE (CAN0_BA+0x18) /*!< BRP Extension Register */
#define REG_CAN0_IF1_CREQ (CAN0_BA+0x20) /*!< IF1 Command Request Register */
#define REG_CAN0_IF2_CREQ (CAN0_BA+0x80) /*!< IF2 Command Request Register */
#define REG_CAN0_IF1_CMASK (CAN0_BA+0x24) /*!< IF1 Command Mask Register */
#define REG_CAN0_IF2_CMASK (CAN0_BA+0x84) /*!< IF2 Command Mask Register */
#define REG_CAN0_IF1_MASK1 (CAN0_BA+0x28) /*!< IF1 Msak 1 Register */
#define REG_CNA0_IF2_MASK1 (CAN0_BA+0x88) /*!< IF2 Mask 1 Register */
#define REG_CAN0_IF1_MASK2 (CAN0_BA+0x2C) /*!< IF1 Mask 2 Register */
#define REG_CAN0_IF2_MASK2 (CAN0_BA+0x8C) /*!< IF2 Mask 2 REgister */
#define REG_CAN0_IF1_ARB1 (CAN0_BA+0x30) /*!< IF1 Arbitration 1 Register */
#define REG_CAN0_IF2_ARB1 (CAN0_BA+0x90) /*!< IF2 Arbitration 1 Register */
#define REG_CAN0_IF1_ARB2 (CAN0_BA+0x34) /*!< IF1 Arbitration 2 Register */
#define REG_CAN0_IF2_ARB2 (CAN0_BA+0x94) /*!< IF2 Arbitration 2 Register */
#define REG_CAN0_IF1_MCON (CAN0_BA+0x38) /*!< IF1 Message Control Register */
#define REG_CAN0_IF2_MCON (CAN0_BA+0x98) /*!< IF2 Message Control Register */
#define REG_CAN0_IF1_DAT_A1 (CAN0_BA+0x3C) /*!< IF1 Data A1 Register */
#define REG_CAN0_IF1_DAT_A2 (CAN0_BA+0x40) /*!< IF1 Data A2 Register */
#define REG_CAN0_IF1_DAT_B1 (CAN0_BA+0x44) /*!< IF1 Data B1 Register */
#define REG_CAN0_IF1_DAT_B2 (CAN0_BA+0x48) /*!< IF1 Data B2 Register */
#define REG_CAN0_IF2_DAT_A1 (CAN0_BA+0x9C) /*!< IF2 Data A1 Register */
#define REG_CAN0_IF2_DAT_A2 (CAN0_BA+0xA0) /*!< IF2 Data A2 Register */
#define REG_CAN0_IF2_DAT_B1 (CAN0_BA+0xA4) /*!< IF2 Data B1 Register */
#define REG_CAN0_IF2_DAT_B2 (CAN0_BA+0xA8) /*!< IF2 Data B2 Register */
#define REG_CAN0_TXREQ1 (CAN0_BA+0x100) /*!< Transmission Request Register 1 */
#define REG_CAN0_TXREQ2 (CAN0_BA+0x104) /*!< Transmission Request Register 2 */
#define REG_CAN0_NDAT1 (CAN0_BA+0x120) /*!< New Data Register 1 */
#define REG_CAN0_NDAT2 (CAN0_BA+0x124) /*!< New Data Register 2 */
#define REG_CAN0_IPND1 (CAN0_BA+0x140) /*!< Interrupt Pending Register 1 */
#define REG_CAN0_IPND2 (CAN0_BA+0x142) /*!< Interrupt Pending Register 2 */
#define REG_CAN0_MVLD1 (CAN0_BA+0x160) /*!< Message Valid Register 1 */
#define REG_CAN0_MVLD2 (CAN0_BA+0x164) /*!< Message Valid Register 2 */
#define REG_CAN0_WU_EN (CAN0_BA+0x168) /*!< Wake-up Function Enable */
#define REG_CAN0_WU_STATUS (CAN0_BA+0x16C) /*!< Wake-up Function Status */
#define REG_CAN1_CON (CAN1_BA+0x00) /*!< Control Register */
#define REG_CAN1_STATUS (CAN1_BA+0x04) /*!< Status Register */
#define REG_CAN1_ERR (CAN1_BA+0x08) /*!< Error Counter Register */
#define REG_CAN1_BTIME (CAN1_BA+0x0C) /*!< Bit Time Register */
#define REG_CAN1_IIDR (CAN1_BA+0x10) /*!< Interrupt Identifier Register */
#define REG_CAN1_TEST (CAN1_BA+0x14) /*!< Test Register */
#define REG_CAN1_BRPE (CAN1_BA+0x18) /*!< BRP Extension Register */
#define REG_CAN1_IF1_CREQ (CAN1_BA+0x20) /*!< IF1 Command Request Register */
#define REG_CAN1_IF2_CREQ (CAN1_BA+0x80) /*!< IF2 Command Request Register */
#define REG_CAN1_IF1_CMASK (CAN1_BA+0x24) /*!< IF1 Command Mask Register */
#define REG_CAN1_IF2_CMASK (CAN1_BA+0x84) /*!< IF2 Command Mask Register */
#define REG_CAN1_IF1_MASK1 (CAN1_BA+0x28) /*!< IF1 Msak 1 Register */
#define REG_CNA1_IF2_MASK1 (CAN1_BA+0x88) /*!< IF2 Mask 1 Register */
#define REG_CAN1_IF1_MASK2 (CAN1_BA+0x2C) /*!< IF1 Mask 2 Register */
#define REG_CAN1_IF2_MASK2 (CAN1_BA+0x8C) /*!< IF2 Mask 2 REgister */
#define REG_CAN1_IF1_ARB1 (CAN1_BA+0x30) /*!< IF1 Arbitration 1 Register */
#define REG_CAN1_IF2_ARB1 (CAN1_BA+0x90) /*!< IF2 Arbitration 1 Register */
#define REG_CAN1_IF1_ARB2 (CAN1_BA+0x34) /*!< IF1 Arbitration 2 Register */
#define REG_CAN1_IF2_ARB2 (CAN1_BA+0x94) /*!< IF2 Arbitration 2 Register */
#define REG_CAN1_IF1_MCON (CAN1_BA+0x38) /*!< IF1 Message Control Register */
#define REG_CAN1_IF2_MCON (CAN1_BA+0x98) /*!< IF2 Message Control Register */
#define REG_CAN1_IF1_DAT_A1 (CAN1_BA+0x3C) /*!< IF1 Data A1 Register */
#define REG_CAN1_IF1_DAT_A2 (CAN1_BA+0x40) /*!< IF1 Data A2 Register */
#define REG_CAN1_IF1_DAT_B1 (CAN1_BA+0x44) /*!< IF1 Data B1 Register */
#define REG_CAN1_IF1_DAT_B2 (CAN1_BA+0x48) /*!< IF1 Data B2 Register */
#define REG_CAN1_IF2_DAT_A1 (CAN1_BA+0x9C) /*!< IF2 Data A1 Register */
#define REG_CAN1_IF2_DAT_A2 (CAN1_BA+0xA0) /*!< IF2 Data A2 Register */
#define REG_CAN1_IF2_DAT_B1 (CAN1_BA+0xA4) /*!< IF2 Data B1 Register */
#define REG_CAN1_IF2_DAT_B2 (CAN1_BA+0xA8) /*!< IF2 Data B2 Register */
#define REG_CAN1_TXREQ1 (CAN1_BA+0x100) /*!< Transmission Request Register 1 */
#define REG_CAN1_TXREQ2 (CAN1_BA+0x104) /*!< Transmission Request Register 2 */
#define REG_CAN1_NDAT1 (CAN1_BA+0x120) /*!< New Data Register 1 */
#define REG_CAN1_NDAT2 (CAN1_BA+0x124) /*!< New Data Register 2 */
#define REG_CAN1_IPND1 (CAN1_BA+0x140) /*!< Interrupt Pending Register 1 */
#define REG_CAN1_IPND2 (CAN1_BA+0x142) /*!< Interrupt Pending Register 2 */
#define REG_CAN1_MVLD1 (CAN1_BA+0x160) /*!< Message Valid Register 1 */
#define REG_CAN1_MVLD2 (CAN1_BA+0x164) /*!< Message Valid Register 2 */
#define REG_CAN1_WU_EN (CAN1_BA+0x168) /*!< Wake-up Function Enable */
#define REG_CAN1_WU_STATUS (CAN1_BA+0x16C) /*!< Wake-up Function Status */
/**@}*/ /* end of CAN register group */
/*@}*/ /* end of group REGISTER */
/** @addtogroup IO_ROUTINE I/O Routines
The Declaration of NUC980 I/O Routines
@{
*/
typedef volatile unsigned char vu8; ///< Define 8-bit unsigned volatile data type
typedef volatile unsigned short vu16; ///< Define 16-bit unsigned volatile data type
typedef volatile unsigned long vu32; ///< Define 32-bit unsigned volatile data type
/**
* @brief Get a 8-bit unsigned value from specified address
* @param[in] addr Address to get 8-bit data from
* @return 8-bit unsigned value stored in specified address
*/
#define M8(addr) (*((vu8 *) (addr)))
/**
* @brief Get a 16-bit unsigned value from specified address
* @param[in] addr Address to get 16-bit data from
* @return 16-bit unsigned value stored in specified address
* @note The input address must be 16-bit aligned
*/
#define M16(addr) (*((vu16 *) (addr)))
/**
* @brief Get a 32-bit unsigned value from specified address
* @param[in] addr Address to get 32-bit data from
* @return 32-bit unsigned value stored in specified address
* @note The input address must be 32-bit aligned
*/
#define M32(addr) (*((vu32 *) (addr)))
/**
* @brief Set a 32-bit unsigned value to specified I/O port
* @param[in] port Port address to set 32-bit data
* @param[in] value Value to write to I/O port
* @return None
* @note The output port must be 32-bit aligned
*/
#define outpw(port,value) *((volatile unsigned int *)(port)) = value
/**
* @brief Get a 32-bit unsigned value from specified I/O port
* @param[in] port Port address to get 32-bit data from
* @return 32-bit unsigned value stored in specified I/O port
* @note The input port must be 32-bit aligned
*/
#define inpw(port) (*((volatile unsigned int *)(port)))
/**
* @brief Set a 16-bit unsigned value to specified I/O port
* @param[in] port Port address to set 16-bit data
* @param[in] value Value to write to I/O port
* @return None
* @note The output port must be 16-bit aligned
*/
#define outps(port,value) *((volatile unsigned short *)(port)) = value
/**
* @brief Get a 16-bit unsigned value from specified I/O port
* @param[in] port Port address to get 16-bit data from
* @return 16-bit unsigned value stored in specified I/O port
* @note The input port must be 16-bit aligned
*/
#define inps(port) (*((volatile unsigned short *)(port)))
/**
* @brief Set a 8-bit unsigned value to specified I/O port
* @param[in] port Port address to set 8-bit data
* @param[in] value Value to write to I/O port
* @return None
*/
#define outpb(port,value) *((volatile unsigned char *)(port)) = value
/**
* @brief Get a 8-bit unsigned value from specified I/O port
* @param[in] port Port address to get 8-bit data from
* @return 8-bit unsigned value stored in specified I/O port
*/
#define inpb(port) (*((volatile unsigned char *)(port)))
/**
* @brief Set a 32-bit unsigned value to specified I/O port
* @param[in] port Port address to set 32-bit data
* @param[in] value Value to write to I/O port
* @return None
* @note The output port must be 32-bit aligned
*/
#define outp32(port,value) *((volatile unsigned int *)(port)) = value
/**
* @brief Get a 32-bit unsigned value from specified I/O port
* @param[in] port Port address to get 32-bit data from
* @return 32-bit unsigned value stored in specified I/O port
* @note The input port must be 32-bit aligned
*/
#define inp32(port) (*((volatile unsigned int *)(port)))
/**
* @brief Set a 16-bit unsigned value to specified I/O port
* @param[in] port Port address to set 16-bit data
* @param[in] value Value to write to I/O port
* @return None
* @note The output port must be 16-bit aligned
*/
#define outp16(port,value) *((volatile unsigned short *)(port)) = value
/**
* @brief Get a 16-bit unsigned value from specified I/O port
* @param[in] port Port address to get 16-bit data from
* @return 16-bit unsigned value stored in specified I/O port
* @note The input port must be 16-bit aligned
*/
#define inp16(port) (*((volatile unsigned short *)(port)))
/**
* @brief Set a 8-bit unsigned value to specified I/O port
* @param[in] port Port address to set 8-bit data
* @param[in] value Value to write to I/O port
* @return None
*/
#define outp8(port,value) *((volatile unsigned char *)(port)) = value
/**
* @brief Get a 8-bit unsigned value from specified I/O port
* @param[in] port Port address to get 8-bit data from
* @return 8-bit unsigned value stored in specified I/O port
*/
#define inp8(port) (*((volatile unsigned char *)(port)))
/*@}*/ /* end of group IO_ROUTINE */
/******************************************************************************/
/* Legacy Constants */
/******************************************************************************/
/** @addtogroup Legacy_Constants Legacy Constants
NUC980 Legacy Constants
@{
*/
typedef void *PVOID; ///< Define void pointer data type
typedef void VOID; ///< Define void data type
typedef char BOOL; ///< Define bool data type
typedef char *PBOOL; ///< Define bool pointer data type
typedef char INT8; ///< Define 8-bit singed data type
typedef char CHAR; ///< Define char data type
typedef char *PINT8; ///< Define 8-bit singed pointer data type
typedef char *PCHAR; ///< Define char pointer data type
typedef unsigned char UINT8; ///< Define 8-bit unsigned data type
typedef unsigned char UCHAR; ///< Define char unsigned data type
typedef unsigned char *PUINT8; ///< Define 8-bit unsigned pointer data type
typedef unsigned char *PUCHAR; ///< Define char unsigned pointer data type
typedef char *PSTR; ///< Define string pointer data type
typedef const char *PCSTR; ///< Define constant string pointer data type
typedef short SHORT; ///< Define short signed data type
typedef short *PSHORT; ///< Define short signed pointer data type
typedef unsigned short USHORT; ///< Define short unsigned data type
typedef unsigned short *PUSHORT; ///< Define short unsigned pointer data type
typedef short INT16; ///< Define 16-bit signed data type
typedef short *PINT16; ///< Define 16-bit signed pointer data type
typedef unsigned short UINT16; ///< Define 16-bit unsigned data type
typedef unsigned short *PUINT16; ///< Define 16-bit unsigned pointer data type
typedef int INT; ///< Define integer signed data type
typedef int *PINT; ///< Define integer signed pointer data type
typedef unsigned int UINT; ///< Define integer unsigned data type
typedef unsigned int *PUINT; ///< Define integer unsigned pointer data type
typedef int INT32; ///< Define 32-bit signed data type
typedef int *PINT32; ///< Define 32-bit signed pointer data type
typedef unsigned int UINT32; ///< Define 32-bit unsigned data type
typedef unsigned int *PUINT32; ///< Define 32-bit unsigned pointer data type
#if defined (__GNUC__) && !(__CC_ARM)
typedef long long INT64;
typedef unsigned long long UINT64;
#else
typedef __int64 INT64; ///< Define 64-bit signed data type
typedef unsigned __int64 UINT64; ///< Define 64-bit unsigned data type
#endif
typedef float FLOAT; ///< Define float data type
typedef float *PFLOAT; ///< Define float pointer data type
typedef double DOUBLE; ///< Define double data type
typedef double *PDOUBLE; ///< Define double pointer data type
typedef int SIZE_T; ///< Define size of data type
typedef unsigned char REG8; ///< Define 8-bit register data type
typedef unsigned short REG16; ///< Define 16-bit register data type
typedef unsigned int REG32; ///< Define 32-bit register data type
#ifndef NULL
#define NULL (0) ///< NULL pointer
#endif
#define TRUE (1) ///< Boolean true, define to use in API parameters or return value
#define FALSE (0) ///< Boolean false, define to use in API parameters or return value
#define ENABLE (1) ///< Enable, define to use in API parameters
#define DISABLE (0) ///< Disable, define to use in API parameters
#define Successful 0 ///< Function return value success
#define Fail 1 ///< Function return value failed
/* Define one bit mask */
#define BIT0 (0x00000001) ///< Bit 0 mask of an 32 bit integer
#define BIT1 (0x00000002) ///< Bit 1 mask of an 32 bit integer
#define BIT2 (0x00000004) ///< Bit 2 mask of an 32 bit integer
#define BIT3 (0x00000008) ///< Bit 3 mask of an 32 bit integer
#define BIT4 (0x00000010) ///< Bit 4 mask of an 32 bit integer
#define BIT5 (0x00000020) ///< Bit 5 mask of an 32 bit integer
#define BIT6 (0x00000040) ///< Bit 6 mask of an 32 bit integer
#define BIT7 (0x00000080) ///< Bit 7 mask of an 32 bit integer
#define BIT8 (0x00000100) ///< Bit 8 mask of an 32 bit integer
#define BIT9 (0x00000200) ///< Bit 9 mask of an 32 bit integer
#define BIT10 (0x00000400) ///< Bit 10 mask of an 32 bit integer
#define BIT11 (0x00000800) ///< Bit 11 mask of an 32 bit integer
#define BIT12 (0x00001000) ///< Bit 12 mask of an 32 bit integer
#define BIT13 (0x00002000) ///< Bit 13 mask of an 32 bit integer
#define BIT14 (0x00004000) ///< Bit 14 mask of an 32 bit integer
#define BIT15 (0x00008000) ///< Bit 15 mask of an 32 bit integer
#define BIT16 (0x00010000) ///< Bit 16 mask of an 32 bit integer
#define BIT17 (0x00020000) ///< Bit 17 mask of an 32 bit integer
#define BIT18 (0x00040000) ///< Bit 18 mask of an 32 bit integer
#define BIT19 (0x00080000) ///< Bit 19 mask of an 32 bit integer
#define BIT20 (0x00100000) ///< Bit 20 mask of an 32 bit integer
#define BIT21 (0x00200000) ///< Bit 21 mask of an 32 bit integer
#define BIT22 (0x00400000) ///< Bit 22 mask of an 32 bit integer
#define BIT23 (0x00800000) ///< Bit 23 mask of an 32 bit integer
#define BIT24 (0x01000000) ///< Bit 24 mask of an 32 bit integer
#define BIT25 (0x02000000) ///< Bit 25 mask of an 32 bit integer
#define BIT26 (0x04000000) ///< Bit 26 mask of an 32 bit integer
#define BIT27 (0x08000000) ///< Bit 27 mask of an 32 bit integer
#define BIT28 (0x10000000) ///< Bit 28 mask of an 32 bit integer
#define BIT29 (0x20000000) ///< Bit 29 mask of an 32 bit integer
#define BIT30 (0x40000000) ///< Bit 30 mask of an 32 bit integer
#define BIT31 (0x80000000) ///< Bit 31 mask of an 32 bit integer
/* Byte Mask Definitions */
#define BYTE0_Msk (0x000000FF) ///< Mask to get bit0~bit7 from a 32 bit integer
#define BYTE1_Msk (0x0000FF00) ///< Mask to get bit8~bit15 from a 32 bit integer
#define BYTE2_Msk (0x00FF0000) ///< Mask to get bit16~bit23 from a 32 bit integer
#define BYTE3_Msk (0xFF000000) ///< Mask to get bit24~bit31 from a 32 bit integer
#define GET_BYTE0(u32Param) ((u32Param & BYTE0_Msk) ) /*!< Extract Byte 0 (Bit 0~ 7) from parameter u32Param */
#define GET_BYTE1(u32Param) ((u32Param & BYTE1_Msk) >> 8) /*!< Extract Byte 1 (Bit 8~15) from parameter u32Param */
#define GET_BYTE2(u32Param) ((u32Param & BYTE2_Msk) >> 16) /*!< Extract Byte 2 (Bit 16~23) from parameter u32Param */
#define GET_BYTE3(u32Param) ((u32Param & BYTE3_Msk) >> 24) /*!< Extract Byte 3 (Bit 24~31) from parameter u32Param */
#ifdef __cplusplus
#define __I volatile /*!< Defines 'read only' permissions */
#else
#define __I volatile const /*!< Defines 'read only' permissions */
#endif
#define __O volatile /*!< Defines 'write only' permissions */
#define __IO volatile /*!< Defines 'read / write' permissions */
#endif /* __NUC980_H__ */
/*@}*/ /* end of group Legacy_Constants */
|