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
|
/**
* Copyright (c) 2021 Raspberry Pi (Trading) Ltd.
*
* SPDX-License-Identifier: BSD-3-Clause
*/
// =============================================================================
// Register block : M0PLUS
// Version : 1
// Bus type : ahbl
// Description : None
// =============================================================================
#ifndef HARDWARE_REGS_M0PLUS_DEFINED
#define HARDWARE_REGS_M0PLUS_DEFINED
// =============================================================================
// Register : M0PLUS_SYST_CSR
// Description : Use the SysTick Control and Status Register to enable the
// SysTick features.
#define M0PLUS_SYST_CSR_OFFSET _u(0x0000e010)
#define M0PLUS_SYST_CSR_BITS _u(0x00010007)
#define M0PLUS_SYST_CSR_RESET _u(0x00000000)
// -----------------------------------------------------------------------------
// Field : M0PLUS_SYST_CSR_COUNTFLAG
// Description : Returns 1 if timer counted to 0 since last time this was read.
// Clears on read by application or debugger.
#define M0PLUS_SYST_CSR_COUNTFLAG_RESET _u(0x0)
#define M0PLUS_SYST_CSR_COUNTFLAG_BITS _u(0x00010000)
#define M0PLUS_SYST_CSR_COUNTFLAG_MSB _u(16)
#define M0PLUS_SYST_CSR_COUNTFLAG_LSB _u(16)
#define M0PLUS_SYST_CSR_COUNTFLAG_ACCESS "RO"
// -----------------------------------------------------------------------------
// Field : M0PLUS_SYST_CSR_CLKSOURCE
// Description : SysTick clock source. Always reads as one if SYST_CALIB reports
// NOREF.
// Selects the SysTick timer clock source:
// 0 = External reference clock.
// 1 = Processor clock.
#define M0PLUS_SYST_CSR_CLKSOURCE_RESET _u(0x0)
#define M0PLUS_SYST_CSR_CLKSOURCE_BITS _u(0x00000004)
#define M0PLUS_SYST_CSR_CLKSOURCE_MSB _u(2)
#define M0PLUS_SYST_CSR_CLKSOURCE_LSB _u(2)
#define M0PLUS_SYST_CSR_CLKSOURCE_ACCESS "RW"
// -----------------------------------------------------------------------------
// Field : M0PLUS_SYST_CSR_TICKINT
// Description : Enables SysTick exception request:
// 0 = Counting down to zero does not assert the SysTick exception
// request.
// 1 = Counting down to zero to asserts the SysTick exception
// request.
#define M0PLUS_SYST_CSR_TICKINT_RESET _u(0x0)
#define M0PLUS_SYST_CSR_TICKINT_BITS _u(0x00000002)
#define M0PLUS_SYST_CSR_TICKINT_MSB _u(1)
#define M0PLUS_SYST_CSR_TICKINT_LSB _u(1)
#define M0PLUS_SYST_CSR_TICKINT_ACCESS "RW"
// -----------------------------------------------------------------------------
// Field : M0PLUS_SYST_CSR_ENABLE
// Description : Enable SysTick counter:
// 0 = Counter disabled.
// 1 = Counter enabled.
#define M0PLUS_SYST_CSR_ENABLE_RESET _u(0x0)
#define M0PLUS_SYST_CSR_ENABLE_BITS _u(0x00000001)
#define M0PLUS_SYST_CSR_ENABLE_MSB _u(0)
#define M0PLUS_SYST_CSR_ENABLE_LSB _u(0)
#define M0PLUS_SYST_CSR_ENABLE_ACCESS "RW"
// =============================================================================
// Register : M0PLUS_SYST_RVR
// Description : Use the SysTick Reload Value Register to specify the start
// value to load into the current value register when the counter
// reaches 0. It can be any value between 0 and 0x00FFFFFF. A
// start value of 0 is possible, but has no effect because the
// SysTick interrupt and COUNTFLAG are activated when counting
// from 1 to 0. The reset value of this register is UNKNOWN.
// To generate a multi-shot timer with a period of N processor
// clock cycles, use a RELOAD value of N-1. For example, if the
// SysTick interrupt is required every 100 clock pulses, set
// RELOAD to 99.
#define M0PLUS_SYST_RVR_OFFSET _u(0x0000e014)
#define M0PLUS_SYST_RVR_BITS _u(0x00ffffff)
#define M0PLUS_SYST_RVR_RESET _u(0x00000000)
// -----------------------------------------------------------------------------
// Field : M0PLUS_SYST_RVR_RELOAD
// Description : Value to load into the SysTick Current Value Register when the
// counter reaches 0.
#define M0PLUS_SYST_RVR_RELOAD_RESET _u(0x000000)
#define M0PLUS_SYST_RVR_RELOAD_BITS _u(0x00ffffff)
#define M0PLUS_SYST_RVR_RELOAD_MSB _u(23)
#define M0PLUS_SYST_RVR_RELOAD_LSB _u(0)
#define M0PLUS_SYST_RVR_RELOAD_ACCESS "RW"
// =============================================================================
// Register : M0PLUS_SYST_CVR
// Description : Use the SysTick Current Value Register to find the current
// value in the register. The reset value of this register is
// UNKNOWN.
#define M0PLUS_SYST_CVR_OFFSET _u(0x0000e018)
#define M0PLUS_SYST_CVR_BITS _u(0x00ffffff)
#define M0PLUS_SYST_CVR_RESET _u(0x00000000)
// -----------------------------------------------------------------------------
// Field : M0PLUS_SYST_CVR_CURRENT
// Description : Reads return the current value of the SysTick counter. This
// register is write-clear. Writing to it with any value clears
// the register to 0. Clearing this register also clears the
// COUNTFLAG bit of the SysTick Control and Status Register.
#define M0PLUS_SYST_CVR_CURRENT_RESET _u(0x000000)
#define M0PLUS_SYST_CVR_CURRENT_BITS _u(0x00ffffff)
#define M0PLUS_SYST_CVR_CURRENT_MSB _u(23)
#define M0PLUS_SYST_CVR_CURRENT_LSB _u(0)
#define M0PLUS_SYST_CVR_CURRENT_ACCESS "RW"
// =============================================================================
// Register : M0PLUS_SYST_CALIB
// Description : Use the SysTick Calibration Value Register to enable software
// to scale to any required speed using divide and multiply.
#define M0PLUS_SYST_CALIB_OFFSET _u(0x0000e01c)
#define M0PLUS_SYST_CALIB_BITS _u(0xc0ffffff)
#define M0PLUS_SYST_CALIB_RESET _u(0x00000000)
// -----------------------------------------------------------------------------
// Field : M0PLUS_SYST_CALIB_NOREF
// Description : If reads as 1, the Reference clock is not provided - the
// CLKSOURCE bit of the SysTick Control and Status register will
// be forced to 1 and cannot be cleared to 0.
#define M0PLUS_SYST_CALIB_NOREF_RESET _u(0x0)
#define M0PLUS_SYST_CALIB_NOREF_BITS _u(0x80000000)
#define M0PLUS_SYST_CALIB_NOREF_MSB _u(31)
#define M0PLUS_SYST_CALIB_NOREF_LSB _u(31)
#define M0PLUS_SYST_CALIB_NOREF_ACCESS "RO"
// -----------------------------------------------------------------------------
// Field : M0PLUS_SYST_CALIB_SKEW
// Description : If reads as 1, the calibration value for 10ms is inexact (due
// to clock frequency).
#define M0PLUS_SYST_CALIB_SKEW_RESET _u(0x0)
#define M0PLUS_SYST_CALIB_SKEW_BITS _u(0x40000000)
#define M0PLUS_SYST_CALIB_SKEW_MSB _u(30)
#define M0PLUS_SYST_CALIB_SKEW_LSB _u(30)
#define M0PLUS_SYST_CALIB_SKEW_ACCESS "RO"
// -----------------------------------------------------------------------------
// Field : M0PLUS_SYST_CALIB_TENMS
// Description : An optional Reload value to be used for 10ms (100Hz) timing,
// subject to system clock skew errors. If the value reads as 0,
// the calibration value is not known.
#define M0PLUS_SYST_CALIB_TENMS_RESET _u(0x000000)
#define M0PLUS_SYST_CALIB_TENMS_BITS _u(0x00ffffff)
#define M0PLUS_SYST_CALIB_TENMS_MSB _u(23)
#define M0PLUS_SYST_CALIB_TENMS_LSB _u(0)
#define M0PLUS_SYST_CALIB_TENMS_ACCESS "RO"
// =============================================================================
// Register : M0PLUS_NVIC_ISER
// Description : Use the Interrupt Set-Enable Register to enable interrupts and
// determine which interrupts are currently enabled.
// If a pending interrupt is enabled, the NVIC activates the
// interrupt based on its priority. If an interrupt is not
// enabled, asserting its interrupt signal changes the interrupt
// state to pending, but the NVIC never activates the interrupt,
// regardless of its priority.
#define M0PLUS_NVIC_ISER_OFFSET _u(0x0000e100)
#define M0PLUS_NVIC_ISER_BITS _u(0xffffffff)
#define M0PLUS_NVIC_ISER_RESET _u(0x00000000)
// -----------------------------------------------------------------------------
// Field : M0PLUS_NVIC_ISER_SETENA
// Description : Interrupt set-enable bits.
// Write:
// 0 = No effect.
// 1 = Enable interrupt.
// Read:
// 0 = Interrupt disabled.
// 1 = Interrupt enabled.
#define M0PLUS_NVIC_ISER_SETENA_RESET _u(0x00000000)
#define M0PLUS_NVIC_ISER_SETENA_BITS _u(0xffffffff)
#define M0PLUS_NVIC_ISER_SETENA_MSB _u(31)
#define M0PLUS_NVIC_ISER_SETENA_LSB _u(0)
#define M0PLUS_NVIC_ISER_SETENA_ACCESS "RW"
// =============================================================================
// Register : M0PLUS_NVIC_ICER
// Description : Use the Interrupt Clear-Enable Registers to disable interrupts
// and determine which interrupts are currently enabled.
#define M0PLUS_NVIC_ICER_OFFSET _u(0x0000e180)
#define M0PLUS_NVIC_ICER_BITS _u(0xffffffff)
#define M0PLUS_NVIC_ICER_RESET _u(0x00000000)
// -----------------------------------------------------------------------------
// Field : M0PLUS_NVIC_ICER_CLRENA
// Description : Interrupt clear-enable bits.
// Write:
// 0 = No effect.
// 1 = Disable interrupt.
// Read:
// 0 = Interrupt disabled.
// 1 = Interrupt enabled.
#define M0PLUS_NVIC_ICER_CLRENA_RESET _u(0x00000000)
#define M0PLUS_NVIC_ICER_CLRENA_BITS _u(0xffffffff)
#define M0PLUS_NVIC_ICER_CLRENA_MSB _u(31)
#define M0PLUS_NVIC_ICER_CLRENA_LSB _u(0)
#define M0PLUS_NVIC_ICER_CLRENA_ACCESS "RW"
// =============================================================================
// Register : M0PLUS_NVIC_ISPR
// Description : The NVIC_ISPR forces interrupts into the pending state, and
// shows which interrupts are pending.
#define M0PLUS_NVIC_ISPR_OFFSET _u(0x0000e200)
#define M0PLUS_NVIC_ISPR_BITS _u(0xffffffff)
#define M0PLUS_NVIC_ISPR_RESET _u(0x00000000)
// -----------------------------------------------------------------------------
// Field : M0PLUS_NVIC_ISPR_SETPEND
// Description : Interrupt set-pending bits.
// Write:
// 0 = No effect.
// 1 = Changes interrupt state to pending.
// Read:
// 0 = Interrupt is not pending.
// 1 = Interrupt is pending.
// Note: Writing 1 to the NVIC_ISPR bit corresponding to:
// An interrupt that is pending has no effect.
// A disabled interrupt sets the state of that interrupt to
// pending.
#define M0PLUS_NVIC_ISPR_SETPEND_RESET _u(0x00000000)
#define M0PLUS_NVIC_ISPR_SETPEND_BITS _u(0xffffffff)
#define M0PLUS_NVIC_ISPR_SETPEND_MSB _u(31)
#define M0PLUS_NVIC_ISPR_SETPEND_LSB _u(0)
#define M0PLUS_NVIC_ISPR_SETPEND_ACCESS "RW"
// =============================================================================
// Register : M0PLUS_NVIC_ICPR
// Description : Use the Interrupt Clear-Pending Register to clear pending
// interrupts and determine which interrupts are currently
// pending.
#define M0PLUS_NVIC_ICPR_OFFSET _u(0x0000e280)
#define M0PLUS_NVIC_ICPR_BITS _u(0xffffffff)
#define M0PLUS_NVIC_ICPR_RESET _u(0x00000000)
// -----------------------------------------------------------------------------
// Field : M0PLUS_NVIC_ICPR_CLRPEND
// Description : Interrupt clear-pending bits.
// Write:
// 0 = No effect.
// 1 = Removes pending state and interrupt.
// Read:
// 0 = Interrupt is not pending.
// 1 = Interrupt is pending.
#define M0PLUS_NVIC_ICPR_CLRPEND_RESET _u(0x00000000)
#define M0PLUS_NVIC_ICPR_CLRPEND_BITS _u(0xffffffff)
#define M0PLUS_NVIC_ICPR_CLRPEND_MSB _u(31)
#define M0PLUS_NVIC_ICPR_CLRPEND_LSB _u(0)
#define M0PLUS_NVIC_ICPR_CLRPEND_ACCESS "RW"
// =============================================================================
// Register : M0PLUS_NVIC_IPR0
// Description : Use the Interrupt Priority Registers to assign a priority from
// 0 to 3 to each of the available interrupts. 0 is the highest
// priority, and 3 is the lowest.
// Note: Writing 1 to an NVIC_ICPR bit does not affect the active
// state of the corresponding interrupt.
// These registers are only word-accessible
#define M0PLUS_NVIC_IPR0_OFFSET _u(0x0000e400)
#define M0PLUS_NVIC_IPR0_BITS _u(0xc0c0c0c0)
#define M0PLUS_NVIC_IPR0_RESET _u(0x00000000)
// -----------------------------------------------------------------------------
// Field : M0PLUS_NVIC_IPR0_IP_3
// Description : Priority of interrupt 3
#define M0PLUS_NVIC_IPR0_IP_3_RESET _u(0x0)
#define M0PLUS_NVIC_IPR0_IP_3_BITS _u(0xc0000000)
#define M0PLUS_NVIC_IPR0_IP_3_MSB _u(31)
#define M0PLUS_NVIC_IPR0_IP_3_LSB _u(30)
#define M0PLUS_NVIC_IPR0_IP_3_ACCESS "RW"
// -----------------------------------------------------------------------------
// Field : M0PLUS_NVIC_IPR0_IP_2
// Description : Priority of interrupt 2
#define M0PLUS_NVIC_IPR0_IP_2_RESET _u(0x0)
#define M0PLUS_NVIC_IPR0_IP_2_BITS _u(0x00c00000)
#define M0PLUS_NVIC_IPR0_IP_2_MSB _u(23)
#define M0PLUS_NVIC_IPR0_IP_2_LSB _u(22)
#define M0PLUS_NVIC_IPR0_IP_2_ACCESS "RW"
// -----------------------------------------------------------------------------
// Field : M0PLUS_NVIC_IPR0_IP_1
// Description : Priority of interrupt 1
#define M0PLUS_NVIC_IPR0_IP_1_RESET _u(0x0)
#define M0PLUS_NVIC_IPR0_IP_1_BITS _u(0x0000c000)
#define M0PLUS_NVIC_IPR0_IP_1_MSB _u(15)
#define M0PLUS_NVIC_IPR0_IP_1_LSB _u(14)
#define M0PLUS_NVIC_IPR0_IP_1_ACCESS "RW"
// -----------------------------------------------------------------------------
// Field : M0PLUS_NVIC_IPR0_IP_0
// Description : Priority of interrupt 0
#define M0PLUS_NVIC_IPR0_IP_0_RESET _u(0x0)
#define M0PLUS_NVIC_IPR0_IP_0_BITS _u(0x000000c0)
#define M0PLUS_NVIC_IPR0_IP_0_MSB _u(7)
#define M0PLUS_NVIC_IPR0_IP_0_LSB _u(6)
#define M0PLUS_NVIC_IPR0_IP_0_ACCESS "RW"
// =============================================================================
// Register : M0PLUS_NVIC_IPR1
// Description : Use the Interrupt Priority Registers to assign a priority from
// 0 to 3 to each of the available interrupts. 0 is the highest
// priority, and 3 is the lowest.
#define M0PLUS_NVIC_IPR1_OFFSET _u(0x0000e404)
#define M0PLUS_NVIC_IPR1_BITS _u(0xc0c0c0c0)
#define M0PLUS_NVIC_IPR1_RESET _u(0x00000000)
// -----------------------------------------------------------------------------
// Field : M0PLUS_NVIC_IPR1_IP_7
// Description : Priority of interrupt 7
#define M0PLUS_NVIC_IPR1_IP_7_RESET _u(0x0)
#define M0PLUS_NVIC_IPR1_IP_7_BITS _u(0xc0000000)
#define M0PLUS_NVIC_IPR1_IP_7_MSB _u(31)
#define M0PLUS_NVIC_IPR1_IP_7_LSB _u(30)
#define M0PLUS_NVIC_IPR1_IP_7_ACCESS "RW"
// -----------------------------------------------------------------------------
// Field : M0PLUS_NVIC_IPR1_IP_6
// Description : Priority of interrupt 6
#define M0PLUS_NVIC_IPR1_IP_6_RESET _u(0x0)
#define M0PLUS_NVIC_IPR1_IP_6_BITS _u(0x00c00000)
#define M0PLUS_NVIC_IPR1_IP_6_MSB _u(23)
#define M0PLUS_NVIC_IPR1_IP_6_LSB _u(22)
#define M0PLUS_NVIC_IPR1_IP_6_ACCESS "RW"
// -----------------------------------------------------------------------------
// Field : M0PLUS_NVIC_IPR1_IP_5
// Description : Priority of interrupt 5
#define M0PLUS_NVIC_IPR1_IP_5_RESET _u(0x0)
#define M0PLUS_NVIC_IPR1_IP_5_BITS _u(0x0000c000)
#define M0PLUS_NVIC_IPR1_IP_5_MSB _u(15)
#define M0PLUS_NVIC_IPR1_IP_5_LSB _u(14)
#define M0PLUS_NVIC_IPR1_IP_5_ACCESS "RW"
// -----------------------------------------------------------------------------
// Field : M0PLUS_NVIC_IPR1_IP_4
// Description : Priority of interrupt 4
#define M0PLUS_NVIC_IPR1_IP_4_RESET _u(0x0)
#define M0PLUS_NVIC_IPR1_IP_4_BITS _u(0x000000c0)
#define M0PLUS_NVIC_IPR1_IP_4_MSB _u(7)
#define M0PLUS_NVIC_IPR1_IP_4_LSB _u(6)
#define M0PLUS_NVIC_IPR1_IP_4_ACCESS "RW"
// =============================================================================
// Register : M0PLUS_NVIC_IPR2
// Description : Use the Interrupt Priority Registers to assign a priority from
// 0 to 3 to each of the available interrupts. 0 is the highest
// priority, and 3 is the lowest.
#define M0PLUS_NVIC_IPR2_OFFSET _u(0x0000e408)
#define M0PLUS_NVIC_IPR2_BITS _u(0xc0c0c0c0)
#define M0PLUS_NVIC_IPR2_RESET _u(0x00000000)
// -----------------------------------------------------------------------------
// Field : M0PLUS_NVIC_IPR2_IP_11
// Description : Priority of interrupt 11
#define M0PLUS_NVIC_IPR2_IP_11_RESET _u(0x0)
#define M0PLUS_NVIC_IPR2_IP_11_BITS _u(0xc0000000)
#define M0PLUS_NVIC_IPR2_IP_11_MSB _u(31)
#define M0PLUS_NVIC_IPR2_IP_11_LSB _u(30)
#define M0PLUS_NVIC_IPR2_IP_11_ACCESS "RW"
// -----------------------------------------------------------------------------
// Field : M0PLUS_NVIC_IPR2_IP_10
// Description : Priority of interrupt 10
#define M0PLUS_NVIC_IPR2_IP_10_RESET _u(0x0)
#define M0PLUS_NVIC_IPR2_IP_10_BITS _u(0x00c00000)
#define M0PLUS_NVIC_IPR2_IP_10_MSB _u(23)
#define M0PLUS_NVIC_IPR2_IP_10_LSB _u(22)
#define M0PLUS_NVIC_IPR2_IP_10_ACCESS "RW"
// -----------------------------------------------------------------------------
// Field : M0PLUS_NVIC_IPR2_IP_9
// Description : Priority of interrupt 9
#define M0PLUS_NVIC_IPR2_IP_9_RESET _u(0x0)
#define M0PLUS_NVIC_IPR2_IP_9_BITS _u(0x0000c000)
#define M0PLUS_NVIC_IPR2_IP_9_MSB _u(15)
#define M0PLUS_NVIC_IPR2_IP_9_LSB _u(14)
#define M0PLUS_NVIC_IPR2_IP_9_ACCESS "RW"
// -----------------------------------------------------------------------------
// Field : M0PLUS_NVIC_IPR2_IP_8
// Description : Priority of interrupt 8
#define M0PLUS_NVIC_IPR2_IP_8_RESET _u(0x0)
#define M0PLUS_NVIC_IPR2_IP_8_BITS _u(0x000000c0)
#define M0PLUS_NVIC_IPR2_IP_8_MSB _u(7)
#define M0PLUS_NVIC_IPR2_IP_8_LSB _u(6)
#define M0PLUS_NVIC_IPR2_IP_8_ACCESS "RW"
// =============================================================================
// Register : M0PLUS_NVIC_IPR3
// Description : Use the Interrupt Priority Registers to assign a priority from
// 0 to 3 to each of the available interrupts. 0 is the highest
// priority, and 3 is the lowest.
#define M0PLUS_NVIC_IPR3_OFFSET _u(0x0000e40c)
#define M0PLUS_NVIC_IPR3_BITS _u(0xc0c0c0c0)
#define M0PLUS_NVIC_IPR3_RESET _u(0x00000000)
// -----------------------------------------------------------------------------
// Field : M0PLUS_NVIC_IPR3_IP_15
// Description : Priority of interrupt 15
#define M0PLUS_NVIC_IPR3_IP_15_RESET _u(0x0)
#define M0PLUS_NVIC_IPR3_IP_15_BITS _u(0xc0000000)
#define M0PLUS_NVIC_IPR3_IP_15_MSB _u(31)
#define M0PLUS_NVIC_IPR3_IP_15_LSB _u(30)
#define M0PLUS_NVIC_IPR3_IP_15_ACCESS "RW"
// -----------------------------------------------------------------------------
// Field : M0PLUS_NVIC_IPR3_IP_14
// Description : Priority of interrupt 14
#define M0PLUS_NVIC_IPR3_IP_14_RESET _u(0x0)
#define M0PLUS_NVIC_IPR3_IP_14_BITS _u(0x00c00000)
#define M0PLUS_NVIC_IPR3_IP_14_MSB _u(23)
#define M0PLUS_NVIC_IPR3_IP_14_LSB _u(22)
#define M0PLUS_NVIC_IPR3_IP_14_ACCESS "RW"
// -----------------------------------------------------------------------------
// Field : M0PLUS_NVIC_IPR3_IP_13
// Description : Priority of interrupt 13
#define M0PLUS_NVIC_IPR3_IP_13_RESET _u(0x0)
#define M0PLUS_NVIC_IPR3_IP_13_BITS _u(0x0000c000)
#define M0PLUS_NVIC_IPR3_IP_13_MSB _u(15)
#define M0PLUS_NVIC_IPR3_IP_13_LSB _u(14)
#define M0PLUS_NVIC_IPR3_IP_13_ACCESS "RW"
// -----------------------------------------------------------------------------
// Field : M0PLUS_NVIC_IPR3_IP_12
// Description : Priority of interrupt 12
#define M0PLUS_NVIC_IPR3_IP_12_RESET _u(0x0)
#define M0PLUS_NVIC_IPR3_IP_12_BITS _u(0x000000c0)
#define M0PLUS_NVIC_IPR3_IP_12_MSB _u(7)
#define M0PLUS_NVIC_IPR3_IP_12_LSB _u(6)
#define M0PLUS_NVIC_IPR3_IP_12_ACCESS "RW"
// =============================================================================
// Register : M0PLUS_NVIC_IPR4
// Description : Use the Interrupt Priority Registers to assign a priority from
// 0 to 3 to each of the available interrupts. 0 is the highest
// priority, and 3 is the lowest.
#define M0PLUS_NVIC_IPR4_OFFSET _u(0x0000e410)
#define M0PLUS_NVIC_IPR4_BITS _u(0xc0c0c0c0)
#define M0PLUS_NVIC_IPR4_RESET _u(0x00000000)
// -----------------------------------------------------------------------------
// Field : M0PLUS_NVIC_IPR4_IP_19
// Description : Priority of interrupt 19
#define M0PLUS_NVIC_IPR4_IP_19_RESET _u(0x0)
#define M0PLUS_NVIC_IPR4_IP_19_BITS _u(0xc0000000)
#define M0PLUS_NVIC_IPR4_IP_19_MSB _u(31)
#define M0PLUS_NVIC_IPR4_IP_19_LSB _u(30)
#define M0PLUS_NVIC_IPR4_IP_19_ACCESS "RW"
// -----------------------------------------------------------------------------
// Field : M0PLUS_NVIC_IPR4_IP_18
// Description : Priority of interrupt 18
#define M0PLUS_NVIC_IPR4_IP_18_RESET _u(0x0)
#define M0PLUS_NVIC_IPR4_IP_18_BITS _u(0x00c00000)
#define M0PLUS_NVIC_IPR4_IP_18_MSB _u(23)
#define M0PLUS_NVIC_IPR4_IP_18_LSB _u(22)
#define M0PLUS_NVIC_IPR4_IP_18_ACCESS "RW"
// -----------------------------------------------------------------------------
// Field : M0PLUS_NVIC_IPR4_IP_17
// Description : Priority of interrupt 17
#define M0PLUS_NVIC_IPR4_IP_17_RESET _u(0x0)
#define M0PLUS_NVIC_IPR4_IP_17_BITS _u(0x0000c000)
#define M0PLUS_NVIC_IPR4_IP_17_MSB _u(15)
#define M0PLUS_NVIC_IPR4_IP_17_LSB _u(14)
#define M0PLUS_NVIC_IPR4_IP_17_ACCESS "RW"
// -----------------------------------------------------------------------------
// Field : M0PLUS_NVIC_IPR4_IP_16
// Description : Priority of interrupt 16
#define M0PLUS_NVIC_IPR4_IP_16_RESET _u(0x0)
#define M0PLUS_NVIC_IPR4_IP_16_BITS _u(0x000000c0)
#define M0PLUS_NVIC_IPR4_IP_16_MSB _u(7)
#define M0PLUS_NVIC_IPR4_IP_16_LSB _u(6)
#define M0PLUS_NVIC_IPR4_IP_16_ACCESS "RW"
// =============================================================================
// Register : M0PLUS_NVIC_IPR5
// Description : Use the Interrupt Priority Registers to assign a priority from
// 0 to 3 to each of the available interrupts. 0 is the highest
// priority, and 3 is the lowest.
#define M0PLUS_NVIC_IPR5_OFFSET _u(0x0000e414)
#define M0PLUS_NVIC_IPR5_BITS _u(0xc0c0c0c0)
#define M0PLUS_NVIC_IPR5_RESET _u(0x00000000)
// -----------------------------------------------------------------------------
// Field : M0PLUS_NVIC_IPR5_IP_23
// Description : Priority of interrupt 23
#define M0PLUS_NVIC_IPR5_IP_23_RESET _u(0x0)
#define M0PLUS_NVIC_IPR5_IP_23_BITS _u(0xc0000000)
#define M0PLUS_NVIC_IPR5_IP_23_MSB _u(31)
#define M0PLUS_NVIC_IPR5_IP_23_LSB _u(30)
#define M0PLUS_NVIC_IPR5_IP_23_ACCESS "RW"
// -----------------------------------------------------------------------------
// Field : M0PLUS_NVIC_IPR5_IP_22
// Description : Priority of interrupt 22
#define M0PLUS_NVIC_IPR5_IP_22_RESET _u(0x0)
#define M0PLUS_NVIC_IPR5_IP_22_BITS _u(0x00c00000)
#define M0PLUS_NVIC_IPR5_IP_22_MSB _u(23)
#define M0PLUS_NVIC_IPR5_IP_22_LSB _u(22)
#define M0PLUS_NVIC_IPR5_IP_22_ACCESS "RW"
// -----------------------------------------------------------------------------
// Field : M0PLUS_NVIC_IPR5_IP_21
// Description : Priority of interrupt 21
#define M0PLUS_NVIC_IPR5_IP_21_RESET _u(0x0)
#define M0PLUS_NVIC_IPR5_IP_21_BITS _u(0x0000c000)
#define M0PLUS_NVIC_IPR5_IP_21_MSB _u(15)
#define M0PLUS_NVIC_IPR5_IP_21_LSB _u(14)
#define M0PLUS_NVIC_IPR5_IP_21_ACCESS "RW"
// -----------------------------------------------------------------------------
// Field : M0PLUS_NVIC_IPR5_IP_20
// Description : Priority of interrupt 20
#define M0PLUS_NVIC_IPR5_IP_20_RESET _u(0x0)
#define M0PLUS_NVIC_IPR5_IP_20_BITS _u(0x000000c0)
#define M0PLUS_NVIC_IPR5_IP_20_MSB _u(7)
#define M0PLUS_NVIC_IPR5_IP_20_LSB _u(6)
#define M0PLUS_NVIC_IPR5_IP_20_ACCESS "RW"
// =============================================================================
// Register : M0PLUS_NVIC_IPR6
// Description : Use the Interrupt Priority Registers to assign a priority from
// 0 to 3 to each of the available interrupts. 0 is the highest
// priority, and 3 is the lowest.
#define M0PLUS_NVIC_IPR6_OFFSET _u(0x0000e418)
#define M0PLUS_NVIC_IPR6_BITS _u(0xc0c0c0c0)
#define M0PLUS_NVIC_IPR6_RESET _u(0x00000000)
// -----------------------------------------------------------------------------
// Field : M0PLUS_NVIC_IPR6_IP_27
// Description : Priority of interrupt 27
#define M0PLUS_NVIC_IPR6_IP_27_RESET _u(0x0)
#define M0PLUS_NVIC_IPR6_IP_27_BITS _u(0xc0000000)
#define M0PLUS_NVIC_IPR6_IP_27_MSB _u(31)
#define M0PLUS_NVIC_IPR6_IP_27_LSB _u(30)
#define M0PLUS_NVIC_IPR6_IP_27_ACCESS "RW"
// -----------------------------------------------------------------------------
// Field : M0PLUS_NVIC_IPR6_IP_26
// Description : Priority of interrupt 26
#define M0PLUS_NVIC_IPR6_IP_26_RESET _u(0x0)
#define M0PLUS_NVIC_IPR6_IP_26_BITS _u(0x00c00000)
#define M0PLUS_NVIC_IPR6_IP_26_MSB _u(23)
#define M0PLUS_NVIC_IPR6_IP_26_LSB _u(22)
#define M0PLUS_NVIC_IPR6_IP_26_ACCESS "RW"
// -----------------------------------------------------------------------------
// Field : M0PLUS_NVIC_IPR6_IP_25
// Description : Priority of interrupt 25
#define M0PLUS_NVIC_IPR6_IP_25_RESET _u(0x0)
#define M0PLUS_NVIC_IPR6_IP_25_BITS _u(0x0000c000)
#define M0PLUS_NVIC_IPR6_IP_25_MSB _u(15)
#define M0PLUS_NVIC_IPR6_IP_25_LSB _u(14)
#define M0PLUS_NVIC_IPR6_IP_25_ACCESS "RW"
// -----------------------------------------------------------------------------
// Field : M0PLUS_NVIC_IPR6_IP_24
// Description : Priority of interrupt 24
#define M0PLUS_NVIC_IPR6_IP_24_RESET _u(0x0)
#define M0PLUS_NVIC_IPR6_IP_24_BITS _u(0x000000c0)
#define M0PLUS_NVIC_IPR6_IP_24_MSB _u(7)
#define M0PLUS_NVIC_IPR6_IP_24_LSB _u(6)
#define M0PLUS_NVIC_IPR6_IP_24_ACCESS "RW"
// =============================================================================
// Register : M0PLUS_NVIC_IPR7
// Description : Use the Interrupt Priority Registers to assign a priority from
// 0 to 3 to each of the available interrupts. 0 is the highest
// priority, and 3 is the lowest.
#define M0PLUS_NVIC_IPR7_OFFSET _u(0x0000e41c)
#define M0PLUS_NVIC_IPR7_BITS _u(0xc0c0c0c0)
#define M0PLUS_NVIC_IPR7_RESET _u(0x00000000)
// -----------------------------------------------------------------------------
// Field : M0PLUS_NVIC_IPR7_IP_31
// Description : Priority of interrupt 31
#define M0PLUS_NVIC_IPR7_IP_31_RESET _u(0x0)
#define M0PLUS_NVIC_IPR7_IP_31_BITS _u(0xc0000000)
#define M0PLUS_NVIC_IPR7_IP_31_MSB _u(31)
#define M0PLUS_NVIC_IPR7_IP_31_LSB _u(30)
#define M0PLUS_NVIC_IPR7_IP_31_ACCESS "RW"
// -----------------------------------------------------------------------------
// Field : M0PLUS_NVIC_IPR7_IP_30
// Description : Priority of interrupt 30
#define M0PLUS_NVIC_IPR7_IP_30_RESET _u(0x0)
#define M0PLUS_NVIC_IPR7_IP_30_BITS _u(0x00c00000)
#define M0PLUS_NVIC_IPR7_IP_30_MSB _u(23)
#define M0PLUS_NVIC_IPR7_IP_30_LSB _u(22)
#define M0PLUS_NVIC_IPR7_IP_30_ACCESS "RW"
// -----------------------------------------------------------------------------
// Field : M0PLUS_NVIC_IPR7_IP_29
// Description : Priority of interrupt 29
#define M0PLUS_NVIC_IPR7_IP_29_RESET _u(0x0)
#define M0PLUS_NVIC_IPR7_IP_29_BITS _u(0x0000c000)
#define M0PLUS_NVIC_IPR7_IP_29_MSB _u(15)
#define M0PLUS_NVIC_IPR7_IP_29_LSB _u(14)
#define M0PLUS_NVIC_IPR7_IP_29_ACCESS "RW"
// -----------------------------------------------------------------------------
// Field : M0PLUS_NVIC_IPR7_IP_28
// Description : Priority of interrupt 28
#define M0PLUS_NVIC_IPR7_IP_28_RESET _u(0x0)
#define M0PLUS_NVIC_IPR7_IP_28_BITS _u(0x000000c0)
#define M0PLUS_NVIC_IPR7_IP_28_MSB _u(7)
#define M0PLUS_NVIC_IPR7_IP_28_LSB _u(6)
#define M0PLUS_NVIC_IPR7_IP_28_ACCESS "RW"
// =============================================================================
// Register : M0PLUS_CPUID
// Description : Read the CPU ID Base Register to determine: the ID number of
// the processor core, the version number of the processor core,
// the implementation details of the processor core.
#define M0PLUS_CPUID_OFFSET _u(0x0000ed00)
#define M0PLUS_CPUID_BITS _u(0xffffffff)
#define M0PLUS_CPUID_RESET _u(0x410cc601)
// -----------------------------------------------------------------------------
// Field : M0PLUS_CPUID_IMPLEMENTER
// Description : Implementor code: 0x41 = ARM
#define M0PLUS_CPUID_IMPLEMENTER_RESET _u(0x41)
#define M0PLUS_CPUID_IMPLEMENTER_BITS _u(0xff000000)
#define M0PLUS_CPUID_IMPLEMENTER_MSB _u(31)
#define M0PLUS_CPUID_IMPLEMENTER_LSB _u(24)
#define M0PLUS_CPUID_IMPLEMENTER_ACCESS "RO"
// -----------------------------------------------------------------------------
// Field : M0PLUS_CPUID_VARIANT
// Description : Major revision number n in the rnpm revision status:
// 0x0 = Revision 0.
#define M0PLUS_CPUID_VARIANT_RESET _u(0x0)
#define M0PLUS_CPUID_VARIANT_BITS _u(0x00f00000)
#define M0PLUS_CPUID_VARIANT_MSB _u(23)
#define M0PLUS_CPUID_VARIANT_LSB _u(20)
#define M0PLUS_CPUID_VARIANT_ACCESS "RO"
// -----------------------------------------------------------------------------
// Field : M0PLUS_CPUID_ARCHITECTURE
// Description : Constant that defines the architecture of the processor:
// 0xC = ARMv6-M architecture.
#define M0PLUS_CPUID_ARCHITECTURE_RESET _u(0xc)
#define M0PLUS_CPUID_ARCHITECTURE_BITS _u(0x000f0000)
#define M0PLUS_CPUID_ARCHITECTURE_MSB _u(19)
#define M0PLUS_CPUID_ARCHITECTURE_LSB _u(16)
#define M0PLUS_CPUID_ARCHITECTURE_ACCESS "RO"
// -----------------------------------------------------------------------------
// Field : M0PLUS_CPUID_PARTNO
// Description : Number of processor within family: 0xC60 = Cortex-M0+
#define M0PLUS_CPUID_PARTNO_RESET _u(0xc60)
#define M0PLUS_CPUID_PARTNO_BITS _u(0x0000fff0)
#define M0PLUS_CPUID_PARTNO_MSB _u(15)
#define M0PLUS_CPUID_PARTNO_LSB _u(4)
#define M0PLUS_CPUID_PARTNO_ACCESS "RO"
// -----------------------------------------------------------------------------
// Field : M0PLUS_CPUID_REVISION
// Description : Minor revision number m in the rnpm revision status:
// 0x1 = Patch 1.
#define M0PLUS_CPUID_REVISION_RESET _u(0x1)
#define M0PLUS_CPUID_REVISION_BITS _u(0x0000000f)
#define M0PLUS_CPUID_REVISION_MSB _u(3)
#define M0PLUS_CPUID_REVISION_LSB _u(0)
#define M0PLUS_CPUID_REVISION_ACCESS "RO"
// =============================================================================
// Register : M0PLUS_ICSR
// Description : Use the Interrupt Control State Register to set a pending
// Non-Maskable Interrupt (NMI), set or clear a pending PendSV,
// set or clear a pending SysTick, check for pending exceptions,
// check the vector number of the highest priority pended
// exception, check the vector number of the active exception.
#define M0PLUS_ICSR_OFFSET _u(0x0000ed04)
#define M0PLUS_ICSR_BITS _u(0x9edff1ff)
#define M0PLUS_ICSR_RESET _u(0x00000000)
// -----------------------------------------------------------------------------
// Field : M0PLUS_ICSR_NMIPENDSET
// Description : Setting this bit will activate an NMI. Since NMI is the highest
// priority exception, it will activate as soon as it is
// registered.
// NMI set-pending bit.
// Write:
// 0 = No effect.
// 1 = Changes NMI exception state to pending.
// Read:
// 0 = NMI exception is not pending.
// 1 = NMI exception is pending.
// Because NMI is the highest-priority exception, normally the
// processor enters the NMI
// exception handler as soon as it detects a write of 1 to this
// bit. Entering the handler then clears
// this bit to 0. This means a read of this bit by the NMI
// exception handler returns 1 only if the
// NMI signal is reasserted while the processor is executing that
// handler.
#define M0PLUS_ICSR_NMIPENDSET_RESET _u(0x0)
#define M0PLUS_ICSR_NMIPENDSET_BITS _u(0x80000000)
#define M0PLUS_ICSR_NMIPENDSET_MSB _u(31)
#define M0PLUS_ICSR_NMIPENDSET_LSB _u(31)
#define M0PLUS_ICSR_NMIPENDSET_ACCESS "RW"
// -----------------------------------------------------------------------------
// Field : M0PLUS_ICSR_PENDSVSET
// Description : PendSV set-pending bit.
// Write:
// 0 = No effect.
// 1 = Changes PendSV exception state to pending.
// Read:
// 0 = PendSV exception is not pending.
// 1 = PendSV exception is pending.
// Writing 1 to this bit is the only way to set the PendSV
// exception state to pending.
#define M0PLUS_ICSR_PENDSVSET_RESET _u(0x0)
#define M0PLUS_ICSR_PENDSVSET_BITS _u(0x10000000)
#define M0PLUS_ICSR_PENDSVSET_MSB _u(28)
#define M0PLUS_ICSR_PENDSVSET_LSB _u(28)
#define M0PLUS_ICSR_PENDSVSET_ACCESS "RW"
// -----------------------------------------------------------------------------
// Field : M0PLUS_ICSR_PENDSVCLR
// Description : PendSV clear-pending bit.
// Write:
// 0 = No effect.
// 1 = Removes the pending state from the PendSV exception.
#define M0PLUS_ICSR_PENDSVCLR_RESET _u(0x0)
#define M0PLUS_ICSR_PENDSVCLR_BITS _u(0x08000000)
#define M0PLUS_ICSR_PENDSVCLR_MSB _u(27)
#define M0PLUS_ICSR_PENDSVCLR_LSB _u(27)
#define M0PLUS_ICSR_PENDSVCLR_ACCESS "RW"
// -----------------------------------------------------------------------------
// Field : M0PLUS_ICSR_PENDSTSET
// Description : SysTick exception set-pending bit.
// Write:
// 0 = No effect.
// 1 = Changes SysTick exception state to pending.
// Read:
// 0 = SysTick exception is not pending.
// 1 = SysTick exception is pending.
#define M0PLUS_ICSR_PENDSTSET_RESET _u(0x0)
#define M0PLUS_ICSR_PENDSTSET_BITS _u(0x04000000)
#define M0PLUS_ICSR_PENDSTSET_MSB _u(26)
#define M0PLUS_ICSR_PENDSTSET_LSB _u(26)
#define M0PLUS_ICSR_PENDSTSET_ACCESS "RW"
// -----------------------------------------------------------------------------
// Field : M0PLUS_ICSR_PENDSTCLR
// Description : SysTick exception clear-pending bit.
// Write:
// 0 = No effect.
// 1 = Removes the pending state from the SysTick exception.
// This bit is WO. On a register read its value is Unknown.
#define M0PLUS_ICSR_PENDSTCLR_RESET _u(0x0)
#define M0PLUS_ICSR_PENDSTCLR_BITS _u(0x02000000)
#define M0PLUS_ICSR_PENDSTCLR_MSB _u(25)
#define M0PLUS_ICSR_PENDSTCLR_LSB _u(25)
#define M0PLUS_ICSR_PENDSTCLR_ACCESS "RW"
// -----------------------------------------------------------------------------
// Field : M0PLUS_ICSR_ISRPREEMPT
// Description : The system can only access this bit when the core is halted. It
// indicates that a pending interrupt is to be taken in the next
// running cycle. If C_MASKINTS is clear in the Debug Halting
// Control and Status Register, the interrupt is serviced.
#define M0PLUS_ICSR_ISRPREEMPT_RESET _u(0x0)
#define M0PLUS_ICSR_ISRPREEMPT_BITS _u(0x00800000)
#define M0PLUS_ICSR_ISRPREEMPT_MSB _u(23)
#define M0PLUS_ICSR_ISRPREEMPT_LSB _u(23)
#define M0PLUS_ICSR_ISRPREEMPT_ACCESS "RO"
// -----------------------------------------------------------------------------
// Field : M0PLUS_ICSR_ISRPENDING
// Description : External interrupt pending flag
#define M0PLUS_ICSR_ISRPENDING_RESET _u(0x0)
#define M0PLUS_ICSR_ISRPENDING_BITS _u(0x00400000)
#define M0PLUS_ICSR_ISRPENDING_MSB _u(22)
#define M0PLUS_ICSR_ISRPENDING_LSB _u(22)
#define M0PLUS_ICSR_ISRPENDING_ACCESS "RO"
// -----------------------------------------------------------------------------
// Field : M0PLUS_ICSR_VECTPENDING
// Description : Indicates the exception number for the highest priority pending
// exception: 0 = no pending exceptions. Non zero = The pending
// state includes the effect of memory-mapped enable and mask
// registers. It does not include the PRIMASK special-purpose
// register qualifier.
#define M0PLUS_ICSR_VECTPENDING_RESET _u(0x000)
#define M0PLUS_ICSR_VECTPENDING_BITS _u(0x001ff000)
#define M0PLUS_ICSR_VECTPENDING_MSB _u(20)
#define M0PLUS_ICSR_VECTPENDING_LSB _u(12)
#define M0PLUS_ICSR_VECTPENDING_ACCESS "RO"
// -----------------------------------------------------------------------------
// Field : M0PLUS_ICSR_VECTACTIVE
// Description : Active exception number field. Reset clears the VECTACTIVE
// field.
#define M0PLUS_ICSR_VECTACTIVE_RESET _u(0x000)
#define M0PLUS_ICSR_VECTACTIVE_BITS _u(0x000001ff)
#define M0PLUS_ICSR_VECTACTIVE_MSB _u(8)
#define M0PLUS_ICSR_VECTACTIVE_LSB _u(0)
#define M0PLUS_ICSR_VECTACTIVE_ACCESS "RO"
// =============================================================================
// Register : M0PLUS_VTOR
// Description : The VTOR holds the vector table offset address.
#define M0PLUS_VTOR_OFFSET _u(0x0000ed08)
#define M0PLUS_VTOR_BITS _u(0xffffff00)
#define M0PLUS_VTOR_RESET _u(0x00000000)
// -----------------------------------------------------------------------------
// Field : M0PLUS_VTOR_TBLOFF
// Description : Bits [31:8] of the indicate the vector table offset address.
#define M0PLUS_VTOR_TBLOFF_RESET _u(0x000000)
#define M0PLUS_VTOR_TBLOFF_BITS _u(0xffffff00)
#define M0PLUS_VTOR_TBLOFF_MSB _u(31)
#define M0PLUS_VTOR_TBLOFF_LSB _u(8)
#define M0PLUS_VTOR_TBLOFF_ACCESS "RW"
// =============================================================================
// Register : M0PLUS_AIRCR
// Description : Use the Application Interrupt and Reset Control Register to:
// determine data endianness, clear all active state information
// from debug halt mode, request a system reset.
#define M0PLUS_AIRCR_OFFSET _u(0x0000ed0c)
#define M0PLUS_AIRCR_BITS _u(0xffff8006)
#define M0PLUS_AIRCR_RESET _u(0x00000000)
// -----------------------------------------------------------------------------
// Field : M0PLUS_AIRCR_VECTKEY
// Description : Register key:
// Reads as Unknown
// On writes, write 0x05FA to VECTKEY, otherwise the write is
// ignored.
#define M0PLUS_AIRCR_VECTKEY_RESET _u(0x0000)
#define M0PLUS_AIRCR_VECTKEY_BITS _u(0xffff0000)
#define M0PLUS_AIRCR_VECTKEY_MSB _u(31)
#define M0PLUS_AIRCR_VECTKEY_LSB _u(16)
#define M0PLUS_AIRCR_VECTKEY_ACCESS "RW"
// -----------------------------------------------------------------------------
// Field : M0PLUS_AIRCR_ENDIANESS
// Description : Data endianness implemented:
// 0 = Little-endian.
#define M0PLUS_AIRCR_ENDIANESS_RESET _u(0x0)
#define M0PLUS_AIRCR_ENDIANESS_BITS _u(0x00008000)
#define M0PLUS_AIRCR_ENDIANESS_MSB _u(15)
#define M0PLUS_AIRCR_ENDIANESS_LSB _u(15)
#define M0PLUS_AIRCR_ENDIANESS_ACCESS "RO"
// -----------------------------------------------------------------------------
// Field : M0PLUS_AIRCR_SYSRESETREQ
// Description : Writing 1 to this bit causes the SYSRESETREQ signal to the
// outer system to be asserted to request a reset. The intention
// is to force a large system reset of all major components except
// for debug. The C_HALT bit in the DHCSR is cleared as a result
// of the system reset requested. The debugger does not lose
// contact with the device.
#define M0PLUS_AIRCR_SYSRESETREQ_RESET _u(0x0)
#define M0PLUS_AIRCR_SYSRESETREQ_BITS _u(0x00000004)
#define M0PLUS_AIRCR_SYSRESETREQ_MSB _u(2)
#define M0PLUS_AIRCR_SYSRESETREQ_LSB _u(2)
#define M0PLUS_AIRCR_SYSRESETREQ_ACCESS "RW"
// -----------------------------------------------------------------------------
// Field : M0PLUS_AIRCR_VECTCLRACTIVE
// Description : Clears all active state information for fixed and configurable
// exceptions. This bit: is self-clearing, can only be set by the
// DAP when the core is halted. When set: clears all active
// exception status of the processor, forces a return to Thread
// mode, forces an IPSR of 0. A debugger must re-initialize the
// stack.
#define M0PLUS_AIRCR_VECTCLRACTIVE_RESET _u(0x0)
#define M0PLUS_AIRCR_VECTCLRACTIVE_BITS _u(0x00000002)
#define M0PLUS_AIRCR_VECTCLRACTIVE_MSB _u(1)
#define M0PLUS_AIRCR_VECTCLRACTIVE_LSB _u(1)
#define M0PLUS_AIRCR_VECTCLRACTIVE_ACCESS "RW"
// =============================================================================
// Register : M0PLUS_SCR
// Description : System Control Register. Use the System Control Register for
// power-management functions: signal to the system when the
// processor can enter a low power state, control how the
// processor enters and exits low power states.
#define M0PLUS_SCR_OFFSET _u(0x0000ed10)
#define M0PLUS_SCR_BITS _u(0x00000016)
#define M0PLUS_SCR_RESET _u(0x00000000)
// -----------------------------------------------------------------------------
// Field : M0PLUS_SCR_SEVONPEND
// Description : Send Event on Pending bit:
// 0 = Only enabled interrupts or events can wakeup the processor,
// disabled interrupts are excluded.
// 1 = Enabled events and all interrupts, including disabled
// interrupts, can wakeup the processor.
// When an event or interrupt becomes pending, the event signal
// wakes up the processor from WFE. If the
// processor is not waiting for an event, the event is registered
// and affects the next WFE.
// The processor also wakes up on execution of an SEV instruction
// or an external event.
#define M0PLUS_SCR_SEVONPEND_RESET _u(0x0)
#define M0PLUS_SCR_SEVONPEND_BITS _u(0x00000010)
#define M0PLUS_SCR_SEVONPEND_MSB _u(4)
#define M0PLUS_SCR_SEVONPEND_LSB _u(4)
#define M0PLUS_SCR_SEVONPEND_ACCESS "RW"
// -----------------------------------------------------------------------------
// Field : M0PLUS_SCR_SLEEPDEEP
// Description : Controls whether the processor uses sleep or deep sleep as its
// low power mode:
// 0 = Sleep.
// 1 = Deep sleep.
#define M0PLUS_SCR_SLEEPDEEP_RESET _u(0x0)
#define M0PLUS_SCR_SLEEPDEEP_BITS _u(0x00000004)
#define M0PLUS_SCR_SLEEPDEEP_MSB _u(2)
#define M0PLUS_SCR_SLEEPDEEP_LSB _u(2)
#define M0PLUS_SCR_SLEEPDEEP_ACCESS "RW"
// -----------------------------------------------------------------------------
// Field : M0PLUS_SCR_SLEEPONEXIT
// Description : Indicates sleep-on-exit when returning from Handler mode to
// Thread mode:
// 0 = Do not sleep when returning to Thread mode.
// 1 = Enter sleep, or deep sleep, on return from an ISR to Thread
// mode.
// Setting this bit to 1 enables an interrupt driven application
// to avoid returning to an empty main application.
#define M0PLUS_SCR_SLEEPONEXIT_RESET _u(0x0)
#define M0PLUS_SCR_SLEEPONEXIT_BITS _u(0x00000002)
#define M0PLUS_SCR_SLEEPONEXIT_MSB _u(1)
#define M0PLUS_SCR_SLEEPONEXIT_LSB _u(1)
#define M0PLUS_SCR_SLEEPONEXIT_ACCESS "RW"
// =============================================================================
// Register : M0PLUS_CCR
// Description : The Configuration and Control Register permanently enables
// stack alignment and causes unaligned accesses to result in a
// Hard Fault.
#define M0PLUS_CCR_OFFSET _u(0x0000ed14)
#define M0PLUS_CCR_BITS _u(0x00000208)
#define M0PLUS_CCR_RESET _u(0x00000000)
// -----------------------------------------------------------------------------
// Field : M0PLUS_CCR_STKALIGN
// Description : Always reads as one, indicates 8-byte stack alignment on
// exception entry. On exception entry, the processor uses bit[9]
// of the stacked PSR to indicate the stack alignment. On return
// from the exception it uses this stacked bit to restore the
// correct stack alignment.
#define M0PLUS_CCR_STKALIGN_RESET _u(0x0)
#define M0PLUS_CCR_STKALIGN_BITS _u(0x00000200)
#define M0PLUS_CCR_STKALIGN_MSB _u(9)
#define M0PLUS_CCR_STKALIGN_LSB _u(9)
#define M0PLUS_CCR_STKALIGN_ACCESS "RO"
// -----------------------------------------------------------------------------
// Field : M0PLUS_CCR_UNALIGN_TRP
// Description : Always reads as one, indicates that all unaligned accesses
// generate a HardFault.
#define M0PLUS_CCR_UNALIGN_TRP_RESET _u(0x0)
#define M0PLUS_CCR_UNALIGN_TRP_BITS _u(0x00000008)
#define M0PLUS_CCR_UNALIGN_TRP_MSB _u(3)
#define M0PLUS_CCR_UNALIGN_TRP_LSB _u(3)
#define M0PLUS_CCR_UNALIGN_TRP_ACCESS "RO"
// =============================================================================
// Register : M0PLUS_SHPR2
// Description : System handlers are a special class of exception handler that
// can have their priority set to any of the priority levels. Use
// the System Handler Priority Register 2 to set the priority of
// SVCall.
#define M0PLUS_SHPR2_OFFSET _u(0x0000ed1c)
#define M0PLUS_SHPR2_BITS _u(0xc0000000)
#define M0PLUS_SHPR2_RESET _u(0x00000000)
// -----------------------------------------------------------------------------
// Field : M0PLUS_SHPR2_PRI_11
// Description : Priority of system handler 11, SVCall
#define M0PLUS_SHPR2_PRI_11_RESET _u(0x0)
#define M0PLUS_SHPR2_PRI_11_BITS _u(0xc0000000)
#define M0PLUS_SHPR2_PRI_11_MSB _u(31)
#define M0PLUS_SHPR2_PRI_11_LSB _u(30)
#define M0PLUS_SHPR2_PRI_11_ACCESS "RW"
// =============================================================================
// Register : M0PLUS_SHPR3
// Description : System handlers are a special class of exception handler that
// can have their priority set to any of the priority levels. Use
// the System Handler Priority Register 3 to set the priority of
// PendSV and SysTick.
#define M0PLUS_SHPR3_OFFSET _u(0x0000ed20)
#define M0PLUS_SHPR3_BITS _u(0xc0c00000)
#define M0PLUS_SHPR3_RESET _u(0x00000000)
// -----------------------------------------------------------------------------
// Field : M0PLUS_SHPR3_PRI_15
// Description : Priority of system handler 15, SysTick
#define M0PLUS_SHPR3_PRI_15_RESET _u(0x0)
#define M0PLUS_SHPR3_PRI_15_BITS _u(0xc0000000)
#define M0PLUS_SHPR3_PRI_15_MSB _u(31)
#define M0PLUS_SHPR3_PRI_15_LSB _u(30)
#define M0PLUS_SHPR3_PRI_15_ACCESS "RW"
// -----------------------------------------------------------------------------
// Field : M0PLUS_SHPR3_PRI_14
// Description : Priority of system handler 14, PendSV
#define M0PLUS_SHPR3_PRI_14_RESET _u(0x0)
#define M0PLUS_SHPR3_PRI_14_BITS _u(0x00c00000)
#define M0PLUS_SHPR3_PRI_14_MSB _u(23)
#define M0PLUS_SHPR3_PRI_14_LSB _u(22)
#define M0PLUS_SHPR3_PRI_14_ACCESS "RW"
// =============================================================================
// Register : M0PLUS_SHCSR
// Description : Use the System Handler Control and State Register to determine
// or clear the pending status of SVCall.
#define M0PLUS_SHCSR_OFFSET _u(0x0000ed24)
#define M0PLUS_SHCSR_BITS _u(0x00008000)
#define M0PLUS_SHCSR_RESET _u(0x00000000)
// -----------------------------------------------------------------------------
// Field : M0PLUS_SHCSR_SVCALLPENDED
// Description : Reads as 1 if SVCall is Pending. Write 1 to set pending
// SVCall, write 0 to clear pending SVCall.
#define M0PLUS_SHCSR_SVCALLPENDED_RESET _u(0x0)
#define M0PLUS_SHCSR_SVCALLPENDED_BITS _u(0x00008000)
#define M0PLUS_SHCSR_SVCALLPENDED_MSB _u(15)
#define M0PLUS_SHCSR_SVCALLPENDED_LSB _u(15)
#define M0PLUS_SHCSR_SVCALLPENDED_ACCESS "RW"
// =============================================================================
// Register : M0PLUS_MPU_TYPE
// Description : Read the MPU Type Register to determine if the processor
// implements an MPU, and how many regions the MPU supports.
#define M0PLUS_MPU_TYPE_OFFSET _u(0x0000ed90)
#define M0PLUS_MPU_TYPE_BITS _u(0x00ffff01)
#define M0PLUS_MPU_TYPE_RESET _u(0x00000800)
// -----------------------------------------------------------------------------
// Field : M0PLUS_MPU_TYPE_IREGION
// Description : Instruction region. Reads as zero as ARMv6-M only supports a
// unified MPU.
#define M0PLUS_MPU_TYPE_IREGION_RESET _u(0x00)
#define M0PLUS_MPU_TYPE_IREGION_BITS _u(0x00ff0000)
#define M0PLUS_MPU_TYPE_IREGION_MSB _u(23)
#define M0PLUS_MPU_TYPE_IREGION_LSB _u(16)
#define M0PLUS_MPU_TYPE_IREGION_ACCESS "RO"
// -----------------------------------------------------------------------------
// Field : M0PLUS_MPU_TYPE_DREGION
// Description : Number of regions supported by the MPU.
#define M0PLUS_MPU_TYPE_DREGION_RESET _u(0x08)
#define M0PLUS_MPU_TYPE_DREGION_BITS _u(0x0000ff00)
#define M0PLUS_MPU_TYPE_DREGION_MSB _u(15)
#define M0PLUS_MPU_TYPE_DREGION_LSB _u(8)
#define M0PLUS_MPU_TYPE_DREGION_ACCESS "RO"
// -----------------------------------------------------------------------------
// Field : M0PLUS_MPU_TYPE_SEPARATE
// Description : Indicates support for separate instruction and data address
// maps. Reads as 0 as ARMv6-M only supports a unified MPU.
#define M0PLUS_MPU_TYPE_SEPARATE_RESET _u(0x0)
#define M0PLUS_MPU_TYPE_SEPARATE_BITS _u(0x00000001)
#define M0PLUS_MPU_TYPE_SEPARATE_MSB _u(0)
#define M0PLUS_MPU_TYPE_SEPARATE_LSB _u(0)
#define M0PLUS_MPU_TYPE_SEPARATE_ACCESS "RO"
// =============================================================================
// Register : M0PLUS_MPU_CTRL
// Description : Use the MPU Control Register to enable and disable the MPU, and
// to control whether the default memory map is enabled as a
// background region for privileged accesses, and whether the MPU
// is enabled for HardFaults and NMIs.
#define M0PLUS_MPU_CTRL_OFFSET _u(0x0000ed94)
#define M0PLUS_MPU_CTRL_BITS _u(0x00000007)
#define M0PLUS_MPU_CTRL_RESET _u(0x00000000)
// -----------------------------------------------------------------------------
// Field : M0PLUS_MPU_CTRL_PRIVDEFENA
// Description : Controls whether the default memory map is enabled as a
// background region for privileged accesses. This bit is ignored
// when ENABLE is clear.
// 0 = If the MPU is enabled, disables use of the default memory
// map. Any memory access to a location not
// covered by any enabled region causes a fault.
// 1 = If the MPU is enabled, enables use of the default memory
// map as a background region for privileged software accesses.
// When enabled, the background region acts as if it is region
// number -1. Any region that is defined and enabled has priority
// over this default map.
#define M0PLUS_MPU_CTRL_PRIVDEFENA_RESET _u(0x0)
#define M0PLUS_MPU_CTRL_PRIVDEFENA_BITS _u(0x00000004)
#define M0PLUS_MPU_CTRL_PRIVDEFENA_MSB _u(2)
#define M0PLUS_MPU_CTRL_PRIVDEFENA_LSB _u(2)
#define M0PLUS_MPU_CTRL_PRIVDEFENA_ACCESS "RW"
// -----------------------------------------------------------------------------
// Field : M0PLUS_MPU_CTRL_HFNMIENA
// Description : Controls the use of the MPU for HardFaults and NMIs. Setting
// this bit when ENABLE is clear results in UNPREDICTABLE
// behaviour.
// When the MPU is enabled:
// 0 = MPU is disabled during HardFault and NMI handlers,
// regardless of the value of the ENABLE bit.
// 1 = the MPU is enabled during HardFault and NMI handlers.
#define M0PLUS_MPU_CTRL_HFNMIENA_RESET _u(0x0)
#define M0PLUS_MPU_CTRL_HFNMIENA_BITS _u(0x00000002)
#define M0PLUS_MPU_CTRL_HFNMIENA_MSB _u(1)
#define M0PLUS_MPU_CTRL_HFNMIENA_LSB _u(1)
#define M0PLUS_MPU_CTRL_HFNMIENA_ACCESS "RW"
// -----------------------------------------------------------------------------
// Field : M0PLUS_MPU_CTRL_ENABLE
// Description : Enables the MPU. If the MPU is disabled, privileged and
// unprivileged accesses use the default memory map.
// 0 = MPU disabled.
// 1 = MPU enabled.
#define M0PLUS_MPU_CTRL_ENABLE_RESET _u(0x0)
#define M0PLUS_MPU_CTRL_ENABLE_BITS _u(0x00000001)
#define M0PLUS_MPU_CTRL_ENABLE_MSB _u(0)
#define M0PLUS_MPU_CTRL_ENABLE_LSB _u(0)
#define M0PLUS_MPU_CTRL_ENABLE_ACCESS "RW"
// =============================================================================
// Register : M0PLUS_MPU_RNR
// Description : Use the MPU Region Number Register to select the region
// currently accessed by MPU_RBAR and MPU_RASR.
#define M0PLUS_MPU_RNR_OFFSET _u(0x0000ed98)
#define M0PLUS_MPU_RNR_BITS _u(0x0000000f)
#define M0PLUS_MPU_RNR_RESET _u(0x00000000)
// -----------------------------------------------------------------------------
// Field : M0PLUS_MPU_RNR_REGION
// Description : Indicates the MPU region referenced by the MPU_RBAR and
// MPU_RASR registers.
// The MPU supports 8 memory regions, so the permitted values of
// this field are 0-7.
#define M0PLUS_MPU_RNR_REGION_RESET _u(0x0)
#define M0PLUS_MPU_RNR_REGION_BITS _u(0x0000000f)
#define M0PLUS_MPU_RNR_REGION_MSB _u(3)
#define M0PLUS_MPU_RNR_REGION_LSB _u(0)
#define M0PLUS_MPU_RNR_REGION_ACCESS "RW"
// =============================================================================
// Register : M0PLUS_MPU_RBAR
// Description : Read the MPU Region Base Address Register to determine the base
// address of the region identified by MPU_RNR. Write to update
// the base address of said region or that of a specified region,
// with whose number MPU_RNR will also be updated.
#define M0PLUS_MPU_RBAR_OFFSET _u(0x0000ed9c)
#define M0PLUS_MPU_RBAR_BITS _u(0xffffff1f)
#define M0PLUS_MPU_RBAR_RESET _u(0x00000000)
// -----------------------------------------------------------------------------
// Field : M0PLUS_MPU_RBAR_ADDR
// Description : Base address of the region.
#define M0PLUS_MPU_RBAR_ADDR_RESET _u(0x000000)
#define M0PLUS_MPU_RBAR_ADDR_BITS _u(0xffffff00)
#define M0PLUS_MPU_RBAR_ADDR_MSB _u(31)
#define M0PLUS_MPU_RBAR_ADDR_LSB _u(8)
#define M0PLUS_MPU_RBAR_ADDR_ACCESS "RW"
// -----------------------------------------------------------------------------
// Field : M0PLUS_MPU_RBAR_VALID
// Description : On writes, indicates whether the write must update the base
// address of the region identified by the REGION field, updating
// the MPU_RNR to indicate this new region.
// Write:
// 0 = MPU_RNR not changed, and the processor:
// Updates the base address for the region specified in the
// MPU_RNR.
// Ignores the value of the REGION field.
// 1 = The processor:
// Updates the value of the MPU_RNR to the value of the REGION
// field.
// Updates the base address for the region specified in the REGION
// field.
// Always reads as zero.
#define M0PLUS_MPU_RBAR_VALID_RESET _u(0x0)
#define M0PLUS_MPU_RBAR_VALID_BITS _u(0x00000010)
#define M0PLUS_MPU_RBAR_VALID_MSB _u(4)
#define M0PLUS_MPU_RBAR_VALID_LSB _u(4)
#define M0PLUS_MPU_RBAR_VALID_ACCESS "RW"
// -----------------------------------------------------------------------------
// Field : M0PLUS_MPU_RBAR_REGION
// Description : On writes, specifies the number of the region whose base
// address to update provided VALID is set written as 1. On reads,
// returns bits [3:0] of MPU_RNR.
#define M0PLUS_MPU_RBAR_REGION_RESET _u(0x0)
#define M0PLUS_MPU_RBAR_REGION_BITS _u(0x0000000f)
#define M0PLUS_MPU_RBAR_REGION_MSB _u(3)
#define M0PLUS_MPU_RBAR_REGION_LSB _u(0)
#define M0PLUS_MPU_RBAR_REGION_ACCESS "RW"
// =============================================================================
// Register : M0PLUS_MPU_RASR
// Description : Use the MPU Region Attribute and Size Register to define the
// size, access behaviour and memory type of the region identified
// by MPU_RNR, and enable that region.
#define M0PLUS_MPU_RASR_OFFSET _u(0x0000eda0)
#define M0PLUS_MPU_RASR_BITS _u(0xffffff3f)
#define M0PLUS_MPU_RASR_RESET _u(0x00000000)
// -----------------------------------------------------------------------------
// Field : M0PLUS_MPU_RASR_ATTRS
// Description : The MPU Region Attribute field. Use to define the region
// attribute control.
// 28 = XN: Instruction access disable bit:
// 0 = Instruction fetches enabled.
// 1 = Instruction fetches disabled.
// 26:24 = AP: Access permission field
// 18 = S: Shareable bit
// 17 = C: Cacheable bit
// 16 = B: Bufferable bit
#define M0PLUS_MPU_RASR_ATTRS_RESET _u(0x0000)
#define M0PLUS_MPU_RASR_ATTRS_BITS _u(0xffff0000)
#define M0PLUS_MPU_RASR_ATTRS_MSB _u(31)
#define M0PLUS_MPU_RASR_ATTRS_LSB _u(16)
#define M0PLUS_MPU_RASR_ATTRS_ACCESS "RW"
// -----------------------------------------------------------------------------
// Field : M0PLUS_MPU_RASR_SRD
// Description : Subregion Disable. For regions of 256 bytes or larger, each bit
// of this field controls whether one of the eight equal
// subregions is enabled.
#define M0PLUS_MPU_RASR_SRD_RESET _u(0x00)
#define M0PLUS_MPU_RASR_SRD_BITS _u(0x0000ff00)
#define M0PLUS_MPU_RASR_SRD_MSB _u(15)
#define M0PLUS_MPU_RASR_SRD_LSB _u(8)
#define M0PLUS_MPU_RASR_SRD_ACCESS "RW"
// -----------------------------------------------------------------------------
// Field : M0PLUS_MPU_RASR_SIZE
// Description : Indicates the region size. Region size in bytes = 2^(SIZE+1).
// The minimum permitted value is 7 (b00111) = 256Bytes
#define M0PLUS_MPU_RASR_SIZE_RESET _u(0x00)
#define M0PLUS_MPU_RASR_SIZE_BITS _u(0x0000003e)
#define M0PLUS_MPU_RASR_SIZE_MSB _u(5)
#define M0PLUS_MPU_RASR_SIZE_LSB _u(1)
#define M0PLUS_MPU_RASR_SIZE_ACCESS "RW"
// -----------------------------------------------------------------------------
// Field : M0PLUS_MPU_RASR_ENABLE
// Description : Enables the region.
#define M0PLUS_MPU_RASR_ENABLE_RESET _u(0x0)
#define M0PLUS_MPU_RASR_ENABLE_BITS _u(0x00000001)
#define M0PLUS_MPU_RASR_ENABLE_MSB _u(0)
#define M0PLUS_MPU_RASR_ENABLE_LSB _u(0)
#define M0PLUS_MPU_RASR_ENABLE_ACCESS "RW"
// =============================================================================
#endif // HARDWARE_REGS_M0PLUS_DEFINED
|