summaryrefslogtreecommitdiffstats
path: root/src/vendorcode/mediatek/mt8192/include/Margaux_Register_DRAMC_AO.h
blob: 7fc3b2f0a8b649a4199214e8ba69d79803fd7078 (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
/* SPDX-License-Identifier: BSD-3-Clause */

#ifndef __DRAMC_AO_REGS_H__
#define __DRAMC_AO_REGS_H__

#define Channel_A_DRAMC_AO_BASE_ADDRESS    0x10230000
#define Channel_B_DRAMC_AO_BASE_ADDRESS    0x10240000

#define DRAMC_AO_BASE_ADDRESS     Channel_A_DRAMC_AO_BASE_VIRTUAL

#define DRAMC_REG_DDRCOMMON0                                   (DRAMC_AO_BASE_ADDRESS + 0x0000)
    #define DDRCOMMON0_DISSTOP26M                              Fld(1, 0) //[0:0]
    #define DDRCOMMON0_RANK_ASYM                               Fld(1, 1) //[1:1]
    #define DDRCOMMON0_DM16BITFULL                             Fld(1, 2) //[2:2]
    #define DDRCOMMON0_TRCDEARLY                               Fld(1, 3) //[3:3]
    #define DDRCOMMON0_BK8EN                                   Fld(1, 8) //[8:8]
    #define DDRCOMMON0_BG4EN                                   Fld(1, 11) //[11:11]
    #define DDRCOMMON0_GDDR3EN                                 Fld(1, 16) //[16:16]
    #define DDRCOMMON0_LPDDR2EN                                Fld(1, 17) //[17:17]
    #define DDRCOMMON0_LPDDR3EN                                Fld(1, 18) //[18:18]
    #define DDRCOMMON0_LPDDR4EN                                Fld(1, 19) //[19:19]
    #define DDRCOMMON0_LPDDR5EN                                Fld(1, 20) //[20:20]
    #define DDRCOMMON0_DDR2EN                                  Fld(1, 22) //[22:22]
    #define DDRCOMMON0_DDR3EN                                  Fld(1, 23) //[23:23]
    #define DDRCOMMON0_DDR4EN                                  Fld(1, 24) //[24:24]
    #define DDRCOMMON0_DRAMC_SW_RST                            Fld(1, 31) //[31:31]

#define DRAMC_REG_SA_RESERVE                                   (DRAMC_AO_BASE_ADDRESS + 0x000C)
    #define SA_RESERVE_SINGLE_RANK                             Fld(1, 0) //[0:0]
    #define SA_RESERVE_DFS_FSP_RTMRW                           Fld(2, 1) //[2:1]
    #define SA_RESERVE_SUPPORT_4266                            Fld(1, 3) //[3:3]
    #define SA_RESERVE_SA_RESERVE                              Fld(20, 4) //[23:4]
    #define SA_RESERVE_MODE_RK1                                Fld(4, 24) //[27:24]
    #define SA_RESERVE_MODE_RK0                                Fld(4, 28) //[31:28]

#define DRAMC_REG_NONSHU_RSV                                   (DRAMC_AO_BASE_ADDRESS + 0x00FC)
    #define NONSHU_RSV_NONSHU_RSV                              Fld(32, 0) //[31:0]

#define DRAMC_REG_TEST2_A0                                     (DRAMC_AO_BASE_ADDRESS + 0x0100)
    #define TEST2_A0_TEST2_PAT1                                Fld(8, 0) //[7:0]
    #define TEST2_A0_TEST2_PAT0                                Fld(8, 8) //[15:8]
    #define TEST2_A0_LOOP_NV_END                               Fld(1, 16) //[16:16]
    #define TEST2_A0_ERR_BREAK_EN                              Fld(1, 17) //[17:17]
    #define TEST2_A0_TA2_LOOP_EN                               Fld(1, 18) //[18:18]
    #define TEST2_A0_TA2_CG_FR                                 Fld(1, 19) //[19:19]
    #define TEST2_A0_LOOP_CNT_INDEX                            Fld(4, 20) //[23:20]
    #define TEST2_A0_WDT_BY_DRAMC_DIS                          Fld(1, 24) //[24:24]

#define DRAMC_REG_TEST2_A2                                     (DRAMC_AO_BASE_ADDRESS + 0x0104)
    #define TEST2_A2_TEST2_OFF                                 Fld(28, 4) //[31:4]

#define DRAMC_REG_TEST2_A3                                     (DRAMC_AO_BASE_ADDRESS + 0x0108)
    #define TEST2_A3_TESTCNT                                   Fld(4, 0) //[3:0]
    #define TEST2_A3_TESTWRHIGH                                Fld(1, 4) //[4:4]
    #define TEST2_A3_ADRDECEN_TARKMODE                         Fld(1, 5) //[5:5]
    #define TEST2_A3_PSTWR2                                    Fld(1, 6) //[6:6]
    #define TEST2_A3_TESTAUDPAT                                Fld(1, 7) //[7:7]
    #define TEST2_A3_TESTCLKRUN                                Fld(1, 8) //[8:8]
    #define TEST2_A3_ERRFLAG_BYTE_SEL                          Fld(2, 9) //[10:9]
    #define TEST2_A3_PAT_SHIFT_SW_EN                           Fld(1, 11) //[11:11]
    #define TEST2_A3_PAT_SHIFT_OFFSET                          Fld(3, 12) //[14:12]
    #define TEST2_A3_TEST2_PAT_SHIFT                           Fld(1, 15) //[15:15]
    #define TEST2_A3_TEST_AID_EN                               Fld(1, 16) //[16:16]
    #define TEST2_A3_HFIDPAT                                   Fld(1, 17) //[17:17]
    #define TEST2_A3_AUTO_GEN_PAT                              Fld(1, 18) //[18:18]
    #define TEST2_A3_LBSELFCMP                                 Fld(1, 19) //[19:19]
    #define TEST2_A3_DMPAT32                                   Fld(1, 24) //[24:24]
    #define TEST2_A3_TESTADR_SHIFT                             Fld(1, 25) //[25:25]
    #define TEST2_A3_TAHPRI_B                                  Fld(1, 26) //[26:26]
    #define TEST2_A3_TESTLP                                    Fld(1, 27) //[27:27]
    #define TEST2_A3_TEST2WREN2_HW_EN                          Fld(1, 28) //[28:28]
    #define TEST2_A3_TEST1                                     Fld(1, 29) //[29:29]
    #define TEST2_A3_TEST2R                                    Fld(1, 30) //[30:30]
    #define TEST2_A3_TEST2W                                    Fld(1, 31) //[31:31]

#define DRAMC_REG_TEST2_A4                                     (DRAMC_AO_BASE_ADDRESS + 0x010C)
    #define TEST2_A4_TESTAUDINC                                Fld(5, 0) //[4:0]
    #define TEST2_A4_TEST2DISSCRAM                             Fld(1, 5) //[5:5]
    #define TEST2_A4_TESTSSOPAT                                Fld(1, 6) //[6:6]
    #define TEST2_A4_TESTSSOXTALKPAT                           Fld(1, 7) //[7:7]
    #define TEST2_A4_TESTAUDINIT                               Fld(5, 8) //[12:8]
    #define TEST2_A4_TEST2_EN1ARB_DIS                          Fld(1, 13) //[13:13]
    #define TEST2_A4_TESTAUDBITINV                             Fld(1, 14) //[14:14]
    #define TEST2_A4_TESTAUDMODE                               Fld(1, 15) //[15:15]
    #define TEST2_A4_TESTXTALKPAT                              Fld(1, 16) //[16:16]
    #define TEST2_A4_TEST_REQ_LEN1                             Fld(1, 17) //[17:17]
    #define TEST2_A4_TEST2EN1_OPT2                             Fld(1, 18) //[18:18]
    #define TEST2_A4_TEST2EN1_OPT1_DIS                         Fld(1, 19) //[19:19]
    #define TEST2_A4_TEST2_DQMTGL                              Fld(1, 21) //[21:21]
    #define TEST2_A4_TESTAGENTRK                               Fld(2, 24) //[25:24]
    #define TEST2_A4_TESTDMITGLPAT                             Fld(1, 26) //[26:26]
    #define TEST2_A4_TEST1TO4LEN1_DIS                          Fld(1, 27) //[27:27]
    #define TEST2_A4_TESTAGENTRKSEL                            Fld(3, 28) //[30:28]
    #define TEST2_A4_TESTAGENT_DMYRD_OPT                       Fld(1, 31) //[31:31]

#define DRAMC_REG_DUMMY_RD                                     (DRAMC_AO_BASE_ADDRESS + 0x0110)
    #define DUMMY_RD_SREF_DMYRD_MASK                           Fld(1, 0) //[0:0]
    #define DUMMY_RD_DMYRDOFOEN                                Fld(1, 1) //[1:1]
    #define DUMMY_RD_DUMMY_RD_SW                               Fld(1, 4) //[4:4]
    #define DUMMY_RD_DMYWR_LPRI_EN                             Fld(1, 5) //[5:5]
    #define DUMMY_RD_DMY_WR_DBG                                Fld(1, 6) //[6:6]
    #define DUMMY_RD_DMY_RD_DBG                                Fld(1, 7) //[7:7]
    #define DUMMY_RD_DRS_CNTX                                  Fld(7, 8) //[14:8]
    #define DUMMY_RD_DRS_SELFWAKE_DMYRD_DIS                    Fld(1, 15) //[15:15]
    #define DUMMY_RD_RANK_NUM                                  Fld(2, 16) //[17:16]
    #define DUMMY_RD_DUMMY_RD_EN                               Fld(1, 20) //[20:20]
    #define DUMMY_RD_SREF_DMYRD_EN                             Fld(1, 21) //[21:21]
    #define DUMMY_RD_DQSG_DMYRD_EN                             Fld(1, 22) //[22:22]
    #define DUMMY_RD_DQSG_DMYWR_EN                             Fld(1, 23) //[23:23]
    #define DUMMY_RD_DUMMY_RD_PA_OPT                           Fld(1, 24) //[24:24]
    #define DUMMY_RD_DMY_RD_RX_TRACK                           Fld(1, 25) //[25:25]
    #define DUMMY_RD_DMYRD_HPRI_DIS                            Fld(1, 26) //[26:26]
    #define DUMMY_RD_DMYRD_REORDER_DIS                         Fld(1, 27) //[27:27]
    #define DUMMY_RD_RETRY_SP_RK_DIS                           Fld(1, 28) //[28:28]

#define DRAMC_REG_DUMMY_RD_INTV                                (DRAMC_AO_BASE_ADDRESS + 0x0114)
    #define DUMMY_RD_INTV_DUMMY_RD_CNT0                        Fld(1, 0) //[0:0]
    #define DUMMY_RD_INTV_DUMMY_RD_CNT1                        Fld(1, 1) //[1:1]
    #define DUMMY_RD_INTV_DUMMY_RD_CNT2                        Fld(1, 2) //[2:2]
    #define DUMMY_RD_INTV_DUMMY_RD_CNT3                        Fld(1, 3) //[3:3]
    #define DUMMY_RD_INTV_DUMMY_RD_CNT4                        Fld(1, 4) //[4:4]
    #define DUMMY_RD_INTV_DUMMY_RD_CNT5                        Fld(1, 5) //[5:5]
    #define DUMMY_RD_INTV_DUMMY_RD_CNT6                        Fld(1, 6) //[6:6]
    #define DUMMY_RD_INTV_DUMMY_RD_CNT7                        Fld(1, 7) //[7:7]
    #define DUMMY_RD_INTV_DUMMY_RD_1_CNT0                      Fld(1, 16) //[16:16]
    #define DUMMY_RD_INTV_DUMMY_RD_1_CNT1                      Fld(1, 17) //[17:17]
    #define DUMMY_RD_INTV_DUMMY_RD_1_CNT2                      Fld(1, 18) //[18:18]
    #define DUMMY_RD_INTV_DUMMY_RD_1_CNT3                      Fld(1, 19) //[19:19]
    #define DUMMY_RD_INTV_DUMMY_RD_1_CNT4                      Fld(1, 20) //[20:20]
    #define DUMMY_RD_INTV_DUMMY_RD_1_CNT5                      Fld(1, 21) //[21:21]
    #define DUMMY_RD_INTV_DUMMY_RD_1_CNT6                      Fld(1, 22) //[22:22]
    #define DUMMY_RD_INTV_DUMMY_RD_1_CNT7                      Fld(1, 23) //[23:23]

#define DRAMC_REG_BUS_MON1                                     (DRAMC_AO_BASE_ADDRESS + 0x0118)
    #define BUS_MON1_WRBYTE_CNT_OPT                            Fld(1, 0) //[0:0]

#define DRAMC_REG_DRAMC_DBG_SEL1                               (DRAMC_AO_BASE_ADDRESS + 0x011C)
    #define DRAMC_DBG_SEL1_DEBUG_SEL_0                         Fld(16, 0) //[15:0]
    #define DRAMC_DBG_SEL1_DEBUG_SEL_1                         Fld(16, 16) //[31:16]

#define DRAMC_REG_DRAMC_DBG_SEL2                               (DRAMC_AO_BASE_ADDRESS + 0x0120)
    #define DRAMC_DBG_SEL2_DEBUG_SEL_2                         Fld(16, 0) //[15:0]
    #define DRAMC_DBG_SEL2_DEBUG_SEL_3                         Fld(16, 16) //[31:16]

#define DRAMC_REG_SWCMD_EN                                     (DRAMC_AO_BASE_ADDRESS + 0x0124)
    #define SWCMD_EN_MPRWEN                                    Fld(1, 0) //[0:0]
    #define SWCMD_EN_STESTEN                                   Fld(1, 1) //[1:1]
    #define SWCMD_EN_MPCMANEN                                  Fld(1, 2) //[2:2]
    #define SWCMD_EN_PREAEN                                    Fld(1, 3) //[3:3]
    #define SWCMD_EN_ACTEN                                     Fld(1, 4) //[4:4]
    #define SWCMD_EN_RDDQCEN                                   Fld(1, 5) //[5:5]
    #define SWCMD_EN_WRFIFOEN                                  Fld(1, 6) //[6:6]
    #define SWCMD_EN_RDFIFOEN                                  Fld(1, 7) //[7:7]
    #define SWCMD_EN_DQSOSCDISEN                               Fld(1, 8) //[8:8]
    #define SWCMD_EN_DQSOSCENEN                                Fld(1, 9) //[9:9]
    #define SWCMD_EN_ZQLATEN                                   Fld(1, 10) //[10:10]
    #define SWCMD_EN_MRWEN                                     Fld(1, 11) //[11:11]
    #define SWCMD_EN_MRREN                                     Fld(1, 12) //[12:12]
    #define SWCMD_EN_AREFEN                                    Fld(1, 13) //[13:13]
    #define SWCMD_EN_ZQCEN                                     Fld(1, 14) //[14:14]
    #define SWCMD_EN_SPREA_EN                                  Fld(1, 15) //[15:15]
    #define SWCMD_EN_ZQCEN_SWTRIG                              Fld(1, 16) //[16:16]
    #define SWCMD_EN_ZQLATEN_SWTRIG                            Fld(1, 17) //[17:17]
    #define SWCMD_EN_WCK2DQI_START_SWTRIG                      Fld(1, 18) //[18:18]
    #define SWCMD_EN_WCK2DQO_START_SWTRIG                      Fld(1, 19) //[19:19]
    #define SWCMD_EN_ZQ_SW                                     Fld(1, 20) //[20:20]
    #define SWCMD_EN_WCK2DQ_SW                                 Fld(1, 21) //[21:21]
    #define SWCMD_EN_SWCMDEN_RESERVED87                        Fld(2, 22) //[23:22]
    #define SWCMD_EN_RTMRWEN                                   Fld(1, 24) //[24:24]
    #define SWCMD_EN_RTSWCMDEN                                 Fld(1, 25) //[25:25]
    #define SWCMD_EN_RTSWCMD_SEL                               Fld(6, 26) //[31:26]

#define DRAMC_REG_SWCMD_CTRL0                                  (DRAMC_AO_BASE_ADDRESS + 0x0128)
    #define SWCMD_CTRL0_MRSOP                                  Fld(8, 0) //[7:0]
    #define SWCMD_CTRL0_MRSMA                                  Fld(13, 8) //[20:8]
    #define SWCMD_CTRL0_MRSBA                                  Fld(3, 21) //[23:21]
    #define SWCMD_CTRL0_MRSRK                                  Fld(2, 24) //[25:24]
    #define SWCMD_CTRL0_MRRRK                                  Fld(2, 26) //[27:26]
    #define SWCMD_CTRL0_MRSBG                                  Fld(2, 28) //[29:28]
    #define SWCMD_CTRL0_SWTRIG_ZQ_RK                           Fld(1, 30) //[30:30]

#define DRAMC_REG_SWCMD_CTRL1                                  (DRAMC_AO_BASE_ADDRESS + 0x012C)
    #define SWCMD_CTRL1_RDDQC_LP_INTV                          Fld(2, 0) //[1:0]
    #define SWCMD_CTRL1_RDDQC_LP_ENB                           Fld(1, 2) //[2:2]
    #define SWCMD_CTRL1_ACTEN_BK                               Fld(3, 3) //[5:3]
    #define SWCMD_CTRL1_ACTEN_ROW_R17_R16                      Fld(2, 22) //[22:23] //Lewis add for ppr
    #define SWCMD_CTRL1_ACTEN_ROW                              Fld(18, 6) //[23:6]
    #define SWCMD_CTRL1_WRFIFO_MODE2                           Fld(1, 31) //[31:31]

#define DRAMC_REG_SWCMD_CTRL2                                  (DRAMC_AO_BASE_ADDRESS + 0x0130)
    #define SWCMD_CTRL2_RTSWCMD_AGE                            Fld(10, 0) //[9:0]
    #define SWCMD_CTRL2_RTSWCMD_RK                             Fld(2, 10) //[11:10]
    #define SWCMD_CTRL2_RTSWCMD_MA                             Fld(8, 12) //[19:12]
    #define SWCMD_CTRL2_RTSWCMD_OP                             Fld(8, 20) //[27:20]
    #define SWCMD_CTRL2_RTSWCMD_ALLTYPE_OPT                    Fld(1, 28) //[28:28]

#define DRAMC_REG_RDDQCGOLDEN1                                 (DRAMC_AO_BASE_ADDRESS + 0x0134)
    #define RDDQCGOLDEN1_LP5_MR20_6_GOLDEN                     Fld(1, 0) //[0:0]
    #define RDDQCGOLDEN1_LP5_MR20_7_GOLDEN                     Fld(1, 1) //[1:1]

#define DRAMC_REG_RDDQCGOLDEN                                  (DRAMC_AO_BASE_ADDRESS + 0x0138)
    #define RDDQCGOLDEN_MR20_GOLDEN                            Fld(8, 0) //[7:0]
    #define RDDQCGOLDEN_MR15_GOLDEN                            Fld(8, 8) //[15:8]
    #define RDDQCGOLDEN_MR40_GOLDEN                            Fld(8, 16) //[23:16]
    #define RDDQCGOLDEN_MR32_GOLDEN                            Fld(8, 24) //[31:24]

#define DRAMC_REG_RTMRW_CTRL0                                  (DRAMC_AO_BASE_ADDRESS + 0x013C)
    #define RTMRW_CTRL0_RTMRW0_RK                              Fld(2, 0) //[1:0]
    #define RTMRW_CTRL0_RTMRW1_RK                              Fld(2, 2) //[3:2]
    #define RTMRW_CTRL0_RTMRW2_RK                              Fld(2, 4) //[5:4]
    #define RTMRW_CTRL0_RTMRW3_RK                              Fld(2, 6) //[7:6]
    #define RTMRW_CTRL0_RTMRW4_RK                              Fld(2, 8) //[9:8]
    #define RTMRW_CTRL0_RTMRW5_RK                              Fld(2, 10) //[11:10]
    #define RTMRW_CTRL0_RTMRW_LEN                              Fld(3, 12) //[14:12]
    #define RTMRW_CTRL0_RTMRW_AGE                              Fld(10, 15) //[24:15]
    #define RTMRW_CTRL0_RTMRW_LAT                              Fld(7, 25) //[31:25]

#define DRAMC_REG_RTMRW_CTRL1                                  (DRAMC_AO_BASE_ADDRESS + 0x0140)
    #define RTMRW_CTRL1_RTMRW0_MA                              Fld(8, 0) //[7:0]
    #define RTMRW_CTRL1_RTMRW1_MA                              Fld(8, 8) //[15:8]
    #define RTMRW_CTRL1_RTMRW2_MA                              Fld(8, 16) //[23:16]
    #define RTMRW_CTRL1_RTMRW3_MA                              Fld(8, 24) //[31:24]

#define DRAMC_REG_RTMRW_CTRL2                                  (DRAMC_AO_BASE_ADDRESS + 0x0144)
    #define RTMRW_CTRL2_RTMRW0_OP                              Fld(8, 0) //[7:0]
    #define RTMRW_CTRL2_RTMRW1_OP                              Fld(8, 8) //[15:8]
    #define RTMRW_CTRL2_RTMRW2_OP                              Fld(8, 16) //[23:16]
    #define RTMRW_CTRL2_RTMRW3_OP                              Fld(8, 24) //[31:24]

#define DRAMC_REG_RTMRW_CTRL3                                  (DRAMC_AO_BASE_ADDRESS + 0x0148)
    #define RTMRW_CTRL3_RTMRW4_MA                              Fld(8, 0) //[7:0]
    #define RTMRW_CTRL3_RTMRW5_MA                              Fld(8, 8) //[15:8]
    #define RTMRW_CTRL3_RTMRW4_OP                              Fld(8, 16) //[23:16]
    #define RTMRW_CTRL3_RTMRW5_OP                              Fld(8, 24) //[31:24]

#define DRAMC_REG_CBT_WLEV_CTRL0                               (DRAMC_AO_BASE_ADDRESS + 0x014C)
    #define CBT_WLEV_CTRL0_CBT_CAPATEN                         Fld(1, 0) //[0:0]
    #define CBT_WLEV_CTRL0_TCMDEN                              Fld(1, 1) //[1:1]
    #define CBT_WLEV_CTRL0_BYTEMODECBTEN                       Fld(1, 2) //[2:2]
    #define CBT_WLEV_CTRL0_WRITE_LEVEL_EN                      Fld(1, 3) //[3:3]
    #define CBT_WLEV_CTRL0_DQSOEAOEN                           Fld(1, 4) //[4:4]
    #define CBT_WLEV_CTRL0_CBTMASKDQSOE                        Fld(1, 5) //[5:5]
    #define CBT_WLEV_CTRL0_WLEV_DQSPATEN                       Fld(1, 6) //[6:6]
    #define CBT_WLEV_CTRL0_CBT_WLEV_DQS_TRIG                   Fld(1, 7) //[7:7]
    #define CBT_WLEV_CTRL0_CBT_WLEV_DQS_SEL                    Fld(4, 8) //[11:8]
    #define CBT_WLEV_CTRL0_WLEV_DQSPAT_LAT                     Fld(8, 12) //[19:12]
    #define CBT_WLEV_CTRL0_WLEV_MCK_NUM                        Fld(2, 20) //[21:20]
    #define CBT_WLEV_CTRL0_WLEV_WCK_HR                         Fld(1, 22) //[22:22]
    #define CBT_WLEV_CTRL0_CBT_WLEV_WCKAO                      Fld(1, 23) //[23:23]
    #define CBT_WLEV_CTRL0_CBT_SW_DQM_B0_LP5                   Fld(1, 24) //[24:24]
    #define CBT_WLEV_CTRL0_CBT_SW_DQM_B1_LP5                   Fld(1, 25) //[25:25]
    #define CBT_WLEV_CTRL0_CBT_DQBYTE_OEAO_EN                  Fld(4, 26) //[29:26]
    #define CBT_WLEV_CTRL0_CBT_CMP_BYTEMODE                    Fld(1, 30) //[30:30]

#define DRAMC_REG_CBT_WLEV_CTRL1                               (DRAMC_AO_BASE_ADDRESS + 0x0150)
    #define CBT_WLEV_CTRL1_CATRAINCSEXT                        Fld(1, 0) //[0:0]
    #define CBT_WLEV_CTRL1_CATRAINMRS                          Fld(1, 1) //[1:1]
    #define CBT_WLEV_CTRL1_CATRAINEN                           Fld(1, 2) //[2:2]
    #define CBT_WLEV_CTRL1_CATRAINLAT                          Fld(4, 11) //[14:11]
    #define CBT_WLEV_CTRL1_CATRAIN_INTV                        Fld(8, 15) //[22:15]
    #define CBT_WLEV_CTRL1_TCMDO1LAT                           Fld(8, 23) //[30:23]

#define DRAMC_REG_CBT_WLEV_CTRL2                               (DRAMC_AO_BASE_ADDRESS + 0x0154)
    #define CBT_WLEV_CTRL2_CATRAINCA                           Fld(16, 0) //[15:0]
    #define CBT_WLEV_CTRL2_CATRAINCA_Y                         Fld(16, 16) //[31:16]

#define DRAMC_REG_CBT_WLEV_CTRL3                               (DRAMC_AO_BASE_ADDRESS + 0x0158)
    #define CBT_WLEV_CTRL3_CATRAIN_PAT_STOP0                   Fld(4, 0) //[3:0]
    #define CBT_WLEV_CTRL3_CATRAIN_PAT_STOP1                   Fld(3, 4) //[6:4]
    #define CBT_WLEV_CTRL3_CATRAIN_1PAT_SEL0                   Fld(4, 7) //[10:7]
    #define CBT_WLEV_CTRL3_CATRAIN_1PAT_SEL1                   Fld(3, 11) //[13:11]
    #define CBT_WLEV_CTRL3_DQSBX_G                             Fld(4, 14) //[17:14]
    #define CBT_WLEV_CTRL3_DQSBY_G                             Fld(4, 18) //[21:18]
    #define CBT_WLEV_CTRL3_DQSBX1_G                            Fld(4, 22) //[25:22]
    #define CBT_WLEV_CTRL3_DQSBY1_G                            Fld(4, 26) //[29:26]

#define DRAMC_REG_CBT_WLEV_CTRL4                               (DRAMC_AO_BASE_ADDRESS + 0x015C)
    #define CBT_WLEV_CTRL4_CBT_TXDQ_B0                         Fld(8, 0) //[7:0]
    #define CBT_WLEV_CTRL4_CBT_TXDQ_B1                         Fld(8, 8) //[15:8]

#define DRAMC_REG_CBT_WLEV_ATK_CTRL0                           (DRAMC_AO_BASE_ADDRESS + 0x0160)
    #define CBT_WLEV_ATK_CTRL0_ARPICS_SW                       Fld(1, 0) //[0:0]
    #define CBT_WLEV_ATK_CTRL0_ARPICA_SW                       Fld(1, 1) //[1:1]
    #define CBT_WLEV_ATK_CTRL0_ARPIDQS_SW                      Fld(1, 2) //[2:2]
    #define CBT_WLEV_ATK_CTRL0_CSTRAIN_ATKEN                   Fld(1, 3) //[3:3]
    #define CBT_WLEV_ATK_CTRL0_CATRAIN_ATKEN                   Fld(1, 4) //[4:4]
    #define CBT_WLEV_ATK_CTRL0_WLEV_ATKEN                      Fld(1, 5) //[5:5]
    #define CBT_WLEV_ATK_CTRL0_CBT_WLEV_ATK_INTV               Fld(5, 6) //[10:6]
    #define CBT_WLEV_ATK_CTRL0_CBT_WLEV_ATK_LENPI              Fld(6, 11) //[16:11]
    #define CBT_WLEV_ATK_CTRL0_CBT_WLEV_ATK_RESPI              Fld(2, 17) //[18:17]
    #define CBT_WLEV_ATK_CTRL0_CBT_WLEV_ATK_INITPI             Fld(6, 19) //[24:19]
    #define CBT_WLEV_ATK_CTRL0_CBT_ATK_CABITDBG                Fld(3, 25) //[27:25]

#define DRAMC_REG_CBT_WLEV_ATK_CTRL1                           (DRAMC_AO_BASE_ADDRESS + 0x0164)
    #define CBT_WLEV_ATK_CTRL1_UICS_SW                         Fld(2, 0) //[1:0]
    #define CBT_WLEV_ATK_CTRL1_UICA_SW                         Fld(7, 2) //[8:2]
    #define CBT_WLEV_ATK_CTRL1_UIDQS_SW                        Fld(4, 9) //[12:9]
    #define CBT_WLEV_ATK_CTRL1_UIWCK_FS_B1_RK0_SW              Fld(1, 13) //[13:13]
    #define CBT_WLEV_ATK_CTRL1_UIWCK_FS_B0_RK0_SW              Fld(1, 14) //[14:14]
    #define CBT_WLEV_ATK_CTRL1_UIWCK_FS_B1_RK1_SW              Fld(1, 15) //[15:15]
    #define CBT_WLEV_ATK_CTRL1_UIWCK_FS_B0_RK1_SW              Fld(1, 16) //[16:16]
    #define CBT_WLEV_ATK_CTRL1_CBT_ATK_CA1UI64PI               Fld(1, 17) //[17:17]

#define DRAMC_REG_SREF_DPD_CTRL                                (DRAMC_AO_BASE_ADDRESS + 0x0168)
    #define SREF_DPD_CTRL_LPSM_BYPASS_B                        Fld(1, 7) //[7:7]
    #define SREF_DPD_CTRL_DPDWOSC                              Fld(1, 8) //[8:8]
    #define SREF_DPD_CTRL_CLR_EN                               Fld(1, 9) //[9:9]
    #define SREF_DPD_CTRL_SELFREF_AUTOSAVE_EN                  Fld(1, 10) //[10:10]
    #define SREF_DPD_CTRL_SREF_PRD_OPT                         Fld(1, 11) //[11:11]
    #define SREF_DPD_CTRL_SREF_CG_OPT                          Fld(1, 12) //[12:12]
    #define SREF_DPD_CTRL_SRFPD_DIS                            Fld(1, 13) //[13:13]
    #define SREF_DPD_CTRL_SREF3_OPTION                         Fld(1, 14) //[14:14]
    #define SREF_DPD_CTRL_SREF2_OPTION                         Fld(1, 15) //[15:15]
    #define SREF_DPD_CTRL_SREFDLY                              Fld(4, 16) //[19:16]
    #define SREF_DPD_CTRL_DSM_HW_EN                            Fld(1, 20) //[20:20]
    #define SREF_DPD_CTRL_DSM_TRIGGER                          Fld(1, 21) //[21:21]
    #define SREF_DPD_CTRL_SREF_HW_EN                           Fld(1, 22) //[22:22]
    #define SREF_DPD_CTRL_SELFREF                              Fld(1, 23) //[23:23]
    #define SREF_DPD_CTRL_DPDWAKEDCMCKE                        Fld(1, 25) //[25:25]
    #define SREF_DPD_CTRL_CMDCKAR                              Fld(1, 26) //[26:26]
    #define SREF_DPD_CTRL_GTDMW_SYNC_MASK                      Fld(1, 28) //[28:28]
    #define SREF_DPD_CTRL_GT_SYNC_MASK                         Fld(1, 29) //[29:29]
    #define SREF_DPD_CTRL_DAT_SYNC_MASK                        Fld(1, 30) //[30:30]
    #define SREF_DPD_CTRL_PHY_SYNC_MASK                        Fld(1, 31) //[31:31]

#define DRAMC_REG_CFC_CTRL                                     (DRAMC_AO_BASE_ADDRESS + 0x016C)
    #define CFC_CTRL_CFC_CTRL_RESERVED                         Fld(1, 0) //[0:0]

#define DRAMC_REG_DLLFRZ_CTRL                                  (DRAMC_AO_BASE_ADDRESS + 0x0170)
    #define DLLFRZ_CTRL_INPUTRXTRACK_BLOCK                     Fld(1, 0) //[0:0]
    #define DLLFRZ_CTRL_DLLFRZ_MON_PBREF_OPT                   Fld(1, 1) //[1:1]
    #define DLLFRZ_CTRL_DLLFRZ_BLOCKLONG                       Fld(1, 2) //[2:2]
    #define DLLFRZ_CTRL_DLLFRZIDLE4XUPD                        Fld(1, 3) //[3:3]
    #define DLLFRZ_CTRL_FASTDQSG2X                             Fld(1, 4) //[4:4]
    #define DLLFRZ_CTRL_FASTDQSGUPD                            Fld(1, 5) //[5:5]
    #define DLLFRZ_CTRL_MANUDLLFRZ                             Fld(1, 6) //[6:6]
    #define DLLFRZ_CTRL_DLLFRZ                                 Fld(1, 7) //[7:7]
    #define DLLFRZ_CTRL_UPDBYWR                                Fld(1, 8) //[8:8]

#define DRAMC_REG_MPC_CTRL                                     (DRAMC_AO_BASE_ADDRESS + 0x0174)
    #define MPC_CTRL_MPC_BLOCKALE_OPT                          Fld(1, 0) //[0:0]
    #define MPC_CTRL_MPC_BLOCKALE_OPT1                         Fld(1, 1) //[1:1]
    #define MPC_CTRL_MPC_BLOCKALE_OPT2                         Fld(1, 2) //[2:2]
    #define MPC_CTRL_ZQ_BLOCKALE_OPT                           Fld(1, 3) //[3:3]
    #define MPC_CTRL_RW2ZQLAT_OPT                              Fld(1, 4) //[4:4]
    #define MPC_CTRL_REFR_BLOCKEN                              Fld(1, 5) //[5:5]
    #define MPC_CTRL_RTMRW_HPRI_EN                             Fld(1, 6) //[6:6]
    #define MPC_CTRL_RTSWCMD_HPRI_EN                           Fld(1, 7) //[7:7]

#define DRAMC_REG_HW_MRR_FUN                                   (DRAMC_AO_BASE_ADDRESS + 0x0178)
    #define HW_MRR_FUN_TMRR_ENA                                Fld(1, 0) //[0:0]
    #define HW_MRR_FUN_TRCDMRR_EN                              Fld(1, 1) //[1:1]
    #define HW_MRR_FUN_TRPMRR_EN                               Fld(1, 2) //[2:2]
    #define HW_MRR_FUN_MANTMRR_EN                              Fld(1, 3) //[3:3]
    #define HW_MRR_FUN_TR2MRR_ENA                              Fld(1, 4) //[4:4]
    #define HW_MRR_FUN_R2MRRHPRICTL                            Fld(1, 5) //[5:5]
    #define HW_MRR_FUN_BUFEN_RFC_OPT                           Fld(1, 8) //[8:8]
    #define HW_MRR_FUN_MRR_REQNOPUSH_DIS                       Fld(1, 9) //[9:9]
    #define HW_MRR_FUN_MRR_BLOCK_NOR_DIS                       Fld(1, 10) //[10:10]
    #define HW_MRR_FUN_MRR_HW_HIPRI                            Fld(1, 11) //[11:11]
    #define HW_MRR_FUN_MRR_SPCMD_WAKE_DIS                      Fld(1, 12) //[12:12]
    #define HW_MRR_FUN_TMRR_OE_OPT_DIS                         Fld(1, 13) //[13:13]
    #define HW_MRR_FUN_MRR_SBR_OPT_DIS                         Fld(1, 14) //[14:14]
    #define HW_MRR_FUN_MRR_INT_TIE0_DIS                        Fld(1, 15) //[15:15]
    #define HW_MRR_FUN_MRR_PUSH2POP_ENA                        Fld(1, 16) //[16:16]
    #define HW_MRR_FUN_MRR_PUSH2POP_CLR                        Fld(1, 17) //[17:17]
    #define HW_MRR_FUN_MRR_PUSH2POP_ST_CLR                     Fld(1, 18) //[18:18]
    #define HW_MRR_FUN_MRR_MADIS                               Fld(1, 19) //[19:19]
    #define HW_MRR_FUN_MRR_PUSH2POP_SEL                        Fld(3, 20) //[22:20]
    #define HW_MRR_FUN_MRR_SBR3_BKVA_DIS                       Fld(1, 23) //[23:23]
    #define HW_MRR_FUN_MRR_DDRCLKCOMB_DIS                      Fld(1, 24) //[24:24]
    #define HW_MRR_FUN_TRPRCD_DIS_OPT1                         Fld(1, 25) //[25:25]
    #define HW_MRR_FUN_TRPRCD_OPT2                             Fld(1, 26) //[26:26]
    #define HW_MRR_FUN_MRR_SBR2_QHIT_DIS                       Fld(1, 27) //[27:27]
    #define HW_MRR_FUN_MRR_INPUT_BANK                          Fld(3, 28) //[30:28]
    #define HW_MRR_FUN_MRR_TZQCS_DIS                           Fld(1, 31) //[31:31]

#define DRAMC_REG_SCHEDULER_COM                                (DRAMC_AO_BASE_ADDRESS + 0x017C)
    #define SCHEDULER_COM_RWOFOEN                              Fld(1, 0) //[0:0]
    #define SCHEDULER_COM_RWHPRICTL                            Fld(1, 4) //[4:4]
    #define SCHEDULER_COM_RWSPLIT                              Fld(1, 5) //[5:5]
    #define SCHEDULER_COM_MWHPRIEN                             Fld(1, 6) //[6:6]
    #define SCHEDULER_COM_SPEC_MODE                            Fld(1, 7) //[7:7]
    #define SCHEDULER_COM_DISRDPHASE1                          Fld(1, 8) //[8:8]
    #define SCHEDULER_COM_PBR2PBR_OPT                          Fld(1, 9) //[9:9]

#define DRAMC_REG_ACTIMING_CTRL                                (DRAMC_AO_BASE_ADDRESS + 0x0190)
    #define ACTIMING_CTRL_SEQCLKRUN3                           Fld(1, 0) //[0:0]
    #define ACTIMING_CTRL_SEQCLKRUN2                           Fld(1, 1) //[1:1]
    #define ACTIMING_CTRL_SEQCLKRUN                            Fld(1, 2) //[2:2]
    #define ACTIMING_CTRL_TMRR2WDIS                            Fld(1, 4) //[4:4]
    #define ACTIMING_CTRL_MRRSWUPD                             Fld(1, 5) //[5:5]
    #define ACTIMING_CTRL_REFNA_OPT                            Fld(1, 6) //[6:6]
    #define ACTIMING_CTRL_REFBW_FREN                           Fld(1, 8) //[8:8]
    #define ACTIMING_CTRL_CLKWITRFC                            Fld(1, 9) //[9:9]
    #define ACTIMING_CTRL_CHKFORPRE                            Fld(1, 10) //[10:10]
    #define ACTIMING_CTRL_BC4OTF_OPT                           Fld(1, 11) //[11:11]
    #define ACTIMING_CTRL_TMRRICHKDIS                          Fld(1, 21) //[21:21]
    #define ACTIMING_CTRL_TMRRIBYRK_DIS                        Fld(1, 22) //[22:22]
    #define ACTIMING_CTRL_MRRIOPT                              Fld(1, 23) //[23:23]
    #define ACTIMING_CTRL_FASTW2R                              Fld(1, 24) //[24:24]
    #define ACTIMING_CTRL_APBL2                                Fld(1, 25) //[25:25]
    #define ACTIMING_CTRL_LPDDR2_NO_INT                        Fld(1, 27) //[27:27]

#define DRAMC_REG_ZQ_SET0                                      (DRAMC_AO_BASE_ADDRESS + 0x01A0)
    #define ZQ_SET0_ZQCSOP                                     Fld(8, 0) //[7:0]
    #define ZQ_SET0_ZQCSAD                                     Fld(8, 8) //[15:8]
    #define ZQ_SET0_ZQCS_MASK_SEL                              Fld(3, 16) //[18:16]
    #define ZQ_SET0_ZQCS_MASK_SEL_CGAR                         Fld(1, 19) //[19:19]
    #define ZQ_SET0_ZQMASK_CGAR                                Fld(1, 20) //[20:20]
    #define ZQ_SET0_ZQCSMASK_OPT                               Fld(1, 21) //[21:21]
    #define ZQ_SET0_ZQ_SRF_OPT                                 Fld(1, 22) //[22:22]
    #define ZQ_SET0_DM3RANK                                    Fld(1, 23) //[23:23]
    #define ZQ_SET0_ZQCSMASK                                   Fld(1, 29) //[29:29]
    #define ZQ_SET0_ZQCSDUAL                                   Fld(1, 30) //[30:30]
    #define ZQ_SET0_ZQCALL                                     Fld(1, 31) //[31:31]

#define DRAMC_REG_ZQ_SET1                                      (DRAMC_AO_BASE_ADDRESS + 0x01A4)
    #define ZQ_SET1_ZQCS_NONMASK_CLR                           Fld(1, 20) //[20:20]
    #define ZQ_SET1_ZQCS_MASK_FIX                              Fld(1, 21) //[21:21]
    #define ZQ_SET1_ZQCS_MASK_VALUE                            Fld(1, 22) //[22:22]
    #define ZQ_SET1_ZQCALDISB                                  Fld(1, 30) //[30:30]
    #define ZQ_SET1_ZQCSDISB                                   Fld(1, 31) //[31:31]

#define DRAMC_REG_TX_TRACKING_SET0                             (DRAMC_AO_BASE_ADDRESS + 0x01B0)
    #define TX_TRACKING_SET0_TX_TRACKING_OPT                   Fld(1, 15) //[15:15]
    #define TX_TRACKING_SET0_SW_UP_TX_NOW_CASE                 Fld(1, 16) //[16:16]
    #define TX_TRACKING_SET0_TXUIPI_CAL_CGAR                   Fld(1, 17) //[17:17]
    #define TX_TRACKING_SET0_SHU_PRELOAD_TX_START              Fld(1, 18) //[18:18]
    #define TX_TRACKING_SET0_SHU_PRELOAD_TX_HW                 Fld(1, 19) //[19:19]
    #define TX_TRACKING_SET0_APHY_CG_OPT1                      Fld(1, 20) //[20:20]
    #define TX_TRACKING_SET0_HMRRSEL_CGAR                      Fld(1, 21) //[21:21]
    #define TX_TRACKING_SET0_RDDQSOSC_CGAR                     Fld(1, 22) //[22:22]
    #define TX_TRACKING_SET0_DQSOSC_THRD_OPT                   Fld(1, 23) //[23:23]
    #define TX_TRACKING_SET0_TX_PRECAL_RELOAD_OPT              Fld(1, 24) //[24:24]
    #define TX_TRACKING_SET0_DQSOSC_C2R_OPT                    Fld(1, 31) //[31:31]

#define DRAMC_REG_TX_RETRY_SET0                                (DRAMC_AO_BASE_ADDRESS + 0x01C0)
    #define TX_RETRY_SET0_XSR_TX_RETRY_BLOCK_ALE_MASK          Fld(1, 0) //[0:0]
    #define TX_RETRY_SET0_XSR_TX_RETRY_OPT                     Fld(1, 1) //[1:1]
    #define TX_RETRY_SET0_XSR_TX_RETRY_EN                      Fld(1, 2) //[2:2]
    #define TX_RETRY_SET0_XSR_TX_RETRY_SPM_MODE                Fld(1, 3) //[3:3]
    #define TX_RETRY_SET0_XSR_TX_RETRY_SW_EN                   Fld(1, 4) //[4:4]
    #define TX_RETRY_SET0_TX_RETRY_UPDPI_CG_OPT                Fld(1, 5) //[5:5]
    #define TX_RETRY_SET0_TX_RETRY_SHU_RESP_OPT                Fld(1, 6) //[6:6]

#define DRAMC_REG_MPC_OPTION                                   (DRAMC_AO_BASE_ADDRESS + 0x01C8)
    #define MPC_OPTION_MPCOP                                   Fld(7, 8) //[14:8]
    #define MPC_OPTION_MPCMAN_CAS2EN                           Fld(1, 16) //[16:16]
    #define MPC_OPTION_MPCRKEN                                 Fld(1, 17) //[17:17]

#define DRAMC_REG_MRR_BIT_MUX1                                 (DRAMC_AO_BASE_ADDRESS + 0x01D0)
    #define MRR_BIT_MUX1_MRR_BIT0_SEL                          Fld(5, 0) //[4:0]
    #define MRR_BIT_MUX1_MRR_BIT1_SEL                          Fld(5, 8) //[12:8]
    #define MRR_BIT_MUX1_MRR_BIT2_SEL                          Fld(5, 16) //[20:16]
    #define MRR_BIT_MUX1_MRR_BIT3_SEL                          Fld(5, 24) //[28:24]

#define DRAMC_REG_MRR_BIT_MUX2                                 (DRAMC_AO_BASE_ADDRESS + 0x01D4)
    #define MRR_BIT_MUX2_MRR_BIT4_SEL                          Fld(5, 0) //[4:0]
    #define MRR_BIT_MUX2_MRR_BIT5_SEL                          Fld(5, 8) //[12:8]
    #define MRR_BIT_MUX2_MRR_BIT6_SEL                          Fld(5, 16) //[20:16]
    #define MRR_BIT_MUX2_MRR_BIT7_SEL                          Fld(5, 24) //[28:24]

#define DRAMC_REG_MRR_BIT_MUX3                                 (DRAMC_AO_BASE_ADDRESS + 0x01D8)
    #define MRR_BIT_MUX3_MRR_BIT8_SEL                          Fld(5, 0) //[4:0]
    #define MRR_BIT_MUX3_MRR_BIT9_SEL                          Fld(5, 8) //[12:8]
    #define MRR_BIT_MUX3_MRR_BIT10_SEL                         Fld(5, 16) //[20:16]
    #define MRR_BIT_MUX3_MRR_BIT11_SEL                         Fld(5, 24) //[28:24]

#define DRAMC_REG_MRR_BIT_MUX4                                 (DRAMC_AO_BASE_ADDRESS + 0x01DC)
    #define MRR_BIT_MUX4_MRR_BIT12_SEL                         Fld(5, 0) //[4:0]
    #define MRR_BIT_MUX4_MRR_BIT13_SEL                         Fld(5, 8) //[12:8]
    #define MRR_BIT_MUX4_MRR_BIT14_SEL                         Fld(5, 16) //[20:16]
    #define MRR_BIT_MUX4_MRR_BIT15_SEL                         Fld(5, 24) //[28:24]

#define DRAMC_REG_SHUCTRL                                      (DRAMC_AO_BASE_ADDRESS + 0x01F8)
    #define SHUCTRL_R_DVFS_FSM_CLR                             Fld(1, 0) //[0:0]
    #define SHUCTRL_DMSHU_DRAMC                                Fld(1, 4) //[4:4]

#define DRAMC_REG_DRAMC_PD_CTRL                                (DRAMC_AO_BASE_ADDRESS + 0x01FC)
    #define DRAMC_PD_CTRL_DCMEN                                Fld(1, 0) //[0:0]
    #define DRAMC_PD_CTRL_DCMEN2                               Fld(1, 1) //[1:1]
    #define DRAMC_PD_CTRL_DCMENNOTRFC                          Fld(1, 2) //[2:2]
    #define DRAMC_PD_CTRL_PHYGLUECLKRUN                        Fld(1, 3) //[3:3]
    #define DRAMC_PD_CTRL_PHYCLK_REFWKEN                       Fld(1, 4) //[4:4]
    #define DRAMC_PD_CTRL_COMBPHY_CLKENSAME                    Fld(1, 5) //[5:5]
    #define DRAMC_PD_CTRL_MIOCKCTRLOFF                         Fld(1, 6) //[6:6]
    #define DRAMC_PD_CTRL_DRAMC_IDLE_DCM_FIXON                 Fld(1, 7) //[7:7]
    #define DRAMC_PD_CTRL_PG_DCM_OPT                           Fld(1, 9) //[9:9]
    #define DRAMC_PD_CTRL_COMB_DCM                             Fld(1, 10) //[10:10]
    #define DRAMC_PD_CTRL_APHYCKCG_FIXOFF                      Fld(1, 12) //[12:12]
    #define DRAMC_PD_CTRL_TCKFIXON                             Fld(1, 13) //[13:13]
    #define DRAMC_PD_CTRL_PHYCLKDYNGEN                         Fld(1, 30) //[30:30]
    #define DRAMC_PD_CTRL_COMBCLKCTRL                          Fld(1, 31) //[31:31]

#define DRAMC_REG_DCM_CTRL0                                    (DRAMC_AO_BASE_ADDRESS + 0x0200)
    #define DCM_CTRL0_BCLKAR                                   Fld(1, 2) //[2:2]
    #define DCM_CTRL0_DBG_CKE1FIXON                            Fld(1, 4) //[4:4]
    #define DCM_CTRL0_DBG_CKE1FIXOFF                           Fld(1, 5) //[5:5]
    #define DCM_CTRL0_DBG_CKEFIXON                             Fld(1, 6) //[6:6]
    #define DCM_CTRL0_DBG_CKEFIXOFF                            Fld(1, 7) //[7:7]
    #define DCM_CTRL0_DISDMOEDIS                               Fld(1, 8) //[8:8]
    #define DCM_CTRL0_IDLE_CNT_OPT                             Fld(1, 16) //[16:16]
    #define DCM_CTRL0_IDLEDCM_CNT_OPT                          Fld(1, 17) //[17:17]
    #define DCM_CTRL0_IDLE_COND_OPT                            Fld(1, 18) //[18:18]

#define DRAMC_REG_CKECTRL                                      (DRAMC_AO_BASE_ADDRESS + 0x0204)
    #define CKECTRL_CKE2RANK_OPT3                              Fld(1, 1) //[1:1]
    #define CKECTRL_CKE2FIXON                                  Fld(1, 2) //[2:2]
    #define CKECTRL_CKE2FIXOFF                                 Fld(1, 3) //[3:3]
    #define CKECTRL_CKE1FIXON                                  Fld(1, 4) //[4:4]
    #define CKECTRL_CKE1FIXOFF                                 Fld(1, 5) //[5:5]
    #define CKECTRL_CKEFIXON                                   Fld(1, 6) //[6:6]
    #define CKECTRL_CKEFIXOFF                                  Fld(1, 7) //[7:7]
    #define CKECTRL_CKE2RANK_OPT5                              Fld(1, 8) //[8:8]
    #define CKECTRL_CKE2RANK_OPT6                              Fld(1, 9) //[9:9]
    #define CKECTRL_CKE2RANK_OPT7                              Fld(1, 10) //[10:10]
    #define CKECTRL_CKE2RANK_OPT8                              Fld(1, 11) //[11:11]
    #define CKECTRL_CKEEXTEND                                  Fld(1, 12) //[12:12]
    #define CKECTRL_CKETIMER_SEL                               Fld(1, 13) //[13:13]
    #define CKECTRL_FASTWAKE_SEL                               Fld(1, 14) //[14:14]
    #define CKECTRL_CKEWAKE_SEL                                Fld(1, 15) //[15:15]
    #define CKECTRL_CKEWAKE_SEL2                               Fld(1, 16) //[16:16]
    #define CKECTRL_CKE2RANK_OPT9                              Fld(1, 17) //[17:17]
    #define CKECTRL_CKE2RANK_OPT10                             Fld(1, 18) //[18:18]
    #define CKECTRL_CKE2RANK_OPT11                             Fld(1, 19) //[19:19]
    #define CKECTRL_CKE2RANK_OPT12                             Fld(1, 20) //[20:20]
    #define CKECTRL_CKE2RANK_OPT13                             Fld(1, 21) //[21:21]
    #define CKECTRL_CKEPBDIS                                   Fld(1, 22) //[22:22]
    #define CKECTRL_CKELCKFIX                                  Fld(1, 23) //[23:23]
    #define CKECTRL_CKE2RANK_OPT2                              Fld(1, 24) //[24:24]
    #define CKECTRL_CKE2RANK_OPT                               Fld(1, 25) //[25:25]
    #define CKECTRL_RUNTIMEMRRCKEFIX                           Fld(1, 27) //[27:27]
    #define CKECTRL_RUNTIMEMRRMIODIS                           Fld(1, 28) //[28:28]
    #define CKECTRL_CKEON                                      Fld(1, 31) //[31:31]

#define DRAMC_REG_DVFS_CTRL0                                   (DRAMC_AO_BASE_ADDRESS + 0x0208)
    #define DVFS_CTRL0_R_DRAMC_CHA                             Fld(1, 0) //[0:0]
    #define DVFS_CTRL0_SHU_PHYRST_SEL                          Fld(1, 1) //[1:1]
    #define DVFS_CTRL0_R_DVFS_SREF_OPT                         Fld(1, 5) //[5:5]
    #define DVFS_CTRL0_HWSET_WLRL                              Fld(1, 8) //[8:8]
    #define DVFS_CTRL0_MR13_SHU_EN                             Fld(1, 9) //[9:9]
    #define DVFS_CTRL0_VRCG_EN                                 Fld(1, 10) //[10:10]
    #define DVFS_CTRL0_SHU_CLK_MASK                            Fld(1, 12) //[12:12]
    #define DVFS_CTRL0_DVFS_RXFIFOST_SKIP                      Fld(1, 13) //[13:13]
    #define DVFS_CTRL0_DVFS_MR2_SKIP                           Fld(1, 14) //[14:14]
    #define DVFS_CTRL0_DVFS_NOQUEFLUSH_EN                      Fld(1, 15) //[15:15]
    #define DVFS_CTRL0_DVFS_CKE_OPT                            Fld(1, 16) //[16:16]
    #define DVFS_CTRL0_R_SHUFFLE_BLOCK_OPT                     Fld(2, 17) //[18:17]
    #define DVFS_CTRL0_DVFS_CG_OPT                             Fld(1, 19) //[19:19]
    #define DVFS_CTRL0_SCARB_PRI_OPT                           Fld(1, 20) //[20:20]
    #define DVFS_CTRL0_R_DMDVFSMRW_EN                          Fld(1, 21) //[21:21]
    #define DVFS_CTRL0_MRWWOPRA                                Fld(1, 22) //[22:22]
    #define DVFS_CTRL0_SHU2RKOPT                               Fld(1, 23) //[23:23]
    #define DVFS_CTRL0_R_DMSHU_RDATRST_MASK                    Fld(1, 25) //[25:25]
    #define DVFS_CTRL0_DVFS_SYNC_MASK                          Fld(1, 27) //[27:27]

#define DRAMC_REG_SHUCTRL1                                     (DRAMC_AO_BASE_ADDRESS + 0x020C)
    #define SHUCTRL1_FC_PRDCNT                                 Fld(8, 0) //[7:0]
    #define SHUCTRL1_CKFSPE_PRDCNT                             Fld(8, 8) //[15:8]
    #define SHUCTRL1_CKFSPX_PRDCNT                             Fld(8, 16) //[23:16]
    #define SHUCTRL1_VRCGEN_PRDCNT                             Fld(8, 24) //[31:24]

#define DRAMC_REG_DVFS_TIMING_CTRL1                            (DRAMC_AO_BASE_ADDRESS + 0x0210)
    #define DVFS_TIMING_CTRL1_SHU_PERIOD_GO_ZERO_CNT           Fld(8, 0) //[7:0]
    #define DVFS_TIMING_CTRL1_DMSHU_CNT                        Fld(6, 16) //[21:16]

#define DRAMC_REG_SHUCTRL3                                     (DRAMC_AO_BASE_ADDRESS + 0x0214)
    #define SHUCTRL3_VRCGDIS_MRSMA                             Fld(13, 0) //[12:0]
    #define SHUCTRL3_VRCGDISOP                                 Fld(8, 16) //[23:16]

#define DRAMC_REG_DVFS_TIMING_CTRL3                            (DRAMC_AO_BASE_ADDRESS + 0x0218)
    #define DVFS_TIMING_CTRL3_PREA_INTV                        Fld(5, 0) //[4:0]
    #define DVFS_TIMING_CTRL3_MRW_INTV                         Fld(5, 8) //[12:8]
    #define DVFS_TIMING_CTRL3_RTMRW_MRW1_SKIP                  Fld(1, 16) //[16:16]
    #define DVFS_TIMING_CTRL3_RTMRW_MRW2_SKIP                  Fld(1, 17) //[17:17]
    #define DVFS_TIMING_CTRL3_RTMRW_MRW3_SKIP                  Fld(1, 18) //[18:18]
    #define DVFS_TIMING_CTRL3_RTMRW_MRW1_PAUSE                 Fld(1, 19) //[19:19]
    #define DVFS_TIMING_CTRL3_RTMRW_MRW2_PAUSE                 Fld(1, 20) //[20:20]
    #define DVFS_TIMING_CTRL3_RTMRW_MRW3_PAUSE                 Fld(1, 21) //[21:21]
    #define DVFS_TIMING_CTRL3_RTMRW_MRW3_PRDCNT                Fld(8, 24) //[31:24]

#define DRAMC_REG_CMD_DEC_CTRL0                                (DRAMC_AO_BASE_ADDRESS + 0x021C)
    #define CMD_DEC_CTRL0_GDDR3RST                             Fld(1, 0) //[0:0]
    #define CMD_DEC_CTRL0_SELPH_CMD_CG_DIS                     Fld(1, 4) //[4:4]
    #define CMD_DEC_CTRL0_RA15TOCS1                            Fld(1, 27) //[27:27]
    #define CMD_DEC_CTRL0_RKMODE                               Fld(3, 8) //[10:8]
    #define CMD_DEC_CTRL0_RKSWAP                               Fld(1, 11) //[11:11]
    #define CMD_DEC_CTRL0_CS1FIXOFF                            Fld(1, 12) //[12:12]
    #define CMD_DEC_CTRL0_PHYPIPE1EN                           Fld(1, 15) //[15:15]
    #define CMD_DEC_CTRL0_PHYPIPE2EN                           Fld(1, 16) //[16:16]
    #define CMD_DEC_CTRL0_PHYPIPE3EN                           Fld(1, 17) //[17:17]
    #define CMD_DEC_CTRL0_DQCMD                                Fld(1, 19) //[19:19]

#define DRAMC_REG_HMR4                                         (DRAMC_AO_BASE_ADDRESS + 0x0220)
    #define HMR4_DRS_MR4_OPT_B                                 Fld(1, 0) //[0:0]
    #define HMR4_HMR4_TOG_OPT                                  Fld(1, 1) //[1:1]
    #define HMR4_SPDR_MR4_OPT                                  Fld(1, 2) //[2:2]
    #define HMR4_SRFMR4_CNTKEEP_B                              Fld(1, 3) //[3:3]
    #define HMR4_MRRREFUPD_B                                   Fld(1, 4) //[4:4]
    #define HMR4_HMR4_BYTEMODE_EN                              Fld(1, 5) //[5:5]
    #define HMR4_MR4INT_LIMITEN                                Fld(1, 6) //[6:6]
    #define HMR4_REFR_PERIOD_OPT                               Fld(1, 7) //[7:7]
    #define HMR4_REFRDIS                                       Fld(1, 8) //[8:8]
    #define HMR4_REFRCNT_OPT                                   Fld(1, 9) //[9:9]

#define DRAMC_REG_BYPASS_FSPOP                                 (DRAMC_AO_BASE_ADDRESS + 0x0224)
    #define BYPASS_FSPOP_BPFSP_SET_SHU0                        Fld(1, 0) //[0:0]
    #define BYPASS_FSPOP_BPFSP_SET_SHU1                        Fld(1, 1) //[1:1]
    #define BYPASS_FSPOP_BPFSP_SET_SHU2                        Fld(1, 2) //[2:2]
    #define BYPASS_FSPOP_BPFSP_SET_SHU3                        Fld(1, 3) //[3:3]
    #define BYPASS_FSPOP_BPFSP_SET_SHU4                        Fld(1, 4) //[4:4]
    #define BYPASS_FSPOP_BPFSP_SET_SHU5                        Fld(1, 5) //[5:5]
    #define BYPASS_FSPOP_BPFSP_SET_SHU6                        Fld(1, 6) //[6:6]
    #define BYPASS_FSPOP_BPFSP_SET_SHU7                        Fld(1, 7) //[7:7]
    #define BYPASS_FSPOP_BPFSP_SET_SHU8                        Fld(1, 8) //[8:8]
    #define BYPASS_FSPOP_BPFSP_SET_SHU9                        Fld(1, 9) //[9:9]
    #define BYPASS_FSPOP_BPFSP_OPT                             Fld(1, 16) //[16:16]

#define DRAMC_REG_RKCFG                                        (DRAMC_AO_BASE_ADDRESS + 0x0228)
    #define RKCFG_MRS2RK                                       Fld(1, 10) //[10:10]
    #define RKCFG_CKE2RANK                                     Fld(1, 12) //[12:12]

#define DRAMC_REG_SLP4_TESTMODE                                (DRAMC_AO_BASE_ADDRESS + 0x022C)
    #define SLP4_TESTMODE_CA0_TEST                             Fld(4, 0) //[3:0]
    #define SLP4_TESTMODE_CA1_TEST                             Fld(4, 4) //[7:4]
    #define SLP4_TESTMODE_CA2_TEST                             Fld(4, 8) //[11:8]
    #define SLP4_TESTMODE_CA3_TEST                             Fld(4, 12) //[15:12]
    #define SLP4_TESTMODE_CA4_TEST                             Fld(4, 16) //[19:16]
    #define SLP4_TESTMODE_CA5_TEST                             Fld(4, 20) //[23:20]

#define DRAMC_REG_DQ_MUX_SET0                                  (DRAMC_AO_BASE_ADDRESS + 0x0230)
    #define DQ_MUX_SET0_SRF_ENTER_MASK_OPT                     Fld(1, 30) //[30:30]
    #define DQ_MUX_SET0_DQ4BMUX                                Fld(1, 31) //[31:31]

#define DRAMC_REG_DBIWR_PROTECT                                (DRAMC_AO_BASE_ADDRESS + 0x0234)
    #define DBIWR_PROTECT_DBIWR_IMP_EN                         Fld(1, 0) //[0:0]
    #define DBIWR_PROTECT_DBIWR_PINMUX_EN                      Fld(1, 1) //[1:1]
    #define DBIWR_PROTECT_DBIWR_OPT_B0                         Fld(8, 16) //[23:16]
    #define DBIWR_PROTECT_DBIWR_OPT_B1                         Fld(8, 24) //[31:24]

#define DRAMC_REG_TX_SET0                                      (DRAMC_AO_BASE_ADDRESS + 0x0238)
    #define TX_SET0_TXRANK                                     Fld(2, 0) //[1:0]
    #define TX_SET0_TXRANKFIX                                  Fld(1, 2) //[2:2]
    #define TX_SET0_DDRPHY_COMB_CG_SEL                         Fld(1, 3) //[3:3]
    #define TX_SET0_TX_DQM_DEFAULT                             Fld(1, 4) //[4:4]
    #define TX_SET0_DQBUS_X32                                  Fld(1, 5) //[5:5]
    #define TX_SET0_OE_DOWNGRADE                               Fld(1, 6) //[6:6]
    #define TX_SET0_DQ16COM1                                   Fld(1, 21) //[21:21]
    #define TX_SET0_WPRE2T                                     Fld(1, 22) //[22:22]
    #define TX_SET0_DRSCLR_EN                                  Fld(1, 24) //[24:24]
    #define TX_SET0_DRSCLR_RK0_EN                              Fld(1, 25) //[25:25]
    #define TX_SET0_ARPI_CAL_E2OPT                             Fld(1, 26) //[26:26]
    #define TX_SET0_TX_DLY_CAL_E2OPT                           Fld(1, 27) //[27:27]
    #define TX_SET0_DQS_OE_OP1_DIS                             Fld(1, 28) //[28:28]
    #define TX_SET0_DQS_OE_OP2_EN                              Fld(1, 29) //[29:29]
    #define TX_SET0_RK_SCINPUT_OPT                             Fld(1, 30) //[30:30]
    #define TX_SET0_DRAMOEN                                    Fld(1, 31) //[31:31]

#define DRAMC_REG_TX_CG_SET0                                   (DRAMC_AO_BASE_ADDRESS + 0x023C)
    #define TX_CG_SET0_SELPH_4LCG_DIS                          Fld(1, 0) //[0:0]
    #define TX_CG_SET0_SELPH_CG_DIS                            Fld(1, 1) //[1:1]
    #define TX_CG_SET0_DWCLKRUN                                Fld(1, 2) //[2:2]
    #define TX_CG_SET0_WDATA_CG_DIS                            Fld(1, 3) //[3:3]
    #define TX_CG_SET0_TX_ATK_CLKRUN                           Fld(1, 4) //[4:4]
    #define TX_CG_SET0_PSEL_OPT3                               Fld(1, 22) //[22:22]
    #define TX_CG_SET0_PSEL_OPT2                               Fld(1, 23) //[23:23]
    #define TX_CG_SET0_PSEL_OPT1                               Fld(1, 24) //[24:24]
    #define TX_CG_SET0_PSEL_CNT                                Fld(6, 25) //[30:25]
    #define TX_CG_SET0_PSELAR                                  Fld(1, 31) //[31:31]

#define DRAMC_REG_RX_SET0                                      (DRAMC_AO_BASE_ADDRESS + 0x0240)
    #define RX_SET0_RDATRST                                    Fld(1, 0) //[0:0]
    #define RX_SET0_PRE_DLE_VLD_OPT                            Fld(1, 1) //[1:1]
    #define RX_SET0_DATLAT_PDLE_TH                             Fld(3, 2) //[4:2]
    #define RX_SET0_RANKRDY_OPT                                Fld(1, 5) //[5:5]
    #define RX_SET0_SMRR_UPD_OLD                               Fld(1, 6) //[6:6]
    #define RX_SET0_EBG_DLE_SKIP_SPEC_RID                      Fld(1, 29) //[29:29]
    #define RX_SET0_DM32BIT_RDSEL_OPT                          Fld(1, 30) //[30:30]
    #define RX_SET0_DM4TO1MODE                                 Fld(1, 31) //[31:31]

#define DRAMC_REG_RX_CG_SET0                                   (DRAMC_AO_BASE_ADDRESS + 0x0244)
    #define RX_CG_SET0_RDPERIODON                              Fld(1, 29) //[29:29]
    #define RX_CG_SET0_RDATCKAR                                Fld(1, 30) //[30:30]
    #define RX_CG_SET0_RDYCKAR                                 Fld(1, 31) //[31:31]

#define DRAMC_REG_DQSOSCR                                      (DRAMC_AO_BASE_ADDRESS + 0x0248)
    #define DQSOSCR_DQSOSC_INTEN                               Fld(1, 0) //[0:0]
    #define DQSOSCR_DQSOSC2RK                                  Fld(1, 1) //[1:1]
    #define DQSOSCR_TXUPD_BLOCK_SEL                            Fld(2, 2) //[3:2]
    #define DQSOSCR_TXUPD_BLOCK_OPT                            Fld(1, 4) //[4:4]
    #define DQSOSCR_TXUPDMODE                                  Fld(1, 5) //[5:5]
    #define DQSOSCR_MANUTXUPD                                  Fld(1, 6) //[6:6]
    #define DQSOSCR_ARUIDQ_SW                                  Fld(1, 7) //[7:7]
    #define DQSOSCR_DQS2DQ_UPD_BLOCK_CNT                       Fld(5, 8) //[12:8]
    #define DQSOSCR_TDQS2DQ_UPD_BLOCKING                       Fld(1, 13) //[13:13]
    #define DQSOSCR_DQS2DQ_UPD_MON_OPT                         Fld(1, 14) //[14:14]
    #define DQSOSCR_DQS2DQ_UPD_MON_CNT_SEL                     Fld(2, 15) //[16:15]
    #define DQSOSCR_TXUPD_IDLE_SEL                             Fld(2, 17) //[18:17]
    #define DQSOSCR_TXUPD_ABREF_SEL                            Fld(2, 19) //[20:19]
    #define DQSOSCR_TXUPD_IDLE_OPT                             Fld(1, 21) //[21:21]
    #define DQSOSCR_DQS2DQ_SHU_HW_CAL_DIS                      Fld(1, 22) //[22:22]
    #define DQSOSCR_SREF_TXUI_RELOAD_OPT                       Fld(1, 23) //[23:23]
    #define DQSOSCR_DQSOSCRDIS                                 Fld(1, 24) //[24:24]
    #define DQSOSCR_DQS2DQ_WARN_OPT                            Fld(1, 25) //[25:25]
    #define DQSOSCR_R_DMDQS2DQ_FILT_OPT                        Fld(1, 26) //[26:26]
    #define DQSOSCR_SREF_TXPI_RELOAD_OPT                       Fld(1, 27) //[27:27]
    #define DQSOSCR_EMPTY_WRITE_OPT                            Fld(1, 28) //[28:28]
    #define DQSOSCR_TXUPD_ABREF_OPT                            Fld(1, 29) //[29:29]
    #define DQSOSCR_DQSOSCLOPAD                                Fld(1, 30) //[30:30]
    #define DQSOSCR_DQSOSC_CALEN                               Fld(1, 31) //[31:31]

#define DRAMC_REG_DRAMCTRL                                     (DRAMC_AO_BASE_ADDRESS + 0x024C)
    #define DRAMCTRL_CTOREQ_HPRI_OPT                           Fld(1, 0) //[0:0]
    #define DRAMCTRL_MATAB_LP5_MODE                            Fld(1, 1) //[1:1]
    #define DRAMCTRL_ADRDECEN                                  Fld(1, 2) //[2:2]
    #define DRAMCTRL_ADRBIT3DEC                                Fld(1, 3) //[3:3]
    #define DRAMCTRL_ADRDEN_1TO4_OPT                           Fld(1, 5) //[5:5]
    #define DRAMCTRL_ALL_BLOCK_CTO_ALE_DBG_EN                  Fld(1, 8) //[8:8]
    #define DRAMCTRL_SELFREF_BLOCK_CTO_ALE_DBG_EN              Fld(1, 9) //[9:9]
    #define DRAMCTRL_DVFS_BLOCK_CTO_ALE_DBG_EN                 Fld(1, 10) //[10:10]
    #define DRAMCTRL_AG0MWR                                    Fld(1, 12) //[12:12]
    #define DRAMCTRL_DYNMWREN                                  Fld(1, 13) //[13:13]
    #define DRAMCTRL_ALEBLOCK                                  Fld(1, 14) //[14:14]
    #define DRAMCTRL_PREALL_OPTION                             Fld(1, 19) //[19:19]
    #define DRAMCTRL_REQQUE_DEPTH_UPD                          Fld(1, 25) //[25:25]
    #define DRAMCTRL_REQQUE_THD_EN                             Fld(1, 26) //[26:26]
    #define DRAMCTRL_REQQUE_MAXCNT_CHG                         Fld(1, 27) //[27:27]
    #define DRAMCTRL_PREA_RK                                   Fld(2, 28) //[29:28]
    #define DRAMCTRL_SHORTQ_OPT                                Fld(1, 31) //[31:31]

#define DRAMC_REG_MISCTL0                                      (DRAMC_AO_BASE_ADDRESS + 0x0250)
    #define MISCTL0_REFP_ARBMASK_PBR2PBR_ENA                   Fld(1, 0) //[0:0]
    #define MISCTL0_REFP_ARBMASK_PBR2PBR_PA_DIS                Fld(1, 1) //[1:1]
    #define MISCTL0_WDLE_DVFS_NO_FLUSH_OPT_DIS                 Fld(1, 4) //[4:4]
    #define MISCTL0_GROUP_A_REV                                Fld(4, 8) //[11:8]
    #define MISCTL0_PG_WAKEUP_OPT                              Fld(2, 14) //[15:14]
    #define MISCTL0_PAGDIS                                     Fld(1, 17) //[17:17]
    #define MISCTL0_REFA_ARB_EN2                               Fld(1, 19) //[19:19]
    #define MISCTL0_REFA_ARB_EN_OPTION                         Fld(1, 21) //[21:21]
    #define MISCTL0_REORDER_MASK_E1T                           Fld(1, 22) //[22:22]
    #define MISCTL0_PBC_ARB_E1T                                Fld(1, 23) //[23:23]
    #define MISCTL0_PBC_ARB_EN                                 Fld(1, 24) //[24:24]
    #define MISCTL0_REFA_ARB_EN                                Fld(1, 25) //[25:25]
    #define MISCTL0_REFP_ARB_EN                                Fld(1, 26) //[26:26]
    #define MISCTL0_EMIPREEN                                   Fld(1, 27) //[27:27]
    #define MISCTL0_REFP_ARB_EN2                               Fld(1, 31) //[31:31]

#define DRAMC_REG_PERFCTL0                                     (DRAMC_AO_BASE_ADDRESS + 0x0254)
    #define PERFCTL0_EBG_EN                                    Fld(1, 0) //[0:0]
    #define PERFCTL0_AIDCHKEN                                  Fld(1, 3) //[3:3]
    #define PERFCTL0_RWHPRIEN                                  Fld(1, 8) //[8:8]
    #define PERFCTL0_RWLLATEN                                  Fld(1, 9) //[9:9]
    #define PERFCTL0_RWAGEEN                                   Fld(1, 10) //[10:10]
    #define PERFCTL0_EMILLATEN                                 Fld(1, 11) //[11:11]
    #define PERFCTL0_WFLUSHEN                                  Fld(1, 14) //[14:14]
    #define PERFCTL0_REORDER_MODE                              Fld(1, 18) //[18:18]
    #define PERFCTL0_REORDEREN                                 Fld(1, 19) //[19:19]
    #define PERFCTL0_SBR_MASK_OPT                              Fld(1, 20) //[20:20]
    #define PERFCTL0_SBR_MASK_OPT2                             Fld(1, 21) //[21:21]
    #define PERFCTL0_MAFIXHIGH                                 Fld(1, 22) //[22:22]
    #define PERFCTL0_RECORDER_MASK_OPT                         Fld(1, 24) //[24:24]
    #define PERFCTL0_MDMCU_MASK_EN                             Fld(1, 25) //[25:25]

#define DRAMC_REG_ARBCTL                                       (DRAMC_AO_BASE_ADDRESS + 0x0258)
    #define ARBCTL_MAXPENDCNT                                  Fld(8, 0) //[7:0]
    #define ARBCTL_RDATACNTDIS                                 Fld(1, 8) //[8:8]
    #define ARBCTL_WDATACNTDIS                                 Fld(1, 9) //[9:9]

#define DRAMC_REG_DATASCR                                      (DRAMC_AO_BASE_ADDRESS + 0x025C)
    #define DATASCR_WDATKEY0                                   Fld(1, 0) //[0:0]
    #define DATASCR_WDATKEY1                                   Fld(1, 1) //[1:1]
    #define DATASCR_WDATKEY2                                   Fld(1, 2) //[2:2]
    #define DATASCR_WDATKEY3                                   Fld(1, 3) //[3:3]
    #define DATASCR_WDATKEY4                                   Fld(1, 4) //[4:4]
    #define DATASCR_WDATKEY5                                   Fld(1, 5) //[5:5]
    #define DATASCR_WDATKEY6                                   Fld(1, 6) //[6:6]
    #define DATASCR_WDATKEY7                                   Fld(1, 7) //[7:7]
    #define DATASCR_WDATITLV                                   Fld(1, 8) //[8:8]

#define DRAMC_REG_CLKAR                                        (DRAMC_AO_BASE_ADDRESS + 0x0260)
    #define CLKAR_REQQUE_PACG_DIS                              Fld(15, 0) //[14:0]
    #define CLKAR_SRF_CLKRUN                                   Fld(1, 17) //[17:17]
    #define CLKAR_IDLE_OPT                                     Fld(1, 18) //[18:18]
    #define CLKAR_RKSIZE                                       Fld(3, 20) //[22:20]
    #define CLKAR_DCMREF_OPT                                   Fld(1, 24) //[24:24]
    #define CLKAR_REQQUECLKRUN                                 Fld(1, 27) //[27:27]

#define DRAMC_REG_REFCTRL0                                     (DRAMC_AO_BASE_ADDRESS + 0x0264)
    #define REFCTRL0_PBREF_BK_REFA_NUM                         Fld(3, 0) //[2:0]
    #define REFCTRL0_PBREF_BK_REFA_ENA                         Fld(1, 3) //[3:3]
    #define REFCTRL0_RFRINTCTL                                 Fld(1, 5) //[5:5]
    #define REFCTRL0_RFRINTEN                                  Fld(1, 6) //[6:6]
    #define REFCTRL0_REFOVERCNT_RST                            Fld(1, 7) //[7:7]
    #define REFCTRL0_DMPGVLD_IG                                Fld(1, 8) //[8:8]
    #define REFCTRL0_KEEP_PBREF_OPT                            Fld(1, 9) //[9:9]
    #define REFCTRL0_KEEP_PBREF                                Fld(1, 10) //[10:10]
    #define REFCTRL0_DISBYREFNUM                               Fld(3, 12) //[14:12]
    #define REFCTRL0_PBREF_DISBYREFNUM                         Fld(1, 16) //[16:16]
    #define REFCTRL0_PBREF_DISBYRATE                           Fld(1, 17) //[17:17]
    #define REFCTRL0_SREF3_OPTION1                             Fld(1, 19) //[19:19]
    #define REFCTRL0_ADVREF_CNT                                Fld(4, 20) //[23:20]
    #define REFCTRL0_REF_PREGATE_CNT                           Fld(4, 24) //[27:24]
    #define REFCTRL0_REFDIS                                    Fld(1, 29) //[29:29]

#define DRAMC_REG_REFCTRL1                                     (DRAMC_AO_BASE_ADDRESS + 0x0268)
    #define REFCTRL1_PB2AB_OPT                                 Fld(1, 0) //[0:0]
    #define REFCTRL1_PB2AB_OPT1                                Fld(1, 1) //[1:1]
    #define REFCTRL1_PBREF_DISBYMODREF                         Fld(1, 2) //[2:2]
    #define REFCTRL1_REFPENDINGINT_OPT1                        Fld(1, 3) //[3:3]
    #define REFCTRL1_PRE8REF                                   Fld(1, 4) //[4:4]
    #define REFCTRL1_REF_QUE_AUTOSAVE_EN                       Fld(1, 5) //[5:5]
    #define REFCTRL1_REFPEND_OPT1                              Fld(1, 6) //[6:6]
    #define REFCTRL1_REFPEND_OPT2                              Fld(1, 7) //[7:7]
    #define REFCTRL1_REFPB2AB_IGZQCS                           Fld(1, 8) //[8:8]
    #define REFCTRL1_REFRATE_MON_CLR                           Fld(1, 11) //[11:11]
    #define REFCTRL1_REF_OVERHEAD_PBR2PB_ENA                   Fld(1, 13) //[13:13]
    #define REFCTRL1_REF_OVERHEAD_RATE_REFAL_ENA               Fld(1, 14) //[14:14]
    #define REFCTRL1_REF_OVERHEAD_RATE_REFPB_ENA               Fld(1, 15) //[15:15]
    #define REFCTRL1_REFRATE_MANUAL                            Fld(5, 16) //[20:16]
    #define REFCTRL1_REF_OVERHEAD_SLOW_REFAL_ENA               Fld(1, 24) //[24:24]
    #define REFCTRL1_REF_OVERHEAD_SLOW_REFPB_ENA               Fld(1, 25) //[25:25]
    #define REFCTRL1_REF_OVERHEAD_ALL_REFAL_ENA                Fld(1, 26) //[26:26]
    #define REFCTRL1_REF_OVERHEAD_ALL_REFPB_ENA                Fld(1, 27) //[27:27]
    #define REFCTRL1_REFRATE_MANUAL_RATE_TRIG                  Fld(1, 31) //[31:31]

#define DRAMC_REG_REF_BOUNCE1                                  (DRAMC_AO_BASE_ADDRESS + 0x026C)
    #define REF_BOUNCE1_REFRATE_DEBOUNCE_COUNT                 Fld(8, 0) //[7:0]
    #define REF_BOUNCE1_REFRATE_DEBOUNCE_TH                    Fld(5, 8) //[12:8]
    #define REF_BOUNCE1_REFRATE_DEBOUNCE_OPT                   Fld(1, 13) //[13:13]
    #define REF_BOUNCE1_REFRATE_DEBOUNCE_DIS                   Fld(16, 16) //[31:16]

#define DRAMC_REG_REF_BOUNCE2                                  (DRAMC_AO_BASE_ADDRESS + 0x0270)
    #define REF_BOUNCE2_PRE_MR4INT_TH                          Fld(5, 0) //[4:0]

#define DRAMC_REG_REFPEND1                                     (DRAMC_AO_BASE_ADDRESS + 0x0278)
    #define REFPEND1_MPENDREFCNT_TH0                           Fld(4, 0) //[3:0]
    #define REFPEND1_MPENDREFCNT_TH1                           Fld(4, 4) //[7:4]
    #define REFPEND1_MPENDREFCNT_TH2                           Fld(4, 8) //[11:8]
    #define REFPEND1_MPENDREFCNT_TH3                           Fld(4, 12) //[15:12]
    #define REFPEND1_MPENDREFCNT_TH4                           Fld(4, 16) //[19:16]
    #define REFPEND1_MPENDREFCNT_TH5                           Fld(4, 20) //[23:20]
    #define REFPEND1_MPENDREFCNT_TH6                           Fld(4, 24) //[27:24]
    #define REFPEND1_MPENDREFCNT_TH7                           Fld(4, 28) //[31:28]

#define DRAMC_REG_REFPEND2                                     (DRAMC_AO_BASE_ADDRESS + 0x027C)
    #define REFPEND2_MPENDREFCNT_TH8                           Fld(4, 0) //[3:0]
    #define REFPEND2_MPENDREFCNT_TH9                           Fld(4, 4) //[7:4]
    #define REFPEND2_MPENDREFCNT_TH10                          Fld(4, 8) //[11:8]
    #define REFPEND2_MPENDREFCNT_TH11                          Fld(4, 12) //[15:12]
    #define REFPEND2_MPENDREFCNT_TH12                          Fld(4, 16) //[19:16]
    #define REFPEND2_MPENDREFCNT_TH13                          Fld(4, 20) //[23:20]
    #define REFPEND2_MPENDREFCNT_TH14                          Fld(4, 24) //[27:24]
    #define REFPEND2_MPENDREFCNT_TH15                          Fld(4, 28) //[31:28]

#define DRAMC_REG_REFQUE_CNT                                   (DRAMC_AO_BASE_ADDRESS + 0x0280)
    #define REFQUE_CNT_REFRESH_QUEUE_CNT_FROM_AO               Fld(4, 0) //[3:0]

#define DRAMC_REG_SCSMCTRL                                     (DRAMC_AO_BASE_ADDRESS + 0x0284)
    #define SCSMCTRL_SC_PG_UPD_OPT                             Fld(1, 0) //[0:0]
    #define SCSMCTRL_SC_PG_MAN_DIS                             Fld(1, 1) //[1:1]
    #define SCSMCTRL_SC_PG_OPT2_DIS                            Fld(1, 8) //[8:8]
    #define SCSMCTRL_SC_PG_STCMD_AREF_DIS                      Fld(1, 9) //[9:9]
    #define SCSMCTRL_SC_PG_MPRW_DIS                            Fld(1, 10) //[10:10]
    #define SCSMCTRL_SCPRE                                     Fld(1, 19) //[19:19]

#define DRAMC_REG_SCSMCTRL_CG                                  (DRAMC_AO_BASE_ADDRESS + 0x0288)
    #define SCSMCTRL_CG_SCARB_SM_CGAR                          Fld(1, 30) //[30:30]
    #define SCSMCTRL_CG_SCSM_CGAR                              Fld(1, 31) //[31:31]

#define DRAMC_REG_REFCTRL2                                     (DRAMC_AO_BASE_ADDRESS + 0x028C)
    #define REFCTRL2_MR4INT_TH                                 Fld(5, 0) //[4:0]
    #define REFCTRL2_PB2AB_THD                                 Fld(3, 8) //[10:8]
    #define REFCTRL2_REF_OVERHEAD_RATE                         Fld(16, 16) //[31:16]

#define DRAMC_REG_TX_FREQ_RATIO_OLD_MODE0                      (DRAMC_AO_BASE_ADDRESS + 0x0290)
    #define TX_FREQ_RATIO_OLD_MODE0_FREQ_RATIO_TX_8            Fld(5, 0) //[4:0]
    #define TX_FREQ_RATIO_OLD_MODE0_FREQ_RATIO_TX_9            Fld(5, 8) //[12:8]
    #define TX_FREQ_RATIO_OLD_MODE0_FREQ_RATIO_TX_10           Fld(5, 16) //[20:16]
    #define TX_FREQ_RATIO_OLD_MODE0_FREQ_RATIO_TX_11           Fld(5, 24) //[28:24]
    #define TX_FREQ_RATIO_OLD_MODE0_SHUFFLE_LEVEL_MODE_SELECT  Fld(1, 31) //[31:31]

#define DRAMC_REG_TX_FREQ_RATIO_OLD_MODE1                      (DRAMC_AO_BASE_ADDRESS + 0x0294)
    #define TX_FREQ_RATIO_OLD_MODE1_FREQ_RATIO_TX_4            Fld(5, 0) //[4:0]
    #define TX_FREQ_RATIO_OLD_MODE1_FREQ_RATIO_TX_5            Fld(5, 8) //[12:8]
    #define TX_FREQ_RATIO_OLD_MODE1_FREQ_RATIO_TX_6            Fld(5, 16) //[20:16]
    #define TX_FREQ_RATIO_OLD_MODE1_FREQ_RATIO_TX_7            Fld(5, 24) //[28:24]

#define DRAMC_REG_TX_FREQ_RATIO_OLD_MODE2                      (DRAMC_AO_BASE_ADDRESS + 0x0298)
    #define TX_FREQ_RATIO_OLD_MODE2_FREQ_RATIO_TX_0            Fld(5, 0) //[4:0]
    #define TX_FREQ_RATIO_OLD_MODE2_FREQ_RATIO_TX_1            Fld(5, 8) //[12:8]
    #define TX_FREQ_RATIO_OLD_MODE2_FREQ_RATIO_TX_2            Fld(5, 16) //[20:16]
    #define TX_FREQ_RATIO_OLD_MODE2_FREQ_RATIO_TX_3            Fld(5, 24) //[28:24]

#define DRAMC_REG_WDT_RST                                      (DRAMC_AO_BASE_ADDRESS + 0x029C)
    #define WDT_RST_WDT_DBG_RST                                Fld(1, 0) //[0:0]

#define DRAMC_REG_SEDA_LOOP_BAK_ERR_PAT_B01                    (DRAMC_AO_BASE_ADDRESS + 0x02A0)
    #define SEDA_LOOP_BAK_ERR_PAT_B01_SEDA_LOOP_BAK_ERR_PAT0   Fld(32, 0) //[31:0]

#define DRAMC_REG_SEDA_LOOP_BAK_ERR_PAT_B23                    (DRAMC_AO_BASE_ADDRESS + 0x02A4)
    #define SEDA_LOOP_BAK_ERR_PAT_B23_SEDA_LOOP_BAK_ERR_PAT1   Fld(32, 0) //[31:0]

#define DRAMC_REG_SEDA_LOOP_BAK_ERR_PAT_B45                    (DRAMC_AO_BASE_ADDRESS + 0x02A8)
    #define SEDA_LOOP_BAK_ERR_PAT_B45_SEDA_LOOP_BAK_ERR_PAT2   Fld(32, 0) //[31:0]

#define DRAMC_REG_SEDA_LOOP_BAK_ERR_PAT_B67                    (DRAMC_AO_BASE_ADDRESS + 0x02AC)
    #define SEDA_LOOP_BAK_ERR_PAT_B67_SEDA_LOOP_BAK_ERR_PAT3   Fld(32, 0) //[31:0]

#define DRAMC_REG_SEDA_LOOP_BAK_SET                            (DRAMC_AO_BASE_ADDRESS + 0x02B0)
    #define SEDA_LOOP_BAK_SET_WPRE0T                           Fld(1, 0) //[0:0]
    #define SEDA_LOOP_BAK_SET_DRAMC_LOOP_BAK_EN                Fld(1, 1) //[1:1]
    #define SEDA_LOOP_BAK_SET_DRAMC_LOOP_BAK_CMP_EN            Fld(1, 2) //[2:2]
    #define SEDA_LOOP_BAK_SET_LOOP_BAK_WDAT_SEL                Fld(3, 4) //[6:4]

#define DRAMC_REG_DBG_CMDDEC_CMDSEL0                           (DRAMC_AO_BASE_ADDRESS + 0x02C0)
    #define DBG_CMDDEC_CMDSEL0_RANK0_10GBEN                    Fld(1, 0) //[0:0]
    #define DBG_CMDDEC_CMDSEL0_RANK1_10GBEN                    Fld(1, 1) //[1:1]
    #define DBG_CMDDEC_CMDSEL0_DBG_CMDDEC_CMDSEL               Fld(1, 4) //[4:4]
    #define DBG_CMDDEC_CMDSEL0_DBG_CMDDEC_CMDTYPE              Fld(16, 16) //[31:16]

#define DRAMC_REG_DBG_CMDDEC_CMDSEL1                           (DRAMC_AO_BASE_ADDRESS + 0x02C4)
    #define DBG_CMDDEC_CMDSEL1_DBG_CMDDEC_CMDSEL_OP            Fld(8, 0) //[7:0]
    #define DBG_CMDDEC_CMDSEL1_DBG_CMDDEC_CMDSEL_MA            Fld(8, 8) //[15:8]
    #define DBG_CMDDEC_CMDSEL1_DBG_CMDDEC_CMDSEL_C             Fld(12, 16) //[27:16]
    #define DBG_CMDDEC_CMDSEL1_DBG_CMDDEC_CMDSEL_RK            Fld(2, 28) //[29:28]
    #define DBG_CMDDEC_CMDSEL1_DBG_CMDDEC_CMDSEL_SINGLE        Fld(1, 30) //[30:30]

#define DRAMC_REG_DBG_CMDDEC_CMDSEL2                           (DRAMC_AO_BASE_ADDRESS + 0x02C8)
    #define DBG_CMDDEC_CMDSEL2_DBG_CMDDEC_CMDSEL_R             Fld(17, 0) //[16:0]
    #define DBG_CMDDEC_CMDSEL2_DBG_CMDDEC_CMDSEL_BA            Fld(3, 17) //[19:17]
    #define DBG_CMDDEC_CMDSEL2_DBG_CMDDEC_CMDSEL_BL            Fld(1, 20) //[20:20]
    #define DBG_CMDDEC_CMDSEL2_DBG_CMDDEC_CMDSEL_AP            Fld(1, 21) //[21:21]
    #define DBG_CMDDEC_CMDSEL2_DBG_CMDDEC_CMDSEL_AB            Fld(1, 22) //[22:22]

#define DRAMC_REG_DBG_CMDDEC_CMDSEL3                           (DRAMC_AO_BASE_ADDRESS + 0x02CC)
    #define DBG_CMDDEC_CMDSEL3_DBG_CMDDEC_CMDSEL_CA0           Fld(8, 0) //[7:0]
    #define DBG_CMDDEC_CMDSEL3_DBG_CMDDEC_CMDSEL_CA1           Fld(8, 8) //[15:8]
    #define DBG_CMDDEC_CMDSEL3_DBG_CMDDEC_CMDSEL_CA2           Fld(8, 16) //[23:16]
    #define DBG_CMDDEC_CMDSEL3_DBG_CMDDEC_CMDSEL_CA3           Fld(8, 24) //[31:24]

#define DRAMC_REG_DBG_CMDDEC_CMDSEL4                           (DRAMC_AO_BASE_ADDRESS + 0x02D0)
    #define DBG_CMDDEC_CMDSEL4_DBG_CMDDEC_CMDSEL_CA4           Fld(8, 0) //[7:0]
    #define DBG_CMDDEC_CMDSEL4_DBG_CMDDEC_CMDSEL_CA5           Fld(8, 8) //[15:8]

#define DRAMC_REG_RTSWCMD_CNT                                  (DRAMC_AO_BASE_ADDRESS + 0x02D4)
    #define RTSWCMD_CNT_RTSWCMD_CNT                            Fld(32, 0) //[31:0]

#define DRAMC_REG_REFCTRL3                                     (DRAMC_AO_BASE_ADDRESS + 0x02D8)
    #define REFCTRL3_REF_DERATING_EN                           Fld(16, 0) //[15:0]

#define DRAMC_REG_DRAMC_IRQ_EN                                 (DRAMC_AO_BASE_ADDRESS + 0x02E0)
    #define DRAMC_IRQ_EN_MR4INT_EN                             Fld(1, 0) //[0:0]
    #define DRAMC_IRQ_EN_REFPENDINGINT_EN                      Fld(1, 1) //[1:1]
    #define DRAMC_IRQ_EN_PRE_MR4INT_EN                         Fld(1, 2) //[2:2]
    #define DRAMC_IRQ_EN_RTMRWINT_EN                           Fld(1, 3) //[3:3]
    #define DRAMC_IRQ_EN_INT_SREF_REQ_NO_ACK_EN                Fld(1, 6) //[6:6]
    #define DRAMC_IRQ_EN_INT_SREF_REQ_SHORT_EN                 Fld(1, 7) //[7:7]
    #define DRAMC_IRQ_EN_INT_SREF_REQ_DTRIG_EN                 Fld(1, 8) //[8:8]
    #define DRAMC_IRQ_EN_RTSWCMDINT_EN                         Fld(1, 12) //[12:12]
    #define DRAMC_IRQ_EN_TX_TRACKING_INT1_EN                   Fld(1, 16) //[16:16]
    #define DRAMC_IRQ_EN_TX_TRACKING_INT2_EN                   Fld(1, 17) //[17:17]
    #define DRAMC_IRQ_EN_DRAMC_IRQ_EN_RSV                      Fld(14, 18) //[31:18]

#define DRAMC_REG_DRAMC_IRQ_CLEAR                              (DRAMC_AO_BASE_ADDRESS + 0x02E4)
    #define DRAMC_IRQ_CLEAR_MR4INT_CLR                         Fld(1, 0) //[0:0]
    #define DRAMC_IRQ_CLEAR_REFPENDINGINT_CLR                  Fld(1, 1) //[1:1]
    #define DRAMC_IRQ_CLEAR_PRE_MR4INT_CLR                     Fld(1, 2) //[2:2]
    #define DRAMC_IRQ_CLEAR_RTMRWINT_CLR                       Fld(1, 3) //[3:3]
    #define DRAMC_IRQ_CLEAR_INT_SREF_REQ_NO_ACK_CLR            Fld(1, 6) //[6:6]
    #define DRAMC_IRQ_CLEAR_INT_SREF_REQ_SHORT_CLR             Fld(1, 7) //[7:7]
    #define DRAMC_IRQ_CLEAR_INT_SREF_REQ_DTRIG_CLR             Fld(1, 8) //[8:8]
    #define DRAMC_IRQ_CLEAR_RTSWCMDINT_CLR                     Fld(1, 12) //[12:12]
    #define DRAMC_IRQ_CLEAR_DRAMC_IRQ_CLEAR_RSV                Fld(19, 13) //[31:13]

#define DRAMC_REG_IRQ_RSV1                                     (DRAMC_AO_BASE_ADDRESS + 0x02E8)
    #define IRQ_RSV1_IRQ_RSV1                                  Fld(32, 0) //[31:0]

#define DRAMC_REG_IRQ_RSV2                                     (DRAMC_AO_BASE_ADDRESS + 0x02EC)
    #define IRQ_RSV2_IRQ_RSV2                                  Fld(32, 0) //[31:0]

#define DRAMC_REG_REFCNT_FR_CLK1                               (DRAMC_AO_BASE_ADDRESS + 0x02F0)
    #define REFCNT_FR_CLK1_REFCNT_FR_CLK_1X                    Fld(11, 0) //[10:0]
    #define REFCNT_FR_CLK1_REFCNT_FR_CLK_2X                    Fld(11, 16) //[26:16]

#define DRAMC_REG_REFCNT_FR_CLK2                               (DRAMC_AO_BASE_ADDRESS + 0x02F4)
    #define REFCNT_FR_CLK2_REFCNT_FR_CLK_4X                    Fld(11, 0) //[10:0]
    #define REFCNT_FR_CLK2_REFCNT_FR_CLK_8X                    Fld(11, 16) //[26:16]

#define DRAMC_REG_REFCNT_FR_CLK3                               (DRAMC_AO_BASE_ADDRESS + 0x02F8)
    #define REFCNT_FR_CLK3_REFCNT_FR_CLK_0P25X                 Fld(11, 0) //[10:0]
    #define REFCNT_FR_CLK3_REFCNT_FR_CLK_0P5X                  Fld(11, 16) //[26:16]

#define DRAMC_REG_REFCNT_FR_CLK4                               (DRAMC_AO_BASE_ADDRESS + 0x02FC)
    #define REFCNT_FR_CLK4_REFCNT_FR_CLK_1P3X                  Fld(11, 0) //[10:0]
    #define REFCNT_FR_CLK4_REFCNT_FR_CLK_1P7X                  Fld(11, 16) //[26:16]

#define DRAMC_REG_REFCNT_FR_CLK5                               (DRAMC_AO_BASE_ADDRESS + 0x0300)
    #define REFCNT_FR_CLK5_REFCNT_FR_CLK_2P5X                  Fld(11, 0) //[10:0]
    #define REFCNT_FR_CLK5_REFCNT_FR_CLK_3P3X                  Fld(11, 16) //[26:16]

#define DRAMC_REG_REFCNT_FR_CLK6                               (DRAMC_AO_BASE_ADDRESS + 0x0304)
    #define REFCNT_FR_CLK6_REFCNT_FR_CLK_6X                    Fld(11, 0) //[10:0]
    #define REFCNT_FR_CLK6_REFCNT_FR_CLK_0P7X                  Fld(11, 16) //[26:16]

#define DRAMC_REG_REFCNT_FR_CLK7                               (DRAMC_AO_BASE_ADDRESS + 0x0308)
    #define REFCNT_FR_CLK7_REFCNT_FR_CLK_0P125X                Fld(11, 0) //[10:0]

#define DRAMC_REG_DCM_SUB_CTRL                                 (DRAMC_AO_BASE_ADDRESS + 0x0310)
    #define DCM_SUB_CTRL_SUBCLK_CTRL_ZQ_CAL                    Fld(1, 0) //[0:0]
    #define DCM_SUB_CTRL_SUBCLK_CTRL_TX_TRACKING               Fld(1, 1) //[1:1]
    #define DCM_SUB_CTRL_SUBCLK_CTRL_TEST2                     Fld(1, 2) //[2:2]
    #define DCM_SUB_CTRL_SUBCLK_CTRL_SWCMD                     Fld(1, 3) //[3:3]
    #define DCM_SUB_CTRL_SUBCLK_CTRL_SREF                      Fld(1, 4) //[4:4]
    #define DCM_SUB_CTRL_SUBCLK_CTRL_SHUFFLE_SM                Fld(1, 5) //[5:5]
    #define DCM_SUB_CTRL_SUBCLK_CTRL_REF                       Fld(1, 6) //[6:6]
    #define DCM_SUB_CTRL_SUBCLK_CTRL_PD_NEW                    Fld(1, 7) //[7:7]
    #define DCM_SUB_CTRL_SUBCLK_CTRL_HMR4                      Fld(1, 8) //[8:8]
    #define DCM_SUB_CTRL_SUBCLK_CTRL_DUMMY_READ                Fld(1, 9) //[9:9]
    #define DCM_SUB_CTRL_SUBCLK_CTRL_DPD                       Fld(1, 10) //[10:10]
    #define DCM_SUB_CTRL_SUBCLK_CTRL_CBT_WLEV                  Fld(1, 11) //[11:11]
    #define DCM_SUB_CTRL_SUBCLK_CTRL_TX_AUTOK                  Fld(1, 12) //[12:12]

#define DRAMC_REG_CBT_WLEV_CTRL5                               (DRAMC_AO_BASE_ADDRESS + 0x0320)
    #define CBT_WLEV_CTRL5_NEW_CBT_CAPATEN                     Fld(1, 0) //[0:0]
    #define CBT_WLEV_CTRL5_NEW_CBT_CAGOLDEN_SEL                Fld(3, 1) //[3:1]
    #define CBT_WLEV_CTRL5_NEW_CBT_PAT_INTV                    Fld(8, 4) //[11:4]
    #define CBT_WLEV_CTRL5_NEW_CBT_INVERT_NUM                  Fld(1, 12) //[12:12]
    #define CBT_WLEV_CTRL5_NEW_CBT_PAT_NUM                     Fld(3, 13) //[15:13]
    #define CBT_WLEV_CTRL5_NEW_CBT_CA_NUM                      Fld(4, 16) //[19:16]
    #define CBT_WLEV_CTRL5_NEW_CBT_PAT_RKSEL                   Fld(2, 20) //[21:20]
    #define CBT_WLEV_CTRL5_CBT_NEW_MODE                        Fld(1, 22) //[22:22]

#define DRAMC_REG_DRAM_CLK_CTRL                                (DRAMC_AO_BASE_ADDRESS + 0x0330)
    #define DRAM_CLK_CTRL_CLK_EN                               Fld(1, 0) //[0:0]

#define DRAMC_REG_RK_TEST2_A1                                  (DRAMC_AO_BASE_ADDRESS + 0x0500)
    #define RK_TEST2_A1_TEST2_BASE                             Fld(29, 3) //[31:3]

#define DRAMC_REG_RK_DUMMY_RD_WDATA0                           (DRAMC_AO_BASE_ADDRESS + 0x0504)
    #define RK_DUMMY_RD_WDATA0_DMY_RD_WDATA0                   Fld(32, 0) //[31:0]

#define DRAMC_REG_RK_DUMMY_RD_WDATA1                           (DRAMC_AO_BASE_ADDRESS + 0x0508)
    #define RK_DUMMY_RD_WDATA1_DMY_RD_WDATA1                   Fld(32, 0) //[31:0]

#define DRAMC_REG_RK_DUMMY_RD_WDATA2                           (DRAMC_AO_BASE_ADDRESS + 0x050C)
    #define RK_DUMMY_RD_WDATA2_DMY_RD_WDATA2                   Fld(32, 0) //[31:0]

#define DRAMC_REG_RK_DUMMY_RD_WDATA3                           (DRAMC_AO_BASE_ADDRESS + 0x0510)
    #define RK_DUMMY_RD_WDATA3_DMY_RD_WDATA3                   Fld(32, 0) //[31:0]

#define DRAMC_REG_RK_DUMMY_RD_ADR                              (DRAMC_AO_BASE_ADDRESS + 0x0514)
    #define RK_DUMMY_RD_ADR_DMY_RD_COL_ADR                     Fld(11, 17) //[27:17]
    #define RK_DUMMY_RD_ADR_DMY_RD_LEN                         Fld(4, 28) //[31:28]

#define DRAMC_REG_RK_DUMMY_RD_ADR2                             (DRAMC_AO_BASE_ADDRESS + 0x0554)
    #define RK_DUMMY_RD_ADR2_DMY_RD_BK                         Fld(4, 0) //[3:0]
    #define RK_DUMMY_RD_ADR2_DMY_RD_ROW_ADR                    Fld(18, 4) //[21:4]

#define DRAMC_REG_RK_SREF_DPD_TCK_RK_CTRL                      (DRAMC_AO_BASE_ADDRESS + 0x0568)
    #define RK_SREF_DPD_TCK_RK_CTRL_DPD_EN                     Fld(1, 29) //[29:29]
    #define RK_SREF_DPD_TCK_RK_CTRL_DPDX_EN                    Fld(1, 30) //[30:30]
    #define RK_SREF_DPD_TCK_RK_CTRL_SRF_EN                     Fld(1, 31) //[31:31]

#define DRAMC_REG_RK_DQSOSC                                    (DRAMC_AO_BASE_ADDRESS + 0x0590)
    #define RK_DQSOSC_RK0_BYTE_MODE                            Fld(1, 29) //[29:29]
    #define RK_DQSOSC_DQSOSCR_RK0EN                            Fld(1, 30) //[30:30]
    #define RK_DQSOSC_DQSOSC_RK0INTCLR                         Fld(1, 31) //[31:31]

#define DRAMC_REG_WDT_DBG_SIGNAL                               (DRAMC_AO_BASE_ADDRESS + 0x0D00)
    #define WDT_DBG_SIGNAL_LATCH_RD_TEST_DM_CMP_CPT2_RK0_FROM_AO Fld(1, 0) //[0:0]
    #define WDT_DBG_SIGNAL_LATCH_RD_TEST_DM_CMP_CPT2_RK1_FROM_AO Fld(1, 1) //[1:1]
    #define WDT_DBG_SIGNAL_LATCH_RD_TEST_DM_CMP_ERR2_RK0_FROM_AO Fld(1, 2) //[2:2]
    #define WDT_DBG_SIGNAL_LATCH_RD_TEST_DM_CMP_ERR2_RK1_FROM_AO Fld(1, 3) //[3:3]
    #define WDT_DBG_SIGNAL_LATCH_RD_TEST_DLE_CNT_OK2_RK0_FROM_AO Fld(1, 4) //[4:4]
    #define WDT_DBG_SIGNAL_LATCH_RD_TEST_DLE_CNT_OK2_RK1_FROM_AO Fld(1, 5) //[5:5]
    #define WDT_DBG_SIGNAL_LATCH_RDWR_TEST_DM_CMP_CPT2_RK0_FROM_AO Fld(1, 8) //[8:8]
    #define WDT_DBG_SIGNAL_LATCH_RDWR_TEST_DM_CMP_CPT2_RK1_FROM_AO Fld(1, 9) //[9:9]
    #define WDT_DBG_SIGNAL_LATCH_RDWR_TEST_DM_CMP_ERR2_RK0_FROM_AO Fld(1, 10) //[10:10]
    #define WDT_DBG_SIGNAL_LATCH_RDWR_TEST_DM_CMP_ERR2_RK1_FROM_AO Fld(1, 11) //[11:11]
    #define WDT_DBG_SIGNAL_LATCH_RDWR_TEST_DLE_CNT_OK2_RK0_FROM_AO Fld(1, 12) //[12:12]
    #define WDT_DBG_SIGNAL_LATCH_RDWR_TEST_DLE_CNT_OK2_RK1_FROM_AO Fld(1, 13) //[13:13]
    #define WDT_DBG_SIGNAL_LATCH_DRAMC_GATING_ERROR_FROM_AO    Fld(1, 14) //[14:14]

#define DRAMC_REG_SELFREF_HWSAVE_FLAG                          (DRAMC_AO_BASE_ADDRESS + 0x0D08)
    #define SELFREF_HWSAVE_FLAG_SELFREF_HWSAVE_FLAG_FROM_AO    Fld(1, 0) //[0:0]

#define DRAMC_REG_DRAMC_IRQ_STATUS1                            (DRAMC_AO_BASE_ADDRESS + 0x0F00)
    #define DRAMC_IRQ_STATUS1_DRAMC_IRQ_STATUS1_X0             Fld(32, 0) //[31:0]

#define DRAMC_REG_DRAMC_IRQ_STATUS2                            (DRAMC_AO_BASE_ADDRESS + 0x0F04)
    #define DRAMC_IRQ_STATUS2_DRAMC_IRQ_STATUS2_X0             Fld(32, 0) //[31:0]

#define DRAMC_REG_DRAMC_IRQ_INFO1                              (DRAMC_AO_BASE_ADDRESS + 0x0F10)
    #define DRAMC_IRQ_INFO1_REFRESH_RATE_FOR_INT_X0            Fld(5, 0) //[4:0]
    #define DRAMC_IRQ_INFO1_REFRESH_QUEUE_CNT_FOR_INT_X0       Fld(4, 8) //[11:8]
    #define DRAMC_IRQ_INFO1_REFRESH_RATE_CHG_QUEUE_CNT_FOR_INT_X0 Fld(4, 12) //[15:12]

#define DRAMC_REG_DRAMC_IRQ_INFO1A                             (DRAMC_AO_BASE_ADDRESS + 0x0F14)
    #define DRAMC_IRQ_INFO1A_PRE_REFRESH_RATE_RK0_FOR_INT_X0   Fld(5, 0) //[4:0]
    #define DRAMC_IRQ_INFO1A_PRE_REFRESH_RATE_RK1_FOR_INT_X0   Fld(5, 8) //[12:8]
    #define DRAMC_IRQ_INFO1A_PRE_REFRESH_RATE_RK0_B1_FOR_INT_X0 Fld(5, 16) //[20:16]
    #define DRAMC_IRQ_INFO1A_PRE_REFRESH_RATE_RK1_B1_FOR_INT_X0 Fld(5, 24) //[28:24]

#define DRAMC_REG_DRAMC_IRQ_INFO2                              (DRAMC_AO_BASE_ADDRESS + 0x0F20)
    #define DRAMC_IRQ_INFO2_RK0_MR18_INT1_X0                   Fld(16, 0) //[15:0]
    #define DRAMC_IRQ_INFO2_RK0_MR19_INT1_X0                   Fld(16, 16) //[31:16]

#define DRAMC_REG_DRAMC_IRQ_INFO3                              (DRAMC_AO_BASE_ADDRESS + 0x0F24)
    #define DRAMC_IRQ_INFO3_RK1_MR18_INT1_X0                   Fld(16, 0) //[15:0]
    #define DRAMC_IRQ_INFO3_RK1_MR19_INT1_X0                   Fld(16, 16) //[31:16]

#define DRAMC_REG_DRAMC_IRQ_INFO4                              (DRAMC_AO_BASE_ADDRESS + 0x0F28)
    #define DRAMC_IRQ_INFO4_RK0_MR18_INT2_X0                   Fld(16, 0) //[15:0]
    #define DRAMC_IRQ_INFO4_RK0_MR19_INT2_X0                   Fld(16, 16) //[31:16]

#define DRAMC_REG_DRAMC_IRQ_INFO5                              (DRAMC_AO_BASE_ADDRESS + 0x0F2C)
    #define DRAMC_IRQ_INFO5_RK1_MR18_INT2_X0                   Fld(16, 0) //[15:0]
    #define DRAMC_IRQ_INFO5_RK1_MR19_INT2_X0                   Fld(16, 16) //[31:16]

#define DRAMC_REG_SHURK_SELPH_DQ0                              (DRAMC_AO_BASE_ADDRESS + 0x1200)
    #define SHURK_SELPH_DQ0_TXDLY_DQ0                          Fld(3, 0) //[2:0]
    #define SHURK_SELPH_DQ0_TXDLY_DQ1                          Fld(3, 4) //[6:4]
    #define SHURK_SELPH_DQ0_TXDLY_DQ2                          Fld(3, 8) //[10:8]
    #define SHURK_SELPH_DQ0_TXDLY_DQ3                          Fld(3, 12) //[14:12]
    #define SHURK_SELPH_DQ0_TXDLY_OEN_DQ0                      Fld(3, 16) //[18:16]
    #define SHURK_SELPH_DQ0_TXDLY_OEN_DQ1                      Fld(3, 20) //[22:20]
    #define SHURK_SELPH_DQ0_TXDLY_OEN_DQ2                      Fld(3, 24) //[26:24]
    #define SHURK_SELPH_DQ0_TXDLY_OEN_DQ3                      Fld(3, 28) //[30:28]

#define DRAMC_REG_SHURK_SELPH_DQ1                              (DRAMC_AO_BASE_ADDRESS + 0x1204)
    #define SHURK_SELPH_DQ1_TXDLY_DQM0                         Fld(3, 0) //[2:0]
    #define SHURK_SELPH_DQ1_TXDLY_DQM1                         Fld(3, 4) //[6:4]
    #define SHURK_SELPH_DQ1_TXDLY_DQM2                         Fld(3, 8) //[10:8]
    #define SHURK_SELPH_DQ1_TXDLY_DQM3                         Fld(3, 12) //[14:12]
    #define SHURK_SELPH_DQ1_TXDLY_OEN_DQM0                     Fld(3, 16) //[18:16]
    #define SHURK_SELPH_DQ1_TXDLY_OEN_DQM1                     Fld(3, 20) //[22:20]
    #define SHURK_SELPH_DQ1_TXDLY_OEN_DQM2                     Fld(3, 24) //[26:24]
    #define SHURK_SELPH_DQ1_TXDLY_OEN_DQM3                     Fld(3, 28) //[30:28]

#define DRAMC_REG_SHURK_SELPH_DQ2                              (DRAMC_AO_BASE_ADDRESS + 0x1208)
    #define SHURK_SELPH_DQ2_DLY_DQ0                            Fld(4, 0) //[3:0]
    #define SHURK_SELPH_DQ2_DLY_DQ1                            Fld(4, 4) //[7:4]
    #define SHURK_SELPH_DQ2_DLY_DQ2                            Fld(4, 8) //[11:8]
    #define SHURK_SELPH_DQ2_DLY_DQ3                            Fld(4, 12) //[15:12]
    #define SHURK_SELPH_DQ2_DLY_OEN_DQ0                        Fld(4, 16) //[19:16]
    #define SHURK_SELPH_DQ2_DLY_OEN_DQ1                        Fld(4, 20) //[23:20]
    #define SHURK_SELPH_DQ2_DLY_OEN_DQ2                        Fld(4, 24) //[27:24]
    #define SHURK_SELPH_DQ2_DLY_OEN_DQ3                        Fld(4, 28) //[31:28]

#define DRAMC_REG_SHURK_SELPH_DQ3                              (DRAMC_AO_BASE_ADDRESS + 0x120C)
    #define SHURK_SELPH_DQ3_DLY_DQM0                           Fld(4, 0) //[3:0]
    #define SHURK_SELPH_DQ3_DLY_DQM1                           Fld(4, 4) //[7:4]
    #define SHURK_SELPH_DQ3_DLY_DQM2                           Fld(4, 8) //[11:8]
    #define SHURK_SELPH_DQ3_DLY_DQM3                           Fld(4, 12) //[15:12]
    #define SHURK_SELPH_DQ3_DLY_OEN_DQM0                       Fld(4, 16) //[19:16]
    #define SHURK_SELPH_DQ3_DLY_OEN_DQM1                       Fld(4, 20) //[23:20]
    #define SHURK_SELPH_DQ3_DLY_OEN_DQM2                       Fld(4, 24) //[27:24]
    #define SHURK_SELPH_DQ3_DLY_OEN_DQM3                       Fld(4, 28) //[31:28]

#define DRAMC_REG_SHURK_DQS2DQ_CAL1                            (DRAMC_AO_BASE_ADDRESS + 0x1210)
    #define SHURK_DQS2DQ_CAL1_BOOT_ORIG_UI_RK0_DQ0             Fld(11, 0) //[10:0]
    #define SHURK_DQS2DQ_CAL1_BOOT_ORIG_UI_RK0_DQ1             Fld(11, 16) //[26:16]

#define DRAMC_REG_SHURK_DQS2DQ_CAL2                            (DRAMC_AO_BASE_ADDRESS + 0x1214)
    #define SHURK_DQS2DQ_CAL2_BOOT_TARG_UI_RK0_DQ0             Fld(11, 0) //[10:0]
    #define SHURK_DQS2DQ_CAL2_BOOT_TARG_UI_RK0_DQ1             Fld(11, 16) //[26:16]

#define DRAMC_REG_SHURK_DQS2DQ_CAL3                            (DRAMC_AO_BASE_ADDRESS + 0x1218)
    #define SHURK_DQS2DQ_CAL3_BOOT_TARG_UI_RK0_OEN_DQ0         Fld(6, 0) //[5:0]
    #define SHURK_DQS2DQ_CAL3_BOOT_TARG_UI_RK0_OEN_DQ1         Fld(6, 6) //[11:6]
    #define SHURK_DQS2DQ_CAL3_BOOT_TARG_UI_RK0_OEN_DQ0_B4TO0   Fld(5, 12) //[16:12]
    #define SHURK_DQS2DQ_CAL3_BOOT_TARG_UI_RK0_OEN_DQ1_B4TO0   Fld(5, 17) //[21:17]

#define DRAMC_REG_SHURK_DQS2DQ_CAL4                            (DRAMC_AO_BASE_ADDRESS + 0x121C)
    #define SHURK_DQS2DQ_CAL4_BOOT_TARG_UI_RK0_OEN_DQM0        Fld(6, 0) //[5:0]
    #define SHURK_DQS2DQ_CAL4_BOOT_TARG_UI_RK0_OEN_DQM1        Fld(6, 6) //[11:6]
    #define SHURK_DQS2DQ_CAL4_BOOT_TARG_UI_RK0_OEN_DQM0_B4TO0  Fld(5, 12) //[16:12]
    #define SHURK_DQS2DQ_CAL4_BOOT_TARG_UI_RK0_OEN_DQM1_B4TO0  Fld(5, 17) //[21:17]

#define DRAMC_REG_SHURK_DQS2DQ_CAL5                            (DRAMC_AO_BASE_ADDRESS + 0x1220)
    #define SHURK_DQS2DQ_CAL5_BOOT_TARG_UI_RK0_DQM0            Fld(11, 0) //[10:0]
    #define SHURK_DQS2DQ_CAL5_BOOT_TARG_UI_RK0_DQM1            Fld(11, 16) //[26:16]

#define DRAMC_REG_SHURK_PI                                     (DRAMC_AO_BASE_ADDRESS + 0x1224)
    #define SHURK_PI_RK0_ARPI_DQ_B1                            Fld(6, 0) //[5:0]
    #define SHURK_PI_RK0_ARPI_DQ_B0                            Fld(6, 8) //[13:8]
    #define SHURK_PI_RK0_ARPI_DQM_B1                           Fld(6, 16) //[21:16]
    #define SHURK_PI_RK0_ARPI_DQM_B0                           Fld(6, 24) //[29:24]

#define DRAMC_REG_SHURK_DQSOSC                                 (DRAMC_AO_BASE_ADDRESS + 0x1228)
    #define SHURK_DQSOSC_DQSOSC_BASE_RK0                       Fld(16, 0) //[15:0]
    #define SHURK_DQSOSC_DQSOSC_BASE_RK0_B1                    Fld(16, 16) //[31:16]

#define DRAMC_REG_SHURK_DQSOSC_THRD                            (DRAMC_AO_BASE_ADDRESS + 0x122C)
    #define SHURK_DQSOSC_THRD_DQSOSCTHRD_INC                   Fld(12, 0) //[11:0]
    #define SHURK_DQSOSC_THRD_DQSOSCTHRD_DEC                   Fld(12, 16) //[27:16]

#define DRAMC_REG_SHURK_APHY_TX_PICG_CTRL                      (DRAMC_AO_BASE_ADDRESS + 0x1230)
    #define SHURK_APHY_TX_PICG_CTRL_DDRPHY_CLK_EN_COMB_TX_DQ_RK_SEL_P1 Fld(3, 0) //[2:0]
    #define SHURK_APHY_TX_PICG_CTRL_DDRPHY_CLK_EN_COMB_TX_DQ_RK_SEL_P0 Fld(3, 4) //[6:4]

#define DRAMC_REG_SHURK_WCK_WR_MCK                             (DRAMC_AO_BASE_ADDRESS + 0x1240)
    #define SHURK_WCK_WR_MCK_WCK_WR_B0_MCK                     Fld(4, 0) //[3:0]
    #define SHURK_WCK_WR_MCK_WCK_WR_B1_MCK                     Fld(4, 4) //[7:4]

#define DRAMC_REG_SHURK_WCK_RD_MCK                             (DRAMC_AO_BASE_ADDRESS + 0x1244)
    #define SHURK_WCK_RD_MCK_WCK_RD_B0_MCK                     Fld(4, 0) //[3:0]
    #define SHURK_WCK_RD_MCK_WCK_RD_B1_MCK                     Fld(4, 4) //[7:4]

#define DRAMC_REG_SHURK_WCK_FS_MCK                             (DRAMC_AO_BASE_ADDRESS + 0x1248)
    #define SHURK_WCK_FS_MCK_WCK_FS_B0_MCK                     Fld(4, 0) //[3:0]
    #define SHURK_WCK_FS_MCK_WCK_FS_B1_MCK                     Fld(4, 4) //[7:4]

#define DRAMC_REG_SHURK_WCK_WR_UI                              (DRAMC_AO_BASE_ADDRESS + 0x124C)
    #define SHURK_WCK_WR_UI_WCK_WR_B0_UI                       Fld(4, 0) //[3:0]
    #define SHURK_WCK_WR_UI_WCK_WR_B1_UI                       Fld(4, 4) //[7:4]

#define DRAMC_REG_SHURK_WCK_RD_UI                              (DRAMC_AO_BASE_ADDRESS + 0x1250)
    #define SHURK_WCK_RD_UI_WCK_RD_B0_UI                       Fld(4, 0) //[3:0]
    #define SHURK_WCK_RD_UI_WCK_RD_B1_UI                       Fld(4, 4) //[7:4]

#define DRAMC_REG_SHURK_WCK_FS_UI                              (DRAMC_AO_BASE_ADDRESS + 0x1254)
    #define SHURK_WCK_FS_UI_WCK_FS_B0_UI                       Fld(4, 0) //[3:0]
    #define SHURK_WCK_FS_UI_WCK_FS_B1_UI                       Fld(4, 4) //[7:4]

#define DRAMC_REG_SHURK_CKE_CTRL                               (DRAMC_AO_BASE_ADDRESS + 0x1260)
    #define SHURK_CKE_CTRL_CKE_DBE_CNT                         Fld(4, 0) //[3:0]

#define DRAMC_REG_SHU_MATYPE                                   (DRAMC_AO_BASE_ADDRESS + 0x1600)
    #define SHU_MATYPE_MATYPE                                  Fld(2, 0) //[1:0]
    #define SHU_MATYPE_NORMPOP_LEN                             Fld(3, 4) //[6:4]

#define DRAMC_REG_SHU_COMMON0                                  (DRAMC_AO_BASE_ADDRESS + 0x1604)
    #define SHU_COMMON0_FREQDIV4                               Fld(1, 0) //[0:0]
    #define SHU_COMMON0_FDIV2                                  Fld(1, 1) //[1:1]
    #define SHU_COMMON0_FREQDIV8                               Fld(1, 2) //[2:2]
    #define SHU_COMMON0_DM64BITEN                              Fld(1, 4) //[4:4]
    #define SHU_COMMON0_DLE256EN                               Fld(1, 5) //[5:5]
    #define SHU_COMMON0_LP5BGEN                                Fld(1, 6) //[6:6]
    #define SHU_COMMON0_LP5WCKON                               Fld(1, 7) //[7:7]
    #define SHU_COMMON0_CL2                                    Fld(1, 8) //[8:8]
    #define SHU_COMMON0_BL2                                    Fld(1, 9) //[9:9]
    #define SHU_COMMON0_BL4                                    Fld(1, 10) //[10:10]
    #define SHU_COMMON0_LP5BGOTF                               Fld(1, 11) //[11:11]
    #define SHU_COMMON0_BC4OTF                                 Fld(1, 12) //[12:12]
    #define SHU_COMMON0_LP5HEFF_MODE                           Fld(1, 13) //[13:13]
    #define SHU_COMMON0_LP5WRAPEN                              Fld(1, 14) //[14:14]
    #define SHU_COMMON0_SHU_COMMON0_RSV                        Fld(17, 15) //[31:15]

#define DRAMC_REG_SHU_SREF_CTRL                                (DRAMC_AO_BASE_ADDRESS + 0x1608)
    #define SHU_SREF_CTRL_CKEHCMD                              Fld(2, 4) //[5:4]
    #define SHU_SREF_CTRL_SREF_CK_DLY                          Fld(2, 28) //[29:28]

#define DRAMC_REG_SHU_SCHEDULER                                (DRAMC_AO_BASE_ADDRESS + 0x160C)
    #define SHU_SCHEDULER_DUALSCHEN                            Fld(1, 2) //[2:2]

#define DRAMC_REG_SHU_DCM_CTRL0                                (DRAMC_AO_BASE_ADDRESS + 0x1610)
    #define SHU_DCM_CTRL0_DDRPHY_CLK_EN_OPT                    Fld(1, 7) //[7:7]
    #define SHU_DCM_CTRL0_DPHY_CMD_CLKEN_EXTCNT                Fld(3, 8) //[10:8]
    #define SHU_DCM_CTRL0_DDRPHY_CLK_DYN_GATING_SEL            Fld(4, 12) //[15:12]
    #define SHU_DCM_CTRL0_APHYPI_CKCGL_CNT                     Fld(4, 16) //[19:16]
    #define SHU_DCM_CTRL0_APHYPI_CKCGH_CNT                     Fld(4, 20) //[23:20]
    #define SHU_DCM_CTRL0_FASTWAKE2                            Fld(1, 29) //[29:29]
    #define SHU_DCM_CTRL0_FASTWAKE                             Fld(1, 31) //[31:31]

#define DRAMC_REG_SHU_HMR4_DVFS_CTRL0                          (DRAMC_AO_BASE_ADDRESS + 0x1614)
    #define SHU_HMR4_DVFS_CTRL0_FSPCHG_PRDCNT                  Fld(8, 8) //[15:8]
    #define SHU_HMR4_DVFS_CTRL0_REFRCNT                        Fld(12, 16) //[27:16]

#define DRAMC_REG_SHU_SELPH_CA1                                (DRAMC_AO_BASE_ADDRESS + 0x1618)
    #define SHU_SELPH_CA1_TXDLY_CS                             Fld(3, 0) //[2:0]
    #define SHU_SELPH_CA1_TXDLY_CKE                            Fld(3, 4) //[6:4]
    #define SHU_SELPH_CA1_TXDLY_ODT                            Fld(3, 8) //[10:8]
    #define SHU_SELPH_CA1_TXDLY_RESET                          Fld(3, 12) //[14:12]
    #define SHU_SELPH_CA1_TXDLY_WE                             Fld(3, 16) //[18:16]
    #define SHU_SELPH_CA1_TXDLY_CAS                            Fld(3, 20) //[22:20]
    #define SHU_SELPH_CA1_TXDLY_RAS                            Fld(3, 24) //[26:24]
    #define SHU_SELPH_CA1_TXDLY_CS1                            Fld(3, 28) //[30:28]

#define DRAMC_REG_SHU_SELPH_CA2                                (DRAMC_AO_BASE_ADDRESS + 0x161C)
    #define SHU_SELPH_CA2_TXDLY_BA0                            Fld(3, 0) //[2:0]
    #define SHU_SELPH_CA2_TXDLY_BA1                            Fld(3, 4) //[6:4]
    #define SHU_SELPH_CA2_TXDLY_BA2                            Fld(3, 8) //[10:8]
    #define SHU_SELPH_CA2_TXDLY_CMD                            Fld(5, 16) //[20:16]
    #define SHU_SELPH_CA2_TXDLY_CKE1                           Fld(3, 24) //[26:24]

#define DRAMC_REG_SHU_SELPH_CA3                                (DRAMC_AO_BASE_ADDRESS + 0x1620)
    #define SHU_SELPH_CA3_TXDLY_RA0                            Fld(3, 0) //[2:0]
    #define SHU_SELPH_CA3_TXDLY_RA1                            Fld(3, 4) //[6:4]
    #define SHU_SELPH_CA3_TXDLY_RA2                            Fld(3, 8) //[10:8]
    #define SHU_SELPH_CA3_TXDLY_RA3                            Fld(3, 12) //[14:12]
    #define SHU_SELPH_CA3_TXDLY_RA4                            Fld(3, 16) //[18:16]
    #define SHU_SELPH_CA3_TXDLY_RA5                            Fld(3, 20) //[22:20]
    #define SHU_SELPH_CA3_TXDLY_RA6                            Fld(3, 24) //[26:24]
    #define SHU_SELPH_CA3_TXDLY_RA7                            Fld(3, 28) //[30:28]

#define DRAMC_REG_SHU_SELPH_CA4                                (DRAMC_AO_BASE_ADDRESS + 0x1624)
    #define SHU_SELPH_CA4_TXDLY_RA8                            Fld(3, 0) //[2:0]
    #define SHU_SELPH_CA4_TXDLY_RA9                            Fld(3, 4) //[6:4]
    #define SHU_SELPH_CA4_TXDLY_RA10                           Fld(3, 8) //[10:8]
    #define SHU_SELPH_CA4_TXDLY_RA11                           Fld(3, 12) //[14:12]
    #define SHU_SELPH_CA4_TXDLY_RA12                           Fld(3, 16) //[18:16]
    #define SHU_SELPH_CA4_TXDLY_RA13                           Fld(3, 20) //[22:20]
    #define SHU_SELPH_CA4_TXDLY_RA14                           Fld(3, 24) //[26:24]
    #define SHU_SELPH_CA4_TXDLY_RA15                           Fld(3, 28) //[30:28]

#define DRAMC_REG_SHU_SELPH_CA5                                (DRAMC_AO_BASE_ADDRESS + 0x1628)
    #define SHU_SELPH_CA5_DLY_CS                               Fld(3, 0) //[2:0]
    #define SHU_SELPH_CA5_DLY_CKE                              Fld(3, 4) //[6:4]
    #define SHU_SELPH_CA5_DLY_ODT                              Fld(3, 8) //[10:8]
    #define SHU_SELPH_CA5_DLY_RESET                            Fld(3, 12) //[14:12]
    #define SHU_SELPH_CA5_DLY_WE                               Fld(3, 16) //[18:16]
    #define SHU_SELPH_CA5_DLY_CAS                              Fld(3, 20) //[22:20]
    #define SHU_SELPH_CA5_DLY_RAS                              Fld(3, 24) //[26:24]
    #define SHU_SELPH_CA5_DLY_CS1                              Fld(3, 28) //[30:28]

#define DRAMC_REG_SHU_SELPH_CA6                                (DRAMC_AO_BASE_ADDRESS + 0x162C)
    #define SHU_SELPH_CA6_DLY_BA0                              Fld(3, 0) //[2:0]
    #define SHU_SELPH_CA6_DLY_BA1                              Fld(3, 4) //[6:4]
    #define SHU_SELPH_CA6_DLY_BA2                              Fld(3, 8) //[10:8]
    #define SHU_SELPH_CA6_DLY_CKE1                             Fld(3, 24) //[26:24]

#define DRAMC_REG_SHU_SELPH_CA7                                (DRAMC_AO_BASE_ADDRESS + 0x1630)
    #define SHU_SELPH_CA7_DLY_RA0                              Fld(3, 0) //[2:0]
    #define SHU_SELPH_CA7_DLY_RA1                              Fld(3, 4) //[6:4]
    #define SHU_SELPH_CA7_DLY_RA2                              Fld(3, 8) //[10:8]
    #define SHU_SELPH_CA7_DLY_RA3                              Fld(3, 12) //[14:12]
    #define SHU_SELPH_CA7_DLY_RA4                              Fld(3, 16) //[18:16]
    #define SHU_SELPH_CA7_DLY_RA5                              Fld(3, 20) //[22:20]
    #define SHU_SELPH_CA7_DLY_RA6                              Fld(3, 24) //[26:24]
    #define SHU_SELPH_CA7_DLY_RA7                              Fld(3, 28) //[30:28]

#define DRAMC_REG_SHU_SELPH_CA8                                (DRAMC_AO_BASE_ADDRESS + 0x1634)
    #define SHU_SELPH_CA8_DLY_RA8                              Fld(3, 0) //[2:0]
    #define SHU_SELPH_CA8_DLY_RA9                              Fld(3, 4) //[6:4]
    #define SHU_SELPH_CA8_DLY_RA10                             Fld(3, 8) //[10:8]
    #define SHU_SELPH_CA8_DLY_RA11                             Fld(3, 12) //[14:12]
    #define SHU_SELPH_CA8_DLY_RA12                             Fld(3, 16) //[18:16]
    #define SHU_SELPH_CA8_DLY_RA13                             Fld(3, 20) //[22:20]
    #define SHU_SELPH_CA8_DLY_RA14                             Fld(3, 24) //[26:24]
    #define SHU_SELPH_CA8_DLY_RA15                             Fld(3, 28) //[30:28]

#define DRAMC_REG_SHU_HWSET_MR2                                (DRAMC_AO_BASE_ADDRESS + 0x1638)
    #define SHU_HWSET_MR2_HWSET_MR2_MRSMA                      Fld(13, 0) //[12:0]
    #define SHU_HWSET_MR2_HWSET_MR2_OP                         Fld(8, 16) //[23:16]

#define DRAMC_REG_SHU_HWSET_MR13                               (DRAMC_AO_BASE_ADDRESS + 0x163C)
    #define SHU_HWSET_MR13_HWSET_MR13_MRSMA                    Fld(13, 0) //[12:0]
    #define SHU_HWSET_MR13_HWSET_MR13_OP                       Fld(8, 16) //[23:16]

#define DRAMC_REG_SHU_HWSET_VRCG                               (DRAMC_AO_BASE_ADDRESS + 0x1640)
    #define SHU_HWSET_VRCG_HWSET_VRCG_MRSMA                    Fld(13, 0) //[12:0]
    #define SHU_HWSET_VRCG_HWSET_VRCG_OP                       Fld(8, 16) //[23:16]
    #define SHU_HWSET_VRCG_VRCGDIS_PRDCNT                      Fld(8, 24) //[31:24]

#define DRAMC_REG_SHU_ACTIM0                                   (DRAMC_AO_BASE_ADDRESS + 0x1644)
    #define SHU_ACTIM0_TWTR                                    Fld(6, 0) //[5:0]
    #define SHU_ACTIM0_TWR                                     Fld(8, 8) //[15:8]
    #define SHU_ACTIM0_TRRD                                    Fld(3, 16) //[18:16]
    #define SHU_ACTIM0_TRCD                                    Fld(4, 24) //[27:24]
    #define SHU_ACTIM0_CKELCKCNT                               Fld(4, 28) //[31:28]

#define DRAMC_REG_SHU_ACTIM1                                   (DRAMC_AO_BASE_ADDRESS + 0x1648)
    #define SHU_ACTIM1_TRPAB                                   Fld(4, 0) //[3:0]
    #define SHU_ACTIM1_TMRWCKEL                                Fld(4, 4) //[7:4]
    #define SHU_ACTIM1_TRP                                     Fld(4, 8) //[11:8]
    #define SHU_ACTIM1_TRAS                                    Fld(6, 16) //[21:16]
    #define SHU_ACTIM1_TRC                                     Fld(5, 24) //[28:24]

#define DRAMC_REG_SHU_ACTIM2                                   (DRAMC_AO_BASE_ADDRESS + 0x164C)
    #define SHU_ACTIM2_TXP                                     Fld(4, 0) //[3:0]
    #define SHU_ACTIM2_TMRRI                                   Fld(5, 4) //[8:4]
    #define SHU_ACTIM2_TRTP                                    Fld(3, 12) //[14:12]
    #define SHU_ACTIM2_TR2W                                    Fld(6, 16) //[21:16]
    #define SHU_ACTIM2_TFAW                                    Fld(5, 24) //[28:24]

#define DRAMC_REG_SHU_ACTIM3                                   (DRAMC_AO_BASE_ADDRESS + 0x1650)
    #define SHU_ACTIM3_TRFCPB                                  Fld(8, 0) //[7:0]
    #define SHU_ACTIM3_MANTMRR                                 Fld(4, 8) //[11:8]
    #define SHU_ACTIM3_TR2MRR                                  Fld(4, 12) //[15:12]
    #define SHU_ACTIM3_TRFC                                    Fld(8, 16) //[23:16]
    #define SHU_ACTIM3_TWTR_L                                  Fld(6, 24) //[29:24]

#define DRAMC_REG_SHU_ACTIM4                                   (DRAMC_AO_BASE_ADDRESS + 0x1654)
    #define SHU_ACTIM4_TXREFCNT                                Fld(10, 0) //[9:0]
    #define SHU_ACTIM4_TMRR2MRW                                Fld(6, 10) //[15:10]
    #define SHU_ACTIM4_TMRR2W                                  Fld(6, 16) //[21:16]
    #define SHU_ACTIM4_TZQCS                                   Fld(8, 24) //[31:24]

#define DRAMC_REG_SHU_ACTIM5                                   (DRAMC_AO_BASE_ADDRESS + 0x1658)
    #define SHU_ACTIM5_TR2PD                                   Fld(7, 0) //[6:0]
    #define SHU_ACTIM5_TWTPD                                   Fld(7, 8) //[14:8]
    #define SHU_ACTIM5_TPBR2PBR                                Fld(8, 16) //[23:16]
    #define SHU_ACTIM5_TPBR2ACT                                Fld(2, 28) //[29:28]

#define DRAMC_REG_SHU_ACTIM6                                   (DRAMC_AO_BASE_ADDRESS + 0x165C)
    #define SHU_ACTIM6_TZQLAT2                                 Fld(5, 0) //[4:0]
    #define SHU_ACTIM6_TMRD                                    Fld(4, 8) //[11:8]
    #define SHU_ACTIM6_TMRW                                    Fld(4, 12) //[15:12]
    #define SHU_ACTIM6_TW2MRW                                  Fld(6, 20) //[25:20]
    #define SHU_ACTIM6_TR2MRW                                  Fld(6, 26) //[31:26]

#define DRAMC_REG_SHU_ACTIM_XRT                                (DRAMC_AO_BASE_ADDRESS + 0x1660)
    #define SHU_ACTIM_XRT_XRTR2R                               Fld(5, 0) //[4:0]
    #define SHU_ACTIM_XRT_XRTR2W                               Fld(6, 8) //[13:8]
    #define SHU_ACTIM_XRT_XRTW2R                               Fld(4, 16) //[19:16]
    #define SHU_ACTIM_XRT_XRTW2W                               Fld(5, 24) //[28:24]

#define DRAMC_REG_SHU_AC_TIME_05T                              (DRAMC_AO_BASE_ADDRESS + 0x1664)
    #define SHU_AC_TIME_05T_TRC_05T                            Fld(1, 0) //[0:0]
    #define SHU_AC_TIME_05T_TRFCPB_05T                         Fld(1, 1) //[1:1]
    #define SHU_AC_TIME_05T_TRFC_05T                           Fld(1, 2) //[2:2]
    #define SHU_AC_TIME_05T_TPBR2PBR_05T                       Fld(1, 3) //[3:3]
    #define SHU_AC_TIME_05T_TXP_05T                            Fld(1, 4) //[4:4]
    #define SHU_AC_TIME_05T_TRTP_05T                           Fld(1, 5) //[5:5]
    #define SHU_AC_TIME_05T_TRCD_05T                           Fld(1, 6) //[6:6]
    #define SHU_AC_TIME_05T_TRP_05T                            Fld(1, 7) //[7:7]
    #define SHU_AC_TIME_05T_TRPAB_05T                          Fld(1, 8) //[8:8]
    #define SHU_AC_TIME_05T_TRAS_05T                           Fld(1, 9) //[9:9]
    #define SHU_AC_TIME_05T_TWR_M05T                           Fld(1, 10) //[10:10]
    #define SHU_AC_TIME_05T_TRRD_05T                           Fld(1, 12) //[12:12]
    #define SHU_AC_TIME_05T_TFAW_05T                           Fld(1, 13) //[13:13]
    #define SHU_AC_TIME_05T_TCKEPRD_05T                        Fld(1, 14) //[14:14]
    #define SHU_AC_TIME_05T_TR2PD_05T                          Fld(1, 15) //[15:15]
    #define SHU_AC_TIME_05T_TWTPD_M05T                         Fld(1, 16) //[16:16]
    #define SHU_AC_TIME_05T_TMRRI_05T                          Fld(1, 17) //[17:17]
    #define SHU_AC_TIME_05T_TMRWCKEL_05T                       Fld(1, 18) //[18:18]
    #define SHU_AC_TIME_05T_BGTRRD_05T                         Fld(1, 19) //[19:19]
    #define SHU_AC_TIME_05T_BGTCCD_05T                         Fld(1, 20) //[20:20]
    #define SHU_AC_TIME_05T_BGTWTR_M05T                        Fld(1, 21) //[21:21]
    #define SHU_AC_TIME_05T_TR2W_05T                           Fld(1, 22) //[22:22]
    #define SHU_AC_TIME_05T_TWTR_M05T                          Fld(1, 23) //[23:23]
    #define SHU_AC_TIME_05T_XRTR2W_05T                         Fld(1, 24) //[24:24]
    #define SHU_AC_TIME_05T_TMRD_05T                           Fld(1, 25) //[25:25]
    #define SHU_AC_TIME_05T_TMRW_05T                           Fld(1, 26) //[26:26]
    #define SHU_AC_TIME_05T_TMRR2MRW_05T                       Fld(1, 27) //[27:27]
    #define SHU_AC_TIME_05T_TW2MRW_05T                         Fld(1, 28) //[28:28]
    #define SHU_AC_TIME_05T_TR2MRW_05T                         Fld(1, 29) //[29:29]
    #define SHU_AC_TIME_05T_TPBR2ACT_05T                       Fld(1, 30) //[30:30]
    #define SHU_AC_TIME_05T_XRTW2R_M05T                        Fld(1, 31) //[31:31]

#define DRAMC_REG_SHU_AC_DERATING0                             (DRAMC_AO_BASE_ADDRESS + 0x1668)
    #define SHU_AC_DERATING0_ACDERATEEN                        Fld(1, 0) //[0:0]
    #define SHU_AC_DERATING0_TRRD_DERATE                       Fld(3, 16) //[18:16]
    #define SHU_AC_DERATING0_TRCD_DERATE                       Fld(4, 24) //[27:24]

#define DRAMC_REG_SHU_AC_DERATING1                             (DRAMC_AO_BASE_ADDRESS + 0x166C)
    #define SHU_AC_DERATING1_TRPAB_DERATE                      Fld(4, 0) //[3:0]
    #define SHU_AC_DERATING1_TRP_DERATE                        Fld(4, 8) //[11:8]
    #define SHU_AC_DERATING1_TRAS_DERATE                       Fld(6, 16) //[21:16]
    #define SHU_AC_DERATING1_TRC_DERATE                        Fld(5, 24) //[28:24]

#define DRAMC_REG_SHU_AC_DERATING_05T                          (DRAMC_AO_BASE_ADDRESS + 0x1670)
    #define SHU_AC_DERATING_05T_TRC_05T_DERATE                 Fld(1, 0) //[0:0]
    #define SHU_AC_DERATING_05T_TRCD_05T_DERATE                Fld(1, 6) //[6:6]
    #define SHU_AC_DERATING_05T_TRP_05T_DERATE                 Fld(1, 7) //[7:7]
    #define SHU_AC_DERATING_05T_TRPAB_05T_DERATE               Fld(1, 8) //[8:8]
    #define SHU_AC_DERATING_05T_TRAS_05T_DERATE                Fld(1, 9) //[9:9]
    #define SHU_AC_DERATING_05T_TRRD_05T_DERATE                Fld(1, 12) //[12:12]

#define DRAMC_REG_SHU_ACTIMING_CONF                            (DRAMC_AO_BASE_ADDRESS + 0x1674)
    #define SHU_ACTIMING_CONF_SCINTV                           Fld(6, 0) //[5:0]
    #define SHU_ACTIMING_CONF_TRFCPBIG                         Fld(1, 8) //[8:8]
    #define SHU_ACTIMING_CONF_REFBW_FR                         Fld(10, 16) //[25:16]
    #define SHU_ACTIMING_CONF_TREFBWIG                         Fld(1, 31) //[31:31]

#define DRAMC_REG_SHU_CKECTRL                                  (DRAMC_AO_BASE_ADDRESS + 0x1678)
    #define SHU_CKECTRL_TPDE_05T                               Fld(1, 0) //[0:0]
    #define SHU_CKECTRL_TPDX_05T                               Fld(1, 1) //[1:1]
    #define SHU_CKECTRL_TPDE                                   Fld(3, 12) //[14:12]
    #define SHU_CKECTRL_TPDX                                   Fld(3, 16) //[18:16]
    #define SHU_CKECTRL_TCKEPRD                                Fld(3, 20) //[22:20]
    #define SHU_CKECTRL_TCKESRX                                Fld(2, 24) //[25:24]

#define DRAMC_REG_SHU_SELPH_DQS0                               (DRAMC_AO_BASE_ADDRESS + 0x167C)
    #define SHU_SELPH_DQS0_TXDLY_DQS0                          Fld(3, 0) //[2:0]
    #define SHU_SELPH_DQS0_TXDLY_DQS1                          Fld(3, 4) //[6:4]
    #define SHU_SELPH_DQS0_TXDLY_DQS2                          Fld(3, 8) //[10:8]
    #define SHU_SELPH_DQS0_TXDLY_DQS3                          Fld(3, 12) //[14:12]
    #define SHU_SELPH_DQS0_TXDLY_OEN_DQS0                      Fld(3, 16) //[18:16]
    #define SHU_SELPH_DQS0_TXDLY_OEN_DQS1                      Fld(3, 20) //[22:20]
    #define SHU_SELPH_DQS0_TXDLY_OEN_DQS2                      Fld(3, 24) //[26:24]
    #define SHU_SELPH_DQS0_TXDLY_OEN_DQS3                      Fld(3, 28) //[30:28]

#define DRAMC_REG_SHU_SELPH_DQS1                               (DRAMC_AO_BASE_ADDRESS + 0x1680)
    #define SHU_SELPH_DQS1_DLY_DQS0                            Fld(4, 0) //[3:0]
    #define SHU_SELPH_DQS1_DLY_DQS1                            Fld(4, 4) //[7:4]
    #define SHU_SELPH_DQS1_DLY_DQS2                            Fld(4, 8) //[11:8]
    #define SHU_SELPH_DQS1_DLY_DQS3                            Fld(4, 12) //[15:12]
    #define SHU_SELPH_DQS1_DLY_OEN_DQS0                        Fld(4, 16) //[19:16]
    #define SHU_SELPH_DQS1_DLY_OEN_DQS1                        Fld(4, 20) //[23:20]
    #define SHU_SELPH_DQS1_DLY_OEN_DQS2                        Fld(4, 24) //[27:24]
    #define SHU_SELPH_DQS1_DLY_OEN_DQS3                        Fld(4, 28) //[31:28]

#define DRAMC_REG_SHU_WODT                                     (DRAMC_AO_BASE_ADDRESS + 0x1684)
    #define SHU_WODT_DISWODT                                   Fld(3, 0) //[2:0]
    #define SHU_WODT_WODTFIX                                   Fld(1, 3) //[3:3]
    #define SHU_WODT_WODTFIXOFF                                Fld(1, 4) //[4:4]
    #define SHU_WODT_DISWODTE                                  Fld(1, 5) //[5:5]
    #define SHU_WODT_DISWODTE2                                 Fld(1, 6) //[6:6]
    #define SHU_WODT_WODTPDEN                                  Fld(1, 7) //[7:7]
    #define SHU_WODT_WOEN                                      Fld(1, 8) //[8:8]
    #define SHU_WODT_DQS2DQ_WARN_PITHRD                        Fld(6, 9) //[14:9]
    #define SHU_WODT_TWODT                                     Fld(7, 16) //[22:16]

#define DRAMC_REG_SHU_TX_SET0                                  (DRAMC_AO_BASE_ADDRESS + 0x1688)
    #define SHU_TX_SET0_DQOE_CNT                               Fld(4, 0) //[3:0]
    #define SHU_TX_SET0_DQOE_OPT                               Fld(1, 4) //[4:4]
    #define SHU_TX_SET0_WR_NEW_OPT                             Fld(1, 5) //[5:5]
    #define SHU_TX_SET0_TXUPD_SEL                              Fld(2, 6) //[7:6]
    #define SHU_TX_SET0_TXUPD_W2R_SEL                          Fld(3, 8) //[10:8]
    #define SHU_TX_SET0_WECC_EN                                Fld(1, 11) //[11:11]
    #define SHU_TX_SET0_DBIWR                                  Fld(1, 12) //[12:12]
    #define SHU_TX_SET0_WDATRGO                                Fld(1, 13) //[13:13]
    #define SHU_TX_SET0_TXUPD_W2R_OPT                          Fld(1, 14) //[14:14]
    #define SHU_TX_SET0_WPST1P5T                               Fld(1, 15) //[15:15]
    #define SHU_TX_SET0_TXOEN_AUTOSET_OFFSET                   Fld(4, 16) //[19:16]
    #define SHU_TX_SET0_TWCKPST                                Fld(2, 20) //[21:20]
    #define SHU_TX_SET0_OE_EXT2UI                              Fld(3, 22) //[24:22]
    #define SHU_TX_SET0_DQS2DQ_FILT_PITHRD                     Fld(6, 25) //[30:25]
    #define SHU_TX_SET0_TXOEN_AUTOSET_EN                       Fld(1, 31) //[31:31]

#define DRAMC_REG_SHU_RX_CG_SET0                               (DRAMC_AO_BASE_ADDRESS + 0x168C)
    #define SHU_RX_CG_SET0_DLE_LAST_EXTEND3                    Fld(1, 0) //[0:0]
    #define SHU_RX_CG_SET0_READ_START_EXTEND3                  Fld(1, 1) //[1:1]
    #define SHU_RX_CG_SET0_DLE_LAST_EXTEND2                    Fld(1, 2) //[2:2]
    #define SHU_RX_CG_SET0_READ_START_EXTEND2                  Fld(1, 3) //[3:3]
    #define SHU_RX_CG_SET0_DLE_LAST_EXTEND1                    Fld(1, 4) //[4:4]
    #define SHU_RX_CG_SET0_READ_START_EXTEND1                  Fld(1, 5) //[5:5]

#define DRAMC_REG_SHU_DQSOSC_SET0                              (DRAMC_AO_BASE_ADDRESS + 0x1690)
    #define SHU_DQSOSC_SET0_DQSOSCENDIS                        Fld(1, 0) //[0:0]
    #define SHU_DQSOSC_SET0_DQSOSC_PRDCNT                      Fld(10, 4) //[13:4]
    #define SHU_DQSOSC_SET0_DQSOSCENCNT                        Fld(16, 16) //[31:16]

#define DRAMC_REG_SHU_DQSOSCR                                  (DRAMC_AO_BASE_ADDRESS + 0x1694)
    #define SHU_DQSOSCR_DQSOSCRCNT                             Fld(8, 0) //[7:0]
    #define SHU_DQSOSCR_DQSOSC_ADV_SEL                         Fld(2, 8) //[9:8]
    #define SHU_DQSOSCR_DQSOSC_DRS_ADV_SEL                     Fld(2, 10) //[11:10]
    #define SHU_DQSOSCR_TX_SW_FORCE_UPD_SEL                    Fld(3, 12) //[14:12]
    #define SHU_DQSOSCR_DQSOSC_DELTA                           Fld(16, 16) //[31:16]

#define DRAMC_REG_SHU_TX_RANKCTL                               (DRAMC_AO_BASE_ADDRESS + 0x1698)
    #define SHU_TX_RANKCTL_TXRANKINCTL_TXDLY                   Fld(4, 0) //[3:0]
    #define SHU_TX_RANKCTL_TXRANKINCTL                         Fld(4, 4) //[7:4]
    #define SHU_TX_RANKCTL_TXRANKINCTL_ROOT                    Fld(4, 8) //[11:8]

#define DRAMC_REG_SHU_ZQ_SET0                                  (DRAMC_AO_BASE_ADDRESS + 0x169C)
    #define SHU_ZQ_SET0_ZQCSCNT                                Fld(16, 0) //[15:0]
    #define SHU_ZQ_SET0_TZQLAT                                 Fld(5, 27) //[31:27]

#define DRAMC_REG_SHU_CONF0                                    (DRAMC_AO_BASE_ADDRESS + 0x16A0)
    #define SHU_CONF0_DMPGTIM                                  Fld(7, 0) //[6:0]
    #define SHU_CONF0_ADVPREEN                                 Fld(1, 7) //[7:7]
    #define SHU_CONF0_PBREFEN                                  Fld(1, 8) //[8:8]
    #define SHU_CONF0_REFTHD                                   Fld(4, 12) //[15:12]
    #define SHU_CONF0_REQQUE_DEPTH                             Fld(4, 16) //[19:16]
    #define SHU_CONF0_ADVREFEN                                 Fld(1, 31) //[31:31]

#define DRAMC_REG_SHU_MISC                                     (DRAMC_AO_BASE_ADDRESS + 0x16A4)
    #define SHU_MISC_REQQUE_MAXCNT                             Fld(4, 0) //[3:0]
    #define SHU_MISC_DCMDLYREF                                 Fld(3, 16) //[18:16]
    #define SHU_MISC_DAREFEN                                   Fld(1, 30) //[30:30]

#define DRAMC_REG_SHU_NEW_XRW2W_CTRL                           (DRAMC_AO_BASE_ADDRESS + 0x16A8)
    #define SHU_NEW_XRW2W_CTRL_TX_PI_UPDCTL_B0                 Fld(3, 16) //[18:16]
    #define SHU_NEW_XRW2W_CTRL_TX_PI_UPDCTL_B1                 Fld(3, 24) //[26:24]
    #define SHU_NEW_XRW2W_CTRL_TXPI_UPD_MODE                   Fld(1, 31) //[31:31]

#define DRAMC_REG_SHU_APHY_TX_PICG_CTRL                        (DRAMC_AO_BASE_ADDRESS + 0x16AC)
    #define SHU_APHY_TX_PICG_CTRL_DDRPHY_CLK_EN_COMB_TX_PICG_CNT Fld(4, 0) //[3:0]
    #define SHU_APHY_TX_PICG_CTRL_DDRPHY_CLK_EN_COMB_TX_DQS_SEL_P1 Fld(3, 4) //[6:4]
    #define SHU_APHY_TX_PICG_CTRL_DDRPHY_CLK_EN_COMB_TX_DQS_SEL_P0 Fld(3, 8) //[10:8]
    #define SHU_APHY_TX_PICG_CTRL_DPHY_TX_DCM_EXTCNT           Fld(4, 12) //[15:12]
    #define SHU_APHY_TX_PICG_CTRL_DDRPHY_CLK_EN_COMB_TX_OPT    Fld(1, 31) //[31:31]

#define DRAMC_REG_SHU_FREQ_RATIO_SET0                          (DRAMC_AO_BASE_ADDRESS + 0x16B0)
    #define SHU_FREQ_RATIO_SET0_TDQSCK_JUMP_RATIO3             Fld(8, 0) //[7:0]
    #define SHU_FREQ_RATIO_SET0_TDQSCK_JUMP_RATIO2             Fld(8, 8) //[15:8]
    #define SHU_FREQ_RATIO_SET0_TDQSCK_JUMP_RATIO1             Fld(8, 16) //[23:16]
    #define SHU_FREQ_RATIO_SET0_TDQSCK_JUMP_RATIO0             Fld(8, 24) //[31:24]

#define DRAMC_REG_SHU_FREQ_RATIO_SET1                          (DRAMC_AO_BASE_ADDRESS + 0x16B4)
    #define SHU_FREQ_RATIO_SET1_TDQSCK_JUMP_RATIO7             Fld(8, 0) //[7:0]
    #define SHU_FREQ_RATIO_SET1_TDQSCK_JUMP_RATIO6             Fld(8, 8) //[15:8]
    #define SHU_FREQ_RATIO_SET1_TDQSCK_JUMP_RATIO5             Fld(8, 16) //[23:16]
    #define SHU_FREQ_RATIO_SET1_TDQSCK_JUMP_RATIO4             Fld(8, 24) //[31:24]

#define DRAMC_REG_SHU_FREQ_RATIO_SET2                          (DRAMC_AO_BASE_ADDRESS + 0x16B8)
    #define SHU_FREQ_RATIO_SET2_TDQSCK_JUMP_RATIO9             Fld(8, 16) //[23:16]
    #define SHU_FREQ_RATIO_SET2_TDQSCK_JUMP_RATIO8             Fld(8, 24) //[31:24]

#define DRAMC_REG_SHUREG_RSV                                   (DRAMC_AO_BASE_ADDRESS + 0x16BC)
    #define SHUREG_RSV_SHUREG_RSV                              Fld(32, 0) //[31:0]

#define DRAMC_REG_SHU_WCKCTRL                                  (DRAMC_AO_BASE_ADDRESS + 0x16C0)
    #define SHU_WCKCTRL_WCKRDOFF                               Fld(6, 0) //[5:0]
    #define SHU_WCKCTRL_WCKRDOFF_05T                           Fld(1, 7) //[7:7]
    #define SHU_WCKCTRL_WCKWROFF                               Fld(6, 8) //[13:8]
    #define SHU_WCKCTRL_WCKWROFF_05T                           Fld(1, 15) //[15:15]
    #define SHU_WCKCTRL_WCKDUAL                                Fld(1, 16) //[16:16]

#define DRAMC_REG_SHU_WCKCTRL_1                                (DRAMC_AO_BASE_ADDRESS + 0x16C4)
    #define SHU_WCKCTRL_1_WCKSYNC_PRE_MODE                     Fld(1, 0) //[0:0]

#define DRAMC_REG_SHU_RX_SET0                                  (DRAMC_AO_BASE_ADDRESS + 0x16D0)
    #define SHU_RX_SET0_RECC_EN                                Fld(1, 31) //[31:31]

#define DRAMC_REG_SHU_REF0                                     (DRAMC_AO_BASE_ADDRESS + 0x16D4)
    #define SHU_REF0_MPENDREF_CNT                              Fld(3, 0) //[2:0]

#define DRAMC_REG_SHU_LP5_CMD                                  (DRAMC_AO_BASE_ADDRESS + 0x16E0)
    #define SHU_LP5_CMD_LP5_CMD1TO2EN                          Fld(1, 0) //[0:0]
    #define SHU_LP5_CMD_TCSH                                   Fld(4, 4) //[7:4]

#define DRAMC_REG_SHU_LP5_SACT                                 (DRAMC_AO_BASE_ADDRESS + 0x16E4)
    #define SHU_LP5_SACT_LP5_SEPARATE_ACT                      Fld(1, 0) //[0:0]

#define DRAMC_REG_SHU_ACTIM7                                   (DRAMC_AO_BASE_ADDRESS + 0x16E8)
    #define SHU_ACTIM7_TCSH_CSCAL                              Fld(4, 0) //[3:0]
    #define SHU_ACTIM7_TCACSH                                  Fld(4, 4) //[7:4]

#endif // __DRAMC_AO_REGS_H__