1 /****************************************************************************
\r
4 * FILE : MPC5606BC_0.09.h
\r
6 * DESCRIPTION : This is the header file describing the register
\r
9 * COPYRIGHT :(c) 2011, Freescale
\r
12 * DATE : 01.09.2011
\r
14 * HISTORY : Based Upon Bolero 1.5M; Version 0.06 header file
\r
15 * Updated and corrected errors present on MPC5607B_2.1.h
\r
19 * Example instantiation and use:
\r
21 * <MODULE>.<REGISTER>.B.<BIT> = 1;
\r
22 * <MODULE>.<REGISTER>.R = 0x10000000;
\r
24 *****************************************************************************/
\r
29 #include "Compiler.h"
\r
30 #include "typedefs.h"
\r
38 #pragma ANSI_strict off
\r
42 /****************************************************************************/
\r
44 /****************************************************************************/
\r
45 #include "ip_adc_mpc56xx.h"
\r
50 union { /* ADC0 Main Configuration Register (Base+0x0000) */
\r
65 vuint32_t ADCLKSEL:1;
\r
66 vuint32_t ABORTCHAIN:1;
\r
74 union { /* ADC0 Main Status Register (Base+0x0004) */
\r
83 vuint32_t CTUSTART:1;
\r
88 vuint32_t ADCSTATUS:3;
\r
92 vuint8_t ADC0_reserved0[8]; /* Reserved 8 bytes (Base+0x0008-0x000F) */
\r
94 union { /* ADC0 Interrupt Status (Base+0x0010) */
\r
107 union { /* ADC0 Channel Pending 0 (Base+0x0014) */
\r
108 vuint32_t R; /* (For precision channels) */
\r
110 vuint32_t EOC_CH31:1;
\r
111 vuint32_t EOC_CH30:1;
\r
112 vuint32_t EOC_CH29:1;
\r
113 vuint32_t EOC_CH28:1;
\r
114 vuint32_t EOC_CH27:1;
\r
115 vuint32_t EOC_CH26:1;
\r
116 vuint32_t EOC_CH25:1;
\r
117 vuint32_t EOC_CH24:1;
\r
118 vuint32_t EOC_CH23:1;
\r
119 vuint32_t EOC_CH22:1;
\r
120 vuint32_t EOC_CH21:1;
\r
121 vuint32_t EOC_CH20:1;
\r
122 vuint32_t EOC_CH19:1;
\r
123 vuint32_t EOC_CH18:1;
\r
124 vuint32_t EOC_CH17:1;
\r
125 vuint32_t EOC_CH16:1;
\r
126 vuint32_t EOC_CH15:1;
\r
127 vuint32_t EOC_CH14:1;
\r
128 vuint32_t EOC_CH13:1;
\r
129 vuint32_t EOC_CH12:1;
\r
130 vuint32_t EOC_CH11:1;
\r
131 vuint32_t EOC_CH10:1;
\r
132 vuint32_t EOC_CH9:1;
\r
133 vuint32_t EOC_CH8:1;
\r
134 vuint32_t EOC_CH7:1;
\r
135 vuint32_t EOC_CH6:1;
\r
136 vuint32_t EOC_CH5:1;
\r
137 vuint32_t EOC_CH4:1;
\r
138 vuint32_t EOC_CH3:1;
\r
139 vuint32_t EOC_CH2:1;
\r
140 vuint32_t EOC_CH1:1;
\r
141 vuint32_t EOC_CH0:1;
\r
146 union { /* ADC0 Channel Pending Register 1 (Base+0x0018)*/
\r
149 vuint32_t EOC_CH63:1;
\r
150 vuint32_t EOC_CH62:1;
\r
151 vuint32_t EOC_CH61:1;
\r
152 vuint32_t EOC_CH60:1;
\r
153 vuint32_t EOC_CH59:1;
\r
154 vuint32_t EOC_CH58:1;
\r
155 vuint32_t EOC_CH57:1;
\r
156 vuint32_t EOC_CH56:1;
\r
157 vuint32_t EOC_CH55:1;
\r
158 vuint32_t EOC_CH54:1;
\r
159 vuint32_t EOC_CH53:1;
\r
160 vuint32_t EOC_CH52:1;
\r
161 vuint32_t EOC_CH51:1;
\r
162 vuint32_t EOC_CH50:1;
\r
163 vuint32_t EOC_CH49:1;
\r
164 vuint32_t EOC_CH48:1;
\r
165 vuint32_t EOC_CH47:1;
\r
166 vuint32_t EOC_CH46:1;
\r
167 vuint32_t EOC_CH45:1;
\r
168 vuint32_t EOC_CH44:1;
\r
169 vuint32_t EOC_CH43:1;
\r
170 vuint32_t EOC_CH42:1;
\r
171 vuint32_t EOC_CH41:1;
\r
172 vuint32_t EOC_CH40:1;
\r
173 vuint32_t EOC_CH39:1;
\r
174 vuint32_t EOC_CH38:1;
\r
175 vuint32_t EOC_CH37:1;
\r
176 vuint32_t EOC_CH36:1;
\r
177 vuint32_t EOC_CH35:1;
\r
178 vuint32_t EOC_CH34:1;
\r
179 vuint32_t EOC_CH33:1;
\r
180 vuint32_t EOC_CH32:1;
\r
184 union { /* ADC0 Channel Pending 2 (Base+0x001C) */
\r
185 vuint32_t R; /* (For external mux'd Channels) */
\r
187 vuint32_t EOC_CH95:1;
\r
188 vuint32_t EOC_CH94:1;
\r
189 vuint32_t EOC_CH93:1;
\r
190 vuint32_t EOC_CH92:1;
\r
191 vuint32_t EOC_CH91:1;
\r
192 vuint32_t EOC_CH90:1;
\r
193 vuint32_t EOC_CH89:1;
\r
194 vuint32_t EOC_CH88:1;
\r
195 vuint32_t EOC_CH87:1;
\r
196 vuint32_t EOC_CH86:1;
\r
197 vuint32_t EOC_CH85:1;
\r
198 vuint32_t EOC_CH84:1;
\r
199 vuint32_t EOC_CH83:1;
\r
200 vuint32_t EOC_CH82:1;
\r
201 vuint32_t EOC_CH81:1;
\r
202 vuint32_t EOC_CH80:1;
\r
203 vuint32_t EOC_CH79:1;
\r
204 vuint32_t EOC_CH78:1;
\r
205 vuint32_t EOC_CH77:1;
\r
206 vuint32_t EOC_CH76:1;
\r
207 vuint32_t EOC_CH75:1;
\r
208 vuint32_t EOC_CH74:1;
\r
209 vuint32_t EOC_CH73:1;
\r
210 vuint32_t EOC_CH72:1;
\r
211 vuint32_t EOC_CH71:1;
\r
212 vuint32_t EOC_CH70:1;
\r
213 vuint32_t EOC_CH69:1;
\r
214 vuint32_t EOC_CH68:1;
\r
215 vuint32_t EOC_CH67:1;
\r
216 vuint32_t EOC_CH66:1;
\r
217 vuint32_t EOC_CH65:1;
\r
218 vuint32_t EOC_CH64:1;
\r
223 union { /* ADC0 Interrupt Mask (Base+0020) */
\r
227 vuint32_t MSKEOCTU:1;
\r
228 vuint32_t MSKJEOC:1;
\r
229 vuint32_t MSKJECH:1;
\r
230 vuint32_t MSKEOC:1;
\r
231 vuint32_t MSKECH:1;
\r
237 union { /* ADC0 Channel Interrupt Mask 0 (Base+0x0024) */
\r
238 vuint32_t R; /* (For Precision Channels) */
\r
260 union { /* ADC0 Channel Interrupt Mask 1 (+0x0028) */
\r
261 vuint32_t R; /* (For Standard Channels) */
\r
298 union { /* ADC0 Channel Interrupt Mask 2 (+0x002C) */
\r
299 vuint32_t R; /* (For PExternal Mux'd Channels) */
\r
336 union { /* ADC0 Watchdog Threshold Interrupt Status (+0x0030)*/
\r
340 vuint32_t WDG5H:1;
\r
341 vuint32_t WDG5L:1;
\r
342 vuint32_t WDG4H:1;
\r
343 vuint32_t WDG4L:1;
\r
344 vuint32_t WDG3H:1;
\r
345 vuint32_t WDG3L:1;
\r
346 vuint32_t WDG2H:1;
\r
347 vuint32_t WDG2L:1;
\r
349 vuint32_t WDG1L:1;
\r
350 vuint32_t WDG0H:1;
\r
351 vuint32_t WDG0L:1;
\r
355 union { /* ADC0 Watchdog Threshold Interrupt Mask (+0x0034) */
\r
359 vuint32_t MSKWDG5H:1;
\r
360 vuint32_t MSKWDG5L:1;
\r
361 vuint32_t MSKWDG4H:1;
\r
362 vuint32_t MSKWDG4L:1;
\r
363 vuint32_t MSKWDG3H:1;
\r
364 vuint32_t MSKWDG2H:1;
\r
365 vuint32_t MSKWDG1H:1;
\r
366 vuint32_t MSKWDG0H:1;
\r
367 vuint32_t MSKWDG3L:1;
\r
368 vuint32_t MSKWDG2L:1;
\r
369 vuint32_t MSKWDG1L:1;
\r
370 vuint32_t MSKWDG0L:1;
\r
374 vuint8_t ADC0_reserved1[8]; /* Reserved 8 bytes (Base+0x0038-0x003F) */
\r
376 union { /* ADC0 DMA Enable (Base+0x0040) */
\r
385 union { /* ADC0 DMA Channel Select 0 (Base+0x0044) */
\r
386 vuint32_t R; /* (for precision channels) */
\r
408 union { /* ADC0 DMA Channel Select 1 (Base+0x0048) */
\r
409 vuint32_t R; /* (for standard channels) */
\r
446 union { /* ADC0 DMA Channel Select 2 (Base+0x004C) */
\r
447 vuint32_t R; /* (for external mux'd channels) */
\r
484 vuint8_t ADC0_reserved2[16]; /* Reserved 16 bytes (Base+0x0050-0x005F) */
\r
487 /*Note the threshold registers are split [0..3] then [4..5]. For this
\r
488 reason thay are NOT implemented as an array in order to maintain
\r
489 concistency through all THRHLR registers */
\r
491 union { /* ADC0 Threshold 0 (Base+0x0060) */
\r
501 union { /* ADC0 Threshold 1 (Base+0x0064) */
\r
511 union { /* ADC0 Threshold 2 (Base+0x0068) */
\r
521 union { /* ADC0 Threshold 3 (Base+0x006C) */
\r
532 vuint8_t ADC0_reserved3[16]; /* Reserved 16 bytes (Base+0x0070-0x007F) */
\r
534 union { /* ADC0 Presampling Control (Base+0x0080) */
\r
538 vuint32_t PREVAL2:2;
\r
539 vuint32_t PREVAL1:2;
\r
540 vuint32_t PREVAL0:2;
\r
541 vuint32_t PRECONV:1;
\r
546 union { /* ADC0 Presampling 0 (Base+0x0084) */
\r
547 vuint32_t R; /* (precision channels) */
\r
549 vuint32_t PRES31:1;
\r
550 vuint32_t PRES30:1;
\r
551 vuint32_t PRES29:1;
\r
552 vuint32_t PRES28:1;
\r
553 vuint32_t PRES27:1;
\r
554 vuint32_t PRES26:1;
\r
555 vuint32_t PRES25:1;
\r
556 vuint32_t PRES24:1;
\r
557 vuint32_t PRES23:1;
\r
558 vuint32_t PRES22:1;
\r
559 vuint32_t PRES21:1;
\r
560 vuint32_t PRES20:1;
\r
561 vuint32_t PRES19:1;
\r
562 vuint32_t PRES18:1;
\r
563 vuint32_t PRES17:1;
\r
564 vuint32_t PRES16:1;
\r
565 vuint32_t PRES15:1;
\r
566 vuint32_t PRES14:1;
\r
567 vuint32_t PRES13:1;
\r
568 vuint32_t PRES12:1;
\r
569 vuint32_t PRES11:1;
\r
570 vuint32_t PRES10:1;
\r
584 union { /* ADC0 Presampling 1 (Base+0x0088) */
\r
585 vuint32_t R; /* (standard channels) */
\r
587 vuint32_t PRES63:1;
\r
588 vuint32_t PRES62:1;
\r
589 vuint32_t PRES61:1;
\r
590 vuint32_t PRES60:1;
\r
591 vuint32_t PRES59:1;
\r
592 vuint32_t PRES58:1;
\r
593 vuint32_t PRES57:1;
\r
594 vuint32_t PRES56:1;
\r
595 vuint32_t PRES55:1;
\r
596 vuint32_t PRES54:1;
\r
597 vuint32_t PRES53:1;
\r
598 vuint32_t PRES52:1;
\r
599 vuint32_t PRES51:1;
\r
600 vuint32_t PRES50:1;
\r
601 vuint32_t PRES49:1;
\r
602 vuint32_t PRES48:1;
\r
603 vuint32_t PRES47:1;
\r
604 vuint32_t PRES46:1;
\r
605 vuint32_t PRES45:1;
\r
606 vuint32_t PRES44:1;
\r
607 vuint32_t PRES43:1;
\r
608 vuint32_t PRES42:1;
\r
609 vuint32_t PRES41:1;
\r
610 vuint32_t PRES40:1;
\r
611 vuint32_t PRES39:1;
\r
612 vuint32_t PRES38:1;
\r
613 vuint32_t PRES37:1;
\r
614 vuint32_t PRES36:1;
\r
615 vuint32_t PRES35:1;
\r
616 vuint32_t PRES34:1;
\r
617 vuint32_t PRES33:1;
\r
618 vuint32_t PRES32:1;
\r
622 union { /* ADC0 Presampling 2 (Base+0x008C) */
\r
623 vuint32_t R; /* (external mux'd channels) */
\r
625 vuint32_t PRES95:1;
\r
626 vuint32_t PRES94:1;
\r
627 vuint32_t PRES93:1;
\r
628 vuint32_t PRES92:1;
\r
629 vuint32_t PRES91:1;
\r
630 vuint32_t PRES90:1;
\r
631 vuint32_t PRES89:1;
\r
632 vuint32_t PRES88:1;
\r
633 vuint32_t PRES87:1;
\r
634 vuint32_t PRES86:1;
\r
635 vuint32_t PRES85:1;
\r
636 vuint32_t PRES84:1;
\r
637 vuint32_t PRES83:1;
\r
638 vuint32_t PRES82:1;
\r
639 vuint32_t PRES81:1;
\r
640 vuint32_t PRES80:1;
\r
641 vuint32_t PRES79:1;
\r
642 vuint32_t PRES78:1;
\r
643 vuint32_t PRES77:1;
\r
644 vuint32_t PRES76:1;
\r
645 vuint32_t PRES75:1;
\r
646 vuint32_t PRES74:1;
\r
647 vuint32_t PRES73:1;
\r
648 vuint32_t PRES72:1;
\r
649 vuint32_t PRES71:1;
\r
650 vuint32_t PRES70:1;
\r
651 vuint32_t PRES69:1;
\r
652 vuint32_t PRES68:1;
\r
653 vuint32_t PRES67:1;
\r
654 vuint32_t PRES66:1;
\r
655 vuint32_t PRES65:1;
\r
656 vuint32_t PRES64:1;
\r
660 vuint8_t ADC0_reserved4[4]; /* Reserved 4 bytes (Base+0x0090-0x0093) */
\r
664 /* Note the following CTR registers are NOT implemented as an array to */
\r
665 /* try and maintain some concistency through the header file */
\r
666 /* (The registers are however identical) */
\r
668 union { /* ADC0 Conversion Timing 0 (Base+0x0094) */
\r
669 vuint32_t R; /* (precision channels) */
\r
672 vuint32_t INPLATCH:1;
\r
674 vuint32_t OFFSHIFT:2;
\r
676 vuint32_t INPCMP:2;
\r
678 vuint32_t INPSAMP:8;
\r
682 union { /* ADC0 Conversion Timing 1 (Base+0x0098) */
\r
683 vuint32_t R; /* (standard channels) */
\r
686 vuint32_t INPLATCH:1;
\r
688 vuint32_t OFFSHIFT:2;
\r
690 vuint32_t INPCMP:2;
\r
692 vuint32_t INPSAMP:8;
\r
696 union { /* ADC0 Conversion Timing 2 (Base+0x009C) */
\r
697 vuint32_t R; /* (precision channels) */
\r
700 vuint32_t INPLATCH:1;
\r
702 vuint32_t OFFSHIFT:2;
\r
704 vuint32_t INPCMP:2;
\r
706 vuint32_t INPSAMP:8;
\r
710 vuint8_t ADC0_reserved5[4]; /* Reserved 4 bytes (Base+0x00A0-0x00A3) */
\r
713 union { /* ADC0 Normal Conversion Mask 0 (Base+0x00A4) */
\r
714 vuint32_t R; /* (precision channels) */
\r
736 union { /* ADC0 Normal Conversion Mask 1 (Base+0x00A8) */
\r
737 vuint32_t R; /* (standard channels) */
\r
771 union { /* ADC0 Normal Conversion Mask 2 (Base+0x00AC) */
\r
772 vuint32_t R; /* (For external mux'd channels) */
\r
809 vuint8_t ADC0_reserved6[4]; /* Reserved 4 bytes (Base+0x00B0-0x00B3) */
\r
812 union { /* ADC0 Injected Conversion Mask0 (Base+0x00B4) */
\r
813 vuint32_t R; /* (precision channels) */
\r
835 union { /* ADC0 Injected Conversion Mask1 (Base+0x00B8) */
\r
836 vuint32_t R; /* (standard channels) */
\r
870 union { /* ADC0 Injected Conversion Mask2 (Base+0x00BC) */
\r
871 vuint32_t R; /* (external mux'd channels) */
\r
909 vuint8_t ADC0_reserved7[4]; /* Reserved 4 bytes (Base+0x00C0-0x00C3) */
\r
911 union { /* ADC0 Decode Signals Delay (Base+0x00C4) */
\r
919 union { /* ADC0 Power-Down exit Delay (Base+0x00C8) */
\r
928 vuint8_t ADC0_reserved8[52]; /* Reserved 52 bytes (Base+0x00CC-0x00FF) */
\r
930 union { /* ADC0 Channel 0-95 Data (Base+0x0100-0x027C) */
\r
931 vuint32_t R; /* Note CDR[16..31] and CDR[60..63] are reserved */
\r
936 vuint32_t RESULT:2;
\r
938 vuint32_t CDATA:10;
\r
942 union { /* ADC0 Threshold 4 (Base+0x0280) */
\r
952 union { /* ADC0 Threshold 5 (Base+0x0284) */
\r
962 vuint8_t ADC0_reserved9[40]; /* Reserved 40 bytes (Base+0x0288-0x02AF) */
\r
965 union { /* ADC0 Channel Watchdog Select 0 (Base+0x02B0) */
\r
966 vuint32_t R; /* (precision channels) */
\r
969 vuint32_t WSEL_CH7:3;
\r
971 vuint32_t WSEL_CH6:3;
\r
973 vuint32_t WSEL_CH5:3;
\r
975 vuint32_t WSEL_CH4:3;
\r
977 vuint32_t WSEL_CH3:3;
\r
979 vuint32_t WSEL_CH2:3;
\r
981 vuint32_t WSEL_CH1:3;
\r
983 vuint32_t WSEL_CH0:3;
\r
987 union { /* ADC0 Channel Watchdog Select 1 (Base+0x02B4) */
\r
988 vuint32_t R; /* (precision channels) */
\r
991 vuint32_t WSEL_CH15:3;
\r
993 vuint32_t WSEL_CH14:3;
\r
995 vuint32_t WSEL_CH13:3;
\r
997 vuint32_t WSEL_CH12:3;
\r
999 vuint32_t WSEL_CH11:3;
\r
1001 vuint32_t WSEL_CH10:3;
\r
1003 vuint32_t WSEL_CH9:3;
\r
1005 vuint32_t WSEL_CH8:3;
\r
1009 vuint8_t ADC0_reserved10[8]; /* Reserved 4 bytes (Base+0x02B8-0x02BF) */
\r
1011 union { /* ADC0 Channel Watchdog Select 4 (Base+0x02C0) */
\r
1012 vuint32_t R; /* (standard channels) */
\r
1015 vuint32_t WSEL_CH39:3;
\r
1017 vuint32_t WSEL_CH38:3;
\r
1019 vuint32_t WSEL_CH37:3;
\r
1021 vuint32_t WSEL_CH36:3;
\r
1023 vuint32_t WSEL_CH35:3;
\r
1025 vuint32_t WSEL_CH34:3;
\r
1027 vuint32_t WSEL_CH33:3;
\r
1029 vuint32_t WSEL_CH32:3;
\r
1033 union { /* ADC0 Channel Watchdog Select 5 (Base+0x02C4) */
\r
1034 vuint32_t R; /* (standard channels) */
\r
1037 vuint32_t WSEL_CH47:3;
\r
1039 vuint32_t WSEL_CH46:3;
\r
1041 vuint32_t WSEL_CH45:3;
\r
1043 vuint32_t WSEL_CH44:3;
\r
1045 vuint32_t WSEL_CH43:3;
\r
1047 vuint32_t WSEL_CH42:3;
\r
1049 vuint32_t WSEL_CH41:3;
\r
1051 vuint32_t WSEL_CH40:3;
\r
1055 union { /* ADC0 Channel Watchdog Select 6 (Base+0x02C8) */
\r
1056 vuint32_t R; /* (standard channels) */
\r
1059 vuint32_t WSEL_CH55:3;
\r
1061 vuint32_t WSEL_CH54:3;
\r
1063 vuint32_t WSEL_CH53:3;
\r
1065 vuint32_t WSEL_CH52:3;
\r
1067 vuint32_t WSEL_CH51:3;
\r
1069 vuint32_t WSEL_CH50:3;
\r
1071 vuint32_t WSEL_CH49:3;
\r
1073 vuint32_t WSEL_CH48:3;
\r
1077 union { /* ADC0 Channel Watchdog Select 7 (Base+0x02CC) */
\r
1078 vuint32_t R; /* (standard channels) */
\r
1081 vuint32_t WSEL_CH63:3;
\r
1083 vuint32_t WSEL_CH62:3;
\r
1085 vuint32_t WSEL_CH61:3;
\r
1087 vuint32_t WSEL_CH60:3;
\r
1089 vuint32_t WSEL_CH59:3;
\r
1094 union { /* ADC0 Channel Watchdog Select 8 (Base+0x02D0) */
\r
1095 vuint32_t R; /* (external mux'd channels) */
\r
1098 vuint32_t WSEL_CH71:3;
\r
1100 vuint32_t WSEL_CH70:3;
\r
1102 vuint32_t WSEL_CH69:3;
\r
1104 vuint32_t WSEL_CH68:3;
\r
1106 vuint32_t WSEL_CH67:3;
\r
1108 vuint32_t WSEL_CH66:3;
\r
1110 vuint32_t WSEL_CH65:3;
\r
1112 vuint32_t WSEL_CH64:3;
\r
1116 union { /* ADC0 Channel Watchdog Select 9 (Base+0x02D4) */
\r
1117 vuint32_t R; /* (external mux'd channels) */
\r
1120 vuint32_t WSEL_CH79:3;
\r
1122 vuint32_t WSEL_CH78:3;
\r
1124 vuint32_t WSEL_CH77:3;
\r
1126 vuint32_t WSEL_CH76:3;
\r
1128 vuint32_t WSEL_CH75:3;
\r
1130 vuint32_t WSEL_CH74:3;
\r
1132 vuint32_t WSEL_CH73:3;
\r
1134 vuint32_t WSEL_CH72:3;
\r
1138 union { /* ADC0 Channel Watchdog Select 10 (Base+0x02D8)*/
\r
1139 vuint32_t R; /* (external mux'd channels) */
\r
1142 vuint32_t WSEL_CH87:3;
\r
1144 vuint32_t WSEL_CH86:3;
\r
1146 vuint32_t WSEL_CH85:3;
\r
1148 vuint32_t WSEL_CH84:3;
\r
1150 vuint32_t WSEL_CH83:3;
\r
1152 vuint32_t WSEL_CH82:3;
\r
1154 vuint32_t WSEL_CH81:3;
\r
1156 vuint32_t WSEL_CH80:3;
\r
1160 union { /* ADC0 Channel Watchdog Select 11 (Base+0x02DC)*/
\r
1161 vuint32_t R; /* (external mux'd channels) */
\r
1164 vuint32_t WSEL_CH95:3;
\r
1166 vuint32_t WSEL_CH94:3;
\r
1168 vuint32_t WSEL_CH93:3;
\r
1170 vuint32_t WSEL_CH92:3;
\r
1172 vuint32_t WSEL_CH91:3;
\r
1174 vuint32_t WSEL_CH90:3;
\r
1176 vuint32_t WSEL_CH89:3;
\r
1178 vuint32_t WSEL_CH88:3;
\r
1182 union { /* ADC0 Channel Watchdog Enable0 (Base++0x02E0) */
\r
1183 vuint32_t R; /* (precision channels) */
\r
1186 vuint32_t CWEN15:1;
\r
1187 vuint32_t CWEN14:1;
\r
1188 vuint32_t CWEN13:1;
\r
1189 vuint32_t CWEN12:1;
\r
1190 vuint32_t CWEN11:1;
\r
1191 vuint32_t CWEN10:1;
\r
1192 vuint32_t CWEN9:1;
\r
1193 vuint32_t CWEN8:1;
\r
1194 vuint32_t CWEN7:1;
\r
1195 vuint32_t CWEN6:1;
\r
1196 vuint32_t CWEN5:1;
\r
1197 vuint32_t CWEN4:1;
\r
1198 vuint32_t CWEN3:1;
\r
1199 vuint32_t CWEN2:1;
\r
1200 vuint32_t CWEN1:1;
\r
1201 vuint32_t CWEN0:1;
\r
1205 union { /* ADC0 Channel Watchdog Enable1 (Base++0x02E4) */
\r
1206 vuint32_t R; /* (standard channels) */
\r
1209 vuint32_t CWEN59:1;
\r
1210 vuint32_t CWEN58:1;
\r
1211 vuint32_t CWEN57:1;
\r
1212 vuint32_t CWEN56:1;
\r
1213 vuint32_t CWEN55:1;
\r
1214 vuint32_t CWEN54:1;
\r
1215 vuint32_t CWEN53:1;
\r
1216 vuint32_t CWEN52:1;
\r
1217 vuint32_t CWEN51:1;
\r
1218 vuint32_t CWEN50:1;
\r
1219 vuint32_t CWEN49:1;
\r
1220 vuint32_t CWEN48:1;
\r
1221 vuint32_t CWEN47:1;
\r
1222 vuint32_t CWEN46:1;
\r
1223 vuint32_t CWEN45:1;
\r
1224 vuint32_t CWEN44:1;
\r
1225 vuint32_t CWEN43:1;
\r
1226 vuint32_t CWEN42:1;
\r
1227 vuint32_t CWEN41:1;
\r
1228 vuint32_t CWEN40:1;
\r
1229 vuint32_t CWEN39:1;
\r
1230 vuint32_t CWEN38:1;
\r
1231 vuint32_t CWEN37:1;
\r
1232 vuint32_t CWEN36:1;
\r
1233 vuint32_t CWEN35:1;
\r
1234 vuint32_t CWEN34:1;
\r
1235 vuint32_t CWEN33:1;
\r
1236 vuint32_t CWEN32:1;
\r
1240 union { /* ADC0 Channel Watchdog Enable2 (Base++0x02E8) */
\r
1241 vuint32_t R; /* (external mux'd channels) */
\r
1243 vuint32_t CWEN95:1;
\r
1244 vuint32_t CWEN94:1;
\r
1245 vuint32_t CWEN93:1;
\r
1246 vuint32_t CWEN92:1;
\r
1247 vuint32_t CWEN91:1;
\r
1248 vuint32_t CWEN90:1;
\r
1249 vuint32_t CWEN89:1;
\r
1250 vuint32_t CWEN88:1;
\r
1251 vuint32_t CWEN87:1;
\r
1252 vuint32_t CWEN86:1;
\r
1253 vuint32_t CWEN85:1;
\r
1254 vuint32_t CWEN84:1;
\r
1255 vuint32_t CWEN83:1;
\r
1256 vuint32_t CWEN82:1;
\r
1257 vuint32_t CWEN81:1;
\r
1258 vuint32_t CWEN80:1;
\r
1259 vuint32_t CWEN79:1;
\r
1260 vuint32_t CWEN78:1;
\r
1261 vuint32_t CWEN77:1;
\r
1262 vuint32_t CWEN76:1;
\r
1263 vuint32_t CWEN75:1;
\r
1264 vuint32_t CWEN74:1;
\r
1265 vuint32_t CWEN73:1;
\r
1266 vuint32_t CWEN72:1;
\r
1267 vuint32_t CWEN71:1;
\r
1268 vuint32_t CWEN70:1;
\r
1269 vuint32_t CWEN69:1;
\r
1270 vuint32_t CWEN68:1;
\r
1271 vuint32_t CWEN67:1;
\r
1272 vuint32_t CWEN66:1;
\r
1273 vuint32_t CWEN65:1;
\r
1274 vuint32_t CWEN64:1;
\r
1278 vuint8_t ADC0_reserved11[4]; /* Reserved 4 bytes (Base+0x02EC-0x02EF) */
\r
1280 union { /* ADC0 Watchdog out of range 0 (Base+0x02F0) */
\r
1284 vuint32_t AWORR_CH15:1;
\r
1285 vuint32_t AWORR_CH14:1;
\r
1286 vuint32_t AWORR_CH13:1;
\r
1287 vuint32_t AWORR_CH12:1;
\r
1288 vuint32_t AWORR_CH11:1;
\r
1289 vuint32_t AWORR_CH10:1;
\r
1290 vuint32_t AWORR_CH9:1;
\r
1291 vuint32_t AWORR_CH8:1;
\r
1292 vuint32_t AWORR_CH7:1;
\r
1293 vuint32_t AWORR_CH6:1;
\r
1294 vuint32_t AWORR_CH5:1;
\r
1295 vuint32_t AWORR_CH4:1;
\r
1296 vuint32_t AWORR_CH3:1;
\r
1297 vuint32_t AWORR_CH2:1;
\r
1298 vuint32_t AWORR_CH1:1;
\r
1299 vuint32_t AWORR_CH0:1;
\r
1303 union { /* ADC0 Watchdog out of range 1 (Base+0x02F4) */
\r
1307 vuint32_t AWORR_CH59:1;
\r
1308 vuint32_t AWORR_CH58:1;
\r
1309 vuint32_t AWORR_CH57:1;
\r
1310 vuint32_t AWORR_CH56:1;
\r
1311 vuint32_t AWORR_CH55:1;
\r
1312 vuint32_t AWORR_CH54:1;
\r
1313 vuint32_t AWORR_CH53:1;
\r
1314 vuint32_t AWORR_CH52:1;
\r
1315 vuint32_t AWORR_CH51:1;
\r
1316 vuint32_t AWORR_CH50:1;
\r
1317 vuint32_t AWORR_CH49:1;
\r
1318 vuint32_t AWORR_CH48:1;
\r
1319 vuint32_t AWORR_CH47:1;
\r
1320 vuint32_t AWORR_CH46:1;
\r
1321 vuint32_t AWORR_CH45:1;
\r
1322 vuint32_t AWORR_CH44:1;
\r
1323 vuint32_t AWORR_CH43:1;
\r
1324 vuint32_t AWORR_CH42:1;
\r
1325 vuint32_t AWORR_CH41:1;
\r
1326 vuint32_t AWORR_CH40:1;
\r
1327 vuint32_t AWORR_CH39:1;
\r
1328 vuint32_t AWORR_CH38:1;
\r
1329 vuint32_t AWORR_CH37:1;
\r
1330 vuint32_t AWORR_CH36:1;
\r
1331 vuint32_t AWORR_CH35:1;
\r
1332 vuint32_t AWORR_CH34:1;
\r
1333 vuint32_t AWORR_CH33:1;
\r
1334 vuint32_t AWORR_CH32:1;
\r
1338 union { /* ADC0 Watchdog out of range 2 (Base+0x02F8) */
\r
1341 vuint32_t AWORR_CH95:1;
\r
1342 vuint32_t AWORR_CH94:1;
\r
1343 vuint32_t AWORR_CH93:1;
\r
1344 vuint32_t AWORR_CH92:1;
\r
1345 vuint32_t AWORR_CH91:1;
\r
1346 vuint32_t AWORR_CH90:1;
\r
1347 vuint32_t AWORR_CH89:1;
\r
1348 vuint32_t AWORR_CH88:1;
\r
1349 vuint32_t AWORR_CH87:1;
\r
1350 vuint32_t AWORR_CH86:1;
\r
1351 vuint32_t AWORR_CH85:1;
\r
1352 vuint32_t AWORR_CH84:1;
\r
1353 vuint32_t AWORR_CH83:1;
\r
1354 vuint32_t AWORR_CH82:1;
\r
1355 vuint32_t AWORR_CH81:1;
\r
1356 vuint32_t AWORR_CH80:1;
\r
1357 vuint32_t AWORR_CH79:1;
\r
1358 vuint32_t AWORR_CH78:1;
\r
1359 vuint32_t AWORR_CH77:1;
\r
1360 vuint32_t AWORR_CH76:1;
\r
1361 vuint32_t AWORR_CH75:1;
\r
1362 vuint32_t AWORR_CH74:1;
\r
1363 vuint32_t AWORR_CH73:1;
\r
1364 vuint32_t AWORR_CH72:1;
\r
1365 vuint32_t AWORR_CH71:1;
\r
1366 vuint32_t AWORR_CH70:1;
\r
1367 vuint32_t AWORR_CH69:1;
\r
1368 vuint32_t AWORR_CH68:1;
\r
1369 vuint32_t AWORR_CH67:1;
\r
1370 vuint32_t AWORR_CH66:1;
\r
1371 vuint32_t AWORR_CH65:1;
\r
1372 vuint32_t AWORR_CH64:1;
\r
1376 //vuint8_t ADC0_reserved12[15620]; /* Reserved 15620 bytes (Base+0x02FC-0x3FFF) */
\r
1378 }; /* end of ADC0_tag */
\r
1380 /****************************************************************************/
\r
1381 /* MODULE : ADC1 (12 Bit) */
\r
1382 /****************************************************************************/
\r
1385 union { /* ADC1 Main Configuration (Base+0x0000) */
\r
1388 vuint32_t OWREN:1;
\r
1389 vuint32_t WLSIDE:1;
\r
1392 vuint32_t NSTART:1;
\r
1394 vuint32_t JTRGEN:1;
\r
1395 vuint32_t JEDGE:1;
\r
1396 vuint32_t JSTART:1;
\r
1398 vuint32_t CTUEN:1;
\r
1400 vuint32_t ADCLKSEL:1;
\r
1401 vuint32_t ABORT_CHAIN:1;
\r
1402 vuint32_t ABORT:1;
\r
1410 union { /* ADC1 Main Status (Base+0x0004) */
\r
1414 vuint32_t NSTART:1;
\r
1415 vuint32_t JABORT:1;
\r
1417 vuint32_t JSTART:1;
\r
1419 vuint32_t CTUSTART:1;
\r
1420 vuint32_t CHADDR:7;
\r
1424 vuint32_t ADCSTATUS:3;
\r
1428 vuint8_t ADC1_reserved0[8]; /* Reserved 8 bytes (Base+0x0008-0x000F) */
\r
1430 union { /* ADC1 Interrupt Status (Base+0x0010) */
\r
1434 vuint32_t EOCTU:1;
\r
1442 union { /* ADC1 Channel Pending 0 (Base+0x0014) */
\r
1443 vuint32_t R; /* (For precision channels) */
\r
1446 vuint32_t EOC_CH15:1;
\r
1447 vuint32_t EOC_CH14:1;
\r
1448 vuint32_t EOC_CH13:1;
\r
1449 vuint32_t EOC_CH12:1;
\r
1450 vuint32_t EOC_CH11:1;
\r
1451 vuint32_t EOC_CH10:1;
\r
1452 vuint32_t EOC_CH9:1;
\r
1453 vuint32_t EOC_CH8:1;
\r
1454 vuint32_t EOC_CH7:1;
\r
1455 vuint32_t EOC_CH6:1;
\r
1456 vuint32_t EOC_CH5:1;
\r
1457 vuint32_t EOC_CH4:1;
\r
1458 vuint32_t EOC_CH3:1;
\r
1459 vuint32_t EOC_CH2:1;
\r
1460 vuint32_t EOC_CH1:1;
\r
1461 vuint32_t EOC_CH0:1;
\r
1465 union { /* ADC1 Channel Pending 1 (Base+0x0018) */
\r
1466 vuint32_t R; /* (For standard Channels) */
\r
1469 vuint32_t EOC_CH39:1;
\r
1470 vuint32_t EOC_CH38:1;
\r
1471 vuint32_t EOC_CH37:1;
\r
1472 vuint32_t EOC_CH36:1;
\r
1473 vuint32_t EOC_CH35:1;
\r
1474 vuint32_t EOC_CH34:1;
\r
1475 vuint32_t EOC_CH33:1;
\r
1476 vuint32_t EOC_CH32:1;
\r
1480 vuint8_t ADC1_reserved1[4]; /* Reserved 4 bytes (Base+0x001C-0x001F) */
\r
1482 union { /* ADC1 Interrupt Mask (Base+0020) */
\r
1486 vuint32_t MSKEOCTU:1;
\r
1487 vuint32_t MSKJEOC:1;
\r
1488 vuint32_t MSKJECH:1;
\r
1489 vuint32_t MSKEOC:1;
\r
1490 vuint32_t MSKECH:1;
\r
1494 union { /* ADC1 Channel Interrupt Mask 0 (Base+0x0024) */
\r
1495 vuint32_t R; /* (For Precision Channels) */
\r
1498 vuint32_t CIM15:1;
\r
1499 vuint32_t CIM14:1;
\r
1500 vuint32_t CIM13:1;
\r
1501 vuint32_t CIM12:1;
\r
1502 vuint32_t CIM11:1;
\r
1503 vuint32_t CIM10:1;
\r
1517 union { /* ADC1 Channel Interrupt Mask 1 (+0x0028) */
\r
1518 vuint32_t R; /* (For Standard Channels) */
\r
1521 vuint32_t CIM39:1;
\r
1522 vuint32_t CIM38:1;
\r
1523 vuint32_t CIM37:1;
\r
1524 vuint32_t CIM36:1;
\r
1525 vuint32_t CIM35:1;
\r
1526 vuint32_t CIM34:1;
\r
1527 vuint32_t CIM33:1;
\r
1528 vuint32_t CIM32:1;
\r
1532 vuint8_t ADC1_reserved2[4]; /* Reserved 4 bytes (Base+0x002C-0x002F) */
\r
1534 union { /* ADC1 Watchdog Threshold Interrupt Status (+0x0030)*/
\r
1538 vuint32_t WDG2H:1;
\r
1539 vuint32_t WDG2L:1;
\r
1540 vuint32_t WDG1H:1;
\r
1541 vuint32_t WDG1L:1;
\r
1542 vuint32_t WDG0H:1;
\r
1543 vuint32_t WDG0L:1;
\r
1547 union { /* ADC1 Watchdog Threshold Interrupt Mask (+0x0034) */
\r
1551 vuint32_t MSKWDG2H:1;
\r
1552 vuint32_t MSKWDG2L:1;
\r
1553 vuint32_t MSKWDG1H:1;
\r
1554 vuint32_t MSKWDG1L:1;
\r
1555 vuint32_t MSKWDG0H:1;
\r
1556 vuint32_t MSKWDG0L:1;
\r
1560 vuint8_t ADC1_reserved3[8]; /* Reserved 8 bytes (Base+0x0038-0x003F) */
\r
1562 union { /* ADC1 DMA Enable (Base+0x0040) */
\r
1567 vuint32_t DMAEN:1;
\r
1571 union { /* ADC1 DMA Channel Select 0 (Base+0x0044) */
\r
1572 vuint32_t R; /* (for precision channels) */
\r
1575 vuint32_t DMA15:1;
\r
1576 vuint32_t DMA14:1;
\r
1577 vuint32_t DMA13:1;
\r
1578 vuint32_t DMA12:1;
\r
1579 vuint32_t DMA11:1;
\r
1580 vuint32_t DMA10:1;
\r
1594 union { /* ADC1 DMA Channel Select 1 (Base+0x0048) */
\r
1595 vuint32_t R; /* (for standard channels) */
\r
1598 vuint32_t DMA39:1;
\r
1599 vuint32_t DMA38:1;
\r
1600 vuint32_t DMA37:1;
\r
1601 vuint32_t DMA36:1;
\r
1602 vuint32_t DMA35:1;
\r
1603 vuint32_t DMA34:1;
\r
1604 vuint32_t DMA33:1;
\r
1605 vuint32_t DMA32:1;
\r
1609 vuint8_t ADC1_reserved4[20]; /* Reserved 20 bytes (Base+0x004C-0x005F) */
\r
1611 /* Note the threshold registers are not implemented as an array for */
\r
1612 /* concistency with ADC0 header section */
\r
1614 union { /* ADC1 Threshold 0 (Base+0x0060) */
\r
1618 vuint32_t THRH:12;
\r
1620 vuint32_t THRL:12;
\r
1624 union { /* ADC1 Threshold 1 (Base+0x0064) */
\r
1628 vuint32_t THRH:12;
\r
1630 vuint32_t THRL:12;
\r
1634 union { /* ADC1 Threshold 2 (Base+0x0068) */
\r
1638 vuint32_t THRH:12;
\r
1640 vuint32_t THRL:12;
\r
1644 vuint8_t ADC1_reserved5[20]; /* Reserved 20 bytes (Base+0x006C-0x007F) */
\r
1646 union { /* ADC1 Presampling Control (Base+0x0080) */
\r
1650 vuint32_t PREVAL2:2;
\r
1651 vuint32_t PREVAL1:2;
\r
1652 vuint32_t PREVAL0:2;
\r
1653 vuint32_t PRECONV:1;
\r
1657 union { /* ADC1 Presampling 0 (Base+0x0084) */
\r
1658 vuint32_t R; /* (precision channels) */
\r
1661 vuint32_t PRES15:1;
\r
1662 vuint32_t PRES14:1;
\r
1663 vuint32_t PRES13:1;
\r
1664 vuint32_t PRES12:1;
\r
1665 vuint32_t PRES11:1;
\r
1666 vuint32_t PRES10:1;
\r
1667 vuint32_t PRES9:1;
\r
1668 vuint32_t PRES8:1;
\r
1669 vuint32_t PRES7:1;
\r
1670 vuint32_t PRES6:1;
\r
1671 vuint32_t PRES5:1;
\r
1672 vuint32_t PRES4:1;
\r
1673 vuint32_t PRES3:1;
\r
1674 vuint32_t PRES2:1;
\r
1675 vuint32_t PRES1:1;
\r
1676 vuint32_t PRES0:1;
\r
1680 union { /* ADC1 Presampling 1 (Base+0x0088) */
\r
1681 vuint32_t R; /* (standard channels) */
\r
1684 vuint32_t PRES39:1;
\r
1685 vuint32_t PRES38:1;
\r
1686 vuint32_t PRES37:1;
\r
1687 vuint32_t PRES36:1;
\r
1688 vuint32_t PRES35:1;
\r
1689 vuint32_t PRES34:1;
\r
1690 vuint32_t PRES33:1;
\r
1691 vuint32_t PRES32:1;
\r
1695 vuint8_t ADC1_reserved6[8]; /* Reserved 8 bytes (Base+0x008C-0x0093) */
\r
1697 /* Note the following CTR registers are NOT implemented as an array to */
\r
1698 /* try and maintain some concistency through the header file */
\r
1699 /* (The registers are however identical) */
\r
1701 union { /* ADC1 Conversion Timing 0 (Base+0x0094) */
\r
1702 vuint32_t R; /* (precision channels) */
\r
1705 vuint32_t INPLATCH:1;
\r
1707 vuint32_t OFFSHIFT:2;
\r
1709 vuint32_t INPCMP:2;
\r
1711 vuint32_t INPSAMP:8;
\r
1715 union { /* ADC1 Conversion Timing 1 (Base+0x0098) */
\r
1716 vuint32_t R; /* (standard channels) */
\r
1719 vuint32_t INPLATCH:1;
\r
1721 vuint32_t OFFSHIFT:2;
\r
1723 vuint32_t INPCMP:2;
\r
1725 vuint32_t INPSAMP:8;
\r
1729 vuint8_t ADC1_reserved7[8]; /* Reserved 8 bytes (Base+0x009C-0x00A3) */
\r
1731 union { /* ADC1 Normal Conversion Mask 0 (Base+0x00A4) */
\r
1732 vuint32_t R; /* (precision channels) */
\r
1754 union { /* ADC1 Normal Conversion Mask 1 (Base+0x00A8) */
\r
1755 vuint32_t R; /* (standard channels) */
\r
1769 vuint8_t ADC1_reserved8[8]; /* Reserved 8 bytes (Base+0x00AC-0x00B3) */
\r
1771 union { /* ADC1 Injected Conversion Mask0 (Base+0x00B4) */
\r
1772 vuint32_t R; /* (precision channels) */
\r
1794 union { /* ADC1 Injected Conversion Mask1 (Base+0x00B8) */
\r
1795 vuint32_t R; /* (standard channels) */
\r
1809 vuint8_t ADC1_reserved9[12]; /* Reserved 12 bytes (Base+0x00BC-0x00C7) */
\r
1811 union { /* Power Down Exit Delay Register (base+0x00C8)*/
\r
1819 vuint8_t ADC1_reserved10[52]; /* Reserved 52 bytes (Base+0x00CC-0x00FF) */
\r
1821 union { /* ADC1 Channel 0-39 Data (Base+0x0100-0x019C) */
\r
1822 vuint32_t R; /* Note CDR[16..31] are reserved 0x0140-0x017F */
\r
1825 vuint32_t VALID:1;
\r
1826 vuint32_t OVERW:1;
\r
1827 vuint32_t RESULT:2;
\r
1829 vuint32_t CDATA:12;
\r
1833 vuint8_t ADC1_reserved11[272]; /* Reserved 252 bytes (Base+0x01A0-0x002AF) */
\r
1835 union { /* ADC1 Channel Watchdog Select 0 (Base+0x02B0) */
\r
1836 vuint32_t R; /* (precision channels) */
\r
1839 vuint32_t WSEL_CH7:2;
\r
1841 vuint32_t WSEL_CH6:2;
\r
1843 vuint32_t WSEL_CH5:2;
\r
1845 vuint32_t WSEL_CH4:2;
\r
1847 vuint32_t WSEL_CH3:2;
\r
1849 vuint32_t WSEL_CH2:2;
\r
1851 vuint32_t WSEL_CH1:2;
\r
1853 vuint32_t WSEL_CH0:2;
\r
1857 union { /* ADC1 Channel Watchdog Select 1 (Base+0x02B4) */
\r
1858 vuint32_t R; /* (precision channels) */
\r
1861 vuint32_t WSEL_CH15:2;
\r
1863 vuint32_t WSEL_CH14:2;
\r
1865 vuint32_t WSEL_CH13:2;
\r
1867 vuint32_t WSEL_CH12:2;
\r
1869 vuint32_t WSEL_CH11:2;
\r
1871 vuint32_t WSEL_CH10:2;
\r
1873 vuint32_t WSEL_CH9:2;
\r
1875 vuint32_t WSEL_CH8:2;
\r
1879 vuint8_t ADC1_reserved12[8]; /* Reserved 8 bytes (Base+0x02B8-0x02BF) */
\r
1881 union { /* ADC1 Channel Watchdog Select 4 (Base+0x02C0) */
\r
1882 vuint32_t R; /* (standard channels) */
\r
1885 vuint32_t WSEL_CH39:2;
\r
1887 vuint32_t WSEL_CH38:2;
\r
1889 vuint32_t WSEL_CH37:2;
\r
1891 vuint32_t WSEL_CH36:2;
\r
1893 vuint32_t WSEL_CH35:2;
\r
1895 vuint32_t WSEL_CH34:2;
\r
1897 vuint32_t WSEL_CH33:2;
\r
1899 vuint32_t WSEL_CH32:2;
\r
1903 union { /* ADC1 Channel Watchdog Select 5 (Base+0x02C4) */
\r
1904 vuint32_t R; /* (standard channels) */
\r
1907 vuint32_t WSEL_CH44:2;
\r
1909 vuint32_t WSEL_CH43:2;
\r
1911 vuint32_t WSEL_CH42:2;
\r
1913 vuint32_t WSEL_CH41:2;
\r
1915 vuint32_t WSEL_CH40:2;
\r
1919 vuint8_t ADC1_reserved13[24]; /* Reserved 24 bytes (Base+0x02C8-0x02DF) */
\r
1921 union { /* ADC1 Channel Watchdog Enable0 (Base+0x02E0) */
\r
1922 vuint32_t R; /* (precision channels) */
\r
1925 vuint32_t CWEN15:1;
\r
1926 vuint32_t CWEN14:1;
\r
1927 vuint32_t CWEN13:1;
\r
1928 vuint32_t CWEN12:1;
\r
1929 vuint32_t CWEN11:1;
\r
1930 vuint32_t CWEN10:1;
\r
1931 vuint32_t CWEN9:1;
\r
1932 vuint32_t CWEN8:1;
\r
1933 vuint32_t CWEN7:1;
\r
1934 vuint32_t CWEN6:1;
\r
1935 vuint32_t CWEN5:1;
\r
1936 vuint32_t CWEN4:1;
\r
1937 vuint32_t CWEN3:1;
\r
1938 vuint32_t CWEN2:1;
\r
1939 vuint32_t CWEN1:1;
\r
1940 vuint32_t CWEN0:1;
\r
1944 union { /* ADC1 Channel Watchdog Enable1 (Base++0x02E4) */
\r
1945 vuint32_t R; /* (standard channels) */
\r
1948 vuint32_t CWEN39:1;
\r
1949 vuint32_t CWEN38:1;
\r
1950 vuint32_t CWEN37:1;
\r
1951 vuint32_t CWEN36:1;
\r
1952 vuint32_t CWEN35:1;
\r
1953 vuint32_t CWEN34:1;
\r
1954 vuint32_t CWEN33:1;
\r
1955 vuint32_t CWEN32:1;
\r
1959 vuint8_t ADC1_reserved14[8]; /* Reserved 8 bytes (Base+0x02E8-0x02EF) */
\r
1961 union { /* ADC1 Watchdog out of range 0 (Base+0x02F0) */
\r
1965 vuint32_t AWORR_CH15:1;
\r
1966 vuint32_t AWORR_CH14:1;
\r
1967 vuint32_t AWORR_CH13:1;
\r
1968 vuint32_t AWORR_CH12:1;
\r
1969 vuint32_t AWORR_CH11:1;
\r
1970 vuint32_t AWORR_CH10:1;
\r
1971 vuint32_t AWORR_CH9:1;
\r
1972 vuint32_t AWORR_CH8:1;
\r
1973 vuint32_t AWORR_CH7:1;
\r
1974 vuint32_t AWORR_CH6:1;
\r
1975 vuint32_t AWORR_CH5:1;
\r
1976 vuint32_t AWORR_CH4:1;
\r
1977 vuint32_t AWORR_CH3:1;
\r
1978 vuint32_t AWORR_CH2:1;
\r
1979 vuint32_t AWORR_CH1:1;
\r
1980 vuint32_t AWORR_CH0:1;
\r
1984 union { /* ADC1 Watchdog out of range 1 (Base+0x02F4) */
\r
1988 vuint32_t AWORR_CH39:1;
\r
1989 vuint32_t AWORR_CH38:1;
\r
1990 vuint32_t AWORR_CH37:1;
\r
1991 vuint32_t AWORR_CH36:1;
\r
1992 vuint32_t AWORR_CH35:1;
\r
1993 vuint32_t AWORR_CH34:1;
\r
1994 vuint32_t AWORR_CH33:1;
\r
1995 vuint32_t AWORR_CH32:1;
\r
1999 vuint8_t ADC1_reserved15[8]; /* Reserved 8 bytes (Base+0x02F8-0x02FF) */
\r
2001 }; /* end of ADC1_tag */
\r
2003 #endif //Removed ADC
\r
2005 /****************************************************************************/
\r
2006 /* MODULE : CANSP */
\r
2007 /****************************************************************************/
\r
2008 struct CANSP_tag {
\r
2010 union { /* CANSP Control Reg (Base+0x0000) */
\r
2014 vuint32_t RX_COMPLETE:1;
\r
2016 vuint32_t ACTIVE_CK:1;
\r
2019 vuint32_t CAN_RX_SEL:3;
\r
2021 vuint32_t CAN_SMPLR_EN:1;
\r
2025 union { /* CANSP Sample 0..11 (Base+0x0000-0x0030)*/
\r
2029 }; /* end of CANSP_tag */
\r
2030 /****************************************************************************/
\r
2031 /* MODULE : ECSM */
\r
2032 /****************************************************************************/
\r
2035 union { /* ECSM Processor Core Type (Base+0x0000) */
\r
2039 union { /* ECSM Revision (Base+0x0002) */
\r
2043 vuint8_t ECSM_reserved0[4]; /* Reserved 4 bytes (Base+0x0004-0x0007) */
\r
2045 union { /* ECSM IPS Module Configuration (Base+0x0008) */
\r
2049 vuint8_t ECSM_reserved1[7]; /* Reserved 7 bytes (Base+0x000C-0x0012) */
\r
2051 union { /* ECSM Miscellaneous Wakeup Control (+0x0013) */
\r
2054 vuint8_t ENBWCR:1;
\r
2056 vuint8_t PRILVL:4;
\r
2060 vuint8_t ECSM_reserved2[11]; /* Reserved 11 bytes (Base+0x0014-0x001E) */
\r
2062 union { /* ECSM Miscellaneous Interrupt (Base+0x001F) */
\r
2073 vuint8_t ECSM_reserved3[4]; /* Reserved 4 bytes (Base+0x0020-0x0023) */
\r
2075 union { /*ECSM Miscellaneous User-Defined Control (+0x0024)*/
\r
2077 } MUDCR; /* ECSM Miscellaneous User-Defined Control Register */
\r
2079 vuint8_t ECSM_reserved4[27]; /* Reserved 27 bytes (Base+0x0028-0x0042) */
\r
2081 union { /* ECSM ECC Configuration (Base+0x0043) */
\r
2093 vuint8_t ECSM_reserved5[3]; /* Reserved 3 bytes (Base+0x0044-0x0046) */
\r
2095 union { /* ECSM ECC Status (Base+0x0047) */
\r
2107 vuint8_t ECSM_reserved6[2]; /* Reserved 2 bytes (Base+0x0048-0x0049) */
\r
2109 union { /* ECSM ECC Error Generation (Base+0x004A) */
\r
2113 vuint16_t FRC1BI:1;
\r
2114 vuint16_t FR11BI:1;
\r
2116 vuint16_t FRCNCI:1;
\r
2117 vuint16_t FR1NCI:1;
\r
2119 vuint16_t ERRBIT:7;
\r
2123 vuint8_t ECSM_reserved7[4]; /* Reserved 4 bytes (Base+0x004C-0x004F) */
\r
2125 union { /* ECSM Flash ECC Address(Base+0x0050) */
\r
2129 vuint8_t ECSM_reserved8[2]; /* Reserved 2 bytes (Base+0x0054-0x0055) */
\r
2131 union { /* ECSM Flash ECC Master Number (Base+0x0056) */
\r
2139 union { /* ECSM Flash ECC Attributes (Base+0x0057) */
\r
2144 vuint8_t PROTECTION:4;
\r
2148 vuint8_t ECSM_reserved9[4]; /* Reserved 4 bytes (Base+0x0058-0x005B) */
\r
2150 union { /* ECSM Flash ECC Data (Base+0x005C) */
\r
2154 union { /* ECSM RAM ECC Address (Base+0x0060) */
\r
2158 vuint8_t ECSM_reserved10[1]; /* Reserved 1 bytes (Base+0x0064) */
\r
2160 union { /* ECSM RAM ECC Address (Base+0x0065) */
\r
2164 union { /* ECSM RAM ECC Master Number (Base+0x0066) */
\r
2172 union { /* ECSM RAM ECC Attributes (Base+0x0067) */
\r
2177 vuint8_t PROTECTION:4;
\r
2181 vuint8_t ECSM_reserved11[4]; /* Reserved 4 bytes (Base+0x0068-0x006B) */
\r
2183 union { /* ECSM RAM ECC Data (Base+0x006C) */
\r
2187 }; /* end of ECSM_tag */
\r
2189 /****************************************************************************/
\r
2190 /* MODULE : RTC/API */
\r
2191 /****************************************************************************/
\r
2194 union { /* RTC Supervisor Control (Base+0x0000) */
\r
2202 union { /* RTC Control (Base+0x0004) */
\r
2205 vuint32_t CNTEN:1;
\r
2206 vuint32_t RTCIE:1;
\r
2207 vuint32_t FRZEN:1;
\r
2208 vuint32_t ROVREN:1;
\r
2209 vuint32_t RTCVAL:12;
\r
2210 vuint32_t APIEN:1;
\r
2211 vuint32_t APIIE:1;
\r
2212 vuint32_t CLKSEL:2;
\r
2213 vuint32_t DIV512EN:1;
\r
2214 vuint32_t DIV32EN:1;
\r
2215 vuint32_t APIVAL:10;
\r
2219 union { /* RTC Status (Base+0x0008) */
\r
2227 vuint32_t ROVRF:1;
\r
2232 union { /* RTC Counter (Base+0x000C) */
\r
2235 vuint32_t RTCCNT:32;
\r
2239 }; /* end of RTC_tag */
\r
2241 /****************************************************************************/
\r
2242 /* MODULE : SIU Lite (tagged as SIU for compatibility) */
\r
2243 /****************************************************************************/
\r
2246 vuint8_t SIU_reserved0[4]; /* Reserved 4 Bytes (Base+0x0) */
\r
2248 union { /* MCU ID1 (Base+0x0004) */
\r
2251 vuint32_t PARTNUM:16;
\r
2255 vuint32_t MAJOR_MASK:4;
\r
2256 vuint32_t MINOR_MASK:4;
\r
2260 union { /* MCU ID2 (Base+0x0008) */
\r
2264 vuint32_t FLASH_SIZE_1:4;
\r
2265 vuint32_t FLASH_SIZE_2:4;
\r
2267 vuint32_t PARTNUM:8;
\r
2275 vuint8_t SIU_reserved1[8]; /* Reserved 8 Bytes (Base+(0x000C--0x0013)) */
\r
2277 union { /* Interrupt Status Flag (Base+0x0014)*/
\r
2281 vuint32_t EIF23:1;
\r
2282 vuint32_t EIF22:1;
\r
2283 vuint32_t EIF21:1;
\r
2284 vuint32_t EIF20:1;
\r
2285 vuint32_t EIF19:1;
\r
2286 vuint32_t EIF18:1;
\r
2287 vuint32_t EIF17:1;
\r
2288 vuint32_t EIF16:1;
\r
2289 vuint32_t EIF15:1;
\r
2290 vuint32_t EIF14:1;
\r
2291 vuint32_t EIF13:1;
\r
2292 vuint32_t EIF12:1;
\r
2293 vuint32_t EIF11:1;
\r
2294 vuint32_t EIF10:1;
\r
2308 union { /* Interrupt Request Enable (Base+0x0018) */
\r
2312 vuint32_t IRE23:1;
\r
2313 vuint32_t IRE22:1;
\r
2314 vuint32_t IRE21:1;
\r
2315 vuint32_t IRE20:1;
\r
2316 vuint32_t IRE19:1;
\r
2317 vuint32_t IRE18:1;
\r
2318 vuint32_t IRE17:1;
\r
2319 vuint32_t IRE16:1;
\r
2320 vuint32_t IRE15:1;
\r
2321 vuint32_t IRE14:1;
\r
2322 vuint32_t IRE13:1;
\r
2323 vuint32_t IRE12:1;
\r
2324 vuint32_t IRE11:1;
\r
2325 vuint32_t IRE10:1;
\r
2339 vuint8_t SIU_reserved2[12]; /* Reserved 12 Bytes (Base+0x001C-0x0027) */
\r
2341 union { /* Interrupt Rising-Edge Event Enable (+0x0028) */
\r
2345 vuint32_t IREE23:1;
\r
2346 vuint32_t IREE22:1;
\r
2347 vuint32_t IREE21:1;
\r
2348 vuint32_t IREE20:1;
\r
2349 vuint32_t IREE19:1;
\r
2350 vuint32_t IREE18:1;
\r
2351 vuint32_t IREE17:1;
\r
2352 vuint32_t IREE16:1;
\r
2353 vuint32_t IREE15:1;
\r
2354 vuint32_t IREE14:1;
\r
2355 vuint32_t IREE13:1;
\r
2356 vuint32_t IREE12:1;
\r
2357 vuint32_t IREE11:1;
\r
2358 vuint32_t IREE10:1;
\r
2359 vuint32_t IREE9:1;
\r
2360 vuint32_t IREE8:1;
\r
2361 vuint32_t IREE7:1;
\r
2362 vuint32_t IREE6:1;
\r
2363 vuint32_t IREE5:1;
\r
2364 vuint32_t IREE4:1;
\r
2365 vuint32_t IREE3:1;
\r
2366 vuint32_t IREE2:1;
\r
2367 vuint32_t IREE1:1;
\r
2368 vuint32_t IREE0:1;
\r
2372 union { /* Interrupt Falling-Edge Event Enable (+0x002C)*/
\r
2376 vuint32_t IFEE23:1;
\r
2377 vuint32_t IFEE22:1;
\r
2378 vuint32_t IFEE21:1;
\r
2379 vuint32_t IFEE20:1;
\r
2380 vuint32_t IFEE19:1;
\r
2381 vuint32_t IFEE18:1;
\r
2382 vuint32_t IFEE17:1;
\r
2383 vuint32_t IFEE16:1;
\r
2384 vuint32_t IFEE15:1;
\r
2385 vuint32_t IFEE14:1;
\r
2386 vuint32_t IFEE13:1;
\r
2387 vuint32_t IFEE12:1;
\r
2388 vuint32_t IFEE11:1;
\r
2389 vuint32_t IFEE10:1;
\r
2390 vuint32_t IFEE9:1;
\r
2391 vuint32_t IFEE8:1;
\r
2392 vuint32_t IFEE7:1;
\r
2393 vuint32_t IFEE6:1;
\r
2394 vuint32_t IFEE5:1;
\r
2395 vuint32_t IFEE4:1;
\r
2396 vuint32_t IFEE3:1;
\r
2397 vuint32_t IFEE2:1;
\r
2398 vuint32_t IFEE1:1;
\r
2399 vuint32_t IFEE0:1;
\r
2403 union { /* Interrupt Filter Enable (Base+0x0030) */
\r
2407 vuint32_t IFE23:1;
\r
2408 vuint32_t IFE22:1;
\r
2409 vuint32_t IFE21:1;
\r
2410 vuint32_t IFE20:1;
\r
2411 vuint32_t IFE19:1;
\r
2412 vuint32_t IFE18:1;
\r
2413 vuint32_t IFE17:1;
\r
2414 vuint32_t IFE16:1;
\r
2415 vuint32_t IFE15:1;
\r
2416 vuint32_t IFE14:1;
\r
2417 vuint32_t IFE13:1;
\r
2418 vuint32_t IFE12:1;
\r
2419 vuint32_t IFE11:1;
\r
2420 vuint32_t IFE10:1;
\r
2434 vuint8_t SIU_reserved3[12]; /* Reserved 12 Bytes (Base+0x0034-0x003F) */
\r
2436 union { /* Pad Configuration 0..148 (Base+0x0040-0x0168)*/
\r
2455 vuint8_t SIU_reserved4[918]; /*Reserved 918 Bytes (Base+0x016A-0x04FF) */
\r
2457 union { /* Pad Selection for Mux Input (0x0500-0x53C) */
\r
2461 vuint8_t PADSEL:4;
\r
2465 vuint8_t SIU_reserved5[192]; /*Reserved 192 Bytes (Base+0x0540-0x05FF) */
\r
2467 union { /* GPIO Pad Data Output (Base+0x0600-0x06A0) */
\r
2473 } GPDO[152]; // only 152 GPD0 registers
\r
2475 vuint8_t SIU_reserved6[360]; /*Reserved 348 Bytes (Base+0x06A4-0x07FF) */
\r
2477 union { /* GPIO Pad Data Input (Base+0x0800-0x08A0) */
\r
2483 } GPDI[152]; // only 152 GPD0 registers
\r
2485 vuint8_t SIU_reserved7[872]; /*Reserved 860 Bytes (Base+0x08A4-0x0BFF) */
\r
2487 union { /* Parallel GPIO Pad Data Out 0-4 (0x0C00-0xC010) */
\r
2490 vuint32_t PPD0:32;
\r
2494 vuint8_t SIU_reserved8[44]; /* Reserved 44 Bytes (Base+0x0C14-0x0C3F) */
\r
2496 union { /* Parallel GPIO Pad Data In 0-4 (0x0C40-0x0C50) */
\r
2499 vuint32_t PPDI:32;
\r
2503 vuint8_t SIU_reserved9[44]; /* Reserved 44 Bytes (Base+0x0C54-0x0C7F) */
\r
2505 union { /* Masked Parallel GPIO Pad Data Out 0-9 (0x0C80-0x0CA4) */
\r
2508 vuint32_t MASK:16;
\r
2509 vuint32_t MPPDO:16;
\r
2513 vuint8_t SIU_reserved10[856]; /*Reserved 844 Bytes (Base+0x0CA8-0x0FFF)*/
\r
2515 union { /* Interrupt Filter Max Counter 0..23 (+0x1000-0x105C) */
\r
2519 vuint32_t MAXCNT:4;
\r
2523 vuint8_t SIU_reserved11[32]; /* Reserved 32 Bytes (Base+0x1060-0x107F)*/
\r
2525 union { /* Interrupt Filter Clock Prescaler (Base+0x1080) */
\r
2533 vuint8_t SIU_reserved12[12156]; /* Reserved 12156 Bytes (+0x1084-0x3FFF)*/
\r
2535 }; /* end of SIU_tag */
\r
2536 /****************************************************************************/
\r
2537 /* MODULE : SSCM */
\r
2538 /****************************************************************************/
\r
2541 union { /* Status (Base+0x0000) */
\r
2547 vuint16_t BMODE:3;
\r
2554 union { /* System Memory Configuration (Base+0x002) */
\r
2565 vuint8_t SSCM_reserved0[2]; /* Reserved 2 bytes (Base+0x0004-0x0005) */
\r
2567 union { /* Error Configuration (Base+0x0006) */
\r
2576 union { /* Debug Status Port (Base+0x0008) */
\r
2580 vuint16_t DEBUG_MODE:3;
\r
2584 vuint8_t SSCM_reserved1[2]; /* Reserved 2 bytes (Base+0x000A-0x000B) */
\r
2586 union { /* Password Comparison High Word (Base+0x000C) */
\r
2589 vuint32_t PWD_HI:32;
\r
2593 union { /* Password Comparison Low Word (Base+0x0010)*/
\r
2596 vuint32_t PWD_LO:32;
\r
2600 }; /* end of SSCM_tag */
\r
2601 /****************************************************************************/
\r
2602 /* MODULE : STM */
\r
2603 /****************************************************************************/
\r
2604 struct STM_CHANNEL_tag{
\r
2606 union { /* STM Channel Control 0..3 */
\r
2614 union { /* STM Channel Interrupt 0..3 */
\r
2622 union { /* STM Channel Compare 0..3 */
\r
2629 vuint8_t STM_CHANNEL_reserved0[4]; /* Reserved 4 bytes between ch reg's */
\r
2631 }; /* end of STM_CHANNEL_tag */
\r
2636 union { /* STM Control (Base+0x0000) */
\r
2647 union { /* STM Count (Base+0x0004) */
\r
2651 vuint8_t STM_reserved1[8]; /* Reserved 8 bytes (Base+0x0008-0x000F) */
\r
2653 struct STM_CHANNEL_tag CH[4]; /*STM Channels 0..3 (Base+0x0010-0x0048) */
\r
2655 }; /* end of STM_tag */
\r
2656 /****************************************************************************/
\r
2657 /* MODULE : SWT */
\r
2658 /****************************************************************************/
\r
2661 union { /* SWT Control (Base+0x0000) */
\r
2686 union { /* SWT Interrupt (Base+0x0004) */
\r
2694 union { /* SWT Time-Out (Base+0x0008) */
\r
2701 union { /* SWT Window (Base+0x000C) */
\r
2708 union { /* SWT Service (Base+0x0010) */
\r
2716 union { /* SWT Counter Output (Base+0x0014) */
\r
2723 }; /* end of SWT_tag */
\r
2724 /****************************************************************************/
\r
2725 /* MODULE : WKUP */
\r
2726 /****************************************************************************/
\r
2729 union { /* NMI Status Flag (Base+0x0000) */
\r
2732 vuint32_t NIF0:1;
\r
2733 vuint32_t NOVF0:1;
\r
2738 vuint8_t WKUP_reserved0[4]; /* Reserved 4 Bytes (Base+0x0004-0x0007) */
\r
2740 union { /* NMI Configuration (Base+0x0008) */
\r
2743 vuint32_t NLOCK0:1;
\r
2744 vuint32_t NDSS0:2;
\r
2745 vuint32_t NWRE0:1;
\r
2747 vuint32_t NREE0:1;
\r
2748 vuint32_t NFEE0:1;
\r
2754 vuint8_t WKUP_reserved1[8]; /* Reserved 8 Bytes (Base+0x000C-0x0013) */
\r
2756 union { /* Wakeup/Interrup status flag (Base+0x0014) */
\r
2764 union { /* Interrupt Request Enable (Base+0x0018) */
\r
2768 vuint32_t EIRE:29;
\r
2772 union { /* Wakeup Request Enable (Base+0x001C) */
\r
2780 vuint8_t WKUP_reserved2[8]; /* Reserved 8 Bytes (Base+0x0020-0x0027) */
\r
2782 union { /* Wakeup/Interrupt Rising-Edge (Base+0x0028) */
\r
2786 vuint32_t IREE:29;
\r
2790 union { /* Wakeup/Interrupt Falling-Edge (Base+0x002C) */
\r
2794 vuint32_t IFEE:29;
\r
2798 union { /* Wakeup/Interrupt Filter Enable (Base+0x0030) */
\r
2806 union { /* Wakeup/Interrupt Pullup Enable (Base+0x0034) */
\r
2810 vuint32_t IPUE:29;
\r
2812 } WIPUER; /* Wakeup/Interrupt Pullup Enable Register */
\r
2814 vuint8_t WKUP_reserved3[16328]; /* Reserved 16328 (Base+0x0038-0x3FFF) */
\r
2816 }; /* end of WKUP_tag */
\r
2817 /****************************************************************************/
\r
2818 /* MODULE : LINFLEX */
\r
2819 /****************************************************************************/
\r
2820 struct LINFLEX_tag {
\r
2822 union { /* LINFLEX LIN Control 1 (Base+0x0000) */
\r
2837 vuint32_t SLEEP:1;
\r
2842 union { /* LINFLEX LIN Interrupt Enable (Base+0x0004) */
\r
2856 vuint32_t DBFIE:1;
\r
2857 vuint32_t DBEIE:1;
\r
2864 union { /* LINFLEX LIN Status (Base+0x0008) */
\r
2883 union { /* LINFLEX LIN Error Status (Base+0x000C) */
\r
2893 vuint32_t IDPEF:1;
\r
2901 union { /* LINFLEX UART Mode Control (Base+0x0010) */
\r
2915 vuint32_t UART:1;
\r
2919 union { /* LINFLEX UART Mode Status (Base+0x0014) */
\r
2925 vuint32_t PE:4; /*Can check all 4 RX'd bytes at once with array*/
\r
2939 union { /* LINFLEX TimeOut Control Status ((Base+0x0018)*/
\r
2951 union { /* LINFLEX LIN Output Compare (Base+0x001C) */
\r
2960 union { /* LINFLEX LIN Timeout Control (Base+0x0020) */
\r
2970 union { /* LINFLEX LIN Fractional Baud Rate (+0x0024) */
\r
2974 vuint32_t DIV_F:4;
\r
2978 union { /* LINFLEX LIN Integer Baud Rate (Base+0x0028) */
\r
2982 vuint32_t DIV_M:20;
\r
2986 union { /* LINFLEX LIN Checksum Field (Base+0x002C) */
\r
2994 union { /* LINFLEX LIN Control 2 (Base+0x0030) */
\r
3009 union { /* LINFLEX Buffer Identifier (Base+0x0034) */
\r
3021 union { /* LINFLEX Buffer Data LSB (Base+0x0038) */
\r
3024 vuint32_t DATA3:8;
\r
3025 vuint32_t DATA2:8;
\r
3026 vuint32_t DATA1:8;
\r
3027 vuint32_t DATA0:8;
\r
3031 union { /* LINFLEX Buffer Data MSB (Base+0x003C */
\r
3034 vuint32_t DATA7:8;
\r
3035 vuint32_t DATA6:8;
\r
3036 vuint32_t DATA5:8;
\r
3037 vuint32_t DATA4:8;
\r
3041 union { /* LINFLEX Identifier Filter Enable (+0x0040) */
\r
3049 union { /* LINFLEX Identifier Filter Match Index (+0x0044)*/
\r
3057 union { /* LINFLEX Identifier Filter Mode (Base+0x0048) */
\r
3065 union { /* LINFLEX Identifier Filter Control 0..15 (+0x004C-0x0088)*/
\r
3069 vuint32_t:3; /* for LINflexD no reseve here*/
\r
3070 vuint32_t DFL:3; /* Linflex D - this field is 6 bits (0 and 1), Linflex - this field is 3 bits (2-9 B1.5M) (2-7 B1M) */
\r
3079 }; /* end of LINFLEX_tag */
\r
3082 /****************************************************************************/
\r
3083 /* MODULE : LINFLEXD0 */
\r
3084 /****************************************************************************/
\r
3085 struct LINFLEXD0_tag {
\r
3087 union { /* LINFLEX LIN Control 1 (Base+0x0000) */
\r
3102 vuint32_t SLEEP:1;
\r
3107 union { /* LINFLEX LIN Interrupt Enable (Base+0x0004) */
\r
3121 vuint32_t DBFIE:1;
\r
3122 vuint32_t DBEIE:1;
\r
3129 union { /* LINFLEX LIN Status (Base+0x0008) */
\r
3148 union { /* LINFLEX LIN Error Status (Base+0x000C) */
\r
3158 vuint32_t IDPEF:1;
\r
3166 union { /* LINFLEX UART Mode Control (Base+0x0010) */
\r
3170 vuint32_t TDFLTFC:3;
\r
3171 vuint32_t RDFLTFC:3;
\r
3185 union { /* LINFLEX UART Mode Status (Base+0x0014) */
\r
3191 vuint32_t PE:4; /*Can check all 4 RX'd bytes at once with array*/
\r
3205 union { /* LINFLEX TimeOut Control Status ((Base+0x0018)*/
\r
3217 union { /* LINFLEX LIN Output Compare (Base+0x001C) */
\r
3226 union { /* LINFLEX LIN Timeout Control (Base+0x0020) */
\r
3236 union { /* LINFLEX LIN Fractional Baud Rate (+0x0024) */
\r
3240 vuint32_t DIV_F:4;
\r
3244 union { /* LINFLEX LIN Integer Baud Rate (Base+0x0028) */
\r
3248 vuint32_t DIV_M:20;
\r
3252 union { /* LINFLEX LIN Checksum Field (Base+0x002C) */
\r
3260 union { /* LINFLEX LIN Control 2 (Base+0x0030) */
\r
3275 union { /* LINFLEX Buffer Identifier (Base+0x0034) */
\r
3287 union { /* LINFLEX Buffer Data LSB (Base+0x0038) */
\r
3290 vuint32_t DATA3:8;
\r
3291 vuint32_t DATA2:8;
\r
3292 vuint32_t DATA1:8;
\r
3293 vuint32_t DATA0:8;
\r
3297 union { /* LINFLEX Buffer Data MSB (Base+0x003C */
\r
3300 vuint32_t DATA7:8;
\r
3301 vuint32_t DATA6:8;
\r
3302 vuint32_t DATA5:8;
\r
3303 vuint32_t DATA4:8;
\r
3307 union { /* LINFLEX Identifier Filter Enable (+0x0040) */
\r
3315 union { /* LINFLEX Identifier Filter Match Index (+0x0044)*/
\r
3323 union { /* LINFLEX Identifier Filter Mode (Base+0x0048) */
\r
3331 union { /* LINFLEX Identifier Filter Control 0..15 (+0x004C-0x0088)*/
\r
3343 union { /* LINFLEX Global Counter (+0x008C) */
\r
3347 vuint32_t TDFBM:1;
\r
3348 vuint32_t RDFBM:1;
\r
3349 vuint32_t TDLIS:1;
\r
3350 vuint32_t RDLIS:1;
\r
3356 union { /* LINFLEX UART preset timeout (+0x0090) */
\r
3364 union { /* LINFLEX UART current timeout (+0x0094) */
\r
3372 union { /* LINFLEX DMA Tx Enable (+0x0098) */
\r
3376 vuint32_t DTE15:1;
\r
3377 vuint32_t DTE14:1;
\r
3378 vuint32_t DTE13:1;
\r
3379 vuint32_t DTE12:1;
\r
3380 vuint32_t DTE11:1;
\r
3381 vuint32_t DTE10:1;
\r
3395 union { /* LINFLEX DMA RX Enable (+0x009C) */
\r
3399 vuint32_t DRE15:1;
\r
3400 vuint32_t DRE14:1;
\r
3401 vuint32_t DRE13:1;
\r
3402 vuint32_t DRE12:1;
\r
3403 vuint32_t DRE11:1;
\r
3404 vuint32_t DRE10:1;
\r
3417 }; /* end of LINFLEXD0_tag */
\r
3418 /****************************************************************************/
\r
3419 /* MODULE : LINFLEXD1 */
\r
3420 /****************************************************************************/
\r
3421 struct LINFLEXD1_tag {
\r
3423 union { /* LINFLEX LIN Control 1 (Base+0x0000) */
\r
3438 vuint32_t SLEEP:1;
\r
3443 union { /* LINFLEX LIN Interrupt Enable (Base+0x0004) */
\r
3457 vuint32_t DBFIE:1;
\r
3458 vuint32_t DBEIE:1;
\r
3465 union { /* LINFLEX LIN Status (Base+0x0008) */
\r
3484 union { /* LINFLEX LIN Error Status (Base+0x000C) */
\r
3494 vuint32_t IDPEF:1;
\r
3502 union { /* LINFLEX UART Mode Control (Base+0x0010) */
\r
3506 vuint32_t TDFLTFC:3;
\r
3507 vuint32_t RDFLTFC:3;
\r
3521 union { /* LINFLEX UART Mode Status (Base+0x0014) */
\r
3527 vuint32_t PE:4; /*Can check all 4 RX'd bytes at once with array*/
\r
3540 union { /* LINFLEX TimeOut Control Status ((Base+0x0018)*/
\r
3552 union { /* LINFLEX LIN Output Compare (Base+0x001C) */
\r
3561 union { /* LINFLEX LIN Timeout Control (Base+0x0020) */
\r
3571 union { /* LINFLEX LIN Fractional Baud Rate (+0x0024) */
\r
3575 vuint32_t DIV_F:4;
\r
3579 union { /* LINFLEX LIN Integer Baud Rate (Base+0x0028) */
\r
3583 vuint32_t DIV_M:20;
\r
3587 union { /* LINFLEX LIN Checksum Field (Base+0x002C) */
\r
3595 union { /* LINFLEX LIN Control 2 (Base+0x0030) */
\r
3610 union { /* LINFLEX Buffer Identifier (Base+0x0034) */
\r
3622 union { /* LINFLEX Buffer Data LSB (Base+0x0038) */
\r
3625 vuint32_t DATA3:8;
\r
3626 vuint32_t DATA2:8;
\r
3627 vuint32_t DATA1:8;
\r
3628 vuint32_t DATA0:8;
\r
3632 union { /* LINFLEX Buffer Data MSB (Base+0x003C */
\r
3635 vuint32_t DATA7:8;
\r
3636 vuint32_t DATA6:8;
\r
3637 vuint32_t DATA5:8;
\r
3638 vuint32_t DATA4:8;
\r
3642 union { /* LINFLEX Identifier Filter Enable (+0x0040) */
\r
3650 union { /* LINFLEX Identifier Filter Match Index (+0x0044)*/
\r
3658 union { /* LINFLEX Identifier Filter Mode (Base+0x0048) */
\r
3666 /* No IFCR registers on LinFlexD_1 */
\r
3668 union { /* LINFLEX Global Counter (+0x004C) */
\r
3672 vuint32_t TDFBM:1;
\r
3673 vuint32_t RDFBM:1;
\r
3674 vuint32_t TDLIS:1;
\r
3675 vuint32_t RDLIS:1;
\r
3681 union { /* LINFLEX UART preset timeout (+0x0050) */
\r
3689 union { /* LINFLEX UART current timeout (+0x0054) */
\r
3697 union { /* LINFLEX DMA Tx Enable (+0x0058) */
\r
3701 vuint32_t DTE15:1;
\r
3702 vuint32_t DTE14:1;
\r
3703 vuint32_t DTE13:1;
\r
3704 vuint32_t DTE12:1;
\r
3705 vuint32_t DTE11:1;
\r
3706 vuint32_t DTE10:1;
\r
3720 union { /* LINFLEX DMA RX Enable (+0x005C) */
\r
3724 vuint32_t DRE15:1;
\r
3725 vuint32_t DRE14:1;
\r
3726 vuint32_t DRE13:1;
\r
3727 vuint32_t DRE12:1;
\r
3728 vuint32_t DRE11:1;
\r
3729 vuint32_t DRE10:1;
\r
3742 }; /* end of LINFLEXD1_tag */
\r
3744 /****************************************************************************/
\r
3746 /****************************************************************************/
\r
3749 union { /* Global Status (Base+0x0000) */
\r
3752 vuint32_t S_CURRENTMODE:4;
\r
3753 vuint32_t S_MTRANS:1;
\r
3756 vuint32_t S_PDO:1;
\r
3758 vuint32_t S_MVR:1;
\r
3759 vuint32_t S_DFLA:2;
\r
3760 vuint32_t S_CFLA:2;
\r
3762 vuint32_t S_FMPLL:1;
\r
3763 vuint32_t S_FXOSC:1;
\r
3764 vuint32_t S_FIRC:1;
\r
3765 vuint32_t S_SYSCLK:4;
\r
3769 union { /* Mode Control (Base+0x004) */
\r
3772 vuint32_t TARGET_MODE:4;
\r
3778 union { /* Mode Enable (Base+0x0008) */
\r
3783 vuint32_t STANDBY0:1;
\r
3785 vuint32_t STOP0:1;
\r
3787 vuint32_t HALT0:1;
\r
3795 vuint32_t RESET:1;
\r
3799 union { /* Interrupt Status (Base+0x000C) */
\r
3803 vuint32_t I_ICONF:1;
\r
3804 vuint32_t I_IMODE:1;
\r
3805 vuint32_t I_SAFE:1;
\r
3806 vuint32_t I_MTC:1;
\r
3810 union { /* Interrupt Mask (Base+0x0010) */
\r
3814 vuint32_t M_ICONF:1;
\r
3815 vuint32_t M_IMODE:1;
\r
3816 vuint32_t M_SAFE:1;
\r
3817 vuint32_t M_MTC:1;
\r
3821 union { /* Invalid Mode Transition Status (Base+0x0014) */
\r
3825 vuint32_t S_MTI:1;
\r
3826 vuint32_t S_MRI:1;
\r
3827 vuint32_t S_DMA:1;
\r
3828 vuint32_t S_NMA:1;
\r
3829 vuint32_t S_SEA:1;
\r
3833 union { /* Debug Mode Transition Status (Base+0x0018) */
\r
3837 vuint32_t MPH_BUSY:1;
\r
3839 vuint32_t PMC_PROG:1;
\r
3840 vuint32_t CORE_DBG:1;
\r
3844 vuint32_t FMPLL_SC:1;
\r
3845 vuint32_t FXOSC_SC:1;
\r
3846 vuint32_t FIRC_SC:1;
\r
3848 vuint32_t SYSCLK_SW:1;
\r
3849 vuint32_t DFLASH_SC:1;
\r
3850 vuint32_t CFLASH_SC:1;
\r
3851 vuint32_t CDP_PRPH_0_143:1;
\r
3853 vuint32_t CDP_PRPH_96_127:1;
\r
3854 vuint32_t CDP_PRPH_64_95:1;
\r
3855 vuint32_t CDP_PRPH_32_63:1;
\r
3856 vuint32_t CDP_PRPH_0_31:1;
\r
3860 vuint8_t ME_reserved0[4]; /* reserved 4 bytes (Base+0x001C-0x001F) */
\r
3862 union { /* Reset Mode Configuration (Base+0x0020) */
\r
3868 vuint32_t MVRON:1;
\r
3869 vuint32_t DFLAON:2;
\r
3870 vuint32_t CFLAON:2;
\r
3872 vuint32_t FMPLLON:1;
\r
3873 vuint32_t FXOSC0ON:1;
\r
3874 vuint32_t FIRCON:1;
\r
3875 vuint32_t SYSCLK:4;
\r
3879 union { /* Test Mode Configuration (Base+0x0024) */
\r
3885 vuint32_t MVRON:1;
\r
3886 vuint32_t DFLAON:2;
\r
3887 vuint32_t CFLAON:2;
\r
3889 vuint32_t FMPLLON:1;
\r
3890 vuint32_t FXOSC0ON:1;
\r
3891 vuint32_t FIRCON:1;
\r
3892 vuint32_t SYSCLK:4;
\r
3896 union { /* Safe Mode Configuration (Base+0x0028) */
\r
3902 vuint32_t MVRON:1;
\r
3903 vuint32_t DFLAON:2;
\r
3904 vuint32_t CFLAON:2;
\r
3906 vuint32_t FMPLLON:1;
\r
3907 vuint32_t FXOSC0ON:1;
\r
3908 vuint32_t FIRCON:1;
\r
3909 vuint32_t SYSCLK:4;
\r
3913 union { /* DRUN Mode Configuration (Base+0x002C) */
\r
3919 vuint32_t MVRON:1;
\r
3920 vuint32_t DFLAON:2;
\r
3921 vuint32_t CFLAON:2;
\r
3923 vuint32_t FMPLLON:1;
\r
3924 vuint32_t FXOSCON:1;
\r
3925 vuint32_t FIRCON:1;
\r
3926 vuint32_t SYSCLK:4;
\r
3930 union { /* RUN 0->4 Mode Configuration (+0x0030-0x003C) */
\r
3936 vuint32_t MVRON:1;
\r
3937 vuint32_t DFLAON:2;
\r
3938 vuint32_t CFLAON:2;
\r
3940 vuint32_t FMPLLON:1;
\r
3941 vuint32_t FXOSC0ON:1;
\r
3942 vuint32_t FIRCON:1;
\r
3943 vuint32_t SYSCLK:4;
\r
3947 union { /* HALT0 Mode Configuration (Base+0x0040) */
\r
3953 vuint32_t MVRON:1;
\r
3954 vuint32_t DFLAON:2;
\r
3955 vuint32_t CFLAON:2;
\r
3957 vuint32_t FMPLLON:1;
\r
3958 vuint32_t FXOSC0ON:1;
\r
3959 vuint32_t FIRCON:1;
\r
3960 vuint32_t SYSCLK:4;
\r
3964 vuint8_t ME_reserved1[4]; /* reserved 4 bytes (Base+0x0044-0x0047) */
\r
3966 union { /* STOP0 Mode Configuration (Base+0x0048) */
\r
3972 vuint32_t MVRON:1;
\r
3973 vuint32_t DFLAON:2;
\r
3974 vuint32_t CFLAON:2;
\r
3976 vuint32_t FMPLLON:1;
\r
3977 vuint32_t FXOSC0ON:1;
\r
3978 vuint32_t FIRCON:1;
\r
3979 vuint32_t SYSCLK:4;
\r
3983 vuint8_t ME_reserved2[8]; /* reserved 8 bytes (Base+0x004C-0x0053) */
\r
3985 union { /* STANDBY0 Mode Configuration (Base+0x0054) */
\r
3991 vuint32_t MVRON:1;
\r
3992 vuint32_t DFLAON:2;
\r
3993 vuint32_t CFLAON:2;
\r
3995 vuint32_t FMPLLON:1;
\r
3996 vuint32_t FXOSC0ON:1;
\r
3997 vuint32_t FIRCON:1;
\r
3998 vuint32_t SYSCLK:4;
\r
4002 vuint8_t ME_reserved3[8]; /* reserved 8 bytes (Base+0x0058-0x005F) */
\r
4006 struct { /* Peripheral Status 0 (Base+0x0060) */
\r
4008 vuint32_t S_DMA_CH_MUX:1;
\r
4010 vuint32_t S_FLEXCAN5:1;
\r
4011 vuint32_t S_FLEXCAN4:1;
\r
4012 vuint32_t S_FLEXCAN3:1;
\r
4013 vuint32_t S_FLEXCAN2:1;
\r
4014 vuint32_t S_FLEXCAN1:1;
\r
4015 vuint32_t S_FLEXCAN0:1;
\r
4017 vuint32_t :1; /* S_LINFLEX9:1; // not present on B1M */
\r
4018 vuint32_t :1; /* S_LINFLEX8:1; // not present on B1M */
\r
4020 vuint32_t S_DSPI5:1;
\r
4021 vuint32_t S_DSPI4:1;
\r
4022 vuint32_t S_DSPI3:1;
\r
4023 vuint32_t S_DSPI2:1;
\r
4024 vuint32_t S_DSPI1:1;
\r
4025 vuint32_t S_DSPI0:1;
\r
4030 union { /* Peripheral Status 1 (Base+0x0064)*/
\r
4034 vuint32_t S_CANSAMPLER:1;
\r
4036 vuint32_t S_CTUL:1;
\r
4038 vuint32_t S_LINFLEX7:1;
\r
4039 vuint32_t S_LINFLEX6:1;
\r
4040 vuint32_t S_LINFLEX5:1;
\r
4041 vuint32_t S_LINFLEX4:1;
\r
4042 vuint32_t S_LINFLEX3:1;
\r
4043 vuint32_t S_LINFLEX2:1;
\r
4044 vuint32_t S_LINFLEX1:1;
\r
4045 vuint32_t S_LINFLEX0:1;
\r
4047 vuint32_t S_I2C0:1;
\r
4049 vuint32_t S_ADC1:1;
\r
4050 vuint32_t S_ADC0:1;
\r
4054 union { /* Peripheral Status 2 (Base+0x0068) */
\r
4058 vuint32_t S_PIT_RTI:1;
\r
4059 vuint32_t S_RTC_API:1;
\r
4061 vuint32_t S_EMIOS1:1;
\r
4062 vuint32_t S_EMIOS0:1;
\r
4064 vuint32_t S_WKPU:1;
\r
4065 vuint32_t S_SIUL:1;
\r
4070 union { /* Peripheral Status 3 (Base+0x006C) */
\r
4074 vuint32_t S_CMU:1;
\r
4079 vuint8_t ME_reserved4[16]; /* reserved 16 bytes (Base+0x0070-0x007F) */
\r
4081 union { /* RUN Peripheral Config 0..7 (+0x0080-009C) */
\r
4092 vuint32_t RESET:1;
\r
4096 union { /* Low Pwr Periph Config 0..7 (+0x00A0-0x00BC) */
\r
4100 vuint32_t STANDBY0:1;
\r
4102 vuint32_t STOP0:1;
\r
4104 vuint32_t HALT0:1;
\r
4110 /* Note on PCTL registers: There are only some PCTL implemented in */
\r
4111 /* Bolero 1.5M/1M. In order to make the PCTL easily addressable, these */
\r
4112 /* are defined as an array (ie ME.PCTL[x].R). This means you have */
\r
4113 /* to be careful when addressing these registers in order not to */
\r
4114 /* access a PCTL that is not implemented. Following are available: */
\r
4115 /* 104, 92, 91, 73, 72, 69, 68, 60, 57, 55, 53, 51, 50, 49,48, */
\r
4116 /* 44, 33, 32, 23, 21-16, 13, 12, 9-4 */
\r
4118 union { /* Peripheral Control 0..143 (+0x00C0-0x014F) */
\r
4123 vuint8_t LP_CFG:3;
\r
4124 vuint8_t RUN_CFG:3;
\r
4128 }; /* end of ME_tag */
\r
4130 /****************************************************************************/
\r
4131 /* MODULE : CGM */
\r
4132 /****************************************************************************/
\r
4135 The "CGM" has fairly wide coverage and essentially includes everything in
\r
4137 chapter 9 of the Bolero Reference Manual:
\r
4139 Base Address | Clock Sources
\r
4141 -----------------------------
\r
4143 0xC3FE0000 | FXOSC_CTL
\r
4145 0xC3FE0040 | SXOSC_CTL
\r
4147 0xC3FE0060 | FIRC_CTL
\r
4149 0xC3FE0080 | SIRC_CTL
\r
4151 0xC3FE00A0 | FMPLL
\r
4153 0xC3FE00C0 | CGM Block 1
\r
4157 0xC3FE0120 | CGM Block 2
\r
4161 In this header file, "Base" referrs to the 1st address, 0xC3FE_0000
\r
4164 /* FXOSC - 0xC3FE_0000*/
\r
4165 union { /* Fast OSC Control (Base+0x0000) */
\r
4168 vuint32_t OSCBYP:1;
\r
4171 vuint32_t M_OSC:1;
\r
4173 vuint32_t OSCDIV:5;
\r
4174 vuint32_t I_OSC:1;
\r
4180 /* Reserved Space between end of FXOSC and start SXOSC */
\r
4181 vuint8_t CGM_reserved0[60]; /* Reserved 60 bytes (Base+0x0004-0x003F) */
\r
4184 /* SXOSC - 0xC3FE_0040*/
\r
4185 union { /* Slow Osc Control (Base+0x0040) */
\r
4188 vuint32_t OSCBYP:1;
\r
4191 vuint32_t M_OSC:1;
\r
4193 vuint32_t OSCDIV:5;
\r
4194 vuint32_t I_OSC:1;
\r
4196 vuint32_t S_OSC:1;
\r
4197 vuint32_t OSCON:1;
\r
4202 /* Reserved space between end of SXOSC and start of FIRC */
\r
4203 vuint8_t CGM_reserved1[28]; /*Reserved 28 bytes (Base+0x0044-0x005F) */
\r
4206 /* FIRC - 0xC3FE_0060 */
\r
4207 union { /* Fast IRC Control (Base+0x0060) */
\r
4211 vuint32_t RCTRIM:6;
\r
4213 vuint32_t RCDIV:5;
\r
4215 vuint32_t FIRCON_STDBY:1;
\r
4221 /* Reserved space between end of FIRC and start of SIRC */
\r
4222 vuint8_t CGM_reserved2[28]; /*Reserved 28 bytes (Base+0x0064-0x007F) */
\r
4225 /* SIRC - 0xC3FE_0080 */
\r
4226 union { /* Slow IRC Control (Base+0x0080) */
\r
4230 vuint32_t SIRCTRIM:5;
\r
4232 vuint32_t SIRCDIV:5;
\r
4234 vuint32_t S_SIRC:1;
\r
4236 vuint32_t SIRCON_STDBY:1;
\r
4241 /* Reserved space between end of SIRC and start of FMPLL */
\r
4242 vuint8_t CGM_reserved3[28]; /*Reserved 28 bytes (Base+0x0084-0x009F) */
\r
4245 /* FMPLL - 0xC3FE_00A0 */
\r
4246 union { /* FMPLL Control (Base+0x00A0) */
\r
4255 vuint32_t EN_PLL_SW:1;
\r
4257 vuint32_t UNLOCK_ONCE:1;
\r
4259 vuint32_t I_LOCK:1;
\r
4260 vuint32_t S_LOCK:1;
\r
4261 vuint32_t PLL_FAIL_MASK:1;
\r
4262 vuint32_t PLL_FAIL_FLAG:1;
\r
4267 union { /* FMPLL Modulation (Base+0x00A4) */
\r
4270 vuint32_t STRB_BYPASS:1;
\r
4272 vuint32_t SPRD_SEL:1;
\r
4273 vuint32_t MOD_PERIOD:13;
\r
4274 vuint32_t FM_EN:1;
\r
4275 vuint32_t INC_STEP:15;
\r
4280 /* Reserved space between end of FMPLL and start of CGM Block 1 */
\r
4281 vuint8_t CGM_reserved4[88]; /*Reserved 88 bytes (Base+0x00A8-0x00FF) */
\r
4283 /* CMU - 0xC3FE_0100 */
\r
4284 union { /* CMU Control Status (Base+0x0100) */
\r
4290 vuint32_t CLKSEL1:2;
\r
4292 vuint32_t RCDIV:2;
\r
4293 vuint32_t CME_A:1;
\r
4297 union { /* CMU Frequency Display (Base+0x0104) */
\r
4305 union { /* CMU High Freq Reference FMPLL (Base+0x0108) */
\r
4309 vuint32_t HFREF:12;
\r
4313 union { /* CMU Low Freq Reference FMPLL (Base+0x010C) */
\r
4317 vuint32_t LFREF:12;
\r
4321 union { /* CMU Interrupt Status (Base+0x0110) */
\r
4325 vuint32_t FHHI:1; // *_A not present in RM
\r
4326 vuint32_t FLLI:1; // *_A not present in RM
\r
4331 /* Reserved space where IMR was previously positioned */
\r
4332 vuint8_t CGM_reserved5[4]; /*Reserved 4 bytes (Base+0x0114-0x0117) */
\r
4334 union { /* CMU Measurement Duration (Base+0x0118) */
\r
4343 /* Reserved space between end of CMU and start of CGM Block 2 */
\r
4344 vuint8_t CGM_reserved6[596]; /*Reserved 596 bytes (Base+0x011C-0x036F) */
\r
4346 union { /* GCM Output Clock Enable (Base+0x0370) */
\r
4354 union { /* CGM Output Clock Division Sel (Base+0x0374) */
\r
4358 vuint32_t SELDIV:2;
\r
4359 vuint32_t SELCTL:4;
\r
4364 union { /* CGM System Clock Select Status (Base+0x0378) */
\r
4368 vuint32_t SELSTAT:4;
\r
4373 union { /* CGM Sys Clk Div Config 0.2 (0x037C-0x037E) */
\r
4382 union { /* CGM Aux clock select control register (Base+0x0380) */
\r
4386 vuint32_t SELCTL:4;
\r
4391 // vuint8_t CGM_reserved7[15489]; /*Reserved 1 byte (Base+0x037F - 0x3FFF) */
\r
4393 }; /* end of CGM_tag */
\r
4395 /****************************************************************************/
\r
4396 /* MODULE : RGM base address - 0xC3FE_4000 */
\r
4397 /****************************************************************************/
\r
4400 union { /* Functional Event Status (Base+0x0000) */
\r
4403 vuint16_t F_EXR:1;
\r
4405 vuint16_t F_FLASH:1;
\r
4406 vuint16_t F_LVD45:1;
\r
4407 vuint16_t F_CMU_FHL:1;
\r
4408 vuint16_t F_CMU_OLR:1;
\r
4409 vuint16_t F_FMPLL:1;
\r
4410 vuint16_t F_CHKSTOP:1;
\r
4411 vuint16_t F_SOFT:1;
\r
4412 vuint16_t F_CORE:1;
\r
4413 vuint16_t F_JTAG:1;
\r
4417 union { /* Destructive Event Status (Base+0x0002) */
\r
4420 vuint16_t F_POR:1;
\r
4422 vuint16_t F_LVD27_VREG:1;
\r
4423 vuint16_t F_LVD27:1;
\r
4424 vuint16_t F_SWT:1;
\r
4425 vuint16_t F_LVD12_PD1:1;
\r
4426 vuint16_t F_LVD12_PD0:1;
\r
4430 union { /* Functional Event Reset Disable (+0x0004) */
\r
4433 vuint16_t D_EXR:1;
\r
4435 vuint16_t D_FLASH:1;
\r
4436 vuint16_t D_LVD45:1;
\r
4437 vuint16_t D_CMU_FHL:1;
\r
4438 vuint16_t D_CMU_OLR:1;
\r
4439 vuint16_t D_FMPLL:1;
\r
4440 vuint16_t D_CHKSTOP:1;
\r
4441 vuint16_t D_SOFT:1;
\r
4442 vuint16_t D_CORE:1;
\r
4443 vuint16_t D_JTAG:1;
\r
4447 union { /* Destructive Event Reset Disable (Base+0x0006)*/
\r
4451 vuint16_t D_LVD27_VREG:1;
\r
4452 vuint16_t D_LVD27:1;
\r
4453 vuint16_t D_SWT:1;
\r
4454 vuint16_t D_LVD12_PD1:1;
\r
4455 vuint16_t D_LVD12_PD0:1;
\r
4459 vuint8_t RGM_reserved0[8]; /*Reserved 8 bytes (Base+0x008-0x000F) */
\r
4461 union { /* Functional Event Alt Request (Base+0x0010) */
\r
4464 vuint16_t AR_EXR:1;
\r
4466 vuint16_t AR_FLASH:1;
\r
4467 vuint16_t AR_LVD45:1;
\r
4468 vuint16_t AR_CMU_FHL:1;
\r
4469 vuint16_t AR_CMU_OLR:1;
\r
4470 vuint16_t AR_FMPLL:1;
\r
4471 vuint16_t AR_CHKSTOP:1;
\r
4472 vuint16_t AR_SOFT:1;
\r
4473 vuint16_t AR_CORE:1;
\r
4474 vuint16_t AR_JTAG:1;
\r
4478 union { /* Destructive Event Alt Request (Base+0x0012) */
\r
4482 vuint16_t AR_LVD27_VREG:1;
\r
4483 vuint16_t AR_LVD27:1;
\r
4484 vuint16_t AR_SWT:1;
\r
4485 vuint16_t AR_LVD12_PD1:1;
\r
4486 vuint16_t AR_LVD12_PD0:1;
\r
4488 } DEAR; /* Destructive Event Alternate Request */
\r
4490 vuint8_t RGM_reserved1[4]; /*Reserved 4 bytes (Base+0x0014-0x0017) */
\r
4492 union { /* Functional Event Short Sequence (+0x0018) */
\r
4495 vuint16_t SS_EXR:1;
\r
4497 vuint16_t SS_FLASH:1;
\r
4498 vuint16_t SS_LVD45:1;
\r
4499 vuint16_t SS_CMU_FHL:1;
\r
4500 vuint16_t SS_CMU_OLR:1;
\r
4501 vuint16_t SS_FMPLL:1;
\r
4502 vuint16_t SS_CHKSTOP:1;
\r
4503 vuint16_t SS_SOFT:1;
\r
4504 vuint16_t SS_CORE:1;
\r
4505 vuint16_t SS_JTAG:1;
\r
4509 union { /* STANDBY reset sequence (Base+0x001A) */
\r
4513 vuint16_t BOOT_FROM_BKP_RAM:1;
\r
4518 union { /* Functional Bidirectional Reset En (+0x001C) */
\r
4521 vuint16_t BE_EXR:1;
\r
4523 vuint16_t BE_FLASH:1;
\r
4524 vuint16_t BE_LVD45:1;
\r
4525 vuint16_t BE_CMU_FHL:1;
\r
4526 vuint16_t BE_CMU_OLR:1;
\r
4527 vuint16_t BE_FMPLL:1;
\r
4528 vuint16_t BE_CHKSTOP:1;
\r
4529 vuint16_t BE_SOFT:1;
\r
4530 vuint16_t BE_CORE:1;
\r
4531 vuint16_t BE_JTAG:1;
\r
4535 }; /* end of RGM_tag */
\r
4536 /****************************************************************************/
\r
4537 /* MODULE : PCU (base address 0xC3FE_8000) */
\r
4538 /****************************************************************************/
\r
4541 union { /* PCU Power domain 0-3 config (+0x0000-0x000C) */
\r
4545 vuint32_t STBY0:1;
\r
4547 vuint32_t STOP0:1;
\r
4549 vuint32_t HALT0:1;
\r
4561 vuint8_t PCU_reserved0[48]; /* Reserved 48 bytes (Base+0x0010-0x003F) */
\r
4563 union { /* PCU Power Domain Status (Base+0x0040) */
\r
4574 vuint8_t PCU_reserved1[60]; /* Reserved 60 bytes (Base+0x0044-0x007F) */
\r
4577 /* Following register is from Voltage Regulators chapter of RM */
\r
4579 union { /* PCU Voltage Regulator Control (Base+0x0080) */
\r
4583 vuint32_t MASK_LVDHV5:1;
\r
4585 } VREG_CTL; /* Changed from VCTL for consistency with other regs here */
\r
4587 }; /* end of PCU_tag */
\r
4589 /****************************************************************************/
\r
4590 /* MODULE : CTU Lite(base address - 0xFFE6_4000) */
\r
4591 /****************************************************************************/
\r
4594 // union { /* CTU Control Status Register (Base+0x0000)NOT PRESENT WITHIN RM*/
\r
4598 // vuint32_t TRGIEN:1;
\r
4599 // vuint32_t TRGI:1;
\r
4604 vuint8_t CTU_reserved[48]; /* Reserved 48 bytes (Base+0x0000-0x002F) */
\r
4606 union { /* Event Config 0..63 (Base+0x0030-0x012C) */
\r
4611 vuint32_t CLR_FLAG:1;
\r
4613 vuint32_t ADC_SEL:1;
\r
4615 vuint32_t CHANNEL_VALUE:7;
\r
4620 }; /* end of CTUL_tag */
\r
4622 /****************************************************************************/
\r
4623 /* MODULE : EMIOS (base address - eMIOS0 0xC3FA_0000; eMIOS1 0xC3FA_4000) */
\r
4624 /****************************************************************************/
\r
4626 struct EMIOS_CHANNEL_tag{
\r
4628 union { /* Channel A Data (UCn Base+0x0000) */
\r
4636 union { /* Channel B Data (UCn Base+0x0004) */
\r
4644 union { /* Channel Counter (UCn Base+0x0008) */
\r
4652 union { /* Channel Control (UCn Base+0x000C) */
\r
4657 vuint32_t ODISSL:2;
\r
4658 vuint32_t UCPRE:2;
\r
4659 vuint32_t UCPEN:1;
\r
4666 vuint32_t FORCMA:1;
\r
4667 vuint32_t FORCMB:1;
\r
4670 vuint32_t EDSEL:1;
\r
4671 vuint32_t EDPOL:1;
\r
4676 union { /* Channel Status (UCn Base+0x0010) */
\r
4684 vuint32_t UCOUT:1;
\r
4689 union { /* Alternate Channel A Data (UCn Base+0x0014) */
\r
4693 vuint32_t ALTA:16;
\r
4697 vuint8_t EMIOS_CHANNEL_reserved0[8]; /* (UCn Base + (0x0018-0x001F) */
\r
4699 }; /* end of EMIOS_CHANNEL_tag */
\r
4704 union { /* Module Configuration (Base+0x0000) */
\r
4712 vuint32_t GPREN:1;
\r
4719 union { /* Global Flag (Base+0x0004) */
\r
4757 union { /* Output Update Disable (Base+0x0008) */
\r
4795 union { /* Disable Channel (Base+0x000F) */
\r
4798 vuint32_t CHDIS31:1;
\r
4799 vuint32_t CHDIS30:1;
\r
4800 vuint32_t CHDIS29:1;
\r
4801 vuint32_t CHDIS28:1;
\r
4802 vuint32_t CHDIS27:1;
\r
4803 vuint32_t CHDIS26:1;
\r
4804 vuint32_t CHDIS25:1;
\r
4805 vuint32_t CHDIS24:1;
\r
4806 vuint32_t CHDIS23:1;
\r
4807 vuint32_t CHDIS22:1;
\r
4808 vuint32_t CHDIS21:1;
\r
4809 vuint32_t CHDIS20:1;
\r
4810 vuint32_t CHDIS19:1;
\r
4811 vuint32_t CHDIS18:1;
\r
4812 vuint32_t CHDIS17:1;
\r
4813 vuint32_t CHDIS16:1;
\r
4814 vuint32_t CHDIS15:1;
\r
4815 vuint32_t CHDIS14:1;
\r
4816 vuint32_t CHDIS13:1;
\r
4817 vuint32_t CHDIS12:1;
\r
4818 vuint32_t CHDIS11:1;
\r
4819 vuint32_t CHDIS10:1;
\r
4820 vuint32_t CHDIS9:1;
\r
4821 vuint32_t CHDIS8:1;
\r
4822 vuint32_t CHDIS7:1;
\r
4823 vuint32_t CHDIS6:1;
\r
4824 vuint32_t CHDIS5:1;
\r
4825 vuint32_t CHDIS4:1;
\r
4826 vuint32_t CHDIS3:1;
\r
4827 vuint32_t CHDIS2:1;
\r
4828 vuint32_t CHDIS1:1;
\r
4829 vuint32_t CHDIS0:1;
\r
4833 vuint8_t EMIOS_reserved0[16]; /* Reserved 16 Bytes (Base+0x0010-0x001F) */
\r
4835 struct EMIOS_CHANNEL_tag CH[32]; /* Add in 32 unified channels */
\r
4837 vuint8_t EMIOS_reserved1[3040]; /* 3040 bytes (Base+0x0420-0x0FFF) */
\r
4839 }; /* end of EMIOS_tag */
\r
4841 /****************************************************************************/
\r
4842 /* MODULE : PIT (base address - 0xC3FF_FFFF) */
\r
4843 /****************************************************************************/
\r
4846 union { /* PIT Module Control (Base+0x0000) */
\r
4855 vuint8_t PIT_reserved0[252]; /* Reserved 252 Bytes (Base+0x0004-0x00FF) */
\r
4857 /* PIT Timer Channels 0..7 (Base+0x0100-0x017C) */
\r
4860 union { /* PIT Timer Load Value (Offset+0x0000) */
\r
4867 union { /* PIT Current Timer Value (Offset+0x0004) */
\r
4874 union { /* PIT Timer Control (Offset+0x0008) */
\r
4883 union { /* PIT Timer Control (Offset+0x0008) */
\r
4891 }CH[8]; /* End of PIT Timer Channels */
\r
4893 }; /* end of PIT_tag */
\r
4894 /****************************************************************************/
\r
4895 /* MODULE : I2C (base address - 0xFFE3_0000) */
\r
4896 /****************************************************************************/
\r
4899 union { /* I2C Bus Address (Base+0x0000) */
\r
4907 union { /* I2C Bus Frequency Divider (Base+0x0001) */
\r
4914 union { /* I2C Bus Control (Base+0x0002) */
\r
4919 vuint8_t MS:1; /*different from RM for backward compatiblity MSSL in RM*/
\r
4928 union { /* I2C Bus Status (Base+0x0003) */
\r
4942 union { /* I2C Bus Data I/O (Base+0x0004) */
\r
4949 union { /* I2C Interrupt Configuration (Base+0x0005) */
\r
4957 vuint8_t I2C_reserved0[16378]; /* Reserved 16378 (Base+0x0006-0x3FFF) */
\r
4959 }; /* end of i2c_tag */
\r
4960 /****************************************************************************/
\r
4961 /* MODULE : MPU (base address - 0xFFF1_0000) */
\r
4962 /****************************************************************************/
\r
4965 union { /* Control/Error Status (Base+0x0000) */
\r
4969 vuint32_t SPERR:3;
\r
4979 vuint8_t MPU_reserved0[12]; /* Reserved 12 Bytes (Base+0x0004-0x000F) */
\r
4982 union { /* Error Address Slave Port0 (Base+0x0010) */
\r
4985 vuint32_t EADDR:32;
\r
4989 union { /* Error Detail Slave Port0 (Base+0x0014) */
\r
4996 vuint32_t EATTR:3;
\r
5002 union { /* Error Address Slave Port1 (Base+0x0018) */
\r
5005 vuint32_t EADDR:32;
\r
5009 union { /* Error Detail Slave Port1 (Base+0x001C) */
\r
5016 vuint32_t EATTR:3;
\r
5022 union { /* Error Address Slave Port2 (Base+0x0020) */
\r
5025 vuint32_t EADDR:32;
\r
5029 union { /* Error Detail Slave Port2 (Base+0x0024) */
\r
5036 vuint32_t EATTR:3;
\r
5041 vuint8_t MPU_reserved1[984]; /* Reserved 984 Bytes (Base+0x0028-0x03FF) */
\r
5043 struct { /* Region Descriptor 0..15 (Base+0x0400-0x0470) */
\r
5045 union { /* - Word 0 */
\r
5048 vuint32_t SRTADDR:27;
\r
5053 union { /* - Word 1 */
\r
5056 vuint32_t ENDADDR:27;
\r
5061 union { /* - Word 2 */
\r
5085 union { /* - Word 3 */
\r
5089 vuint32_t PIDMASK:8;
\r
5095 }RGD[8]; /* End of Region Descriptor Structure) */
\r
5097 vuint8_t MPU_reserved2[896]; /* Reserved 896 Bytes (Base+0x0480-0x07FF) */
\r
5099 union { /* Region Descriptor Alt 0..15 (0x0800-0x081C) */
\r
5123 vuint8_t MPU_reserved3[14304]; /* Reserved 14304 Bytes (+0x0820-0x03FFF) */
\r
5125 }; /* end of MPU_tag */
\r
5126 /****************************************************************************/
\r
5127 /* MODULE : eDMA (base address - 0xFFF4_4000) */
\r
5128 /****************************************************************************/
\r
5130 /*for "standard" format TCD (when EDMA.TCD[x].CITERE_LINK==BITERE_LINK=0) */
\r
5131 struct EDMA_TCD_STD_tag {
\r
5133 vuint32_t SADDR; /* source address */
\r
5135 vuint16_t SMOD:5; /* source address modulo */
\r
5136 vuint16_t SSIZE:3; /* source transfer size */
\r
5137 vuint16_t DMOD:5; /* destination address modulo */
\r
5138 vuint16_t DSIZE:3; /* destination transfer size */
\r
5139 vint16_t SOFF; /* signed source address offset */
\r
5141 vuint32_t NBYTES; /* inner (?minor?) byte count */
\r
5143 vint32_t SLAST; /* last destination address adjustment, or scatter/gather address (if e_sg = 1) */
\r
5144 vuint32_t DADDR; /* destination address */
\r
5146 vuint16_t CITERE_LINK:1;
\r
5147 vuint16_t CITER:15;
\r
5149 vint16_t DOFF; /* signed destination address offset */
\r
5151 vint32_t DLAST_SGA;
\r
5153 vuint16_t BITERE_LINK:1; /* beginning ("major") iteration count */
\r
5154 vuint16_t BITER:15;
\r
5156 vuint16_t BWC:2; /* bandwidth control */
\r
5157 vuint16_t MAJORLINKCH:6; /* enable channel-to-channel link */
\r
5158 vuint16_t DONE:1; /* channel done */
\r
5159 vuint16_t ACTIVE:1; /* channel active */
\r
5160 vuint16_t MAJORE_LINK:1; /* enable channel-to-channel link */
\r
5161 vuint16_t E_SG:1; /* enable scatter/gather descriptor */
\r
5162 vuint16_t D_REQ:1; /* disable ipd_req when done */
\r
5163 vuint16_t INT_HALF:1; /* interrupt on citer = (biter >> 1) */
\r
5164 vuint16_t INT_MAJ:1; /* interrupt on major loop completion */
\r
5165 vuint16_t START:1; /* explicit channel start */
\r
5167 }; /* end of EDMA_TCD_STD_tag */
\r
5169 /*for "channel link" format TCD (when EDMA.TCD[x].CITERE_LINK==BITERE_LINK=1)*/
\r
5170 struct EDMA_TCD_CHLINK_tag {
\r
5172 vuint32_t SADDR; /* source address */
\r
5174 vuint16_t SMOD:5; /* source address modulo */
\r
5175 vuint16_t SSIZE:3; /* source transfer size */
\r
5176 vuint16_t DMOD:5; /* destination address modulo */
\r
5177 vuint16_t DSIZE:3; /* destination transfer size */
\r
5178 vint16_t SOFF; /* signed source address offset */
\r
5180 vuint32_t NBYTES; /* inner (?minor?) byte count */
\r
5182 vint32_t SLAST; /* last destination address adjustment, or
\r
5184 scatter/gather address (if e_sg = 1) */
\r
5185 vuint32_t DADDR; /* destination address */
\r
5187 vuint16_t CITERE_LINK:1;
\r
5188 vuint16_t CITERLINKCH:6;
\r
5189 vuint16_t CITER:9;
\r
5191 vint16_t DOFF; /* signed destination address offset */
\r
5193 vint32_t DLAST_SGA;
\r
5195 vuint16_t BITERE_LINK:1; /* beginning (?major?) iteration count */
\r
5196 vuint16_t BITERLINKCH:6;
\r
5197 vuint16_t BITER:9;
\r
5199 vuint16_t BWC:2; /* bandwidth control */
\r
5200 vuint16_t MAJORLINKCH:6; /* enable channel-to-channel link */
\r
5201 vuint16_t DONE:1; /* channel done */
\r
5202 vuint16_t ACTIVE:1; /* channel active */
\r
5203 vuint16_t MAJORE_LINK:1; /* enable channel-to-channel link */
\r
5204 vuint16_t E_SG:1; /* enable scatter/gather descriptor */
\r
5205 vuint16_t D_REQ:1; /* disable ipd_req when done */
\r
5206 vuint16_t INT_HALF:1; /* interrupt on citer = (biter >> 1) */
\r
5207 vuint16_t INT_MAJ:1; /* interrupt on major loop completion */
\r
5208 vuint16_t START:1; /* explicit channel start */
\r
5210 }; /* end of EDMA_TCD_CHLINK_tag */
\r
5216 union { /* Control (Base+0x0000) */
\r
5223 vuint32_t GRP0PRI:2;
\r
5235 union { /* Error Status (Base+0x0004) */
\r
5241 vuint32_t ERRCHN:6;
\r
5253 vuint8_t eDMA_reserved0[4]; /* Reserved 4 bytes (Base+0x0008-0x000B)*/
\r
5255 union { /* Enable Request Low Ch15..0 (Base+0x000C) */
\r
5259 vuint32_t ERQ15:1;
\r
5260 vuint32_t ERQ14:1;
\r
5261 vuint32_t ERQ13:1;
\r
5262 vuint32_t ERQ12:1;
\r
5263 vuint32_t ERQ11:1;
\r
5264 vuint32_t ERQ10:1;
\r
5265 vuint32_t ERQ09:1;
\r
5266 vuint32_t ERQ08:1;
\r
5267 vuint32_t ERQ07:1;
\r
5268 vuint32_t ERQ06:1;
\r
5269 vuint32_t ERQ05:1;
\r
5270 vuint32_t ERQ04:1;
\r
5271 vuint32_t ERQ03:1;
\r
5272 vuint32_t ERQ02:1;
\r
5273 vuint32_t ERQ01:1;
\r
5274 vuint32_t ERQ00:1;
\r
5278 vuint8_t eDMA_reserved1[4]; /* Reserved 4 bytes (Base+0x0010-0x0013)*/
\r
5280 union { /* Enable Error Interrupt Low (Base+0x0014) */
\r
5284 vuint32_t EEI15:1;
\r
5285 vuint32_t EEI14:1;
\r
5286 vuint32_t EEI13:1;
\r
5287 vuint32_t EEI12:1;
\r
5288 vuint32_t EEI11:1;
\r
5289 vuint32_t EEI10:1;
\r
5290 vuint32_t EEI09:1;
\r
5291 vuint32_t EEI08:1;
\r
5292 vuint32_t EEI07:1;
\r
5293 vuint32_t EEI06:1;
\r
5294 vuint32_t EEI05:1;
\r
5295 vuint32_t EEI04:1;
\r
5296 vuint32_t EEI03:1;
\r
5297 vuint32_t EEI02:1;
\r
5298 vuint32_t EEI01:1;
\r
5299 vuint32_t EEI00:1;
\r
5303 union { /* DMA Set Enable Request (Base+0x0018) */
\r
5311 union { /* DMA Clear Enable Request (Base+0x0019) */
\r
5319 union { /* DMA Set Enable Error Interrupt (Base+0x001A) */
\r
5327 union { /* DMA Clr Enable Error Interrupt (Base+0x001B) */
\r
5335 union { /* DMA Clear Interrupt Request (Base+0x001C) */
\r
5343 union { /* DMA Clear error (Base+0x001D) */
\r
5351 union { /* DMA Set Start Bit (Base+0x001E) */
\r
5359 union { /* DMA Clear Done Status Bit (Base+0x001F) */
\r
5367 vuint8_t eDMA_reserved2[4]; /* Reserved 4 bytes (Base+0x0020-0x0023)*/
\r
5369 union { /* DMA Interrupt Req Low Ch15..0 (+0x0024) */
\r
5373 vuint32_t INT15:1;
\r
5374 vuint32_t INT14:1;
\r
5375 vuint32_t INT13:1;
\r
5376 vuint32_t INT12:1;
\r
5377 vuint32_t INT11:1;
\r
5378 vuint32_t INT10:1;
\r
5379 vuint32_t INT09:1;
\r
5380 vuint32_t INT08:1;
\r
5381 vuint32_t INT07:1;
\r
5382 vuint32_t INT06:1;
\r
5383 vuint32_t INT05:1;
\r
5384 vuint32_t INT04:1;
\r
5385 vuint32_t INT03:1;
\r
5386 vuint32_t INT02:1;
\r
5387 vuint32_t INT01:1;
\r
5388 vuint32_t INT00:1;
\r
5392 vuint8_t eDMA_reserved3[4]; /* Reserved 4 bytes (Base+0x0028-0x002B)*/
\r
5394 union { /* DMA Error Low Ch15..0 (Base+0x002C)*/
\r
5398 vuint32_t ERR15:1;
\r
5399 vuint32_t ERR14:1;
\r
5400 vuint32_t ERR13:1;
\r
5401 vuint32_t ERR12:1;
\r
5402 vuint32_t ERR11:1;
\r
5403 vuint32_t ERR10:1;
\r
5404 vuint32_t ERR09:1;
\r
5405 vuint32_t ERR08:1;
\r
5406 vuint32_t ERR07:1;
\r
5407 vuint32_t ERR06:1;
\r
5408 vuint32_t ERR05:1;
\r
5409 vuint32_t ERR04:1;
\r
5410 vuint32_t ERR03:1;
\r
5411 vuint32_t ERR02:1;
\r
5412 vuint32_t ERR01:1;
\r
5413 vuint32_t ERR00:1;
\r
5417 vuint8_t eDMA_reserved4[4]; /* Reserved 4 bytes (Base+0x0030-0x0033)*/
\r
5419 union { /* DMA Hardware Request Stat Low (Base+0x0034) */
\r
5423 vuint32_t HRS15:1;
\r
5424 vuint32_t HRS14:1;
\r
5425 vuint32_t HRS13:1;
\r
5426 vuint32_t HRS12:1;
\r
5427 vuint32_t HRS11:1;
\r
5428 vuint32_t HRS10:1;
\r
5429 vuint32_t HRS09:1;
\r
5430 vuint32_t HRS08:1;
\r
5431 vuint32_t HRS07:1;
\r
5432 vuint32_t HRS06:1;
\r
5433 vuint32_t HRS05:1;
\r
5434 vuint32_t HRS04:1;
\r
5435 vuint32_t HRS03:1;
\r
5436 vuint32_t HRS02:1;
\r
5437 vuint32_t HRS01:1;
\r
5438 vuint32_t HRS00:1;
\r
5442 vuint8_t eDMA_reserved5[200]; /* Reserved 200 bytes (Base+0x0038-0x00FF)*/
\r
5444 union { /* Channel n Priority (Base+0x0100-0x010F)*/
\r
5449 vuint8_t GRPPRI:2;
\r
5454 vuint8_t eDMA_reserved6[3824]; /* Reserved 3808 bytes (+0x0110-0x0FFF) */
\r
5456 /* Transfer Control Descriptors 0..16 (Base+0x1000-0x11E0) */
\r
5457 struct EDMA_TCD_STD_tag TCD[16];
\r
5459 /* or change to following if using channel linking */
\r
5460 /* Struct EDMA_TCD_CHLINK_tag TCD[16]; */
\r
5462 vuint8_t eDMA_reserved7[28160]; /* Reserved 28160 bytes (+0x1200-0x7FFF) */
\r
5464 }; /* end of EDMA_tag */
\r
5465 /*************************************************************************/
\r
5466 /* MODULE : INTC (base address - 0xFFF4_8000) */
\r
5467 /*************************************************************************/
\r
5470 union { /* INTC Module Configuration (Base+0x0000) */
\r
5480 vuint8_t INTC_reserved0[4]; /* reserved 4 bytes (Base+0x0004-0x0007) */
\r
5482 union { /* INTC Current Priority (Base+0x0008) */
\r
5490 vuint8_t INTC_reserved1[4]; /* reserved 4 bytes (Base+0x000C-0x000F) */
\r
5492 union { /* INTC Interrupt Acknowledge (Base+0x0010) */
\r
5495 vuint32_t VTBA_PRC0:21;
\r
5496 vuint32_t INTVEC_PRC0:9;
\r
5501 vuint8_t INTC_reserved2[4]; /* Reserved 4 bytes (Base+0x0014-0x0017) */
\r
5503 union { /* INTC End Of Interrupt (Base+0x0018) */
\r
5510 vuint8_t INTC_reserved3[4]; /* reserved 4 bytes (Base+0x001C-0x0019) */
\r
5512 union { /* INTC Software Set/Clear Interrupt0-7 (+0x0020-0x0027) */
\r
5521 vuint8_t INTC_reserved4[24]; /* Reserved 24 bytes (Base+0x0028-0x003F) */
\r
5523 union { /* INTC Priority Select (Base+0x0040-0x0128) */
\r
5531 }; /* end of INTC_tag */
\r
5533 /****************************************************************************/
\r
5534 /* MODULE : DSPI */
\r
5535 /****************************************************************************/
\r
5536 #include "ip_dspi.h"
\r
5539 /****************************************************************************/
\r
5540 /* MODULE : DSPI */
\r
5541 /* Base Addresses: */
\r
5542 /* DSPI_0 - 0xFFF9_0000 */
\r
5543 /* DSPI_1 - 0xFFF9_4000 */
\r
5544 /* DSPI_2 - 0xFFF9_8000 */
\r
5545 /* DSPI_3 - 0xFFF9_C000 */
\r
5546 /* DSPI_4 - 0xFFFA_0000 */
\r
5547 /* DSPI_5 - 0xFFFA_4000 */
\r
5548 /****************************************************************************/
\r
5551 union { /* DSPI Module Configuraiton (Base+0x0000) */
\r
5555 vuint32_t CONT_SCKE:1;
\r
5556 vuint32_t DCONF:2;
\r
5559 vuint32_t PCSSE:1;
\r
5562 vuint32_t PCSIS5:1;
\r
5563 vuint32_t PCSIS4:1;
\r
5564 vuint32_t PCSIS3:1;
\r
5565 vuint32_t PCSIS2:1;
\r
5566 vuint32_t PCSIS1:1;
\r
5567 vuint32_t PCSIS0:1;
\r
5568 vuint32_t DOZE:1;
\r
5570 vuint32_t DIS_TXF:1;
\r
5571 vuint32_t DIS_RXF:1;
\r
5572 vuint32_t CLR_TXF:1;
\r
5573 vuint32_t CLR_RXF:1;
\r
5574 vuint32_t SMPL_PT:2;
\r
5580 vuint8_t DSPI_reserved0[4]; /* Reserved 4 bytes (Base+0x0004-0x0007) */
\r
5582 union { /* DSPI Transfer Count (Base+0x0008) */
\r
5585 vuint32_t TCNT:16;
\r
5590 union { /* DSPI Clock & Tranfer Attrib 0-5 (+0x000C-0x0020) */
\r
5597 vuint32_t LSBFE:1;
\r
5598 vuint32_t PCSSCK:2;
\r
5602 vuint32_t CSSCK:4;
\r
5609 vuint8_t DSPI_reserved1[8]; /* Reserved 4 bytes (Base+0x0024-0x002B) */
\r
5611 union { /* DSPI Status (Base+0x002C) */
\r
5615 vuint32_t TXRXS:1;
\r
5626 vuint32_t TXCTR:4;
\r
5627 vuint32_t TXNXTPTR:4;
\r
5628 vuint32_t RXCTR:4;
\r
5629 vuint32_t POPNXTPTR:4;
\r
5633 union { /* DSPI DMA/Int Request Select & Enable (+0x0030) */
\r
5636 vuint32_t TCFRE:1;
\r
5638 vuint32_t EOQFRE:1;
\r
5639 vuint32_t TFUFRE:1;
\r
5641 vuint32_t TFFFRE:1;
\r
5642 vuint32_t TFFFDIRS:1;
\r
5644 vuint32_t RFOFRE:1;
\r
5646 vuint32_t RFDFRE:1;
\r
5647 vuint32_t RFDFDIRS:1;
\r
5652 union { /* DSPI Push TX FIFO (Base+0x0034) */
\r
5658 vuint32_t CTCNT:1;
\r
5666 vuint32_t TXDATA:16;
\r
5670 union { /* DSPI Pop RX FIFO (Base+0x0038) */
\r
5674 vuint32_t RXDATA:16;
\r
5678 union { /* DSPI Transmit FIFO 0-3 (Base+0x003C-0x0048)*/
\r
5681 vuint32_t TXCMD:16;
\r
5682 vuint32_t TXDATA:16;
\r
5686 vuint8_t DSPI_reserved2[48]; /* Reserved 48 bytes (Base+0x004C-0x007B) */
\r
5688 union { /* DSPI Receive FIFO 0-3 (Base+0x007C-0x0088) */
\r
5692 vuint32_t RXDATA:16;
\r
5695 }; /* end of DSPI_tag */
\r
5698 /****************************************************************************/
\r
5699 /* MODULE : FlexCAN */
\r
5700 /****************************************************************************/
\r
5701 #include "ip_flexcan.h"
\r
5704 /****************************************************************************/
\r
5705 /* MODULE : FlexCAN */
\r
5706 /* Base Addresses: */
\r
5707 /* FlexCAN_0 - 0xFFFC_0000 */
\r
5708 /* FlexCAN_1 - 0xFFFC_4000 */
\r
5709 /* FlexCAN_2 - 0xFFFC_8000 */
\r
5710 /* FlexCAN_3 - 0xFFFC_C000 */
\r
5711 /* FlexCAN_4 - 0xFFFD_0000 */
\r
5712 /* FlexCAN_5 - 0xFFFD_4000 */
\r
5713 /****************************************************************************/
\r
5714 struct FLEXCAN_BUF_t{
\r
5716 union { /* FLEXCAN MBx Control & Status (Offset+0x0080) */
\r
5725 vuint32_t LENGTH:4;
\r
5726 vuint32_t TIMESTAMP:16;
\r
5730 union { /* FLEXCAN MBx Identifier (Offset+0x0084) */
\r
5734 vuint32_t STD_ID:11;
\r
5735 vuint32_t EXT_ID:18;
\r
5739 union { /* FLEXCAN MBx Data 0..7 (Offset+0x0088) */
\r
5740 vuint8_t B[8]; /* Data buffer in Bytes (8 bits) */
\r
5741 vuint16_t H[4]; /* Data buffer in Half-words (16 bits) */
\r
5742 vuint32_t W[2]; /* Data buffer in words (32 bits) */
\r
5743 vuint32_t R[2]; /* Data buffer in words (32 bits) */
\r
5746 }; /* end of FLEXCAN_BUF_t */
\r
5749 struct FLEXCAN_RXFIFO_t{ /* RxFIFO Configuration */
\r
5751 union { /* RxFIFO Control & Status (Offset+0x0080) */
\r
5758 vuint32_t LENGTH:4;
\r
5759 vuint32_t TIMESTAMP:16;
\r
5763 union { /* RxFIFO Identifier (Offset+0x0084) */
\r
5767 vuint32_t STD_ID:11;
\r
5768 vuint32_t EXT_ID:18;
\r
5772 union { /* RxFIFO Data 0..7 (Offset+0x0088) */
\r
5773 vuint8_t B[8]; /* Data buffer in Bytes (8 bits) */
\r
5774 vuint16_t H[4]; /* Data buffer in Half-words (16 bits) */
\r
5775 vuint32_t W[2]; /* Data buffer in words (32 bits) */
\r
5776 vuint32_t R[2]; /* Data buffer in words (32 bits) */
\r
5779 vuint8_t FLEXCAN_RX_reserved0[80]; /* Reserved 80 bytes (+0x0090-0x00DF)*/
\r
5781 union { /* RxFIFO ID Table 0..7 (+0x00E0-0x00FC) */
\r
5785 }; /* end of FLEXCAN_RXFIFO_t */
\r
5788 struct FLEXCAN_tag{
\r
5790 union { /* FLEXCAN Module Configuration (Base+0x0000) */
\r
5797 vuint32_t NOTRDY:1;
\r
5798 vuint32_t WAKMSK:1;
\r
5799 vuint32_t SOFTRST:1;
\r
5800 vuint32_t FRZACK:1;
\r
5802 vuint32_t SLFWAK:1; /*not present in RM*/
\r
5803 vuint32_t WRNEN:1;
\r
5804 vuint32_t LPMACK:1;
\r
5805 vuint32_t WAKSRC:1;
\r
5806 vuint32_t DOZE:1; /*not present in RM*/
\r
5807 vuint32_t SRXDIS:1;
\r
5810 vuint32_t LPRIO_EN:1;
\r
5815 vuint32_t MAXMB:6;
\r
5819 union { /* FLEXCAN Control (Base+0x0004) */
\r
5822 vuint32_t PRESDIV:8;
\r
5824 vuint32_t PSEG1:3;
\r
5825 vuint32_t PSEG2:3;
\r
5826 vuint32_t BOFFMSK:1;
\r
5827 vuint32_t ERRMSK:1;
\r
5828 vuint32_t CLKSRC:1;
\r
5830 vuint32_t TWRNMSK:1;
\r
5831 vuint32_t RWRNMSK:1;
\r
5834 vuint32_t BOFFREC:1;
\r
5838 vuint32_t PROPSEG:3;
\r
5842 union { /* FLEXCAN Free Running Timer (Base+0x0008) */
\r
5846 vuint32_t TIMER:16;
\r
5850 vuint8_t FLEXCAN_reserved0[4]; /* reserved 4 bytes (Base+0x000C-0x000F) */
\r
5852 union { /* FLEXCAN RX Global Mask (Base+0x0010) */
\r
5859 /* --- Following 2 registers are included for legacy purposes only --- */
\r
5861 union { /* FLEXCAN RX 14 Mask (Base+0x0014) */
\r
5868 union { /* FLEXCAN RX 15 Mask (Base+0x0018) */
\r
5877 union { /* FLEXCAN Error Counter (Base+0x001C) */
\r
5881 vuint32_t RXECNT:8;
\r
5882 vuint32_t TXECNT:8;
\r
5886 union { /* FLEXCAN Error & Status (Base+0x0020) */
\r
5890 vuint32_t TWRNINT:1;
\r
5891 vuint32_t RWRNINT:1;
\r
5892 vuint32_t BIT1ERR:1;
\r
5893 vuint32_t BIT0ERR:1;
\r
5894 vuint32_t ACKERR:1;
\r
5895 vuint32_t CRCERR:1;
\r
5896 vuint32_t FRMERR:1;
\r
5897 vuint32_t STFERR:1;
\r
5898 vuint32_t TXWRN:1;
\r
5899 vuint32_t RXWRN:1;
\r
5902 vuint32_t FLTCONF:2;
\r
5904 vuint32_t BOFFINT:1;
\r
5905 vuint32_t ERRINT:1;
\r
5910 union { /* FLEXCAN Interruput Masks H (Base+0x0024) */
\r
5913 vuint32_t BUF63M:1;
\r
5914 vuint32_t BUF62M:1;
\r
5915 vuint32_t BUF61M:1;
\r
5916 vuint32_t BUF60M:1;
\r
5917 vuint32_t BUF59M:1;
\r
5918 vuint32_t BUF58M:1;
\r
5919 vuint32_t BUF57M:1;
\r
5920 vuint32_t BUF56M:1;
\r
5921 vuint32_t BUF55M:1;
\r
5922 vuint32_t BUF54M:1;
\r
5923 vuint32_t BUF53M:1;
\r
5924 vuint32_t BUF52M:1;
\r
5925 vuint32_t BUF51M:1;
\r
5926 vuint32_t BUF50M:1;
\r
5927 vuint32_t BUF49M:1;
\r
5928 vuint32_t BUF48M:1;
\r
5929 vuint32_t BUF47M:1;
\r
5930 vuint32_t BUF46M:1;
\r
5931 vuint32_t BUF45M:1;
\r
5932 vuint32_t BUF44M:1;
\r
5933 vuint32_t BUF43M:1;
\r
5934 vuint32_t BUF42M:1;
\r
5935 vuint32_t BUF41M:1;
\r
5936 vuint32_t BUF40M:1;
\r
5937 vuint32_t BUF39M:1;
\r
5938 vuint32_t BUF38M:1;
\r
5939 vuint32_t BUF37M:1;
\r
5940 vuint32_t BUF36M:1;
\r
5941 vuint32_t BUF35M:1;
\r
5942 vuint32_t BUF34M:1;
\r
5943 vuint32_t BUF33M:1;
\r
5944 vuint32_t BUF32M:1;
\r
5948 union { /* FLEXCAN Interruput Masks L (Base+0x0028) */
\r
5951 vuint32_t BUF31M:1;
\r
5952 vuint32_t BUF30M:1;
\r
5953 vuint32_t BUF29M:1;
\r
5954 vuint32_t BUF28M:1;
\r
5955 vuint32_t BUF27M:1;
\r
5956 vuint32_t BUF26M:1;
\r
5957 vuint32_t BUF25M:1;
\r
5958 vuint32_t BUF24M:1;
\r
5959 vuint32_t BUF23M:1;
\r
5960 vuint32_t BUF22M:1;
\r
5961 vuint32_t BUF21M:1;
\r
5962 vuint32_t BUF20M:1;
\r
5963 vuint32_t BUF19M:1;
\r
5964 vuint32_t BUF18M:1;
\r
5965 vuint32_t BUF17M:1;
\r
5966 vuint32_t BUF16M:1;
\r
5967 vuint32_t BUF15M:1;
\r
5968 vuint32_t BUF14M:1;
\r
5969 vuint32_t BUF13M:1;
\r
5970 vuint32_t BUF12M:1;
\r
5971 vuint32_t BUF11M:1;
\r
5972 vuint32_t BUF10M:1;
\r
5973 vuint32_t BUF09M:1;
\r
5974 vuint32_t BUF08M:1;
\r
5975 vuint32_t BUF07M:1;
\r
5976 vuint32_t BUF06M:1;
\r
5977 vuint32_t BUF05M:1;
\r
5978 vuint32_t BUF04M:1;
\r
5979 vuint32_t BUF03M:1;
\r
5980 vuint32_t BUF02M:1;
\r
5981 vuint32_t BUF01M:1;
\r
5982 vuint32_t BUF00M:1;
\r
5986 union { /* FLEXCAN Interruput Flag H (Base+0x002C) */
\r
5989 vuint32_t BUF63I:1;
\r
5990 vuint32_t BUF62I:1;
\r
5991 vuint32_t BUF61I:1;
\r
5992 vuint32_t BUF60I:1;
\r
5993 vuint32_t BUF59I:1;
\r
5994 vuint32_t BUF58I:1;
\r
5995 vuint32_t BUF57I:1;
\r
5996 vuint32_t BUF56I:1;
\r
5997 vuint32_t BUF55I:1;
\r
5998 vuint32_t BUF54I:1;
\r
5999 vuint32_t BUF53I:1;
\r
6000 vuint32_t BUF52I:1;
\r
6001 vuint32_t BUF51I:1;
\r
6002 vuint32_t BUF50I:1;
\r
6003 vuint32_t BUF49I:1;
\r
6004 vuint32_t BUF48I:1;
\r
6005 vuint32_t BUF47I:1;
\r
6006 vuint32_t BUF46I:1;
\r
6007 vuint32_t BUF45I:1;
\r
6008 vuint32_t BUF44I:1;
\r
6009 vuint32_t BUF43I:1;
\r
6010 vuint32_t BUF42I:1;
\r
6011 vuint32_t BUF41I:1;
\r
6012 vuint32_t BUF40I:1;
\r
6013 vuint32_t BUF39I:1;
\r
6014 vuint32_t BUF38I:1;
\r
6015 vuint32_t BUF37I:1;
\r
6016 vuint32_t BUF36I:1;
\r
6017 vuint32_t BUF35I:1;
\r
6018 vuint32_t BUF34I:1;
\r
6019 vuint32_t BUF33I:1;
\r
6020 vuint32_t BUF32I:1;
\r
6024 union { /* FLEXCAN Interruput Flag l (Base+0x0030) */
\r
6027 vuint32_t BUF31I:1;
\r
6028 vuint32_t BUF30I:1;
\r
6029 vuint32_t BUF29I:1;
\r
6030 vuint32_t BUF28I:1;
\r
6031 vuint32_t BUF27I:1;
\r
6032 vuint32_t BUF26I:1;
\r
6033 vuint32_t BUF25I:1;
\r
6034 vuint32_t BUF24I:1;
\r
6035 vuint32_t BUF23I:1;
\r
6036 vuint32_t BUF22I:1;
\r
6037 vuint32_t BUF21I:1;
\r
6038 vuint32_t BUF20I:1;
\r
6039 vuint32_t BUF19I:1;
\r
6040 vuint32_t BUF18I:1;
\r
6041 vuint32_t BUF17I:1;
\r
6042 vuint32_t BUF16I:1;
\r
6043 vuint32_t BUF15I:1;
\r
6044 vuint32_t BUF14I:1;
\r
6045 vuint32_t BUF13I:1;
\r
6046 vuint32_t BUF12I:1;
\r
6047 vuint32_t BUF11I:1;
\r
6048 vuint32_t BUF10I:1;
\r
6049 vuint32_t BUF09I:1;
\r
6050 vuint32_t BUF08I:1;
\r
6051 vuint32_t BUF07I:1;
\r
6052 vuint32_t BUF06I:1;
\r
6053 vuint32_t BUF05I:1;
\r
6054 vuint32_t BUF04I:1;
\r
6055 vuint32_t BUF03I:1;
\r
6056 vuint32_t BUF02I:1;
\r
6057 vuint32_t BUF01I:1;
\r
6058 vuint32_t BUF00I:1;
\r
6060 } IFRL; /* Interruput Flag Register */
\r
6062 vuint8_t FLEXCAN_reserved1[76]; /*Reserved 76 bytes (Base+0x0034-0x007F)*/
\r
6064 /****************************************************************************/
\r
6065 /* Use either Standard Buffer Structure OR RX FIFO and Buffer Structure */
\r
6066 /****************************************************************************/
\r
6067 /* Standard Buffer Structure */
\r
6068 struct FLEXCAN_BUF_t BUF[64];
\r
6070 /* RX FIFO and Buffer Structure */
\r
6071 /*struct FLEXCAN_RXFIFO_t RXFIFO; */
\r
6072 /*struct FLEXCAN_BUF_t BUF[56]; */
\r
6073 /****************************************************************************/
\r
6075 vuint8_t FLEXCAN_reserved2[1024]; /*Reserved 1024 (Base+0x0480-0x087F)*/
\r
6077 union { /* FLEXCAN RX Individual Mask (Base+0x0880-0x097F) */
\r
6084 }; /* end of FLEXCAN_tag */
\r
6088 /****************************************************************************/
\r
6089 /* MODULE : DMAMUX (base address - 0xFFFD_C000) */
\r
6090 /****************************************************************************/
\r
6091 struct DMAMUX_tag {
\r
6092 union { /* DMAMUX Channel Configuration (Base+0x0000-0x000F) */
\r
6097 vuint8_t SOURCE:6;
\r
6101 }; /* end of DMAMUX_tag */
\r
6102 /****************************************************************************/
\r
6103 /* MODULE : DFLASH (base address - 0x0080_0000) */
\r
6104 /****************************************************************************/
\r
6105 struct DFLASH_tag {
\r
6106 union { /* Module Configuration (Base+0x0000) */
\r
6131 union { /* Low/Mid address block locking (Base+0x0004) */
\r
6143 union { /* High address block locking (Base+0x0008) */
\r
6148 vuint32_t HBLOCK:6;
\r
6152 union { /* Secondary Low/mid block locking (Base+0x000C)*/
\r
6157 vuint32_t STSLK:1;
\r
6164 union { /* Low/Mid address space block sel (Base+0x0010)*/
\r
6173 union { /* High address space block sel (Base+0x0014)*/
\r
6181 union { /* Address Register (Base+0x0018) */
\r
6190 vuint8_t DFLASH_reserved0[32]; /* Reserved 32 Bytes (+0x001C-0x003B) */
\r
6192 union { /* User Test 0 (Base+0x003C) */
\r
6208 union { /* User Test 1 (Base+0x0040) */
\r
6215 union { /* User Test 2 (Base+0x0044) */
\r
6222 union { /* User Multiple Input sig 0..1 (+0x0048-0x004F)*/
\r
6229 }; /* end of Dflash_tag */
\r
6230 /****************************************************************************/
\r
6231 /* MODULE : CFLASH (base address - 0xC3F8_8000) */
\r
6232 /****************************************************************************/
\r
6233 struct CFLASH_tag {
\r
6234 union { /* Module Configuration (Base+0x0000) */
\r
6260 union { /* Low/Mid address block locking (Base+0x0004) */
\r
6272 union { /* High address space block locking (Base+0x0008)*/
\r
6277 vuint32_t HBLOCK:12;
\r
6281 union { /* Secondary Low/Mid block lock (Base+0x000C)*/
\r
6286 vuint32_t STSLK:1;
\r
6293 union { /* Low/Mid address space block sel (Base+0x0010)*/
\r
6302 union { /* High address Space block select (Base+0x0014)*/
\r
6310 union { /* Address Register (Base+0x0018) */
\r
6319 /* Note the following 3 registers, BIU[0..2] are mirrored to */
\r
6320 /* the code flash configuraiton PFCR[0..2] registers */
\r
6321 /* To make it easier to code, the BIU registers have been */
\r
6322 /* replaced with the PFCR registers in this header file! */
\r
6323 /* A commented out BIU register is shown for reference! */
\r
6326 union { /* CFLASH Configuration 0 (Base+0x001C) */
\r
6329 vuint32_t BK0_APC:5;
\r
6330 vuint32_t BK0_WWSC:5;
\r
6331 vuint32_t BK0_RWSC:5;
\r
6332 vuint32_t BK0_RWWC2:1;
\r
6333 vuint32_t BK0_RWWC1:1;
\r
6334 /* vuint32_t B0_P1_BCFG:2; // only has one port to the cross bar i.e. port 0
\r
6335 vuint32_t B0_P1_DPFE:1;
\r
6336 vuint32_t B0_P1_IPFE:1;
\r
6337 vuint32_t B0_P1_PFLM:2;
\r
6338 vuint32_t B0_P1_BFE:1; */
\r
6340 vuint32_t BK0_RWWC0:1;
\r
6341 vuint32_t B0_P0_BCFG:2;
\r
6342 vuint32_t B0_P0_DPFE:1;
\r
6343 vuint32_t B0_P0_IPFE:1;
\r
6344 vuint32_t B0_P0_PFLM:2;
\r
6345 vuint32_t B0_P0_BFE:1;
\r
6349 /* Commented out Bus Interface Unit 0 (Base+0x001C) */
\r
6357 union { /* CFLASH Configuration Register 1 (Base+0x0020)*/
\r
6360 vuint32_t BK1_APC:5;
\r
6361 vuint32_t BK1_WWSC:5;
\r
6362 vuint32_t BK1_RWSC:5;
\r
6363 vuint32_t BK1_RWWC2:1;
\r
6364 vuint32_t BK1_RWWC1:1;
\r
6365 vuint32_t:7; /* changed to 7 to suit comment below */
\r
6366 //vuint32_t B1_P1_BFE:1; /* should have no effect, there is only one XBAR port (no P1) to P-flash controller */
\r
6367 vuint32_t BK1_RWWC0:1;
\r
6369 vuint32_t B1_P0_BFE:1;
\r
6373 /* Commented out Bus Interface Unit 1 (Base+0x0020) */
\r
6381 union { /* CFLASH Access Protection (Base+0x0024) */
\r
6384 vuint32_t:6; /*incorrect - B1M/B1.5M does not have this many masters TBD*/
\r
6386 vuint32_t M7PFD:1;
\r
6387 vuint32_t M6PFD:1;
\r
6388 vuint32_t M5PFD:1;
\r
6389 vuint32_t M4PFD:1;
\r
6390 vuint32_t M3PFD:1;
\r
6391 vuint32_t M2PFD:1;
\r
6392 vuint32_t M1PFD:1;
\r
6393 vuint32_t M0PFD:1;
\r
6405 /* Commented out Bus Interface Unit 2 (Base+0x0024) */
\r
6413 vuint8_t CFLASH_reserved0[20]; /* Reserved 20 Bytes (Base+0x0028-0x003B) */
\r
6415 union { /* User Test 0 (Base+0x003C) */
\r
6431 union { /* User Test 1 (Base+0x0040) */
\r
6438 union { /* User Test 2 (Base+0x0044) */
\r
6445 union { /* User Multiple Input Sig 0..4 (Base+0x0048-0x005B) */
\r
6452 vuint8_t CFLASH_reserved1[16292]; /* Reserved 16292 (Base+0x005C-0x3FFF)*/
\r
6454 }; /* end of CFLASH_tag */
\r
6455 /******************************************************************
\r
6456 | defines and macros (scope: module-local)
\r
6457 |-----------------------------------------------------------------*/
\r
6458 /* Define instances of modules */
\r
6460 #define ADC_0 (*(volatile struct ADC_tag *) 0xFFE00000UL)
\r
6461 #define ADC_1 (*(volatile struct ADC_tag *) 0xFFE04000UL)
\r
6462 #define CAN_0 (*(volatile struct FLEXCAN_tag *) 0xFFFC0000UL)
\r
6463 #define CAN_1 (*(volatile struct FLEXCAN_tag *) 0xFFFC4000UL)
\r
6464 #define CAN_2 (*(volatile struct FLEXCAN_tag *) 0xFFFC8000UL)
\r
6465 #define CAN_3 (*(volatile struct FLEXCAN_tag *) 0xFFFCC000UL)
\r
6466 #define CAN_4 (*(volatile struct FLEXCAN_tag *) 0xFFFD0000UL)
\r
6467 #define CAN_5 (*(volatile struct FLEXCAN_tag *) 0xFFFD4000UL)
\r
6468 #define CANSP (*(volatile struct CANSP_tag *) 0xFFE70000UL)
\r
6469 #define CFLASH (*(volatile struct CFLASH_tag *) 0xC3F88000UL)
\r
6470 #define CGM (*(volatile struct CGM_tag *) 0xC3FE0000UL)
\r
6471 #define CTUL (*(volatile struct CTUL_tag *) 0xFFE64000UL)
\r
6472 #define DFLASH (*(volatile struct DFLASH_tag *) 0xC3F8C000UL)
\r
6473 #define DMAMUX (*(volatile struct DMAMUX_tag *) 0xFFFDC000UL)
\r
6474 #define DSPI_0 (*(volatile struct DSPI_tag *) 0xFFF90000UL)
\r
6475 #define DSPI_1 (*(volatile struct DSPI_tag *) 0xFFF94000UL)
\r
6476 #define DSPI_2 (*(volatile struct DSPI_tag *) 0xFFF98000UL)
\r
6477 #define DSPI_3 (*(volatile struct DSPI_tag *) 0xFFF9C000UL)
\r
6478 #define DSPI_4 (*(volatile struct DSPI_tag *) 0xFFFA0000UL)
\r
6479 #define DSPI_5 (*(volatile struct DSPI_tag *) 0xFFFA4000UL)
\r
6480 #define EDMA (*(volatile struct EDMA_tag *) 0xFFF44000UL)
\r
6481 #define EMIOS_0 (*(volatile struct EMIOS_tag *) 0xC3FA0000UL)
\r
6482 #define EMIOS_1 (*(volatile struct EMIOS_tag *) 0xC3FA4000UL)
\r
6483 #define I2C_0 (*(volatile struct I2C_tag *) 0xFFE30000UL)
\r
6484 #define INTC (*(volatile struct INTC_tag *) 0xFFF48000UL)
\r
6485 #define LINFLEX_0 (*(volatile struct LINFLEXD0_tag *) 0xFFE40000UL)
\r
6486 #define LINFLEX_1 (*(volatile struct LINFLEXD1_tag *) 0xFFE44000UL)
\r
6487 #define LINFLEX_2 (*(volatile struct LINFLEX_tag *) 0xFFE48000UL)
\r
6488 #define LINFLEX_3 (*(volatile struct LINFLEX_tag *) 0xFFE4C000UL)
\r
6489 #define LINFLEX_4 (*(volatile struct LINFLEX_tag *) 0xFFE50000UL)
\r
6490 #define LINFLEX_5 (*(volatile struct LINFLEX_tag *) 0xFFE54000UL)
\r
6491 #define LINFLEX_6 (*(volatile struct LINFLEX_tag *) 0xFFE58000UL)
\r
6492 #define LINFLEX_7 (*(volatile struct LINFLEX_tag *) 0xFFE5C000UL)
\r
6493 //#define LINFLEX_8 (*(volatile struct LINFLEX_tag *) 0xFFFB0000UL)
\r
6494 //#define LINFLEX_9 (*(volatile struct LINFLEX_tag *) 0xFFFB4000UL)
\r
6495 #define ECSM (*(volatile struct ECSM_tag *) 0xFFF40000UL)
\r
6496 #define ME (*(volatile struct ME_tag *) 0xC3FDC000UL)
\r
6497 #define MPU (*(volatile struct MPU_tag *) 0xFFF10000UL)
\r
6498 #define PCU (*(volatile struct PCU_tag *) 0xC3FE8000UL)
\r
6499 #define PIT (*(volatile struct PIT_tag *) 0xC3FF0000UL)
\r
6500 #define RGM (*(volatile struct RGM_tag *) 0xC3FE4000UL)
\r
6501 #define RTC (*(volatile struct RTC_tag *) 0xC3FEC000UL)
\r
6502 #define SIU (*(volatile struct SIU_tag *) 0xC3F90000UL)
\r
6503 #define SSCM (*(volatile struct SSCM_tag *) 0xC3FD8000UL)
\r
6504 #define STM (*(volatile struct STM_tag *) 0xFFF3C000UL)
\r
6505 #define SWT (*(volatile struct SWT_tag *) 0xFFF38000UL)
\r
6506 #define WKUP (*(volatile struct WKUP_tag *) 0xC3F94000UL)
\r
6512 #ifdef __cplusplus
\r