blob: 0eb6a1d36336022caca8faac6924295c35861448 (
plain)
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
|
/******************************************************************************
TMS320C66xx KeyStone Multicore DSP Software Development Kit (SDK). Rev 2A.
(C) MicroLAB Systems, 2014-2015
File: Definitions
-----
Notes:
------
1. This C-header file contains general DSP definitions and
is used with C66XX.h C-header file.
2. This file is best viewed with the TAB setting set to '4'.
******************************************************************************/
/**
* @file C66XX_DEF.hxx
*
* @brief Definitions
*
* This file contains general C66xx DSP definitions
*
*/
#ifndef __C66XX_DEF_HXX__ // check for this file has been already included
#define __C66XX_DEF_HXX__ 1
//=============================================================================
//============ DSP CPU ID =====================================================
//=============================================================================
// DSP CPU ID is located at CSR register and is used to identify the chip
#define C66XX_DSP_CPU_ID 0x15
//=============================================================================
#ifdef __C66XX_SELECT_C6678_DSP__
//=============================================================================
//============ DSP cores number ===============================================
//=============================================================================
#define C66XX_DSP_NUMBER_OF_CORES 8
//=============================================================================
//=============================================================================
//============ DSP memory map =================================================
//=============================================================================
// All address ranges refer to 32-bit LOGICAL addresses!!!
// Local L2 SRAM - 512KB
#define C66XX_LOCAL_L2_SRAM_SADDR 0x00800000
#define C66XX_LOCAL_L2_SRAM_EADDR 0x0087ffff
#define C66XX_LOCAL_L2_SRAM_LEN (C66XX_LOCAL_L2_SRAM_EADDR - C66XX_LOCAL_L2_SRAM_SADDR + 1)
// Local L1P SRAM - 32KB
#define C66XX_LOCAL_L1P_SRAM_SADDR 0x00e00000
#define C66XX_LOCAL_L1P_SRAM_EADDR 0x00e07fff
#define C66XX_LOCAL_L1P_SRAM_LEN (C66XX_LOCAL_L1P_SRAM_EADDR - C66XX_LOCAL_L1P_SRAM_SADDR + 1)
// Local L1D SRAM - 32KB
#define C66XX_LOCAL_L1D_SRAM_SADDR 0x00f00000
#define C66XX_LOCAL_L1D_SRAM_EADDR 0x00f07fff
#define C66XX_LOCAL_L1D_SRAM_LEN (C66XX_LOCAL_L1D_SRAM_EADDR - C66XX_LOCAL_L1D_SRAM_SADDR + 1)
// C66xx CorePack registers area - 4MB
#define C66XX_DSP_RG_AREA_SADDR 0x01800000
#define C66XX_DSP_RG_AREA_EADDR 0x01bfffff
#define C66XX_DSP_RG_AREA_LEN (C66XX_DSP_RG_AREA_EADDR - C66XX_DSP_RG_AREA_SADDR + 1)
// Tracer MSMC 0 registers area - 128B
#define C66XX_TRACER_MSMC_0_RG_AREA_SADDR 0x01d00000
#define C66XX_TRACER_MSMC_0_RG_AREA_EADDR 0x01d0007f
#define C66XX_TRACER_MSMC_0_RG_AREA_LEN (C66XX_TRACER_MSMC_0_RG_AREA_EADDR - C66XX_TRACER_MSMC_0_RG_AREA_SADDR + 1)
// Tracer MSMC 1 registers area - 128B
#define C66XX_TRACER_MSMC_1_RG_AREA_SADDR 0x01d08000
#define C66XX_TRACER_MSMC_1_RG_AREA_EADDR 0x01d0807f
#define C66XX_TRACER_MSMC_1_RG_AREA_LEN (C66XX_TRACER_MSMC_1_RG_AREA_EADDR - C66XX_TRACER_MSMC_1_RG_AREA_SADDR + 1)
// Tracer MSMC 2 registers area - 128B
#define C66XX_TRACER_MSMC_2_RG_AREA_SADDR 0x01d10000
#define C66XX_TRACER_MSMC_2_RG_AREA_EADDR 0x01d1007f
#define C66XX_TRACER_MSMC_2_RG_AREA_LEN (C66XX_TRACER_MSMC_2_RG_AREA_EADDR - C66XX_TRACER_MSMC_2_RG_AREA_SADDR + 1)
// Tracer MSMC 3 registers area - 128B
#define C66XX_TRACER_MSMC_3_RG_AREA_SADDR 0x01d18000
#define C66XX_TRACER_MSMC_3_RG_AREA_EADDR 0x01d1807f
#define C66XX_TRACER_MSMC_3_RG_AREA_LEN (C66XX_TRACER_MSMC_3_RG_AREA_EADDR - C66XX_TRACER_MSMC_3_RG_AREA_SADDR + 1)
// Tracer QM DMA registers area - 128B
#define C66XX_TRACER_QM_DMA_RG_AREA_SADDR 0x01d20000
#define C66XX_TRACER_QM_DMA_RG_AREA_EADDR 0x01d2007f
#define C66XX_TRACER_QM_DMA_RG_AREA_LEN (C66XX_TRACER_QM_DMA_RG_AREA_EADDR - C66XX_TRACER_QM_DMA_RG_AREA_SADDR + 1)
// Tracer DDR registers area - 128B
#define C66XX_TRACER_DDR_RG_AREA_SADDR 0x01d28000
#define C66XX_TRACER_DDR_RG_AREA_EADDR 0x01d2807f
#define C66XX_TRACER_DDR_RG_AREA_LEN (C66XX_TRACER_DDR_RG_AREA_EADDR - C66XX_TRACER_DDR_RG_AREA_SADDR + 1)
// Tracer SM registers area - 128B
#define C66XX_TRACER_SM_RG_AREA_SADDR 0x01d30000
#define C66XX_TRACER_SM_RG_AREA_EADDR 0x01d3007f
#define C66XX_TRACER_SM_RG_AREA_LEN (C66XX_TRACER_SM_RG_AREA_EADDR - C66XX_TRACER_SM_RG_AREA_SADDR + 1)
// Tracer QM CFG registers area - 128B
#define C66XX_TRACER_QM_CFG_RG_AREA_SADDR 0x01d38000
#define C66XX_TRACER_QM_CFG_RG_AREA_EADDR 0x01d3807f
#define C66XX_TRACER_QM_CFG_RG_AREA_LEN (C66XX_TRACER_QM_CFG_RG_AREA_EADDR - C66XX_TRACER_QM_CFG_RG_AREA_SADDR + 1)
// Tracer CFG registers area - 128B
#define C66XX_TRACER_CFG_RG_AREA_SADDR 0x01d40000
#define C66XX_TRACER_CFG_RG_AREA_EADDR 0x01d4007f
#define C66XX_TRACER_CFG_RG_AREA_LEN (C66XX_TRACER_CFG_RG_AREA_EADDR - C66XX_TRACER_CFG_RG_AREA_SADDR + 1)
// Tracer L2 0 registers area - 128B
#define C66XX_TRACER_L2_0_RG_AREA_SADDR 0x01d48000
#define C66XX_TRACER_L2_0_RG_AREA_EADDR 0x01d4807f
#define C66XX_TRACER_L2_0_RG_AREA_LEN (C66XX_TRACER_L2_0_RG_AREA_EADDR - C66XX_TRACER_L2_0_RG_AREA_SADDR + 1)
// Tracer L2 1 registers area - 128B
#define C66XX_TRACER_L2_1_RG_AREA_SADDR 0x01d50000
#define C66XX_TRACER_L2_1_RG_AREA_EADDR 0x01d5007f
#define C66XX_TRACER_L2_1_RG_AREA_LEN (C66XX_TRACER_L2_1_RG_AREA_EADDR - C66XX_TRACER_L2_1_RG_AREA_SADDR + 1)
// Tracer L2 2 registers area - 128B
#define C66XX_TRACER_L2_2_RG_AREA_SADDR 0x01d58000
#define C66XX_TRACER_L2_2_RG_AREA_EADDR 0x01d5807f
#define C66XX_TRACER_L2_2_RG_AREA_LEN (C66XX_TRACER_L2_2_RG_AREA_EADDR - C66XX_TRACER_L2_2_RG_AREA_SADDR + 1)
// Tracer L2 3 registers area - 128B
#define C66XX_TRACER_L2_3_RG_AREA_SADDR 0x01d60000
#define C66XX_TRACER_L2_3_RG_AREA_EADDR 0x01d6007f
#define C66XX_TRACER_L2_3_RG_AREA_LEN (C66XX_TRACER_L2_3_RG_AREA_EADDR - C66XX_TRACER_L2_3_RG_AREA_SADDR + 1)
// Tracer L2 4 registers area - 128B
#define C66XX_TRACER_L2_4_RG_AREA_SADDR 0x01d68000
#define C66XX_TRACER_L2_4_RG_AREA_EADDR 0x01d6807f
#define C66XX_TRACER_L2_4_RG_AREA_LEN (C66XX_TRACER_L2_4_RG_AREA_EADDR - C66XX_TRACER_L2_4_RG_AREA_SADDR + 1)
// Tracer L2 5 registers area - 128B
#define C66XX_TRACER_L2_5_RG_AREA_SADDR 0x01d70000
#define C66XX_TRACER_L2_5_RG_AREA_EADDR 0x01d7007f
#define C66XX_TRACER_L2_5_RG_AREA_LEN (C66XX_TRACER_L2_5_RG_AREA_EADDR - C66XX_TRACER_L2_5_RG_AREA_SADDR + 1)
// Tracer L2 6 registers area - 128B
#define C66XX_TRACER_L2_6_RG_AREA_SADDR 0x01d78000
#define C66XX_TRACER_L2_6_RG_AREA_EADDR 0x01d7807f
#define C66XX_TRACER_L2_6_RG_AREA_LEN (C66XX_TRACER_L2_6_RG_AREA_EADDR - C66XX_TRACER_L2_6_RG_AREA_SADDR + 1)
// Tracer L2 7 registers area - 128B
#define C66XX_TRACER_L2_7_RG_AREA_SADDR 0x01d80000
#define C66XX_TRACER_L2_7_RG_AREA_EADDR 0x01d8007f
#define C66XX_TRACER_L2_7_RG_AREA_LEN (C66XX_TRACER_L2_7_RG_AREA_EADDR - C66XX_TRACER_L2_7_RG_AREA_SADDR + 1)
// Telecom Serial Interface Port (TSIP) 0 registers area - 256KB
#define C66XX_TSIP_0_RG_AREA_SADDR 0x01e00000
#define C66XX_TSIP_0_RG_AREA_EADDR 0x01e3ffff
#define C66XX_TSIP_0_RG_AREA_LEN (C66XX_TSIP_0_RG_AREA_EADDR - C66XX_TSIP_0_RG_AREA_SADDR + 1)
// Telecom Serial Interface Port (TSIP) 1 registers area - 256KB
#define C66XX_TSIP_1_RG_AREA_SADDR 0x01e80000
#define C66XX_TSIP_1_RG_AREA_EADDR 0x01ebffff
#define C66XX_TSIP_1_RG_AREA_LEN (C66XX_TSIP_1_RG_AREA_EADDR - C66XX_TSIP_1_RG_AREA_SADDR + 1)
// Network Coprocessor (NETCP) registers area - 1MB
#define C66XX_NETCP_RG_AREA_SADDR 0x02000000
#define C66XX_NETCP_RG_AREA_EADDR 0x020fffff
#define C66XX_NETCP_RG_AREA_LEN (C66XX_NETCP_RG_AREA_EADDR - C66XX_NETCP_RG_AREA_SADDR + 1)
// Timer0 registers area - 128B
#define C66XX_TIMER_0_RG_AREA_SADDR 0x02200000
#define C66XX_TIMER_0_RG_AREA_EADDR 0x0220007f
#define C66XX_TIMER_0_RG_AREA_LEN (C66XX_TIMER_0_RG_AREA_EADDR - C66XX_TIMER_0_RG_AREA_SADDR + 1)
// Timer1 registers area - 128B
#define C66XX_TIMER_1_RG_AREA_SADDR 0x02210000
#define C66XX_TIMER_1_RG_AREA_EADDR 0x0221007f
#define C66XX_TIMER_1_RG_AREA_LEN (C66XX_TIMER_1_RG_AREA_EADDR - C66XX_TIMER_1_RG_AREA_SADDR + 1)
// Timer2 registers area - 128B
#define C66XX_TIMER_2_RG_AREA_SADDR 0x02220000
#define C66XX_TIMER_2_RG_AREA_EADDR 0x0222007f
#define C66XX_TIMER_2_RG_AREA_LEN (C66XX_TIMER_2_RG_AREA_EADDR - C66XX_TIMER_2_RG_AREA_SADDR + 1)
// Timer3 registers area - 128B
#define C66XX_TIMER_3_RG_AREA_SADDR 0x02230000
#define C66XX_TIMER_3_RG_AREA_EADDR 0x0223007f
#define C66XX_TIMER_3_RG_AREA_LEN (C66XX_TIMER_3_RG_AREA_EADDR - C66XX_TIMER_3_RG_AREA_SADDR + 1)
// Timer4 registers area - 128B
#define C66XX_TIMER_4_RG_AREA_SADDR 0x02240000
#define C66XX_TIMER_4_RG_AREA_EADDR 0x0224007f
#define C66XX_TIMER_4_RG_AREA_LEN (C66XX_TIMER_4_RG_AREA_EADDR - C66XX_TIMER_4_RG_AREA_SADDR + 1)
// Timer5 registers area - 128B
#define C66XX_TIMER_5_RG_AREA_SADDR 0x02250000
#define C66XX_TIMER_5_RG_AREA_EADDR 0x0225007f
#define C66XX_TIMER_5_RG_AREA_LEN (C66XX_TIMER_5_RG_AREA_EADDR - C66XX_TIMER_5_RG_AREA_SADDR + 1)
// Timer6 registers area - 128B
#define C66XX_TIMER_6_RG_AREA_SADDR 0x02260000
#define C66XX_TIMER_6_RG_AREA_EADDR 0x0226007f
#define C66XX_TIMER_6_RG_AREA_LEN (C66XX_TIMER_6_RG_AREA_EADDR - C66XX_TIMER_6_RG_AREA_SADDR + 1)
// Timer7 registers area - 128B
#define C66XX_TIMER_7_RG_AREA_SADDR 0x02270000
#define C66XX_TIMER_7_RG_AREA_EADDR 0x0227007f
#define C66XX_TIMER_7_RG_AREA_LEN (C66XX_TIMER_7_RG_AREA_EADDR - C66XX_TIMER_7_RG_AREA_SADDR + 1)
// Timer8 registers area - 128B
#define C66XX_TIMER_8_RG_AREA_SADDR 0x02280000
#define C66XX_TIMER_8_RG_AREA_EADDR 0x0228007f
#define C66XX_TIMER_8_RG_AREA_LEN (C66XX_TIMER_8_RG_AREA_EADDR - C66XX_TIMER_8_RG_AREA_SADDR + 1)
// Timer9 registers area - 128B
#define C66XX_TIMER_9_RG_AREA_SADDR 0x02290000
#define C66XX_TIMER_9_RG_AREA_EADDR 0x0229007f
#define C66XX_TIMER_9_RG_AREA_LEN (C66XX_TIMER_9_RG_AREA_EADDR - C66XX_TIMER_9_RG_AREA_SADDR + 1)
// Timer10 registers area - 128B
#define C66XX_TIMER_10_RG_AREA_SADDR 0x022a0000
#define C66XX_TIMER_10_RG_AREA_EADDR 0x022a007f
#define C66XX_TIMER_10_RG_AREA_LEN (C66XX_TIMER_10_RG_AREA_EADDR - C66XX_TIMER_10_RG_AREA_SADDR + 1)
// Timer11 registers area - 128B
#define C66XX_TIMER_11_RG_AREA_SADDR 0x022b0000
#define C66XX_TIMER_11_RG_AREA_EADDR 0x022b007f
#define C66XX_TIMER_11_RG_AREA_LEN (C66XX_TIMER_11_RG_AREA_EADDR - C66XX_TIMER_11_RG_AREA_SADDR + 1)
// Timer12 registers area - 128B
#define C66XX_TIMER_12_RG_AREA_SADDR 0x022c0000
#define C66XX_TIMER_12_RG_AREA_EADDR 0x022c007f
#define C66XX_TIMER_12_RG_AREA_LEN (C66XX_TIMER_12_RG_AREA_EADDR - C66XX_TIMER_12_RG_AREA_SADDR + 1)
// Timer13 registers area - 128B
#define C66XX_TIMER_13_RG_AREA_SADDR 0x022d0000
#define C66XX_TIMER_13_RG_AREA_EADDR 0x022d007f
#define C66XX_TIMER_13_RG_AREA_LEN (C66XX_TIMER_13_RG_AREA_EADDR - C66XX_TIMER_13_RG_AREA_SADDR + 1)
// Timer14 registers area - 128B
#define C66XX_TIMER_14_RG_AREA_SADDR 0x022e0000
#define C66XX_TIMER_14_RG_AREA_EADDR 0x022e007f
#define C66XX_TIMER_14_RG_AREA_LEN (C66XX_TIMER_14_RG_AREA_EADDR - C66XX_TIMER_14_RG_AREA_SADDR + 1)
// Timer15 registers area - 128B
#define C66XX_TIMER_15_RG_AREA_SADDR 0x022f0000
#define C66XX_TIMER_15_RG_AREA_EADDR 0x022f007f
#define C66XX_TIMER_15_RG_AREA_LEN (C66XX_TIMER_15_RG_AREA_EADDR - C66XX_TIMER_15_RG_AREA_SADDR + 1)
// PLL controller registers area - 512B
#define C66XX_PLL_RG_AREA_SADDR 0x02310000
#define C66XX_PLL_RG_AREA_EADDR 0x023101ff
#define C66XX_PLL_RG_AREA_LEN (C66XX_PLL_RG_AREA_EADDR - C66XX_PLL_RG_AREA_SADDR + 1)
// GPIO registers area - 256B
#define C66XX_GPIO_RG_AREA_SADDR 0x02320000
#define C66XX_GPIO_RG_AREA_EADDR 0x023200ff
#define C66XX_GPIO_RG_AREA_LEN (C66XX_GPIO_RG_AREA_EADDR - C66XX_GPIO_RG_AREA_SADDR + 1)
// SmartReflex registers area - 256B
#define C66XX_SMARTREFLEX_RG_AREA_SADDR 0x02330000
#define C66XX_SMARTREFLEX_RG_AREA_EADDR 0x023303ff
#define C66XX_SMARTREFLEX_RG_AREA_LEN (C66XX_SMARTREFLEX_RG_AREA_EADDR - C66XX_SMARTREFLEX_RG_AREA_SADDR + 1)
// Power Sleep Controller (PSC) registers area - 4KB
#define C66XX_PSC_RG_AREA_SADDR 0x02350000
#define C66XX_PSC_RG_AREA_EADDR 0x02350fff
#define C66XX_PSC_RG_AREA_LEN (C66XX_PSC_RG_AREA_EADDR - C66XX_PSC_RG_AREA_SADDR + 1)
// Memory Protection Unit (MPU) 0 registers area - 1KB
#define C66XX_MPU_0_RG_AREA_SADDR 0x02360000
#define C66XX_MPU_0_RG_AREA_EADDR 0x023603ff
#define C66XX_MPU_0_RG_AREA_LEN (C66XX_MPU_0_RG_AREA_EADDR - C66XX_MPU_0_RG_AREA_SADDR + 1)
// Memory Protection Unit (MPU) 1 registers area - 1KB
#define C66XX_MPU_1_RG_AREA_SADDR 0x02368000
#define C66XX_MPU_1_RG_AREA_EADDR 0x023683ff
#define C66XX_MPU_1_RG_AREA_LEN (C66XX_MPU_1_RG_AREA_EADDR - C66XX_MPU_1_RG_AREA_SADDR + 1)
// Memory Protection Unit (MPU) 2 registers area - 1KB
#define C66XX_MPU_2_RG_AREA_SADDR 0x02370000
#define C66XX_MPU_2_RG_AREA_EADDR 0x023703ff
#define C66XX_MPU_2_RG_AREA_LEN (C66XX_MPU_2_RG_AREA_EADDR - C66XX_MPU_2_RG_AREA_SADDR + 1)
// Memory Protection Unit (MPU) 3 registers area - 1KB
#define C66XX_MPU_3_RG_AREA_SADDR 0x02378000
#define C66XX_MPU_3_RG_AREA_EADDR 0x023783ff
#define C66XX_MPU_3_RG_AREA_LEN (C66XX_MPU_3_RG_AREA_EADDR - C66XX_MPU_3_RG_AREA_SADDR + 1)
// Debug subsystem configuration registers area - 256KB
#define C66XX_DEBUG_CFG_RG_AREA_SADDR 0x02400000
#define C66XX_DEBUG_CFG_RG_AREA_EADDR 0x0243ffff
#define C66XX_DEBUG_CFG_RG_AREA_LEN (C66XX_DEBUG_CFG_RG_AREA_EADDR - C66XX_DEBUG_CFG_RG_AREA_SADDR + 1)
// DSP trace formatter 0 registers area - 16KB
#define C66XX_DSP_TRACE_FORMATTER_0_RG_AREA_SADDR 0x02440000
#define C66XX_DSP_TRACE_FORMATTER_0_RG_AREA_EADDR 0x02443fff
#define C66XX_DSP_TRACE_FORMATTER_0_RG_AREA_LEN (C66XX_DSP_TRACE_FORMATTER_0_RG_AREA_EADDR - C66XX_DSP_TRACE_FORMATTER_0_RG_AREA_SADDR + 1)
// DSP trace formatter 1 registers area - 16KB
#define C66XX_DSP_TRACE_FORMATTER_1_RG_AREA_SADDR 0x02450000
#define C66XX_DSP_TRACE_FORMATTER_1_RG_AREA_EADDR 0x02453fff
#define C66XX_DSP_TRACE_FORMATTER_1_RG_AREA_LEN (C66XX_DSP_TRACE_FORMATTER_1_RG_AREA_EADDR - C66XX_DSP_TRACE_FORMATTER_1_RG_AREA_SADDR + 1)
// DSP trace formatter 2 registers area - 16KB
#define C66XX_DSP_TRACE_FORMATTER_2_RG_AREA_SADDR 0x02460000
#define C66XX_DSP_TRACE_FORMATTER_2_RG_AREA_EADDR 0x02463fff
#define C66XX_DSP_TRACE_FORMATTER_2_RG_AREA_LEN (C66XX_DSP_TRACE_FORMATTER_2_RG_AREA_EADDR - C66XX_DSP_TRACE_FORMATTER_2_RG_AREA_SADDR + 1)
// DSP trace formatter 3 registers area - 16KB
#define C66XX_DSP_TRACE_FORMATTER_3_RG_AREA_SADDR 0x02470000
#define C66XX_DSP_TRACE_FORMATTER_3_RG_AREA_EADDR 0x02473fff
#define C66XX_DSP_TRACE_FORMATTER_3_RG_AREA_LEN (C66XX_DSP_TRACE_FORMATTER_3_RG_AREA_EADDR - C66XX_DSP_TRACE_FORMATTER_3_RG_AREA_SADDR + 1)
// DSP trace formatter 4 registers area - 16KB
#define C66XX_DSP_TRACE_FORMATTER_4_RG_AREA_SADDR 0x02480000
#define C66XX_DSP_TRACE_FORMATTER_4_RG_AREA_EADDR 0x02483fff
#define C66XX_DSP_TRACE_FORMATTER_4_RG_AREA_LEN (C66XX_DSP_TRACE_FORMATTER_4_RG_AREA_EADDR - C66XX_DSP_TRACE_FORMATTER_4_RG_AREA_SADDR + 1)
// DSP trace formatter 5 registers area - 16KB
#define C66XX_DSP_TRACE_FORMATTER_5_RG_AREA_SADDR 0x02490000
#define C66XX_DSP_TRACE_FORMATTER_5_RG_AREA_EADDR 0x02493fff
#define C66XX_DSP_TRACE_FORMATTER_5_RG_AREA_LEN (C66XX_DSP_TRACE_FORMATTER_5_RG_AREA_EADDR - C66XX_DSP_TRACE_FORMATTER_5_RG_AREA_SADDR + 1)
// DSP trace formatter 6 registers area - 16KB
#define C66XX_DSP_TRACE_FORMATTER_6_RG_AREA_SADDR 0x024a0000
#define C66XX_DSP_TRACE_FORMATTER_6_RG_AREA_EADDR 0x024a3fff
#define C66XX_DSP_TRACE_FORMATTER_6_RG_AREA_LEN (C66XX_DSP_TRACE_FORMATTER_6_RG_AREA_EADDR - C66XX_DSP_TRACE_FORMATTER_6_RG_AREA_SADDR + 1)
// DSP trace formatter 7 registers area - 16KB
#define C66XX_DSP_TRACE_FORMATTER_7_RG_AREA_SADDR 0x024b0000
#define C66XX_DSP_TRACE_FORMATTER_7_RG_AREA_EADDR 0x024b3fff
#define C66XX_DSP_TRACE_FORMATTER_7_RG_AREA_LEN (C66XX_DSP_TRACE_FORMATTER_7_RG_AREA_EADDR - C66XX_DSP_TRACE_FORMATTER_7_RG_AREA_SADDR + 1)
// I2C registers area - 128B
#define C66XX_I2C_RG_AREA_SADDR 0x02530000
#define C66XX_I2C_RG_AREA_EADDR 0x0253007f
#define C66XX_I2C_RG_AREA_LEN (C66XX_I2C_RG_AREA_EADDR - C66XX_I2C_RG_AREA_SADDR + 1)
// UART registers area - 64B
#define C66XX_UART_RG_AREA_SADDR 0x02540000
#define C66XX_UART_RG_AREA_EADDR 0x0254003f
#define C66XX_UART_RG_AREA_LEN (C66XX_UART_RG_AREA_EADDR - C66XX_UART_RG_AREA_SADDR + 1)
// Chip Interrupt Controller (CIC) 0 registers area - 8KB
#define C66XX_CIC_0_RG_AREA_SADDR 0x02600000
#define C66XX_CIC_0_RG_AREA_EADDR 0x02601fff
#define C66XX_CIC_0_RG_AREA_LEN (C66XX_CIC_0_RG_AREA_EADDR - C66XX_CIC_0_RG_AREA_SADDR + 1)
// Chip Interrupt Controller (CIC) 1 registers area - 8KB
#define C66XX_CIC_1_RG_AREA_SADDR 0x02604000
#define C66XX_CIC_1_RG_AREA_EADDR 0x02605fff
#define C66XX_CIC_1_RG_AREA_LEN (C66XX_CIC_1_RG_AREA_EADDR - C66XX_CIC_1_RG_AREA_SADDR + 1)
// Chip Interrupt Controller (CIC) 2 registers area - 8KB
#define C66XX_CIC_2_RG_AREA_SADDR 0x02608000
#define C66XX_CIC_2_RG_AREA_EADDR 0x02609fff
#define C66XX_CIC_2_RG_AREA_LEN (C66XX_CIC_2_RG_AREA_EADDR - C66XX_CIC_2_RG_AREA_SADDR + 1)
// Chip Interrupt Controller (CIC) 3 registers area - 8KB
#define C66XX_CIC_3_RG_AREA_SADDR 0x0260c000
#define C66XX_CIC_3_RG_AREA_EADDR 0x0260dfff
#define C66XX_CIC_3_RG_AREA_LEN (C66XX_CIC_3_RG_AREA_EADDR - C66XX_CIC_3_RG_AREA_SADDR + 1)
// Device State Control registers area - 2KB
#define C66XX_BOOTCFG_RG_AREA_SADDR 0x02620000
#define C66XX_BOOTCFG_RG_AREA_EADDR 0x026207ff
#define C66XX_BOOTCFG_RG_AREA_LEN (C66XX_BOOTCFG_RG_AREA_EADDR - C66XX_BOOTCFG_RG_AREA_SADDR + 1)
// Semaphore (SEM) registers area - 2KB
#define C66XX_SEM_RG_AREA_SADDR 0x02640000
#define C66XX_SEM_RG_AREA_EADDR 0x026407ff
#define C66XX_SEM_RG_AREA_LEN (C66XX_SEM_RG_AREA_EADDR - C66XX_SEM_RG_AREA_SADDR + 1)
// EDMA3 Channel Controller (EDMA3CC) 0 registers area - 32KB
#define C66XX_EDMA3CC_0_RG_AREA_SADDR 0x02700000
#define C66XX_EDMA3CC_0_RG_AREA_EADDR 0x02707fff
#define C66XX_EDMA3CC_0_RG_AREA_LEN (C66XX_EDMA3CC_0_RG_AREA_EADDR - C66XX_EDMA3CC_0_RG_AREA_SADDR + 1)
// EDMA3 Channel Controller (EDMA3CC) 1 registers area - 32KB
#define C66XX_EDMA3CC_1_RG_AREA_SADDR 0x02720000
#define C66XX_EDMA3CC_1_RG_AREA_EADDR 0x02727fff
#define C66XX_EDMA3CC_1_RG_AREA_LEN (C66XX_EDMA3CC_1_RG_AREA_EADDR - C66XX_EDMA3CC_1_RG_AREA_SADDR + 1)
// EDMA3 Channel Controller (EDMA3CC) 2 registers area - 32KB
#define C66XX_EDMA3CC_2_RG_AREA_SADDR 0x02740000
#define C66XX_EDMA3CC_2_RG_AREA_EADDR 0x02747fff
#define C66XX_EDMA3CC_2_RG_AREA_LEN (C66XX_EDMA3CC_2_RG_AREA_EADDR - C66XX_EDMA3CC_2_RG_AREA_SADDR + 1)
// EDMA3CC0 Transfer Controller (EDMA3TC) 0 registers area - 1KB
#define C66XX_EDMA3CC_0_TC_0_RG_AREA_SADDR 0x02760000
#define C66XX_EDMA3CC_0_TC_0_RG_AREA_EADDR 0x027603ff
#define C66XX_EDMA3CC_0_TC_0_RG_AREA_LEN (C66XX_EDMA3CC_0_TC_0_RG_AREA_EADDR - C66XX_EDMA3CC_0_TC_0_RG_AREA_SADDR + 1)
// EDMA3CC0 Transfer Controller (EDMA3TC) 1 registers area - 1KB
#define C66XX_EDMA3CC_0_TC_1_RG_AREA_SADDR 0x02768000
#define C66XX_EDMA3CC_0_TC_1_RG_AREA_EADDR 0x027683ff
#define C66XX_EDMA3CC_0_TC_1_RG_AREA_LEN (C66XX_EDMA3CC_0_TC_1_RG_AREA_EADDR - C66XX_EDMA3CC_0_TC_1_RG_AREA_SADDR + 1)
// EDMA3CC1 Transfer Controller (EDMA3TC) 0 registers area - 1KB
#define C66XX_EDMA3CC_1_TC_0_RG_AREA_SADDR 0x02770000
#define C66XX_EDMA3CC_1_TC_0_RG_AREA_EADDR 0x027703ff
#define C66XX_EDMA3CC_1_TC_0_RG_AREA_LEN (C66XX_EDMA3CC_1_TC_0_RG_AREA_EADDR - C66XX_EDMA3CC_1_TC_0_RG_AREA_SADDR + 1)
// EDMA3CC1 Transfer Controller (EDMA3TC) 1 registers area - 1KB
#define C66XX_EDMA3CC_1_TC_1_RG_AREA_SADDR 0x02778000
#define C66XX_EDMA3CC_1_TC_1_RG_AREA_EADDR 0x027783ff
#define C66XX_EDMA3CC_1_TC_1_RG_AREA_LEN (C66XX_EDMA3CC_1_TC_1_RG_AREA_EADDR - C66XX_EDMA3CC_1_TC_1_RG_AREA_SADDR + 1)
// EDMA3CC1 Transfer Controller (EDMA3TC) 2 registers area - 1KB
#define C66XX_EDMA3CC_1_TC_2_RG_AREA_SADDR 0x02780000
#define C66XX_EDMA3CC_1_TC_2_RG_AREA_EADDR 0x027803ff
#define C66XX_EDMA3CC_1_TC_2_RG_AREA_LEN (C66XX_EDMA3CC_1_TC_2_RG_AREA_EADDR - C66XX_EDMA3CC_1_TC_2_RG_AREA_SADDR + 1)
// EDMA3CC1 Transfer Controller (EDMA3TC) 3 registers area - 1KB
#define C66XX_EDMA3CC_1_TC_3_RG_AREA_SADDR 0x02788000
#define C66XX_EDMA3CC_1_TC_3_RG_AREA_EADDR 0x027883ff
#define C66XX_EDMA3CC_1_TC_3_RG_AREA_LEN (C66XX_EDMA3CC_1_TC_3_RG_AREA_EADDR - C66XX_EDMA3CC_1_TC_3_RG_AREA_SADDR + 1)
// EDMA3CC2 Transfer Controller (EDMA3TC) 0 registers area - 1KB
#define C66XX_EDMA3CC_2_TC_0_RG_AREA_SADDR 0x02790000
#define C66XX_EDMA3CC_2_TC_0_RG_AREA_EADDR 0x027903ff
#define C66XX_EDMA3CC_2_TC_0_RG_AREA_LEN (C66XX_EDMA3CC_2_TC_0_RG_AREA_EADDR - C66XX_EDMA3CC_2_TC_0_RG_AREA_SADDR + 1)
// EDMA3CC2 Transfer Controller (EDMA3TC) 1 registers area - 1KB
#define C66XX_EDMA3CC_2_TC_1_RG_AREA_SADDR 0x02798000
#define C66XX_EDMA3CC_2_TC_1_RG_AREA_EADDR 0x027983ff
#define C66XX_EDMA3CC_2_TC_1_RG_AREA_LEN (C66XX_EDMA3CC_2_TC_1_RG_AREA_EADDR - C66XX_EDMA3CC_2_TC_1_RG_AREA_SADDR + 1)
// EDMA3CC2 Transfer Controller (EDMA3TC) 2 registers area - 1KB
#define C66XX_EDMA3CC_2_TC_2_RG_AREA_SADDR 0x027a0000
#define C66XX_EDMA3CC_2_TC_2_RG_AREA_EADDR 0x027a03ff
#define C66XX_EDMA3CC_2_TC_2_RG_AREA_LEN (C66XX_EDMA3CC_2_TC_2_RG_AREA_EADDR - C66XX_EDMA3CC_2_TC_2_RG_AREA_SADDR + 1)
// EDMA3CC2 Transfer Controller (EDMA3TC) 3 registers area - 1KB
#define C66XX_EDMA3CC_2_TC_3_RG_AREA_SADDR 0x027a8000
#define C66XX_EDMA3CC_2_TC_3_RG_AREA_EADDR 0x027a83ff
#define C66XX_EDMA3CC_2_TC_3_RG_AREA_LEN (C66XX_EDMA3CC_2_TC_3_RG_AREA_EADDR - C66XX_EDMA3CC_2_TC_3_RG_AREA_SADDR + 1)
// TI embedded trace buffer (TETB) CorePac0 registers area - 4KB
#define C66XX_TETB_0_RG_AREA_SADDR 0x027d0000
#define C66XX_TETB_0_RG_AREA_EADDR 0x027d0fff
#define C66XX_TETB_0_RG_AREA_LEN (C66XX_TETB_0_RG_AREA_EADDR - C66XX_TETB_0_RG_AREA_SADDR + 1)
// TI embedded trace buffer (TETB) CorePac1 registers area - 4KB
#define C66XX_TETB_1_RG_AREA_SADDR 0x027e0000
#define C66XX_TETB_1_RG_AREA_EADDR 0x027e0fff
#define C66XX_TETB_1_RG_AREA_LEN (C66XX_TETB_1_RG_AREA_EADDR - C66XX_TETB_1_RG_AREA_SADDR + 1)
// TI embedded trace buffer (TETB) CorePac2 registers area - 4KB
#define C66XX_TETB_2_RG_AREA_SADDR 0x027f0000
#define C66XX_TETB_2_RG_AREA_EADDR 0x027f0fff
#define C66XX_TETB_2_RG_AREA_LEN (C66XX_TETB_2_RG_AREA_EADDR - C66XX_TETB_2_RG_AREA_SADDR + 1)
// TI embedded trace buffer (TETB) CorePac3 registers area - 4KB
#define C66XX_TETB_3_RG_AREA_SADDR 0x02800000
#define C66XX_TETB_3_RG_AREA_EADDR 0x02800fff
#define C66XX_TETB_3_RG_AREA_LEN (C66XX_TETB_3_RG_AREA_EADDR - C66XX_TETB_3_RG_AREA_SADDR + 1)
// TI embedded trace buffer (TETB) CorePac4 registers area - 4KB
#define C66XX_TETB_4_RG_AREA_SADDR 0x02810000
#define C66XX_TETB_4_RG_AREA_EADDR 0x02810fff
#define C66XX_TETB_4_RG_AREA_LEN (C66XX_TETB_4_RG_AREA_EADDR - C66XX_TETB_4_RG_AREA_SADDR + 1)
// TI embedded trace buffer (TETB) CorePac5 registers area - 4KB
#define C66XX_TETB_5_RG_AREA_SADDR 0x02820000
#define C66XX_TETB_5_RG_AREA_EADDR 0x02820fff
#define C66XX_TETB_5_RG_AREA_LEN (C66XX_TETB_5_RG_AREA_EADDR - C66XX_TETB_5_RG_AREA_SADDR + 1)
// TI embedded trace buffer (TETB) CorePac6 registers area - 4KB
#define C66XX_TETB_6_RG_AREA_SADDR 0x02830000
#define C66XX_TETB_6_RG_AREA_EADDR 0x02830fff
#define C66XX_TETB_6_RG_AREA_LEN (C66XX_TETB_6_RG_AREA_EADDR - C66XX_TETB_6_RG_AREA_SADDR + 1)
// TI embedded trace buffer (TETB) CorePac7 registers area - 4KB
#define C66XX_TETB_7_RG_AREA_SADDR 0x02840000
#define C66XX_TETB_7_RG_AREA_EADDR 0x02840fff
#define C66XX_TETB_7_RG_AREA_LEN (C66XX_TETB_7_RG_AREA_EADDR - C66XX_TETB_7_RG_AREA_SADDR + 1)
// TI embedded trace buffer (TETB) system registers area - 32KB
#define C66XX_TETB_SYSTEM_RG_AREA_SADDR 0x02850000
#define C66XX_TETB_SYSTEM_RG_AREA_EADDR 0x02857fff
#define C66XX_TETB_SYSTEM_RG_AREA_LEN (C66XX_TETB_SYSTEM_RG_AREA_EADDR - C66XX_TETB_SYSTEM_RG_AREA_SADDR + 1)
// Serial RapidIO (SRIO) configuration registers area - 132KB
#define C66XX_SRIO_RG_AREA_SADDR 0x02900000
#define C66XX_SRIO_RG_AREA_EADDR 0x02920fff
#define C66XX_SRIO_RG_AREA_LEN (C66XX_SRIO_RG_AREA_EADDR - C66XX_SRIO_RG_AREA_SADDR + 1)
// Queue manager subsystem (QMSS) configuration registers area - 2MB
#define C66XX_QMSS_RG_AREA_SADDR 0x02a00000
#define C66XX_QMSS_RG_AREA_EADDR 0x02bfffff
#define C66XX_QMSS_RG_AREA_LEN (C66XX_QMSS_RG_AREA_EADDR - C66XX_QMSS_RG_AREA_SADDR + 1)
// Extended memory controller (XMC) configuration registers area - 64KB
#define C66XX_XMC_RG_AREA_SADDR 0x08000000
#define C66XX_XMC_RG_AREA_EADDR 0x0800ffff
#define C66XX_XMC_RG_AREA_LEN (C66XX_XMC_RG_AREA_EADDR - C66XX_XMC_RG_AREA_SADDR + 1)
// Multicore shared memory controller (MSMC) configuration registers area - 1MB
#define C66XX_MSMC_RG_AREA_SADDR 0x0bc00000
#define C66XX_MSMC_RG_AREA_EADDR 0x0bcfffff
#define C66XX_MSMC_RG_AREA_LEN (C66XX_MSMC_RG_AREA_EADDR - C66XX_MSMC_RG_AREA_SADDR + 1)
// Multicore shared memory (MSM) area - 4MB
#define C66XX_MSM_SRAM_AREA_SADDR 0x0c000000
#define C66XX_MSM_SRAM_AREA_EADDR 0x0c3fffff
#define C66XX_MSM_SRAM_AREA_LEN (C66XX_MSM_SRAM_AREA_EADDR - C66XX_MSM_SRAM_AREA_SADDR + 1)
// CorePac0 L2 SRAM (address to access from external masters) - 512KB
#define C66XX_DSP_0_L2_SRAM_SADDR 0x10800000
#define C66XX_DSP_0_L2_SRAM_EADDR 0x1087ffff
#define C66XX_DSP_0_L2_SRAM_LEN (C66XX_DSP_0_L2_SRAM_EADDR - C66XX_DSP_0_L2_SRAM_SADDR + 1)
// CorePac0 L1P SRAM - 32KB
#define C66XX_DSP_0_L1P_SRAM_SADDR 0x10e00000
#define C66XX_DSP_0_L1P_SRAM_EADDR 0x10e07fff
#define C66XX_DSP_0_L1P_SRAM_LEN (C66XX_DSP_0_L1P_SRAM_EADDR - C66XX_DSP_0_L1P_SRAM_SADDR + 1)
// CorePac0 L1D SRAM - 32KB
#define C66XX_DSP_0_L1D_SRAM_SADDR 0x10f00000
#define C66XX_DSP_0_L1D_SRAM_EADDR 0x10f07fff
#define C66XX_DSP_0_L1D_SRAM_LEN (C66XX_DSP_0_L1D_SRAM_EADDR - C66XX_DSP_0_L1D_SRAM_SADDR + 1)
// CorePac1 L2 SRAM (address to access from external masters) - 512KB
#define C66XX_DSP_1_L2_SRAM_SADDR 0x11800000
#define C66XX_DSP_1_L2_SRAM_EADDR 0x1187ffff
#define C66XX_DSP_1_L2_SRAM_LEN (C66XX_DSP_1_L2_SRAM_EADDR - C66XX_DSP_1_L2_SRAM_SADDR + 1)
// CorePac1 L1P SRAM - 32KB
#define C66XX_DSP_1_L1P_SRAM_SADDR 0x11e00000
#define C66XX_DSP_1_L1P_SRAM_EADDR 0x11e07fff
#define C66XX_DSP_1_L1P_SRAM_LEN (C66XX_DSP_1_L1P_SRAM_EADDR - C66XX_DSP_1_L1P_SRAM_SADDR + 1)
// CorePac1 L1D SRAM - 32KB
#define C66XX_DSP_1_L1D_SRAM_SADDR 0x11f00000
#define C66XX_DSP_1_L1D_SRAM_EADDR 0x11f07fff
#define C66XX_DSP_1_L1D_SRAM_LEN (C66XX_DSP_1_L1D_SRAM_EADDR - C66XX_DSP_1_L1D_SRAM_SADDR + 1)
// CorePac2 L2 SRAM (address to access from external masters) - 512KB
#define C66XX_DSP_2_L2_SRAM_SADDR 0x12800000
#define C66XX_DSP_2_L2_SRAM_EADDR 0x1287ffff
#define C66XX_DSP_2_L2_SRAM_LEN (C66XX_DSP_2_L2_SRAM_EADDR - C66XX_DSP_2_L2_SRAM_SADDR + 1)
// CorePac2 L1P SRAM - 32KB
#define C66XX_DSP_2_L1P_SRAM_SADDR 0x12e00000
#define C66XX_DSP_2_L1P_SRAM_EADDR 0x12e07fff
#define C66XX_DSP_2_L1P_SRAM_LEN (C66XX_DSP_2_L1P_SRAM_EADDR - C66XX_DSP_2_L1P_SRAM_SADDR + 1)
// CorePac2 L1D SRAM - 32KB
#define C66XX_DSP_2_L1D_SRAM_SADDR 0x12f00000
#define C66XX_DSP_2_L1D_SRAM_EADDR 0x12f07fff
#define C66XX_DSP_2_L1D_SRAM_LEN (C66XX_DSP_2_L1D_SRAM_EADDR - C66XX_DSP_2_L1D_SRAM_SADDR + 1)
// CorePac3 L2 SRAM (address to access from external masters) - 512KB
#define C66XX_DSP_3_L2_SRAM_SADDR 0x13800000
#define C66XX_DSP_3_L2_SRAM_EADDR 0x1387ffff
#define C66XX_DSP_3_L2_SRAM_LEN (C66XX_DSP_3_L2_SRAM_EADDR - C66XX_DSP_3_L2_SRAM_SADDR + 1)
// CorePac3 L1P SRAM - 32KB
#define C66XX_DSP_3_L1P_SRAM_SADDR 0x13e00000
#define C66XX_DSP_3_L1P_SRAM_EADDR 0x13e07fff
#define C66XX_DSP_3_L1P_SRAM_LEN (C66XX_DSP_3_L1P_SRAM_EADDR - C66XX_DSP_3_L1P_SRAM_SADDR + 1)
// CorePac3 L1D SRAM - 32KB
#define C66XX_DSP_3_L1D_SRAM_SADDR 0x13f00000
#define C66XX_DSP_3_L1D_SRAM_EADDR 0x13f07fff
#define C66XX_DSP_3_L1D_SRAM_LEN (C66XX_DSP_3_L1D_SRAM_EADDR - C66XX_DSP_3_L1D_SRAM_SADDR + 1)
// CorePac4 L2 SRAM (address to access from external masters) - 512KB
#define C66XX_DSP_4_L2_SRAM_SADDR 0x14800000
#define C66XX_DSP_4_L2_SRAM_EADDR 0x1487ffff
#define C66XX_DSP_4_L2_SRAM_LEN (C66XX_DSP_4_L2_SRAM_EADDR - C66XX_DSP_4_L2_SRAM_SADDR + 1)
// CorePac4 L1P SRAM - 32KB
#define C66XX_DSP_4_L1P_SRAM_SADDR 0x14e00000
#define C66XX_DSP_4_L1P_SRAM_EADDR 0x14e07fff
#define C66XX_DSP_4_L1P_SRAM_LEN (C66XX_DSP_4_L1P_SRAM_EADDR - C66XX_DSP_4_L1P_SRAM_SADDR + 1)
// CorePac4 L1D SRAM - 32KB
#define C66XX_DSP_4_L1D_SRAM_SADDR 0x14f00000
#define C66XX_DSP_4_L1D_SRAM_EADDR 0x14f07fff
#define C66XX_DSP_4_L1D_SRAM_LEN (C66XX_DSP_4_L1D_SRAM_EADDR - C66XX_DSP_4_L1D_SRAM_SADDR + 1)
// CorePac5 L2 SRAM (address to access from external masters) - 512KB
#define C66XX_DSP_5_L2_SRAM_SADDR 0x15800000
#define C66XX_DSP_5_L2_SRAM_EADDR 0x1587ffff
#define C66XX_DSP_5_L2_SRAM_LEN (C66XX_DSP_5_L2_SRAM_EADDR - C66XX_DSP_5_L2_SRAM_SADDR + 1)
// CorePac5 L1P SRAM - 32KB
#define C66XX_DSP_5_L1P_SRAM_SADDR 0x15e00000
#define C66XX_DSP_5_L1P_SRAM_EADDR 0x15e07fff
#define C66XX_DSP_5_L1P_SRAM_LEN (C66XX_DSP_5_L1P_SRAM_EADDR - C66XX_DSP_5_L1P_SRAM_SADDR + 1)
// CorePac5 L1D SRAM - 32KB
#define C66XX_DSP_5_L1D_SRAM_SADDR 0x15f00000
#define C66XX_DSP_5_L1D_SRAM_EADDR 0x15f07fff
#define C66XX_DSP_5_L1D_SRAM_LEN (C66XX_DSP_5_L1D_SRAM_EADDR - C66XX_DSP_5_L1D_SRAM_SADDR + 1)
// CorePac6 L2 SRAM (address to access from external masters) - 512KB
#define C66XX_DSP_6_L2_SRAM_SADDR 0x16800000
#define C66XX_DSP_6_L2_SRAM_EADDR 0x1687ffff
#define C66XX_DSP_6_L2_SRAM_LEN (C66XX_DSP_6_L2_SRAM_EADDR - C66XX_DSP_6_L2_SRAM_SADDR + 1)
// CorePac6 L1P SRAM - 32KB
#define C66XX_DSP_6_L1P_SRAM_SADDR 0x16e00000
#define C66XX_DSP_6_L1P_SRAM_EADDR 0x16e07fff
#define C66XX_DSP_6_L1P_SRAM_LEN (C66XX_DSP_6_L1P_SRAM_EADDR - C66XX_DSP_6_L1P_SRAM_SADDR + 1)
// CorePac6 L1D SRAM - 32KB
#define C66XX_DSP_6_L1D_SRAM_SADDR 0x16f00000
#define C66XX_DSP_6_L1D_SRAM_EADDR 0x16f07fff
#define C66XX_DSP_6_L1D_SRAM_LEN (C66XX_DSP_6_L1D_SRAM_EADDR - C66XX_DSP_6_L1D_SRAM_SADDR + 1)
// CorePac7 L2 SRAM (address to access from external masters) - 512KB
#define C66XX_DSP_7_L2_SRAM_SADDR 0x17800000
#define C66XX_DSP_7_L2_SRAM_EADDR 0x1787ffff
#define C66XX_DSP_7_L2_SRAM_LEN (C66XX_DSP_7_L2_SRAM_EADDR - C66XX_DSP_7_L2_SRAM_SADDR + 1)
// CorePac7 L1P SRAM - 32KB
#define C66XX_DSP_7_L1P_SRAM_SADDR 0x17e00000
#define C66XX_DSP_7_L1P_SRAM_EADDR 0x17e07fff
#define C66XX_DSP_7_L1P_SRAM_LEN (C66XX_DSP_7_L1P_SRAM_EADDR - C66XX_DSP_7_L1P_SRAM_SADDR + 1)
// CorePac7 L1D SRAM - 32KB
#define C66XX_DSP_7_L1D_SRAM_SADDR 0x17f00000
#define C66XX_DSP_7_L1D_SRAM_EADDR 0x17f07fff
#define C66XX_DSP_7_L1D_SRAM_LEN (C66XX_DSP_7_L1D_SRAM_EADDR - C66XX_DSP_7_L1D_SRAM_SADDR + 1)
// System trace manager (STM) configuration registers area - 1MB
#define C66XX_STM_RG_AREA_SADDR 0x20000000
#define C66XX_STM_RG_AREA_EADDR 0x200fffff
#define C66XX_STM_RG_AREA_LEN (C66XX_STM_RG_AREA_EADDR - C66XX_STM_RG_AREA_SADDR + 1)
// Boot ROM - 128KB
#define C66XX_BOOT_ROM_SADDR 0x20b00000
#define C66XX_BOOT_ROM_EADDR 0x20b1ffff
#define C66XX_BOOT_ROM_LEN (C66XX_BOOT_ROM_EADDR - C66XX_BOOT_ROM_SADDR + 1)
// SPI configuration registers area - 512B
#define C66XX_SPI_RG_AREA_SADDR 0x20bf0000
#define C66XX_SPI_RG_AREA_EADDR 0x20bf01ff
#define C66XX_SPI_RG_AREA_LEN (C66XX_SPI_RG_AREA_EADDR - C66XX_SPI_RG_AREA_SADDR + 1)
// EMIF16 configuration registers area - 256B
#define C66XX_EMIF16_RG_AREA_SADDR 0x20c00000
#define C66XX_EMIF16_RG_AREA_EADDR 0x20c000ff
#define C66XX_EMIF16_RG_AREA_LEN (C66XX_EMIF16_RG_AREA_EADDR - C66XX_EMIF16_RG_AREA_SADDR + 1)
// DDR3 EMIF configuration registers area - 512B
#define C66XX_DDR3_EMIF_RG_AREA_SADDR 0x21000000
#define C66XX_DDR3_EMIF_RG_AREA_EADDR 0x210001ff
#define C66XX_DDR3_EMIF_RG_AREA_LEN (C66XX_DDR3_EMIF_RG_AREA_EADDR - C66XX_DDR3_EMIF_RG_AREA_SADDR + 1)
// HyperLink configuration registers area - 256B
#define C66XX_HYPERLINK_RG_AREA_SADDR 0x21400000
#define C66XX_HYPERLINK_RG_AREA_EADDR 0x214000ff
#define C66XX_HYPERLINK_RG_AREA_LEN (C66XX_HYPERLINK_RG_AREA_EADDR - C66XX_HYPERLINK_RG_AREA_SADDR + 1)
// PCIe configuration registers area - 32KB
#define C66XX_PCIE_RG_AREA_SADDR 0x21800000
#define C66XX_PCIE_RG_AREA_EADDR 0x21807fff
#define C66XX_PCIE_RG_AREA_LEN (C66XX_PCIE_RG_AREA_EADDR - C66XX_PCIE_RG_AREA_SADDR + 1)
// Queue manager subsystem (QMSS) data area - 2MB
#define C66XX_QMSS_DATA_AREA_SADDR 0x34000000
#define C66XX_QMSS_DATA_AREA_EADDR 0x341fffff
#define C66XX_QMSS_DATA_AREA_LEN (C66XX_QMSS_DATA_AREA_EADDR - C66XX_QMSS_DATA_AREA_SADDR + 1)
// HyperLink data area - 256MB
#define C66XX_HYPERLINK_DATA_AREA_SADDR 0x40000000
#define C66XX_HYPERLINK_DATA_AREA_EADDR 0x4fffffff
#define C66XX_HYPERLINK_DATA_AREA_LEN (C66XX_HYPERLINK_DATA_AREA_EADDR - C66XX_HYPERLINK_DATA_AREA_SADDR + 1)
// PCIe data area - 256MB
#define C66XX_PCIE_DATA_AREA_SADDR 0x60000000
#define C66XX_PCIE_DATA_AREA_EADDR 0x6fffffff
#define C66XX_PCIE_DATA_AREA_LEN (C66XX_PCIE_DATA_AREA_EADDR - C66XX_PCIE_DATA_AREA_SADDR + 1)
// EMIF16 CE0 area - 64MB
#define C66XX_EMIF16_CE0_AREA_SADDR 0x70000000
#define C66XX_EMIF16_CE0_AREA_EADDR 0x73ffffff
#define C66XX_EMIF16_CE0_AREA_LEN (C66XX_EMIF16_CE0_AREA_EADDR - C66XX_EMIF16_CE0_AREA_SADDR + 1)
// EMIF16 CE1 area - 64MB
#define C66XX_EMIF16_CE1_AREA_SADDR 0x74000000
#define C66XX_EMIF16_CE1_AREA_EADDR 0x77ffffff
#define C66XX_EMIF16_CE1_AREA_LEN (C66XX_EMIF16_CE1_AREA_EADDR - C66XX_EMIF16_CE1_AREA_SADDR + 1)
// EMIF16 CE2 area - 64MB
#define C66XX_EMIF16_CE2_AREA_SADDR 0x78000000
#define C66XX_EMIF16_CE2_AREA_EADDR 0x7bffffff
#define C66XX_EMIF16_CE2_AREA_LEN (C66XX_EMIF16_CE2_AREA_EADDR - C66XX_EMIF16_CE2_AREA_SADDR + 1)
// EMIF16 CE3 area - 64MB
#define C66XX_EMIF16_CE3_AREA_SADDR 0x7c000000
#define C66XX_EMIF16_CE3_AREA_EADDR 0x7fffffff
#define C66XX_EMIF16_CE3_AREA_LEN (C66XX_EMIF16_CE3_AREA_EADDR - C66XX_EMIF16_CE3_AREA_SADDR + 1)
// DDR3 EMIF data area - 2GB
#define C66XX_DDR3_AREA_SADDR 0x80000000
#define C66XX_DDR3_AREA_EADDR 0xffffffff
#define C66XX_DDR3_AREA_LEN (C66XX_DDR3_AREA_EADDR - C66XX_DDR3_AREA_SADDR + 1)
//=============================================================================
#endif /* __C66XX_SELECT_C6678_DSP__ */
//=============================================================================
//============ DSP core registers =============================================
//=============================================================================
// DSP CorePack revision register - r-only
#define C66XX_CORE_MM_REVID_RG_ADDR 0x01812000
//------------ DSP CorePack revision register defs ----------------------------
#define C66XX_CORE_MM_REVID_VERSION_BITMASK 0xffff0000
#define C66XX_CORE_MM_REVID_VERSION_BITSHIFT 16
#define C66XX_CORE_MM_REVID_REVISION_BITMASK 0x0000ffff
#define C66XX_CORE_MM_REVID_REVISION_BITSHIFT 0
#define C66XX_CORE_MM_REVID_VERSION_C6678 0x0008
#define C66XX_CORE_MM_REVID_REVISION_1_0 0x0
#define C66XX_CORE_MM_REVID_REVISION_2_0 0x1
// DSP interrupt controller registers addresses
// DSP Event Flag register 0 - r-only
#define C66XX_CORE_EVTFLAG0_RG_ADDR 0x01800000
// DSP Event Flag register 1 - r-only
#define C66XX_CORE_EVTFLAG1_RG_ADDR 0x01800004
// DSP Event Flag register 2 - r-only
#define C66XX_CORE_EVTFLAG2_RG_ADDR 0x01800008
// DSP Event Flag register 3 - r-only
#define C66XX_CORE_EVTFLAG3_RG_ADDR 0x0180000c
// DSP Event Set register 0 - r/w
#define C66XX_CORE_EVTSET0_RG_ADDR 0x01800020
// DSP Event Set register 1 - r/w
#define C66XX_CORE_EVTSET1_RG_ADDR 0x01800024
// DSP Event Set register 2 - r/w
#define C66XX_CORE_EVTSET2_RG_ADDR 0x01800028
// DSP Event Set register 3 - r/w
#define C66XX_CORE_EVTSET3_RG_ADDR 0x0180002c
// DSP Event Clear register 0 - r/w
#define C66XX_CORE_EVTCLR0_RG_ADDR 0x01800040
// DSP Event Clear register 1 - r/w
#define C66XX_CORE_EVTCLR1_RG_ADDR 0x01800044
// DSP Event Clear register 2 - r/w
#define C66XX_CORE_EVTCLR2_RG_ADDR 0x01800048
// DSP Event Clear register 3 - r/w
#define C66XX_CORE_EVTCLR3_RG_ADDR 0x0180004c
// DSP Event Mask register 0 - r/w
#define C66XX_CORE_EVTMASK0_RG_ADDR 0x01800080
// DSP Event Mask register 1 - r/w
#define C66XX_CORE_EVTMASK1_RG_ADDR 0x01800084
// DSP Event Mask register 2 - r/w
#define C66XX_CORE_EVTMASK2_RG_ADDR 0x01800088
// DSP Event Mask register 3 - r/w
#define C66XX_CORE_EVTMASK3_RG_ADDR 0x0180008c
// DSP Event Flag registers base address
#define C66XX_CORE_EVTFLAG_RG_BADDR 0x01800000
// DSP Event Flag registers offset
#define C66XX_CORE_EVTFLAG_RG_OFFSET 0x00000004
// DSP Event Set registers base address
#define C66XX_CORE_EVTSET_RG_BADDR 0x01800020
// DSP Event Set registers offset
#define C66XX_CORE_EVTSET_RG_OFFSET 0x00000004
// DSP Event Clear registers base address
#define C66XX_CORE_EVTCLR_RG_BADDR 0x01800040
// DSP Event Clear registers offset
#define C66XX_CORE_EVTCLR_RG_OFFSET 0x00000004
// DSP Event Mask registers base address
#define C66XX_CORE_EVTMASK_RG_BADDR 0x01800080
// DSP Event Mask registers offset
#define C66XX_CORE_EVTMASK_RG_OFFSET 0x00000004
//=============================================================================
//=============================================================================
//============ PLL controller registers =======================================
//=============================================================================
// PLL control register - r/w
#define C66XX_PLL_PLLCTL_RG_OFFSET 0x100
// PLL secondary control register - r/w
#define C66XX_PLL_SECCTL_RG_OFFSET 0x108
// PLL multiplier control register - r/w
#define C66XX_PLL_PLLM_RG_OFFSET 0x110
// PLL controller divider 1 register - r/w
#define C66XX_PLL_PLLDIV1_RG_OFFSET 0x118
// PLL controller divider 2 register - r/w
#define C66XX_PLL_PLLDIV2_RG_OFFSET 0x11c
// PLL controller divider 3 register - r/w
#define C66XX_PLL_PLLDIV3_RG_OFFSET 0x120
// PLL controller command register - r/w
#define C66XX_PLL_PLLCMD_RG_OFFSET 0x138
// PLL controller status register - r/w
#define C66XX_PLL_PLLSTAT_RG_OFFSET 0x13c
// PLL controller clock align control register - r/w
#define C66XX_PLL_ALNCTL_RG_OFFSET 0x140
// PLL controller divider ratio change status register - r/w
#define C66XX_PLL_DCHANGE_RG_OFFSET 0x144
// SYSCLK status register - r-only
#define C66XX_PLL_SYSTAT_RG_OFFSET 0x150
// PLL controller divider 4 register - r/w
#define C66XX_PLL_PLLDIV4_RG_OFFSET 0x160
// PLL controller divider 5 register - r/w
#define C66XX_PLL_PLLDIV5_RG_OFFSET 0x164
// PLL controller divider 6 register - r/w
#define C66XX_PLL_PLLDIV6_RG_OFFSET 0x168
// PLL controller divider 7 register - r/w
#define C66XX_PLL_PLLDIV7_RG_OFFSET 0x16c
// PLL controller divider 8 register - r/w
#define C66XX_PLL_PLLDIV8_RG_OFFSET 0x170
// PLL controller divider 9 register - r/w
#define C66XX_PLL_PLLDIV9_RG_OFFSET 0x174
// PLL controller divider 10 register - r/w
#define C66XX_PLL_PLLDIV10_RG_OFFSET 0x178
// PLL controller divider 11 register - r/w
#define C66XX_PLL_PLLDIV11_RG_OFFSET 0x17c
// PLL controller divider 12 register - r/w
#define C66XX_PLL_PLLDIV12_RG_OFFSET 0x180
// PLL controller divider 13 register - r/w
#define C66XX_PLL_PLLDIV13_RG_OFFSET 0x184
// PLL controller divider 14 register - r/w
#define C66XX_PLL_PLLDIV14_RG_OFFSET 0x188
// PLL controller divider 15 register - r/w
#define C66XX_PLL_PLLDIV15_RG_OFFSET 0x18c
// PLL controller divider 16 register - r/w
#define C66XX_PLL_PLLDIV16_RG_OFFSET 0x190
#define C66XX_PLL_PLLCTL_RG_ADDR (C66XX_PLL_RG_AREA_SADDR + C66XX_PLL_PLLCTL_RG_OFFSET)
#define C66XX_PLL_SECCTL_RG_ADDR (C66XX_PLL_RG_AREA_SADDR + C66XX_PLL_SECCTL_RG_OFFSET)
#define C66XX_PLL_PLLM_RG_ADDR (C66XX_PLL_RG_AREA_SADDR + C66XX_PLL_PLLM_RG_OFFSET)
#define C66XX_PLL_PLLDIV1_RG_ADDR (C66XX_PLL_RG_AREA_SADDR + C66XX_PLL_PLLDIV1_RG_OFFSET)
#define C66XX_PLL_PLLDIV2_RG_ADDR (C66XX_PLL_RG_AREA_SADDR + C66XX_PLL_PLLDIV2_RG_OFFSET)
#define C66XX_PLL_PLLDIV3_RG_ADDR (C66XX_PLL_RG_AREA_SADDR + C66XX_PLL_PLLDIV3_RG_OFFSET)
#define C66XX_PLL_PLLCMD_RG_ADDR (C66XX_PLL_RG_AREA_SADDR + C66XX_PLL_PLLCMD_RG_OFFSET)
#define C66XX_PLL_PLLSTAT_RG_ADDR (C66XX_PLL_RG_AREA_SADDR + C66XX_PLL_PLLSTAT_RG_OFFSET)
#define C66XX_PLL_ALNCTL_RG_ADDR (C66XX_PLL_RG_AREA_SADDR + C66XX_PLL_ALNCTL_RG_OFFSET)
#define C66XX_PLL_DCHANGE_RG_ADDR (C66XX_PLL_RG_AREA_SADDR + C66XX_PLL_DCHANGE_RG_OFFSET)
#define C66XX_PLL_SYSTAT_RG_ADDR (C66XX_PLL_RG_AREA_SADDR + C66XX_PLL_SYSTAT_RG_OFFSET)
#define C66XX_PLL_PLLDIV4_RG_ADDR (C66XX_PLL_RG_AREA_SADDR + C66XX_PLL_PLLDIV4_RG_OFFSET)
#define C66XX_PLL_PLLDIV5_RG_ADDR (C66XX_PLL_RG_AREA_SADDR + C66XX_PLL_PLLDIV5_RG_OFFSET)
#define C66XX_PLL_PLLDIV6_RG_ADDR (C66XX_PLL_RG_AREA_SADDR + C66XX_PLL_PLLDIV6_RG_OFFSET)
#define C66XX_PLL_PLLDIV7_RG_ADDR (C66XX_PLL_RG_AREA_SADDR + C66XX_PLL_PLLDIV7_RG_OFFSET)
#define C66XX_PLL_PLLDIV8_RG_ADDR (C66XX_PLL_RG_AREA_SADDR + C66XX_PLL_PLLDIV8_RG_OFFSET)
#define C66XX_PLL_PLLDIV9_RG_ADDR (C66XX_PLL_RG_AREA_SADDR + C66XX_PLL_PLLDIV9_RG_OFFSET)
#define C66XX_PLL_PLLDIV10_RG_ADDR (C66XX_PLL_RG_AREA_SADDR + C66XX_PLL_PLLDIV10_RG_OFFSET)
#define C66XX_PLL_PLLDIV11_RG_ADDR (C66XX_PLL_RG_AREA_SADDR + C66XX_PLL_PLLDIV11_RG_OFFSET)
#define C66XX_PLL_PLLDIV12_RG_ADDR (C66XX_PLL_RG_AREA_SADDR + C66XX_PLL_PLLDIV12_RG_OFFSET)
#define C66XX_PLL_PLLDIV13_RG_ADDR (C66XX_PLL_RG_AREA_SADDR + C66XX_PLL_PLLDIV13_RG_OFFSET)
#define C66XX_PLL_PLLDIV14_RG_ADDR (C66XX_PLL_RG_AREA_SADDR + C66XX_PLL_PLLDIV14_RG_OFFSET)
#define C66XX_PLL_PLLDIV15_RG_ADDR (C66XX_PLL_RG_AREA_SADDR + C66XX_PLL_PLLDIV15_RG_OFFSET)
#define C66XX_PLL_PLLDIV16_RG_ADDR (C66XX_PLL_RG_AREA_SADDR + C66XX_PLL_PLLDIV16_RG_OFFSET)
//------------ PLL control register defs --------------------------------------
#define C66XX_PLL_PLLCTL_PLLENSRC_BITMASK 0x20
#define C66XX_PLL_PLLCTL_PLLENSRC_BITSHIFT 5
#define C66XX_PLL_PLLCTL_PLLRST_BITMASK 0x8
#define C66XX_PLL_PLLCTL_PLLRST_BITSHIFT 3
#define C66XX_PLL_PLLCTL_PLLPWRDN_BITMASK 0x2
#define C66XX_PLL_PLLCTL_PLLPWRDN_BITSHIFT 1
#define C66XX_PLL_PLLCTL_PLLEN_BITMASK 0x1
#define C66XX_PLL_PLLCTL_PLLEN_BITSHIFT 0
//------------ PLL secondary control register defs ----------------------------
#define C66XX_PLL_SECCTL_BYPASS_BITMASK 0x00800000
#define C66XX_PLL_SECCTL_BYPASS_BITSHIFT 23
#define C66XX_PLL_SECCTL_OUTPUT_DIVIDE_BITMASK 0x00780000
#define C66XX_PLL_SECCTL_OUTPUT_DIVIDE_BITSHIFT 19
//------------ PLL multiplier control register defs ---------------------------
#define C66XX_PLL_PLLM_PLLM_BITMASK 0x3f
#define C66XX_PLL_PLLM_PLLM_BITSHIFT 0
//------------ PLL controller divider registers defs --------------------------
#define C66XX_PLL_PLLDIV_DEN_BITMASK 0x8000
#define C66XX_PLL_PLLDIV_DEN_BITSHIFT 15
#define C66XX_PLL_PLLDIV_RATIO_BITMASK 0xff
#define C66XX_PLL_PLLDIV_RATIO_BITSHIFT 0
//------------ PLL controller command register defs ---------------------------
#define C66XX_PLL_PLLCMD_GOSET_BITMASK 0x1
#define C66XX_PLL_PLLCMD_GOSET_BITSHIFT 0
//------------ PLL controller status register defs ----------------------------
#define C66XX_PLL_PLLSTAT_GOSTAT_BITMASK 0x1
#define C66XX_PLL_PLLSTAT_GOSTAT_BITSHIFT 0
//------------ PLL controller clock align control register defs ---------------
#define C66XX_PLL_ALNCTL_ALN_BITMASK 0xffff
#define C66XX_PLL_ALNCTL_ALN_BITSHIFT 0
//------------ PLL controller divider ratio change status register defs -------
#define C66XX_PLL_DCHANGE_SYS_BITMASK 0xffff
#define C66XX_PLL_DCHANGE_SYS_BITSHIFT 0
//------------ SYSCLK status register defs ------------------------------------
#define C66XX_PLL_SYSTAT_SYSON_BITMASK 0xffff
#define C66XX_PLL_SYSTAT_SYSON_BITSHIFT 0
//=============================================================================
//=============================================================================
//============ Device State Control registers =================================
//=============================================================================
/*
* !!! Note that this section contains only those definitions
* that are missed in TI C6000 Chip Support Library (CSL) !!!
*/
// JTAG ID register - r-only
#define C66XX_BOOTCFG_JTAGID_RG_OFFSET 0x18
// Device status register - r/w
#define C66XX_BOOTCFG_DEVSTAT_RG_OFFSET 0x20
// Boot kicker 0 register - r/w
#define C66XX_BOOTCFG_KICK0_RG_OFFSET 0x38
// Boot kicker 1 register - r/w
#define C66XX_BOOTCFG_KICK1_RG_OFFSET 0x3c
// DSP0 boot address register - r/w
#define C66XX_BOOTCFG_DSP_BOOT_ADDR0_RG_OFFSET 0x40
// DSP1 boot address register - r/w
#define C66XX_BOOTCFG_DSP_BOOT_ADDR1_RG_OFFSET 0x44
// DSP2 boot address register - r/w
#define C66XX_BOOTCFG_DSP_BOOT_ADDR2_RG_OFFSET 0x48
// DSP3 boot address register - r/w
#define C66XX_BOOTCFG_DSP_BOOT_ADDR3_RG_OFFSET 0x4c
// DSP4 boot address register - r/w
#define C66XX_BOOTCFG_DSP_BOOT_ADDR4_RG_OFFSET 0x50
// DSP5 boot address register - r/w
#define C66XX_BOOTCFG_DSP_BOOT_ADDR5_RG_OFFSET 0x54
// DSP6 boot address register - r/w
#define C66XX_BOOTCFG_DSP_BOOT_ADDR6_RG_OFFSET 0x58
// DSP7 boot address register - r/w
#define C66XX_BOOTCFG_DSP_BOOT_ADDR7_RG_OFFSET 0x5c
// MAC 1 address register - r-only
#define C66XX_BOOTCFG_MACID1_RG_OFFSET 0x110
// MAC 2 address register - r-only
#define C66XX_BOOTCFG_MACID2_RG_OFFSET 0x114
// LRESETNMI PIN status clear register - r/w
#define C66XX_BOOTCFG_LRSTNMIPINSTAT_CLR_RG_OFFSET 0x130
// Reset status clear register - r/w
#define C66XX_BOOTCFG_RESET_STAT_CLR_RG_OFFSET 0x134
// Boot complete register - r/w
#define C66XX_BOOTCFG_BOOTCOMPLETE_RG_OFFSET 0x13c
// Reset status register - r-only
#define C66XX_BOOTCFG_RESET_STAT_RG_OFFSET 0x144
// LRESETNMI PIN status register - r-only
#define C66XX_BOOTCFG_LRSTNMIPINSTAT_RG_OFFSET 0x148
// Device configuration register - r/w
#define C66XX_BOOTCFG_DEVCFG_RG_OFFSET 0x14c
// Power state control register - r/w
#define C66XX_BOOTCFG_PWRSTATECTL_RG_OFFSET 0x150
// SRIO SerDes macro status register - r-only
#define C66XX_BOOTCFG_SRIO_SERDES_STS_RG_OFFSET 0x154
// SMGII SerDes macro status register - r-only
#define C66XX_BOOTCFG_SMGII_SERDES_STS_RG_OFFSET 0x158
// PCIe SerDes macro status register - r-only
#define C66XX_BOOTCFG_PCIE_SERDES_STS_RG_OFFSET 0x15c
// HyperLink SerDes macro status register - r-only
#define C66XX_BOOTCFG_HYPERLINK_SERDES_STS_RG_OFFSET 0x160
// NMI generation for CorePac0 register - r/w
#define C66XX_BOOTCFG_NMIGR0_RG_OFFSET 0x200
// NMI generation for CorePac1 register - r/w
#define C66XX_BOOTCFG_NMIGR1_RG_OFFSET 0x204
// NMI generation for CorePac2 register - r/w
#define C66XX_BOOTCFG_NMIGR2_RG_OFFSET 0x208
// NMI generation for CorePac3 register - r/w
#define C66XX_BOOTCFG_NMIGR3_RG_OFFSET 0x20c
// NMI generation for CorePac4 register - r/w
#define C66XX_BOOTCFG_NMIGR4_RG_OFFSET 0x210
// NMI generation for CorePac5 register - r/w
#define C66XX_BOOTCFG_NMIGR5_RG_OFFSET 0x214
// NMI generation for CorePac6 register - r/w
#define C66XX_BOOTCFG_NMIGR6_RG_OFFSET 0x218
// NMI generation for CorePac7 register - r/w
#define C66XX_BOOTCFG_NMIGR7_RG_OFFSET 0x21c
// IPC generation for CorePac0 register - r/w
#define C66XX_BOOTCFG_IPCGR0_RG_OFFSET 0x240
// IPC generation for CorePac1 register - r/w
#define C66XX_BOOTCFG_IPCGR1_RG_OFFSET 0x244
// IPC generation for CorePac2 register - r/w
#define C66XX_BOOTCFG_IPCGR2_RG_OFFSET 0x248
// IPC generation for CorePac3 register - r/w
#define C66XX_BOOTCFG_IPCGR3_RG_OFFSET 0x24c
// IPC generation for CorePac4 register - r/w
#define C66XX_BOOTCFG_IPCGR4_RG_OFFSET 0x250
// IPC generation for CorePac5 register - r/w
#define C66XX_BOOTCFG_IPCGR5_RG_OFFSET 0x254
// IPC generation for CorePac6 register - r/w
#define C66XX_BOOTCFG_IPCGR6_RG_OFFSET 0x258
// IPC generation for CorePac7 register - r/w
#define C66XX_BOOTCFG_IPCGR7_RG_OFFSET 0x25c
// Timer Input Selection register - r/w
#define C66XX_BOOTCFG_TINPSEL_RG_OFFSET 0x300
// Timer Output Selection register - r/w
#define C66XX_BOOTCFG_TOUTPSEL_RG_OFFSET 0x304
// Main PLL Control register 0 - r/w
#define C66XX_BOOTCFG_MAINPLLCTL0_RG_OFFSET 0x328
// Main PLL Control register 1 - r/w
#define C66XX_BOOTCFG_MAINPLLCTL1_RG_OFFSET 0x32c
// DDR3 PLL Control register 0 - r/w
#define C66XX_BOOTCFG_DDR3PLLCTL0_RG_OFFSET 0x330
// DDR3 PLL Control register 1 - r/w
#define C66XX_BOOTCFG_DDR3PLLCTL1_RG_OFFSET 0x334
// Pass PLL Control register 0 - r/w
#define C66XX_BOOTCFG_PASSPLLCTL0_RG_OFFSET 0x338
// Pass PLL Control register 1 - r/w
#define C66XX_BOOTCFG_PASSPLLCTL1_RG_OFFSET 0x33c
// Device speed register - r-only
#define C66XX_BOOTCFG_DEVSPEED_RG_OFFSET 0x3f8
#define C66XX_BOOTCFG_TINPSEL_RG_ADDR (C66XX_BOOTCFG_RG_AREA_SADDR + C66XX_BOOTCFG_TINPSEL_RG_OFFSET)
#define C66XX_BOOTCFG_TOUTPSEL_RG_ADDR (C66XX_BOOTCFG_RG_AREA_SADDR + C66XX_BOOTCFG_TOUTPSEL_RG_OFFSET)
#define C66XX_BOOTCFG_MAINPLLCTL0_RG_ADDR (C66XX_BOOTCFG_RG_AREA_SADDR + C66XX_BOOTCFG_MAINPLLCTL0_RG_OFFSET)
#define C66XX_BOOTCFG_MAINPLLCTL1_RG_ADDR (C66XX_BOOTCFG_RG_AREA_SADDR + C66XX_BOOTCFG_MAINPLLCTL1_RG_OFFSET)
#define C66XX_BOOTCFG_DDR3PLLCTL0_RG_ADDR (C66XX_BOOTCFG_RG_AREA_SADDR + C66XX_BOOTCFG_DDR3PLLCTL0_RG_OFFSET)
#define C66XX_BOOTCFG_DDR3PLLCTL1_RG_ADDR (C66XX_BOOTCFG_RG_AREA_SADDR + C66XX_BOOTCFG_DDR3PLLCTL1_RG_OFFSET)
#define C66XX_BOOTCFG_PASSPLLCTL0_RG_ADDR (C66XX_BOOTCFG_RG_AREA_SADDR + C66XX_BOOTCFG_PASSPLLCTL0_RG_OFFSET)
#define C66XX_BOOTCFG_PASSPLLCTL1_RG_ADDR (C66XX_BOOTCFG_RG_AREA_SADDR + C66XX_BOOTCFG_PASSPLLCTL1_RG_OFFSET)
#define C66XX_BOOTCFG_DEVSPEED_RG_ADDR (C66XX_BOOTCFG_RG_AREA_SADDR + C66XX_BOOTCFG_DEVSPEED_RG_OFFSET)
//------------ Main PLL Control register 0 defs -------------------------------
#define C66XX_BOOTCFG_MAINPLLCTL0_BWADJ_BITMASK 0xff000000
#define C66XX_BOOTCFG_MAINPLLCTL0_BWADJ_BITSHIFT 24
#define C66XX_BOOTCFG_MAINPLLCTL0_PLLM_BITMASK 0x7f000
#define C66XX_BOOTCFG_MAINPLLCTL0_PLLM_BITSHIFT 12
#define C66XX_BOOTCFG_MAINPLLCTL0_PLLD_BITMASK 0x3f
#define C66XX_BOOTCFG_MAINPLLCTL0_PLLD_BITSHIFT 0
//------------ Main PLL Control register 1 defs -------------------------------
#define C66XX_BOOTCFG_MAINPLLCTL1_ENSAT_BITMASK 0x40
#define C66XX_BOOTCFG_MAINPLLCTL1_ENSAT_BITSHIFT 6
#define C66XX_BOOTCFG_MAINPLLCTL1_BWADJ_BITMASK 0xf
#define C66XX_BOOTCFG_MAINPLLCTL1_BWADJ_BITSHIFT 0
//------------ DDR3 PLL Control register 0 defs -------------------------------
#define C66XX_BOOTCFG_DDR3PLLCTL0_BWADJ_BITMASK 0xff000000
#define C66XX_BOOTCFG_DDR3PLLCTL0_BWADJ_BITSHIFT 24
#define C66XX_BOOTCFG_DDR3PLLCTL0_BYPASS_BITMASK 0x800000
#define C66XX_BOOTCFG_DDR3PLLCTL0_BYPASS_BITSHIFT 23
#define C66XX_BOOTCFG_DDR3PLLCTL0_PLLM_BITMASK 0x7ffc0
#define C66XX_BOOTCFG_DDR3PLLCTL0_PLLM_BITSHIFT 6
#define C66XX_BOOTCFG_DDR3PLLCTL0_PLLD_BITMASK 0x3f
#define C66XX_BOOTCFG_DDR3PLLCTL0_PLLD_BITSHIFT 0
//------------ DDR3 PLL Control register 1 defs -------------------------------
#define C66XX_BOOTCFG_DDR3PLLCTL1_PLLRST_BITMASK 0x2000
#define C66XX_BOOTCFG_DDR3PLLCTL1_PLLRST_BITSHIFT 13
#define C66XX_BOOTCFG_DDR3PLLCTL1_ENSAT_BITMASK 0x40
#define C66XX_BOOTCFG_DDR3PLLCTL1_ENSAT_BITSHIFT 6
#define C66XX_BOOTCFG_DDR3PLLCTL1_BWADJ_BITMASK 0xf
#define C66XX_BOOTCFG_DDR3PLLCTL1_BWADJ_BITSHIFT 0
//------------ PASS PLL Control register 0 defs -------------------------------
#define C66XX_BOOTCFG_PASSPLLCTL0_BWADJ_BITMASK 0xff000000
#define C66XX_BOOTCFG_PASSPLLCTL0_BWADJ_BITSHIFT 24
#define C66XX_BOOTCFG_PASSPLLCTL0_BYPASS_BITMASK 0x800000
#define C66XX_BOOTCFG_PASSPLLCTL0_BYPASS_BITSHIFT 23
#define C66XX_BOOTCFG_PASSPLLCTL0_PLLM_BITMASK 0x7ffc0
#define C66XX_BOOTCFG_PASSPLLCTL0_PLLM_BITSHIFT 6
#define C66XX_BOOTCFG_PASSPLLCTL0_PLLD_BITMASK 0x3f
#define C66XX_BOOTCFG_PASSPLLCTL0_PLLD_BITSHIFT 0
//------------ PASS PLL Control register 1 defs -------------------------------
#define C66XX_BOOTCFG_PASSPLLCTL1_PLLRST_BITMASK 0x4000
#define C66XX_BOOTCFG_PASSPLLCTL1_PLLRST_BITSHIFT 14
#define C66XX_BOOTCFG_PASSPLLCTL1_PLLSELECT_BITMASK 0x2000
#define C66XX_BOOTCFG_PASSPLLCTL1_PLLSELECT_BITSHIFT 13
#define C66XX_BOOTCFG_PASSPLLCTL1_ENSAT_BITMASK 0x40
#define C66XX_BOOTCFG_PASSPLLCTL1_ENSAT_BITSHIFT 6
#define C66XX_BOOTCFG_PASSPLLCTL1_BWADJ_BITMASK 0xf
#define C66XX_BOOTCFG_PASSPLLCTL1_BWADJ_BITSHIFT 0
//------------ Device speed register defs -------------------------------------
#define C66XX_BOOTCFG_DEVSPEED_DEVSPEED_BITMASK 0xff800000
#define C66XX_BOOTCFG_DEVSPEED_DEVSPEED_BITSHIFT 23
// DSP core speed defs in MHz
#define C66XX_DSP_CORE_SPEED_800MHZ 800
#define C66XX_DSP_CORE_SPEED_1000MHZ 1000
#define C66XX_DSP_CORE_SPEED_1200MHZ 1200
#define C66XX_DSP_CORE_SPEED_1250MHZ 1250
#define C66XX_DSP_CORE_SPEED_1400MHZ 1400
//------------ MACID2 register defs -------------------------------------------
#define C66XX_BOOTCFG_MACID2_MACID_BITMASK 0xffff
#define C66XX_BOOTCFG_MACID2_MACID_BITSHIFT 0
//=============================================================================
//=============================================================================
//============ Power & sleep controller definitions ===========================
//=============================================================================
/*
* !!! Note that this section contains only those definitions
* that are missed in TI C6000 Chip Support Library (CSL) !!!
*/
// Power Domains Definitions
#define C66XX_PSC_PD_ALWAYSON 0
#define C66XX_PSC_PD_TETB 1
#define C66XX_PSC_PD_PA 2
#define C66XX_PSC_PD_PCIE 3
#define C66XX_PSC_PD_SRIO 4
#define C66XX_PSC_PD_HYPERLINK 5
#define C66XX_PSC_PD_MSM_SRAM 7
#define C66XX_PSC_PD_DSP0 8
#define C66XX_PSC_PD_DSP1 9
#define C66XX_PSC_PD_DSP2 10
#define C66XX_PSC_PD_DSP3 11
#define C66XX_PSC_PD_DSP4 12
#define C66XX_PSC_PD_DSP5 13
#define C66XX_PSC_PD_DSP6 14
#define C66XX_PSC_PD_DSP7 15
#define C66XX_PSC_PD_COUNT (C66XX_PSC_PD_DSP7 + 1)
// Power Domains State Definitions
#define C66XX_PSC_PD_STATE_OFF PSC_PDSTATE_OFF
#define C66XX_PSC_PD_STATE_ON PSC_PDSTATE_ON
// Power & Sleep Controller Clock Domains Definitions
#define C66XX_PSC_LPSC_SHARED_LPSC 0
#define C66XX_PSC_LPSC_SMARTREFLEX 1
#define C66XX_PSC_LPSC_DDR3_EMIF 2
#define C66XX_PSC_LPSC_EMIF16_SPI 3
#define C66XX_PSC_LPSC_TSIP 4
#define C66XX_PSC_LPSC_DEBUG_TRACE 5
#define C66XX_PSC_LPSC_TETB 6
#define C66XX_PSC_LPSC_PA 7
#define C66XX_PSC_LPSC_ETHERNET 8
#define C66XX_PSC_LPSC_SA 9
#define C66XX_PSC_LPSC_PCIE 10
#define C66XX_PSC_LPSC_SRIO 11
#define C66XX_PSC_LPSC_HYPERLINK 12
#define C66XX_PSC_LPSC_MSM_SRAM 14
#define C66XX_PSC_LPSC_DSP0 15
#define C66XX_PSC_LPSC_DSP1 16
#define C66XX_PSC_LPSC_DSP2 17
#define C66XX_PSC_LPSC_DSP3 18
#define C66XX_PSC_LPSC_DSP4 19
#define C66XX_PSC_LPSC_DSP5 20
#define C66XX_PSC_LPSC_DSP6 21
#define C66XX_PSC_LPSC_DSP7 22
#define C66XX_PSC_LPSC_COUNT (C66XX_PSC_LPSC_DSP7 + 1)
// Clock Domains State Definitions
#define C66XX_PSC_LPSC_STATE_OFF PSC_MODSTATE_SWRSTDISABLE
#define C66XX_PSC_LPSC_STATE_ON PSC_MODSTATE_ENABLE
//=============================================================================
//=============================================================================
//============ I2C definitions ================================================
//=============================================================================
/*
* !!! Note that this section contains only those definitions
* that are missed in TI C6000 Chip Support Library (CSL) !!!
*/
// I2C own address register - r/w
#define C66XX_I2C_ICOAR_RG_OFFSET 0x00
// I2C interrupt mask register - r/w
#define C66XX_I2C_ICIMR_RG_OFFSET 0x04
// I2C interrupt status register - r/w
#define C66XX_I2C_ICSTR_RG_OFFSET 0x08
// I2C clock low-time divider register - r/w
#define C66XX_I2C_ICCLKL_RG_OFFSET 0x0c
// I2C clock high-time divider register - r/w
#define C66XX_I2C_ICCLKH_RG_OFFSET 0x10
// I2C data count register - r/w
#define C66XX_I2C_ICCNT_RG_OFFSET 0x14
// I2C data receive register - r-only
#define C66XX_I2C_ICDRR_RG_OFFSET 0x18
// I2C slave address register - r/w
#define C66XX_I2C_ICSAR_RG_OFFSET 0x1c
// I2C data transmit register - r/w
#define C66XX_I2C_ICDXR_RG_OFFSET 0x20
// I2C mode register - r/w
#define C66XX_I2C_ICMDR_RG_OFFSET 0x24
// I2C interrupt vector register - r/w
#define C66XX_I2C_ICIVR_RG_OFFSET 0x28
// I2C extended mode register - r/w
#define C66XX_I2C_ICEMDR_RG_OFFSET 0x2c
// I2C prescaler register - r/w
#define C66XX_I2C_ICPSC_RG_OFFSET 0x30
// I2C peripheral identification 1 register - r/w
#define C66XX_I2C_ICPID1_RG_OFFSET 0x34
// I2C peripheral identification 2 register - r/w
#define C66XX_I2C_ICPID2_RG_OFFSET 0x38
#define C66XX_I2C_ICOAR_RG_ADDR (C66XX_I2C_RG_AREA_SADDR + C66XX_I2C_ICOAR_RG_OFFSET)
#define C66XX_I2C_ICIMR_RG_ADDR (C66XX_I2C_RG_AREA_SADDR + C66XX_I2C_ICIMR_RG_OFFSET)
#define C66XX_I2C_ICSTR_RG_ADDR (C66XX_I2C_RG_AREA_SADDR + C66XX_I2C_ICSTR_RG_OFFSET)
#define C66XX_I2C_ICCLKL_RG_ADDR (C66XX_I2C_RG_AREA_SADDR + C66XX_I2C_ICCLKL_RG_OFFSET)
#define C66XX_I2C_ICCLKH_RG_ADDR (C66XX_I2C_RG_AREA_SADDR + C66XX_I2C_ICCLKH_RG_OFFSET)
#define C66XX_I2C_ICCNT_RG_ADDR (C66XX_I2C_RG_AREA_SADDR + C66XX_I2C_ICCNT_RG_OFFSET)
#define C66XX_I2C_ICDRR_RG_ADDR (C66XX_I2C_RG_AREA_SADDR + C66XX_I2C_ICDRR_RG_OFFSET)
#define C66XX_I2C_ICSAR_RG_ADDR (C66XX_I2C_RG_AREA_SADDR + C66XX_I2C_ICSAR_RG_OFFSET)
#define C66XX_I2C_ICDXR_RG_ADDR (C66XX_I2C_RG_AREA_SADDR + C66XX_I2C_ICDXR_RG_OFFSET)
#define C66XX_I2C_ICMDR_RG_ADDR (C66XX_I2C_RG_AREA_SADDR + C66XX_I2C_ICMDR_RG_OFFSET)
#define C66XX_I2C_ICIVR_RG_ADDR (C66XX_I2C_RG_AREA_SADDR + C66XX_I2C_ICIVR_RG_OFFSET)
#define C66XX_I2C_ICEMDR_RG_ADDR (C66XX_I2C_RG_AREA_SADDR + C66XX_I2C_ICEMDR_RG_OFFSET)
#define C66XX_I2C_ICPSC_RG_ADDR (C66XX_I2C_RG_AREA_SADDR + C66XX_I2C_ICPSC_RG_OFFSET)
#define C66XX_I2C_ICPID1_RG_ADDR (C66XX_I2C_RG_AREA_SADDR + C66XX_I2C_ICPID1_RG_OFFSET)
#define C66XX_I2C_ICPID2_RG_ADDR (C66XX_I2C_RG_AREA_SADDR + C66XX_I2C_ICPID2_RG_OFFSET)
//------------ I2C own address register defs ----------------------------------
#define C66XX_I2C_ICOAR_OADDR_BITMASK 0x3ff
#define C66XX_I2C_ICOAR_OADDR_BITSHIFT 0
//------------ I2C interrupt mask register defs -------------------------------
#define C66XX_I2C_ICIMR_AAS_BITMASK 0x40
#define C66XX_I2C_ICIMR_AAS_BITSHIFT 6
#define C66XX_I2C_ICIMR_SCD_BITMASK 0x20
#define C66XX_I2C_ICIMR_SCD_BITSHIFT 5
#define C66XX_I2C_ICIMR_ICXRDY_BITMASK 0x10
#define C66XX_I2C_ICIMR_ICXRDY_BITSHIFT 4
#define C66XX_I2C_ICIMR_ICRDRDY_BITMASK 0x8
#define C66XX_I2C_ICIMR_ICRDRDY_BITSHIFT 3
#define C66XX_I2C_ICIMR_ARDY_BITMASK 0x4
#define C66XX_I2C_ICIMR_ARDY_BITSHIFT 2
#define C66XX_I2C_ICIMR_NACK_BITMASK 0x2
#define C66XX_I2C_ICIMR_NACK_BITSHIFT 1
#define C66XX_I2C_ICIMR_AL_BITMASK 0x1
#define C66XX_I2C_ICIMR_AL_BITSHIFT 0
#define C66XX_I2C_ICIMR_RG_BITMASK 0x7f
//------------ I2C interrupt status register defs -----------------------------
#define C66XX_I2C_ICSTR_SDIR_BITMASK 0x4000
#define C66XX_I2C_ICSTR_SDIR_BITSHIFT 14
#define C66XX_I2C_ICSTR_NACKSNT_BITMASK 0x2000
#define C66XX_I2C_ICSTR_NACKSNT_BITSHIFT 13
#define C66XX_I2C_ICSTR_BB_BITMASK 0x1000
#define C66XX_I2C_ICSTR_BB_BITSHIFT 12
#define C66XX_I2C_ICSTR_RSFULL_BITMASK 0x800
#define C66XX_I2C_ICSTR_RSFULL_BITSHIFT 11
#define C66XX_I2C_ICSTR_XSMT_BITMASK 0x400
#define C66XX_I2C_ICSTR_XSMT_BITSHIFT 10
#define C66XX_I2C_ICSTR_AAS_BITMASK 0x200
#define C66XX_I2C_ICSTR_AAS_BITSHIFT 9
#define C66XX_I2C_ICSTR_AD0_BITMASK 0x100
#define C66XX_I2C_ICSTR_AD0_BITSHIFT 8
#define C66XX_I2C_ICSTR_SCD_BITMASK 0x20
#define C66XX_I2C_ICSTR_SCD_BITSHIFT 5
#define C66XX_I2C_ICSTR_ICXRDY_BITMASK 0x10
#define C66XX_I2C_ICSTR_ICXRDY_BITSHIFT 4
#define C66XX_I2C_ICSTR_ICRDRDY_BITMASK 0x8
#define C66XX_I2C_ICSTR_ICRDRDY_BITSHIFT 3
#define C66XX_I2C_ICSTR_ARDY_BITMASK 0x4
#define C66XX_I2C_ICSTR_ARDY_BITSHIFT 2
#define C66XX_I2C_ICSTR_NACK_BITMASK 0x2
#define C66XX_I2C_ICSTR_NACK_BITSHIFT 1
#define C66XX_I2C_ICSTR_AL_BITMASK 0x1
#define C66XX_I2C_ICSTR_AL_BITSHIFT 0
//------------ I2C clock low-time divider register defs -----------------------
#define C66XX_I2C_ICCLKL_ICCL_BITMASK 0xffff
#define C66XX_I2C_ICCLKL_ICCL_BITSHIFT 0
//------------ I2C clock high-time divider register defs ----------------------
#define C66XX_I2C_ICCLKH_ICCH_BITMASK 0xffff
#define C66XX_I2C_ICCLKH_ICCH_BITSHIFT 0
//------------ I2C data count register defs -----------------------------------
#define C66XX_I2C_ICCNT_ICDC_BITMASK 0xffff
#define C66XX_I2C_ICCNT_ICDC_BITSHIFT 0
//------------ I2C data receive register defs ---------------------------------
#define C66XX_I2C_ICDRR_D_BITMASK 0xff
#define C66XX_I2C_ICDRR_D_BITSHIFT 0
//------------ I2C slave address register defs --------------------------------
#define C66XX_I2C_ICSAR_SADDR_BITMASK 0x3ff
#define C66XX_I2C_ICSAR_SADDR_BITSHIFT 0
//------------ I2C data transmit register defs --------------------------------
#define C66XX_I2C_ICDXR_D_BITMASK 0xff
#define C66XX_I2C_ICDXR_D_BITSHIFT 0
//------------ I2C mode register defs -----------------------------------------
#define C66XX_I2C_ICMDR_NACKMOD_BITMASK 0x8000
#define C66XX_I2C_ICMDR_NACKMOD_BITSHIFT 15
#define C66XX_I2C_ICMDR_FREE_BITMASK 0x4000
#define C66XX_I2C_ICMDR_FREE_BITSHIFT 14
#define C66XX_I2C_ICMDR_STT_BITMASK 0x2000
#define C66XX_I2C_ICMDR_STT_BITSHIFT 13
#define C66XX_I2C_ICMDR_STP_BITMASK 0x800
#define C66XX_I2C_ICMDR_STP_BITSHIFT 11
#define C66XX_I2C_ICMDR_MST_BITMASK 0x400
#define C66XX_I2C_ICMDR_MST_BITSHIFT 10
#define C66XX_I2C_ICMDR_TRX_BITMASK 0x200
#define C66XX_I2C_ICMDR_TRX_BITSHIFT 9
#define C66XX_I2C_ICMDR_XA_BITMASK 0x100
#define C66XX_I2C_ICMDR_XA_BITSHIFT 8
#define C66XX_I2C_ICMDR_RM_BITMASK 0x80
#define C66XX_I2C_ICMDR_RM_BITSHIFT 7
#define C66XX_I2C_ICMDR_DLB_BITMASK 0x40
#define C66XX_I2C_ICMDR_DLB_BITSHIFT 6
#define C66XX_I2C_ICMDR_IRS_BITMASK 0x20
#define C66XX_I2C_ICMDR_IRS_BITSHIFT 5
#define C66XX_I2C_ICMDR_STB_BITMASK 0x10
#define C66XX_I2C_ICMDR_STB_BITSHIFT 4
#define C66XX_I2C_ICMDR_FDF_BITMASK 0x8
#define C66XX_I2C_ICMDR_FDF_BITSHIFT 3
#define C66XX_I2C_ICMDR_BC_BITMASK 0x7
#define C66XX_I2C_ICMDR_BC_BITSHIFT 0
//------------ I2C interrupt vector register defs -----------------------------
#define C66XX_I2C_ICIVR_INTCODE_BITMASK 0x7
#define C66XX_I2C_ICIVR_INTCODE_BITSHIFT 0
//------------ I2C extended mode register defs --------------------------------
#define C66XX_I2C_ICEMDR_IGNACK_BITMASK 0x2
#define C66XX_I2C_ICEMDR_IGNACK_BITSHIFT 1
#define C66XX_I2C_ICEMDR_BCM_BITMASK 0x1
#define C66XX_I2C_ICEMDR_BCM_BITSHIFT 0
//------------ I2C prescaler register defs ------------------------------------
#define C66XX_I2C_ICPSC_IPSC_BITMASK 0xff
#define C66XX_I2C_ICPSC_IPSC_BITSHIFT 0
//------------ I2C peripheral identification 1 register defs ------------------
#define C66XX_I2C_ICPID1_CLASS_BITMASK 0xff00
#define C66XX_I2C_ICPID1_CLASS_BITSHIFT 8
#define C66XX_I2C_ICPID1_REVISION_BITMASK 0xff
#define C66XX_I2C_ICPID1_REVISION_BITSHIFT 0
//------------ I2C peripheral identification 2 register defs ------------------
#define C66XX_I2C_ICPID2_TYPE_BITMASK 0xffff
#define C66XX_I2C_ICPID2_TYPE_BITSHIFT 0
//=============================================================================
//=============================================================================
//============ EMIF16 configuration registers =================================
//=============================================================================
// Revision code and status register - r-only
#define C66XX_EMIF16_RCSR_RG_OFFSET 0x00
// Async wait cycle config register - r/w
#define C66XX_EMIF16_AWCCR_RG_OFFSET 0x04
// Async 1 (CE0) config register - r/w
#define C66XX_EMIF16_A1CR_RG_OFFSET 0x10
// Async 2 (CE1) config register - r/w
#define C66XX_EMIF16_A2CR_RG_OFFSET 0x14
// Async 3 (CE2) config register - r/w
#define C66XX_EMIF16_A3CR_RG_OFFSET 0x18
// Async 4 (CE3) config register - r/w
#define C66XX_EMIF16_A4CR_RG_OFFSET 0x1c
// Interrupt raw register - r/w
#define C66XX_EMIF16_IRR_RG_OFFSET 0x40
// Interrupt masked register - r/w
#define C66XX_EMIF16_IMR_RG_OFFSET 0x44
// Interrupt mask set register - r/w
#define C66XX_EMIF16_IMSR_RG_OFFSET 0x48
// Interrupt mask clear register - r/w
#define C66XX_EMIF16_IMCR_RG_OFFSET 0x4c
// Page mode control register - r/w
#define C66XX_EMIF16_PMCR_RG_OFFSET 0x68
#define C66XX_EMIF16_RCSR_RG_ADDR (C66XX_EMIF16_RG_AREA_SADDR + C66XX_EMIF16_RCSR_RG_OFFSET)
#define C66XX_EMIF16_AWCCR_RG_ADDR (C66XX_EMIF16_RG_AREA_SADDR + C66XX_EMIF16_AWCCR_RG_OFFSET)
#define C66XX_EMIF16_A1CR_RG_ADDR (C66XX_EMIF16_RG_AREA_SADDR + C66XX_EMIF16_A1CR_RG_OFFSET)
#define C66XX_EMIF16_A2CR_RG_ADDR (C66XX_EMIF16_RG_AREA_SADDR + C66XX_EMIF16_A2CR_RG_OFFSET)
#define C66XX_EMIF16_A3CR_RG_ADDR (C66XX_EMIF16_RG_AREA_SADDR + C66XX_EMIF16_A3CR_RG_OFFSET)
#define C66XX_EMIF16_A4CR_RG_ADDR (C66XX_EMIF16_RG_AREA_SADDR + C66XX_EMIF16_A4CR_RG_OFFSET)
#define C66XX_EMIF16_IRR_RG_ADDR (C66XX_EMIF16_RG_AREA_SADDR + C66XX_EMIF16_IRR_RG_OFFSET)
#define C66XX_EMIF16_IMR_RG_ADDR (C66XX_EMIF16_RG_AREA_SADDR + C66XX_EMIF16_IMR_RG_OFFSET)
#define C66XX_EMIF16_IMSR_RG_ADDR (C66XX_EMIF16_RG_AREA_SADDR + C66XX_EMIF16_IMSR_RG_OFFSET)
#define C66XX_EMIF16_IMCR_RG_ADDR (C66XX_EMIF16_RG_AREA_SADDR + C66XX_EMIF16_IMCR_RG_OFFSET)
#define C66XX_EMIF16_PMCR_RG_ADDR (C66XX_EMIF16_RG_AREA_SADDR + C66XX_EMIF16_PMCR_RG_OFFSET)
//------------ Revision code and status register defs -------------------------
#define C66XX_EMIF16_RCSR_BE_BITMASK 0x80000000
#define C66XX_EMIF16_RCSR_BE_BITSHIFT 31
#define C66XX_EMIF16_RCSR_MOD_ID_BITMASK 0x3fff0000
#define C66XX_EMIF16_RCSR_MOD_ID_BITSHIFT 16
#define C66XX_EMIF16_RCSR_MJ_REV_BITMASK 0xff00
#define C66XX_EMIF16_RCSR_MJ_REV_BITSHIFT 8
#define C66XX_EMIF16_RCSR_MIN_REV_BITMASK 0xff
#define C66XX_EMIF16_RCSR_MIN_REV_BITSHIFT 0
#define C66XX_EMIF16_RCSR_MOD_ID_DEFAULT_VALUE 0x46
#define C66XX_EMIF16_RCSR_MJ_REV_DEFAULT_VALUE 0x4
#define C66XX_EMIF16_RCSR_MIN_REV_DEFAULT_VALUE 0x0
//------------ Async wait cycle config register defs --------------------------
#define C66XX_EMIF16_AWCCR_WP1_BITMASK 0x20000000
#define C66XX_EMIF16_AWCCR_WP1_BITSHIFT 29
#define C66XX_EMIF16_AWCCR_WP0_BITMASK 0x10000000
#define C66XX_EMIF16_AWCCR_WP0_BITSHIFT 28
#define C66XX_EMIF16_AWCCR_CS5_WAIT_BITMASK 0xc00000
#define C66XX_EMIF16_AWCCR_CS5_WAIT_BITSHIFT 22
#define C66XX_EMIF16_AWCCR_CS4_WAIT_BITMASK 0x300000
#define C66XX_EMIF16_AWCCR_CS4_WAIT_BITSHIFT 20
#define C66XX_EMIF16_AWCCR_CS3_WAIT_BITMASK 0xc0000
#define C66XX_EMIF16_AWCCR_CS3_WAIT_BITSHIFT 18
#define C66XX_EMIF16_AWCCR_CS2_WAIT_BITMASK 0x30000
#define C66XX_EMIF16_AWCCR_CS2_WAIT_BITSHIFT 16
#define C66XX_EMIF16_AWCCR_MAX_EXT_WAIT_BITMASK 0xff
#define C66XX_EMIF16_AWCCR_MAX_EXT_WAIT_BITSHIFT 0
//------------ Async 1 config register defs -----------------------------------
#define C66XX_EMIF16_A1CR_SS_BITMASK 0x80000000
#define C66XX_EMIF16_A1CR_SS_BITSHIFT 31
#define C66XX_EMIF16_A1CR_EW_BITMASK 0x40000000
#define C66XX_EMIF16_A1CR_EW_BITSHIFT 30
#define C66XX_EMIF16_A1CR_W_SETUP_BITMASK 0x3c000000
#define C66XX_EMIF16_A1CR_W_SETUP_BITSHIFT 26
#define C66XX_EMIF16_A1CR_W_STROBE_BITMASK 0x3f00000
#define C66XX_EMIF16_A1CR_W_STROBE_BITSHIFT 20
#define C66XX_EMIF16_A1CR_W_HOLD_BITMASK 0xe0000
#define C66XX_EMIF16_A1CR_W_HOLD_BITSHIFT 17
#define C66XX_EMIF16_A1CR_R_SETUP_BITMASK 0x1e000
#define C66XX_EMIF16_A1CR_R_SETUP_BITSHIFT 13
#define C66XX_EMIF16_A1CR_R_STROBE_BITMASK 0x1f80
#define C66XX_EMIF16_A1CR_R_STROBE_BITSHIFT 7
#define C66XX_EMIF16_A1CR_R_HOLD_BITMASK 0x70
#define C66XX_EMIF16_A1CR_R_HOLD_BITSHIFT 4
#define C66XX_EMIF16_A1CR_TA_BITMASK 0xc
#define C66XX_EMIF16_A1CR_TA_BITSHIFT 2
#define C66XX_EMIF16_A1CR_ASIZE_BITMASK 0x3
#define C66XX_EMIF16_A1CR_ASIZE_BITSHIFT 0
#define C66XX_EMIF16_A1CR_ASIZE_8BIT 0
#define C66XX_EMIF16_A1CR_ASIZE_16BIT 1
//------------ Interrupt raw register defs ------------------------------------
#define C66XX_EMIF16_IRR_WR_BITMASK 0x3c
#define C66XX_EMIF16_IRR_WR_BITSHIFT 2
#define C66XX_EMIF16_IRR_AT_BITMASK 0x1
#define C66XX_EMIF16_IRR_AT_BITSHIFT 0
//------------ Interrupt masked register defs ---------------------------------
#define C66XX_EMIF16_IMR_WR_MASKED_BITMASK 0x3c
#define C66XX_EMIF16_IMR_WR_MASKED_BITSHIFT 2
#define C66XX_EMIF16_IMR_AT_MASKED_BITMASK 0x1
#define C66XX_EMIF16_IMR_AT_MASKED_BITSHIFT 0
//------------ Interrupt mask set register defs -------------------------------
#define C66XX_EMIF16_IMSR_WR_MASK_SET_BITMASK 0x3c
#define C66XX_EMIF16_IMSR_WR_MASK_SET_BITSHIFT 2
#define C66XX_EMIF16_IMSR_AT_MASK_SET_BITMASK 0x1
#define C66XX_EMIF16_IMSR_AT_MASK_SET_BITSHIFT 0
//------------ Interrupt mask clear register defs -----------------------------
#define C66XX_EMIF16_IMCR_WR_MASK_CLR_BITMASK 0x3c
#define C66XX_EMIF16_IMCR_WR_MASK_CLR_BITSHIFT 2
#define C66XX_EMIF16_IMCR_AT_MASK_CLR_BITMASK 0x1
#define C66XX_EMIF16_IMCR_AT_MASK_CLR_BITSHIFT 0
//=============================================================================
//=============================================================================
//============ Timer definitions ==============================================
//=============================================================================
// Emulation Management and Clock Speed register - r-only
#define C66XX_TIMER_EMUMGT_CLKSPD_RG_OFFSET 0x0004
// Counter register low register - r/w
#define C66XX_TIMER_CNTLO_RG_OFFSET 0x0010
// Counter register high register - r/w
#define C66XX_TIMER_CNTHI_RG_OFFSET 0x0014
// Period register low register - r/w
#define C66XX_TIMER_PRDLO_RG_OFFSET 0x0018
// Period register high register - r/w
#define C66XX_TIMER_PRDHI_RG_OFFSET 0x001c
// Timer control register - r/w
#define C66XX_TIMER_TCR_RG_OFFSET 0x0020
// Timer global control register - r/w
#define C66XX_TIMER_TGCR_RG_OFFSET 0x0024
// Watchdog timer control register - r/w
#define C66XX_TIMER_WDTCR_RG_OFFSET 0x0028
// Timer Reload register low register - r/w
#define C66XX_TIMER_RELLO_RG_OFFSET 0x0034
// Timer Reload register high register - r/w
#define C66XX_TIMER_RELHI_RG_OFFSET 0x0038
// Timer Capture register low register - r/w
#define C66XX_TIMER_CAPLO_RG_OFFSET 0x003c
// Timer Capture register high register - r/w
#define C66XX_TIMER_CAPHI_RG_OFFSET 0x0040
// Timer interrupt control and status register - r/w
#define C66XX_TIMER_INTCTLSTAT_RG_OFFSET 0x0044
// Timer 0-15 registers area offset addresses
#define C66XX_TIMER_RG_AREA_OFFSET 0x00010000
// Timer 0-15 registers addresses: timer = 0-15
#define C66XX_TIMER_EMUMGT_CLKSPD_RG_ADDR(timer) (C66XX_TIMER_0_RG_AREA_SADDR + (timer * C66XX_TIMER_RG_AREA_OFFSET) + C66XX_TIMER_EMUMGT_CLKSPD_RG_OFFSET)
#define C66XX_TIMER_CNTLO_RG_ADDR(timer) (C66XX_TIMER_0_RG_AREA_SADDR + (timer * C66XX_TIMER_RG_AREA_OFFSET) + C66XX_TIMER_CNTLO_RG_OFFSET)
#define C66XX_TIMER_CNTHI_RG_ADDR(timer) (C66XX_TIMER_0_RG_AREA_SADDR + (timer * C66XX_TIMER_RG_AREA_OFFSET) + C66XX_TIMER_CNTHI_RG_OFFSET)
#define C66XX_TIMER_PRDLO_RG_ADDR(timer) (C66XX_TIMER_0_RG_AREA_SADDR + (timer * C66XX_TIMER_RG_AREA_OFFSET) + C66XX_TIMER_PRDLO_RG_OFFSET)
#define C66XX_TIMER_PRDHI_RG_ADDR(timer) (C66XX_TIMER_0_RG_AREA_SADDR + (timer * C66XX_TIMER_RG_AREA_OFFSET) + C66XX_TIMER_PRDHI_RG_OFFSET)
#define C66XX_TIMER_TCR_RG_ADDR(timer) (C66XX_TIMER_0_RG_AREA_SADDR + (timer * C66XX_TIMER_RG_AREA_OFFSET) + C66XX_TIMER_TCR_RG_OFFSET)
#define C66XX_TIMER_TGCR_RG_ADDR(timer) (C66XX_TIMER_0_RG_AREA_SADDR + (timer * C66XX_TIMER_RG_AREA_OFFSET) + C66XX_TIMER_TGCR_RG_OFFSET)
#define C66XX_TIMER_WDTCR_RG_ADDR(timer) (C66XX_TIMER_0_RG_AREA_SADDR + (timer * C66XX_TIMER_RG_AREA_OFFSET) + C66XX_TIMER_WDTCR_RG_OFFSET)
#define C66XX_TIMER_RELLO_RG_ADDR(timer) (C66XX_TIMER_0_RG_AREA_SADDR + (timer * C66XX_TIMER_RG_AREA_OFFSET) + C66XX_TIMER_RELLO_RG_OFFSET)
#define C66XX_TIMER_RELHI_RG_ADDR(timer) (C66XX_TIMER_0_RG_AREA_SADDR + (timer * C66XX_TIMER_RG_AREA_OFFSET) + C66XX_TIMER_RELHI_RG_OFFSET)
#define C66XX_TIMER_CAPLO_RG_ADDR(timer) (C66XX_TIMER_0_RG_AREA_SADDR + (timer * C66XX_TIMER_RG_AREA_OFFSET) + C66XX_TIMER_CAPLO_RG_OFFSET)
#define C66XX_TIMER_CAPHI_RG_ADDR(timer) (C66XX_TIMER_0_RG_AREA_SADDR + (timer * C66XX_TIMER_RG_AREA_OFFSET) + C66XX_TIMER_CAPHI_RG_OFFSET)
#define C66XX_TIMER_INTCTLSTAT_RG_ADDR(timer) (C66XX_TIMER_0_RG_AREA_SADDR + (timer * C66XX_TIMER_RG_AREA_OFFSET) + C66XX_TIMER_INTCTLSTAT_RG_OFFSET)
//------------ Emulation Management and Clock Speed register defs -------------
#define C66XX_TIMER_EMUMGT_CLKSPD_CLKDIV_BITMASK 0x000f0000
#define C66XX_TIMER_EMUMGT_CLKSPD_CLKDIV_BITSHIFT 16
//------------ Timer control register defs ------------------------------------
#define C66XX_TIMER_TCR_READRSTMODE_HI_BITMASK 0x04000000
#define C66XX_TIMER_TCR_READRSTMODE_HI_BITSHIFT 26
#define C66XX_TIMER_TCR_ENAMODE_HI_BITMASK 0x00c00000
#define C66XX_TIMER_TCR_ENAMODE_HI_BITSHIFT 22
#define C66XX_TIMER_TCR_PWID_HI_BITMASK 0x00300000
#define C66XX_TIMER_TCR_PWID_HI_BITSHIFT 20
#define C66XX_TIMER_TCR_CP_HI_BITMASK 0x00080000
#define C66XX_TIMER_TCR_CP_HI_BITSHIFT 19
#define C66XX_TIMER_TCR_INVOUTP_HI_BITMASK 0x00020000
#define C66XX_TIMER_TCR_INVOUTP_HI_BITSHIFT 17
#define C66XX_TIMER_TCR_TSTAT_HI_BITMASK 0x00010000
#define C66XX_TIMER_TCR_TSTAT_HI_BITSHIFT 16
#define C66XX_TIMER_TCR_CAPEVTMODE_LO_BITMASK 0x00003000
#define C66XX_TIMER_TCR_CAPEVTMODE_LO_BITSHIFT 12
#define C66XX_TIMER_TCR_CAPMODE_LO_BITMASK 0x00000800
#define C66XX_TIMER_TCR_CAPMODE_LO_BITSHIFT 11
#define C66XX_TIMER_TCR_READRSTMODE_LO_BITMASK 0x00000400
#define C66XX_TIMER_TCR_READRSTMODE_LO_BITSHIFT 10
#define C66XX_TIMER_TCR_TIEN_LO_BITMASK 0x00000200
#define C66XX_TIMER_TCR_TIEN_LO_BITSHIFT 9
#define C66XX_TIMER_TCR_CLKSRC_LO_BITMASK 0x00000100
#define C66XX_TIMER_TCR_CLKSRC_LO_BITSHIFT 8
#define C66XX_TIMER_TCR_ENAMODE_LO_BITMASK 0x000000c0
#define C66XX_TIMER_TCR_ENAMODE_LO_BITSHIFT 6
#define C66XX_TIMER_TCR_PWID_LO_BITMASK 0x00000030
#define C66XX_TIMER_TCR_PWID_LO_BITSHIFT 4
#define C66XX_TIMER_TCR_CP_LO_BITMASK 0x00000008
#define C66XX_TIMER_TCR_CP_LO_BITSHIFT 3
#define C66XX_TIMER_TCR_INVINP_LO_BITMASK 0x00000004
#define C66XX_TIMER_TCR_INVINP_LO_BITSHIFT 2
#define C66XX_TIMER_TCR_INVOUTP_LO_BITMASK 0x00000002
#define C66XX_TIMER_TCR_INVOUTP_LO_BITSHIFT 1
#define C66XX_TIMER_TCR_TSTAT_LO_BITMASK 0x00000001
#define C66XX_TIMER_TCR_TSTAT_LO_BITSHIFT 0
#define C66XX_TIMER_TCR_ENAMODE_DISABLED 0
#define C66XX_TIMER_TCR_ENAMODE_ONE_SHOT 1
#define C66XX_TIMER_TCR_ENAMODE_CONT 2
#define C66XX_TIMER_TCR_ENAMODE_CONT_RELOAD 3
#define C66XX_TIMER_TCR_PWID_1_CLK 0
#define C66XX_TIMER_TCR_PWID_2_CLK 1
#define C66XX_TIMER_TCR_PWID_3_CLK 2
#define C66XX_TIMER_TCR_PWID_4_CLK 3
#define C66XX_TIMER_TCR_CAPEVTMODE_RISING_EDGE 0
#define C66XX_TIMER_TCR_CAPEVTMODE_FALLING_EDGE 1
#define C66XX_TIMER_TCR_CAPEVTMODE_ANY_EDGE 2
//------------ Timer global control register defs -----------------------------
#define C66XX_TIMER_TGCR_TDDRHI_BITMASK 0x0000f000
#define C66XX_TIMER_TGCR_TDDRHI_BITSHIFT 12
#define C66XX_TIMER_TGCR_PSCHI_BITMASK 0x00000f00
#define C66XX_TIMER_TGCR_PSCHI_BITSHIFT 8
#define C66XX_TIMER_TGCR_PLUSEN_BITMASK 0x00000010
#define C66XX_TIMER_TGCR_PLUSEN_BITSHIFT 4
#define C66XX_TIMER_TGCR_TIMMODE_BITMASK 0x0000000c
#define C66XX_TIMER_TGCR_TIMMODE_BITSHIFT 2
#define C66XX_TIMER_TGCR_TIMHIRS_BITMASK 0x00000002
#define C66XX_TIMER_TGCR_TIMHIRS_BITSHIFT 1
#define C66XX_TIMER_TGCR_TIMLORS_BITMASK 0x00000001
#define C66XX_TIMER_TGCR_TIMLORS_BITSHIFT 0
#define C66XX_TIMER_TGCR_TIMMODE_64BIT_GPT 0
#define C66XX_TIMER_TGCR_TIMMODE_32BIT_UNCHAINED 1
#define C66XX_TIMER_TGCR_TIMMODE_64BIT_WDT 2
#define C66XX_TIMER_TGCR_TIMMODE_32BIT_CHAINED 3
//------------ Watchdog Timer Control Register defs ---------------------------
#define C66XX_TIMER_WDTCR_WDKEY_BITMASK 0xffff0000
#define C66XX_TIMER_WDTCR_WDKEY_BITSHIFT 16
#define C66XX_TIMER_WDTCR_WDFLAG_BITMASK 0x00008000
#define C66XX_TIMER_WDTCR_WDFLAG_BITSHIFT 15
#define C66XX_TIMER_WDTCR_WDEN_BITMASK 0x00004000
#define C66XX_TIMER_WDTCR_WDEN_BITSHIFT 14
#define C66XX_TIMER_WDTCR_WDKEY_FIRST_KEY 0xa5c6
#define C66XX_TIMER_WDTCR_WDKEY_SECOND_KEY 0xda7e
//------------ Timer interrupt control and status register defs ---------------
#define C66XX_TIMER_INTCTLSTAT_EVTINTSTAT_HI_BITMASK 0x00080000
#define C66XX_TIMER_INTCTLSTAT_EVTINTSTAT_HI_BITSHIFT 19
#define C66XX_TIMER_INTCTLSTAT_EVTINTEN_HI_BITMASK 0x00040000
#define C66XX_TIMER_INTCTLSTAT_EVTINTEN_HI_BITSHIFT 18
#define C66XX_TIMER_INTCTLSTAT_PRDINTSTAT_HI_BITMASK 0x00020000
#define C66XX_TIMER_INTCTLSTAT_PRDINTSTAT_HI_BITSHIFT 17
#define C66XX_TIMER_INTCTLSTAT_PRDINTEN_HI_BITMASK 0x00010000
#define C66XX_TIMER_INTCTLSTAT_PRDINTEN_HI_BITSHIFT 16
#define C66XX_TIMER_INTCTLSTAT_EVTINTSTAT_LO_BITMASK 0x00000008
#define C66XX_TIMER_INTCTLSTAT_EVTINTSTAT_LO_BITSHIFT 3
#define C66XX_TIMER_INTCTLSTAT_EVTINTEN_LO_BITMASK 0x00000004
#define C66XX_TIMER_INTCTLSTAT_EVTINTEN_LO_BITSHIFT 2
#define C66XX_TIMER_INTCTLSTAT_PRDINTSTAT_LO_BITMASK 0x00000002
#define C66XX_TIMER_INTCTLSTAT_PRDINTSTAT_LO_BITSHIFT 1
#define C66XX_TIMER_INTCTLSTAT_PRDINTEN_LO_BITMASK 0x00000001
#define C66XX_TIMER_INTCTLSTAT_PRDINTEN_LO_BITSHIFT 0
//=============================================================================
//=============================================================================
#endif /* __C66XX_DEF_HXX__ */
|