1 /*
2  *  Copyright (C) 2016 Texas Instruments Incorporated - http://www.ti.com/
3  *
4  *  Redistribution and use in source and binary forms, with or without
5  *  modification, are permitted provided that the following conditions
6  *  are met:
7  *
8  *    Redistributions of source code must retain the above copyright
9  *    notice, this list of conditions and the following disclaimer.
10  *
11  *    Redistributions in binary form must reproduce the above copyright
12  *    notice, this list of conditions and the following disclaimer in the
13  *    documentation and/or other materials provided with the
14  *    distribution.
15  *
16  *    Neither the name of Texas Instruments Incorporated nor the names of
17  *    its contributors may be used to endorse or promote products derived
18  *    from this software without specific prior written permission.
19  *
20  *  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
21  *  "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
22  *  LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
23  *  A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
24  *  OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
25  *  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
26  *  LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
27  *  DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
28  *  THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
29  *  (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
30  *  OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31  *
32  */
33 
34 #ifndef __HW_FLASH_CTRL_H__
35 #define __HW_FLASH_CTRL_H__
36 
37 //*****************************************************************************
38 //
39 // The following are defines for the FLASH_CTRL register offsets.
40 //
41 //*****************************************************************************
42 #define FLASH_CTRL_O_FMA        0x00000000  // Flash Memory Address (FMA)
43                                             // offset 0x000 During a write
44                                             // operation this register contains
45                                             // a 4-byte-aligned address and
46                                             // specifies where the data is
47                                             // written. During erase operations
48                                             // this register contains a 1
49                                             // KB-aligned CPU byte address and
50                                             // specifies which block is erased.
51                                             // Note that the alignment
52                                             // requirements must be met by
53                                             // software or the results of the
54                                             // operation are unpredictable.
55 #define FLASH_CTRL_O_FMD        0x00000004  // Flash Memory Data (FMD) offset
56                                             // 0x004 This register contains the
57                                             // data to be written during the
58                                             // programming cycle or read during
59                                             // the read cycle. Note that the
60                                             // contents of this register are
61                                             // undefined for a read access of an
62                                             // execute-only block. This register
63                                             // is not used during erase cycles.
64 #define FLASH_CTRL_O_FMC        0x00000008  // Flash Memory Control (FMC)
65                                             // offset 0x008 When this register
66                                             // is written the Flash memory
67                                             // controller initiates the
68                                             // appropriate access cycle for the
69                                             // location specified by the Flash
70                                             // Memory Address (FMA) register .
71                                             // If the access is a write access
72                                             // the data contained in the Flash
73                                             // Memory Data (FMD) register is
74                                             // written to the specified address.
75                                             // This register must be the final
76                                             // register written and initiates
77                                             // the memory operation. The four
78                                             // control bits in the lower byte of
79                                             // this register are used to
80                                             // initiate memory operations.
81 #define FLASH_CTRL_O_FCRIS      0x0000000C  // Flash Controller Raw Interrupt
82                                             // Status (FCRIS) offset 0x00C This
83                                             // register indicates that the Flash
84                                             // memory controller has an
85                                             // interrupt condition. An interrupt
86                                             // is sent to the interrupt
87                                             // controller only if the
88                                             // corresponding FCIM register bit
89                                             // is set.
90 #define FLASH_CTRL_O_FCIM       0x00000010  // Flash Controller Interrupt Mask
91                                             // (FCIM) offset 0x010 This register
92                                             // controls whether the Flash memory
93                                             // controller generates interrupts
94                                             // to the controller.
95 #define FLASH_CTRL_O_FCMISC     0x00000014  // Flash Controller Masked
96                                             // Interrupt Status and Clear
97                                             // (FCMISC) offset 0x014 This
98                                             // register provides two functions.
99                                             // First it reports the cause of an
100                                             // interrupt by indicating which
101                                             // interrupt source or sources are
102                                             // signalling the interrupt. Second
103                                             // it serves as the method to clear
104                                             // the interrupt reporting.
105 #define FLASH_CTRL_O_FMC2       0x00000020  // Flash Memory Control 2 (FMC2)
106                                             // offset 0x020 When this register
107                                             // is written the Flash memory
108                                             // controller initiates the
109                                             // appropriate access cycle for the
110                                             // location specified by the Flash
111                                             // Memory Address (FMA) register .
112                                             // If the access is a write access
113                                             // the data contained in the Flash
114                                             // Write Buffer (FWB) registers is
115                                             // written. This register must be
116                                             // the final register written as it
117                                             // initiates the memory operation.
118 #define FLASH_CTRL_O_FWBVAL     0x00000030  // Flash Write Buffer Valid
119                                             // (FWBVAL) offset 0x030 This
120                                             // register provides a bitwise
121                                             // status of which FWBn registers
122                                             // have been written by the
123                                             // processor since the last write of
124                                             // the Flash memory write buffer.
125                                             // The entries with a 1 are written
126                                             // on the next write of the Flash
127                                             // memory write buffer. This
128                                             // register is cleared after the
129                                             // write operation by hardware. A
130                                             // protection violation on the write
131                                             // operation also clears this
132                                             // status. Software can program the
133                                             // same 32 words to various Flash
134                                             // memory locations by setting the
135                                             // FWB[n] bits after they are
136                                             // cleared by the write operation.
137                                             // The next write operation then
138                                             // uses the same data as the
139                                             // previous one. In addition if a
140                                             // FWBn register change should not
141                                             // be written to Flash memory
142                                             // software can clear the
143                                             // corresponding FWB[n] bit to
144                                             // preserve the existing data when
145                                             // the next write operation occurs.
146 #define FLASH_CTRL_O_FWB1       0x00000100  // Flash Write Buffer n (FWBn)
147                                             // offset 0x100 - 0x17C These 32
148                                             // registers hold the contents of
149                                             // the data to be written into the
150                                             // Flash memory on a buffered Flash
151                                             // memory write operation. The
152                                             // offset selects one of the 32-bit
153                                             // registers. Only FWBn registers
154                                             // that have been updated since the
155                                             // preceding buffered Flash memory
156                                             // write operation are written into
157                                             // the Flash memory so it is not
158                                             // necessary to write the entire
159                                             // bank of registers in order to
160                                             // write 1 or 2 words. The FWBn
161                                             // registers are written into the
162                                             // Flash memory with the FWB0
163                                             // register corresponding to the
164                                             // address contained in FMA. FWB1 is
165                                             // written to the address FMA+0x4
166                                             // etc. Note that only data bits
167                                             // that are 0 result in the Flash
168                                             // memory being modified. A data bit
169                                             // that is 1 leaves the content of
170                                             // the Flash memory bit at its
171                                             // previous value.
172 #define FLASH_CTRL_O_FWB2       0x00000104  // Flash Write Buffer n (FWBn)
173                                             // offset 0x100 - 0x17C These 32
174                                             // registers hold the contents of
175                                             // the data to be written into the
176                                             // Flash memory on a buffered Flash
177                                             // memory write operation. The
178                                             // offset selects one of the 32-bit
179                                             // registers. Only FWBn registers
180                                             // that have been updated since the
181                                             // preceding buffered Flash memory
182                                             // write operation are written into
183                                             // the Flash memory so it is not
184                                             // necessary to write the entire
185                                             // bank of registers in order to
186                                             // write 1 or 2 words. The FWBn
187                                             // registers are written into the
188                                             // Flash memory with the FWB0
189                                             // register corresponding to the
190                                             // address contained in FMA. FWB1 is
191                                             // written to the address FMA+0x4
192                                             // etc. Note that only data bits
193                                             // that are 0 result in the Flash
194                                             // memory being modified. A data bit
195                                             // that is 1 leaves the content of
196                                             // the Flash memory bit at its
197                                             // previous value.
198 #define FLASH_CTRL_O_FWB3       0x00000108  // Flash Write Buffer n (FWBn)
199                                             // offset 0x100 - 0x17C These 32
200                                             // registers hold the contents of
201                                             // the data to be written into the
202                                             // Flash memory on a buffered Flash
203                                             // memory write operation. The
204                                             // offset selects one of the 32-bit
205                                             // registers. Only FWBn registers
206                                             // that have been updated since the
207                                             // preceding buffered Flash memory
208                                             // write operation are written into
209                                             // the Flash memory so it is not
210                                             // necessary to write the entire
211                                             // bank of registers in order to
212                                             // write 1 or 2 words. The FWBn
213                                             // registers are written into the
214                                             // Flash memory with the FWB0
215                                             // register corresponding to the
216                                             // address contained in FMA. FWB1 is
217                                             // written to the address FMA+0x4
218                                             // etc. Note that only data bits
219                                             // that are 0 result in the Flash
220                                             // memory being modified. A data bit
221                                             // that is 1 leaves the content of
222                                             // the Flash memory bit at its
223                                             // previous value.
224 #define FLASH_CTRL_O_FWB4       0x0000010C  // Flash Write Buffer n (FWBn)
225                                             // offset 0x100 - 0x17C These 32
226                                             // registers hold the contents of
227                                             // the data to be written into the
228                                             // Flash memory on a buffered Flash
229                                             // memory write operation. The
230                                             // offset selects one of the 32-bit
231                                             // registers. Only FWBn registers
232                                             // that have been updated since the
233                                             // preceding buffered Flash memory
234                                             // write operation are written into
235                                             // the Flash memory so it is not
236                                             // necessary to write the entire
237                                             // bank of registers in order to
238                                             // write 1 or 2 words. The FWBn
239                                             // registers are written into the
240                                             // Flash memory with the FWB0
241                                             // register corresponding to the
242                                             // address contained in FMA. FWB1 is
243                                             // written to the address FMA+0x4
244                                             // etc. Note that only data bits
245                                             // that are 0 result in the Flash
246                                             // memory being modified. A data bit
247                                             // that is 1 leaves the content of
248                                             // the Flash memory bit at its
249                                             // previous value.
250 #define FLASH_CTRL_O_FWB5       0x00000110  // Flash Write Buffer n (FWBn)
251                                             // offset 0x100 - 0x17C These 32
252                                             // registers hold the contents of
253                                             // the data to be written into the
254                                             // Flash memory on a buffered Flash
255                                             // memory write operation. The
256                                             // offset selects one of the 32-bit
257                                             // registers. Only FWBn registers
258                                             // that have been updated since the
259                                             // preceding buffered Flash memory
260                                             // write operation are written into
261                                             // the Flash memory so it is not
262                                             // necessary to write the entire
263                                             // bank of registers in order to
264                                             // write 1 or 2 words. The FWBn
265                                             // registers are written into the
266                                             // Flash memory with the FWB0
267                                             // register corresponding to the
268                                             // address contained in FMA. FWB1 is
269                                             // written to the address FMA+0x4
270                                             // etc. Note that only data bits
271                                             // that are 0 result in the Flash
272                                             // memory being modified. A data bit
273                                             // that is 1 leaves the content of
274                                             // the Flash memory bit at its
275                                             // previous value.
276 #define FLASH_CTRL_O_FWB6       0x00000114  // Flash Write Buffer n (FWBn)
277                                             // offset 0x100 - 0x17C These 32
278                                             // registers hold the contents of
279                                             // the data to be written into the
280                                             // Flash memory on a buffered Flash
281                                             // memory write operation. The
282                                             // offset selects one of the 32-bit
283                                             // registers. Only FWBn registers
284                                             // that have been updated since the
285                                             // preceding buffered Flash memory
286                                             // write operation are written into
287                                             // the Flash memory so it is not
288                                             // necessary to write the entire
289                                             // bank of registers in order to
290                                             // write 1 or 2 words. The FWBn
291                                             // registers are written into the
292                                             // Flash memory with the FWB0
293                                             // register corresponding to the
294                                             // address contained in FMA. FWB1 is
295                                             // written to the address FMA+0x4
296                                             // etc. Note that only data bits
297                                             // that are 0 result in the Flash
298                                             // memory being modified. A data bit
299                                             // that is 1 leaves the content of
300                                             // the Flash memory bit at its
301                                             // previous value.
302 #define FLASH_CTRL_O_FWB7       0x00000118  // Flash Write Buffer n (FWBn)
303                                             // offset 0x100 - 0x17C These 32
304                                             // registers hold the contents of
305                                             // the data to be written into the
306                                             // Flash memory on a buffered Flash
307                                             // memory write operation. The
308                                             // offset selects one of the 32-bit
309                                             // registers. Only FWBn registers
310                                             // that have been updated since the
311                                             // preceding buffered Flash memory
312                                             // write operation are written into
313                                             // the Flash memory so it is not
314                                             // necessary to write the entire
315                                             // bank of registers in order to
316                                             // write 1 or 2 words. The FWBn
317                                             // registers are written into the
318                                             // Flash memory with the FWB0
319                                             // register corresponding to the
320                                             // address contained in FMA. FWB1 is
321                                             // written to the address FMA+0x4
322                                             // etc. Note that only data bits
323                                             // that are 0 result in the Flash
324                                             // memory being modified. A data bit
325                                             // that is 1 leaves the content of
326                                             // the Flash memory bit at its
327                                             // previous value.
328 #define FLASH_CTRL_O_FWB8       0x0000011C  // Flash Write Buffer n (FWBn)
329                                             // offset 0x100 - 0x17C These 32
330                                             // registers hold the contents of
331                                             // the data to be written into the
332                                             // Flash memory on a buffered Flash
333                                             // memory write operation. The
334                                             // offset selects one of the 32-bit
335                                             // registers. Only FWBn registers
336                                             // that have been updated since the
337                                             // preceding buffered Flash memory
338                                             // write operation are written into
339                                             // the Flash memory so it is not
340                                             // necessary to write the entire
341                                             // bank of registers in order to
342                                             // write 1 or 2 words. The FWBn
343                                             // registers are written into the
344                                             // Flash memory with the FWB0
345                                             // register corresponding to the
346                                             // address contained in FMA. FWB1 is
347                                             // written to the address FMA+0x4
348                                             // etc. Note that only data bits
349                                             // that are 0 result in the Flash
350                                             // memory being modified. A data bit
351                                             // that is 1 leaves the content of
352                                             // the Flash memory bit at its
353                                             // previous value.
354 #define FLASH_CTRL_O_FWB9       0x00000120  // Flash Write Buffer n (FWBn)
355                                             // offset 0x100 - 0x17C These 32
356                                             // registers hold the contents of
357                                             // the data to be written into the
358                                             // Flash memory on a buffered Flash
359                                             // memory write operation. The
360                                             // offset selects one of the 32-bit
361                                             // registers. Only FWBn registers
362                                             // that have been updated since the
363                                             // preceding buffered Flash memory
364                                             // write operation are written into
365                                             // the Flash memory so it is not
366                                             // necessary to write the entire
367                                             // bank of registers in order to
368                                             // write 1 or 2 words. The FWBn
369                                             // registers are written into the
370                                             // Flash memory with the FWB0
371                                             // register corresponding to the
372                                             // address contained in FMA. FWB1 is
373                                             // written to the address FMA+0x4
374                                             // etc. Note that only data bits
375                                             // that are 0 result in the Flash
376                                             // memory being modified. A data bit
377                                             // that is 1 leaves the content of
378                                             // the Flash memory bit at its
379                                             // previous value.
380 #define FLASH_CTRL_O_FWB10      0x00000124  // Flash Write Buffer n (FWBn)
381                                             // offset 0x100 - 0x17C These 32
382                                             // registers hold the contents of
383                                             // the data to be written into the
384                                             // Flash memory on a buffered Flash
385                                             // memory write operation. The
386                                             // offset selects one of the 32-bit
387                                             // registers. Only FWBn registers
388                                             // that have been updated since the
389                                             // preceding buffered Flash memory
390                                             // write operation are written into
391                                             // the Flash memory so it is not
392                                             // necessary to write the entire
393                                             // bank of registers in order to
394                                             // write 1 or 2 words. The FWBn
395                                             // registers are written into the
396                                             // Flash memory with the FWB0
397                                             // register corresponding to the
398                                             // address contained in FMA. FWB1 is
399                                             // written to the address FMA+0x4
400                                             // etc. Note that only data bits
401                                             // that are 0 result in the Flash
402                                             // memory being modified. A data bit
403                                             // that is 1 leaves the content of
404                                             // the Flash memory bit at its
405                                             // previous value.
406 #define FLASH_CTRL_O_FWB11      0x00000128  // Flash Write Buffer n (FWBn)
407                                             // offset 0x100 - 0x17C These 32
408                                             // registers hold the contents of
409                                             // the data to be written into the
410                                             // Flash memory on a buffered Flash
411                                             // memory write operation. The
412                                             // offset selects one of the 32-bit
413                                             // registers. Only FWBn registers
414                                             // that have been updated since the
415                                             // preceding buffered Flash memory
416                                             // write operation are written into
417                                             // the Flash memory so it is not
418                                             // necessary to write the entire
419                                             // bank of registers in order to
420                                             // write 1 or 2 words. The FWBn
421                                             // registers are written into the
422                                             // Flash memory with the FWB0
423                                             // register corresponding to the
424                                             // address contained in FMA. FWB1 is
425                                             // written to the address FMA+0x4
426                                             // etc. Note that only data bits
427                                             // that are 0 result in the Flash
428                                             // memory being modified. A data bit
429                                             // that is 1 leaves the content of
430                                             // the Flash memory bit at its
431                                             // previous value.
432 #define FLASH_CTRL_O_FWB12      0x0000012C  // Flash Write Buffer n (FWBn)
433                                             // offset 0x100 - 0x17C These 32
434                                             // registers hold the contents of
435                                             // the data to be written into the
436                                             // Flash memory on a buffered Flash
437                                             // memory write operation. The
438                                             // offset selects one of the 32-bit
439                                             // registers. Only FWBn registers
440                                             // that have been updated since the
441                                             // preceding buffered Flash memory
442                                             // write operation are written into
443                                             // the Flash memory so it is not
444                                             // necessary to write the entire
445                                             // bank of registers in order to
446                                             // write 1 or 2 words. The FWBn
447                                             // registers are written into the
448                                             // Flash memory with the FWB0
449                                             // register corresponding to the
450                                             // address contained in FMA. FWB1 is
451                                             // written to the address FMA+0x4
452                                             // etc. Note that only data bits
453                                             // that are 0 result in the Flash
454                                             // memory being modified. A data bit
455                                             // that is 1 leaves the content of
456                                             // the Flash memory bit at its
457                                             // previous value.
458 #define FLASH_CTRL_O_FWB13      0x00000130  // Flash Write Buffer n (FWBn)
459                                             // offset 0x100 - 0x17C These 32
460                                             // registers hold the contents of
461                                             // the data to be written into the
462                                             // Flash memory on a buffered Flash
463                                             // memory write operation. The
464                                             // offset selects one of the 32-bit
465                                             // registers. Only FWBn registers
466                                             // that have been updated since the
467                                             // preceding buffered Flash memory
468                                             // write operation are written into
469                                             // the Flash memory so it is not
470                                             // necessary to write the entire
471                                             // bank of registers in order to
472                                             // write 1 or 2 words. The FWBn
473                                             // registers are written into the
474                                             // Flash memory with the FWB0
475                                             // register corresponding to the
476                                             // address contained in FMA. FWB1 is
477                                             // written to the address FMA+0x4
478                                             // etc. Note that only data bits
479                                             // that are 0 result in the Flash
480                                             // memory being modified. A data bit
481                                             // that is 1 leaves the content of
482                                             // the Flash memory bit at its
483                                             // previous value.
484 #define FLASH_CTRL_O_FWB14      0x00000134  // Flash Write Buffer n (FWBn)
485                                             // offset 0x100 - 0x17C These 32
486                                             // registers hold the contents of
487                                             // the data to be written into the
488                                             // Flash memory on a buffered Flash
489                                             // memory write operation. The
490                                             // offset selects one of the 32-bit
491                                             // registers. Only FWBn registers
492                                             // that have been updated since the
493                                             // preceding buffered Flash memory
494                                             // write operation are written into
495                                             // the Flash memory so it is not
496                                             // necessary to write the entire
497                                             // bank of registers in order to
498                                             // write 1 or 2 words. The FWBn
499                                             // registers are written into the
500                                             // Flash memory with the FWB0
501                                             // register corresponding to the
502                                             // address contained in FMA. FWB1 is
503                                             // written to the address FMA+0x4
504                                             // etc. Note that only data bits
505                                             // that are 0 result in the Flash
506                                             // memory being modified. A data bit
507                                             // that is 1 leaves the content of
508                                             // the Flash memory bit at its
509                                             // previous value.
510 #define FLASH_CTRL_O_FWB15      0x00000138  // Flash Write Buffer n (FWBn)
511                                             // offset 0x100 - 0x17C These 32
512                                             // registers hold the contents of
513                                             // the data to be written into the
514                                             // Flash memory on a buffered Flash
515                                             // memory write operation. The
516                                             // offset selects one of the 32-bit
517                                             // registers. Only FWBn registers
518                                             // that have been updated since the
519                                             // preceding buffered Flash memory
520                                             // write operation are written into
521                                             // the Flash memory so it is not
522                                             // necessary to write the entire
523                                             // bank of registers in order to
524                                             // write 1 or 2 words. The FWBn
525                                             // registers are written into the
526                                             // Flash memory with the FWB0
527                                             // register corresponding to the
528                                             // address contained in FMA. FWB1 is
529                                             // written to the address FMA+0x4
530                                             // etc. Note that only data bits
531                                             // that are 0 result in the Flash
532                                             // memory being modified. A data bit
533                                             // that is 1 leaves the content of
534                                             // the Flash memory bit at its
535                                             // previous value.
536 #define FLASH_CTRL_O_FWB16      0x0000013C  // Flash Write Buffer n (FWBn)
537                                             // offset 0x100 - 0x17C These 32
538                                             // registers hold the contents of
539                                             // the data to be written into the
540                                             // Flash memory on a buffered Flash
541                                             // memory write operation. The
542                                             // offset selects one of the 32-bit
543                                             // registers. Only FWBn registers
544                                             // that have been updated since the
545                                             // preceding buffered Flash memory
546                                             // write operation are written into
547                                             // the Flash memory so it is not
548                                             // necessary to write the entire
549                                             // bank of registers in order to
550                                             // write 1 or 2 words. The FWBn
551                                             // registers are written into the
552                                             // Flash memory with the FWB0
553                                             // register corresponding to the
554                                             // address contained in FMA. FWB1 is
555                                             // written to the address FMA+0x4
556                                             // etc. Note that only data bits
557                                             // that are 0 result in the Flash
558                                             // memory being modified. A data bit
559                                             // that is 1 leaves the content of
560                                             // the Flash memory bit at its
561                                             // previous value.
562 #define FLASH_CTRL_O_FWB17      0x00000140  // Flash Write Buffer n (FWBn)
563                                             // offset 0x100 - 0x17C These 32
564                                             // registers hold the contents of
565                                             // the data to be written into the
566                                             // Flash memory on a buffered Flash
567                                             // memory write operation. The
568                                             // offset selects one of the 32-bit
569                                             // registers. Only FWBn registers
570                                             // that have been updated since the
571                                             // preceding buffered Flash memory
572                                             // write operation are written into
573                                             // the Flash memory so it is not
574                                             // necessary to write the entire
575                                             // bank of registers in order to
576                                             // write 1 or 2 words. The FWBn
577                                             // registers are written into the
578                                             // Flash memory with the FWB0
579                                             // register corresponding to the
580                                             // address contained in FMA. FWB1 is
581                                             // written to the address FMA+0x4
582                                             // etc. Note that only data bits
583                                             // that are 0 result in the Flash
584                                             // memory being modified. A data bit
585                                             // that is 1 leaves the content of
586                                             // the Flash memory bit at its
587                                             // previous value.
588 #define FLASH_CTRL_O_FWB18      0x00000144  // Flash Write Buffer n (FWBn)
589                                             // offset 0x100 - 0x17C These 32
590                                             // registers hold the contents of
591                                             // the data to be written into the
592                                             // Flash memory on a buffered Flash
593                                             // memory write operation. The
594                                             // offset selects one of the 32-bit
595                                             // registers. Only FWBn registers
596                                             // that have been updated since the
597                                             // preceding buffered Flash memory
598                                             // write operation are written into
599                                             // the Flash memory so it is not
600                                             // necessary to write the entire
601                                             // bank of registers in order to
602                                             // write 1 or 2 words. The FWBn
603                                             // registers are written into the
604                                             // Flash memory with the FWB0
605                                             // register corresponding to the
606                                             // address contained in FMA. FWB1 is
607                                             // written to the address FMA+0x4
608                                             // etc. Note that only data bits
609                                             // that are 0 result in the Flash
610                                             // memory being modified. A data bit
611                                             // that is 1 leaves the content of
612                                             // the Flash memory bit at its
613                                             // previous value.
614 #define FLASH_CTRL_O_FWB19      0x00000148  // Flash Write Buffer n (FWBn)
615                                             // offset 0x100 - 0x17C These 32
616                                             // registers hold the contents of
617                                             // the data to be written into the
618                                             // Flash memory on a buffered Flash
619                                             // memory write operation. The
620                                             // offset selects one of the 32-bit
621                                             // registers. Only FWBn registers
622                                             // that have been updated since the
623                                             // preceding buffered Flash memory
624                                             // write operation are written into
625                                             // the Flash memory so it is not
626                                             // necessary to write the entire
627                                             // bank of registers in order to
628                                             // write 1 or 2 words. The FWBn
629                                             // registers are written into the
630                                             // Flash memory with the FWB0
631                                             // register corresponding to the
632                                             // address contained in FMA. FWB1 is
633                                             // written to the address FMA+0x4
634                                             // etc. Note that only data bits
635                                             // that are 0 result in the Flash
636                                             // memory being modified. A data bit
637                                             // that is 1 leaves the content of
638                                             // the Flash memory bit at its
639                                             // previous value.
640 #define FLASH_CTRL_O_FWB20      0x0000014C  // Flash Write Buffer n (FWBn)
641                                             // offset 0x100 - 0x17C These 32
642                                             // registers hold the contents of
643                                             // the data to be written into the
644                                             // Flash memory on a buffered Flash
645                                             // memory write operation. The
646                                             // offset selects one of the 32-bit
647                                             // registers. Only FWBn registers
648                                             // that have been updated since the
649                                             // preceding buffered Flash memory
650                                             // write operation are written into
651                                             // the Flash memory so it is not
652                                             // necessary to write the entire
653                                             // bank of registers in order to
654                                             // write 1 or 2 words. The FWBn
655                                             // registers are written into the
656                                             // Flash memory with the FWB0
657                                             // register corresponding to the
658                                             // address contained in FMA. FWB1 is
659                                             // written to the address FMA+0x4
660                                             // etc. Note that only data bits
661                                             // that are 0 result in the Flash
662                                             // memory being modified. A data bit
663                                             // that is 1 leaves the content of
664                                             // the Flash memory bit at its
665                                             // previous value.
666 #define FLASH_CTRL_O_FWB21      0x00000150  // Flash Write Buffer n (FWBn)
667                                             // offset 0x100 - 0x17C These 32
668                                             // registers hold the contents of
669                                             // the data to be written into the
670                                             // Flash memory on a buffered Flash
671                                             // memory write operation. The
672                                             // offset selects one of the 32-bit
673                                             // registers. Only FWBn registers
674                                             // that have been updated since the
675                                             // preceding buffered Flash memory
676                                             // write operation are written into
677                                             // the Flash memory so it is not
678                                             // necessary to write the entire
679                                             // bank of registers in order to
680                                             // write 1 or 2 words. The FWBn
681                                             // registers are written into the
682                                             // Flash memory with the FWB0
683                                             // register corresponding to the
684                                             // address contained in FMA. FWB1 is
685                                             // written to the address FMA+0x4
686                                             // etc. Note that only data bits
687                                             // that are 0 result in the Flash
688                                             // memory being modified. A data bit
689                                             // that is 1 leaves the content of
690                                             // the Flash memory bit at its
691                                             // previous value.
692 #define FLASH_CTRL_O_FWB22      0x00000154  // Flash Write Buffer n (FWBn)
693                                             // offset 0x100 - 0x17C These 32
694                                             // registers hold the contents of
695                                             // the data to be written into the
696                                             // Flash memory on a buffered Flash
697                                             // memory write operation. The
698                                             // offset selects one of the 32-bit
699                                             // registers. Only FWBn registers
700                                             // that have been updated since the
701                                             // preceding buffered Flash memory
702                                             // write operation are written into
703                                             // the Flash memory so it is not
704                                             // necessary to write the entire
705                                             // bank of registers in order to
706                                             // write 1 or 2 words. The FWBn
707                                             // registers are written into the
708                                             // Flash memory with the FWB0
709                                             // register corresponding to the
710                                             // address contained in FMA. FWB1 is
711                                             // written to the address FMA+0x4
712                                             // etc. Note that only data bits
713                                             // that are 0 result in the Flash
714                                             // memory being modified. A data bit
715                                             // that is 1 leaves the content of
716                                             // the Flash memory bit at its
717                                             // previous value.
718 #define FLASH_CTRL_O_FWB23      0x00000158  // Flash Write Buffer n (FWBn)
719                                             // offset 0x100 - 0x17C These 32
720                                             // registers hold the contents of
721                                             // the data to be written into the
722                                             // Flash memory on a buffered Flash
723                                             // memory write operation. The
724                                             // offset selects one of the 32-bit
725                                             // registers. Only FWBn registers
726                                             // that have been updated since the
727                                             // preceding buffered Flash memory
728                                             // write operation are written into
729                                             // the Flash memory so it is not
730                                             // necessary to write the entire
731                                             // bank of registers in order to
732                                             // write 1 or 2 words. The FWBn
733                                             // registers are written into the
734                                             // Flash memory with the FWB0
735                                             // register corresponding to the
736                                             // address contained in FMA. FWB1 is
737                                             // written to the address FMA+0x4
738                                             // etc. Note that only data bits
739                                             // that are 0 result in the Flash
740                                             // memory being modified. A data bit
741                                             // that is 1 leaves the content of
742                                             // the Flash memory bit at its
743                                             // previous value.
744 #define FLASH_CTRL_O_FWB24      0x0000015C  // Flash Write Buffer n (FWBn)
745                                             // offset 0x100 - 0x17C These 32
746                                             // registers hold the contents of
747                                             // the data to be written into the
748                                             // Flash memory on a buffered Flash
749                                             // memory write operation. The
750                                             // offset selects one of the 32-bit
751                                             // registers. Only FWBn registers
752                                             // that have been updated since the
753                                             // preceding buffered Flash memory
754                                             // write operation are written into
755                                             // the Flash memory so it is not
756                                             // necessary to write the entire
757                                             // bank of registers in order to
758                                             // write 1 or 2 words. The FWBn
759                                             // registers are written into the
760                                             // Flash memory with the FWB0
761                                             // register corresponding to the
762                                             // address contained in FMA. FWB1 is
763                                             // written to the address FMA+0x4
764                                             // etc. Note that only data bits
765                                             // that are 0 result in the Flash
766                                             // memory being modified. A data bit
767                                             // that is 1 leaves the content of
768                                             // the Flash memory bit at its
769                                             // previous value.
770 #define FLASH_CTRL_O_FWB25      0x00000160  // Flash Write Buffer n (FWBn)
771                                             // offset 0x100 - 0x17C These 32
772                                             // registers hold the contents of
773                                             // the data to be written into the
774                                             // Flash memory on a buffered Flash
775                                             // memory write operation. The
776                                             // offset selects one of the 32-bit
777                                             // registers. Only FWBn registers
778                                             // that have been updated since the
779                                             // preceding buffered Flash memory
780                                             // write operation are written into
781                                             // the Flash memory so it is not
782                                             // necessary to write the entire
783                                             // bank of registers in order to
784                                             // write 1 or 2 words. The FWBn
785                                             // registers are written into the
786                                             // Flash memory with the FWB0
787                                             // register corresponding to the
788                                             // address contained in FMA. FWB1 is
789                                             // written to the address FMA+0x4
790                                             // etc. Note that only data bits
791                                             // that are 0 result in the Flash
792                                             // memory being modified. A data bit
793                                             // that is 1 leaves the content of
794                                             // the Flash memory bit at its
795                                             // previous value.
796 #define FLASH_CTRL_O_FWB26      0x00000164  // Flash Write Buffer n (FWBn)
797                                             // offset 0x100 - 0x17C These 32
798                                             // registers hold the contents of
799                                             // the data to be written into the
800                                             // Flash memory on a buffered Flash
801                                             // memory write operation. The
802                                             // offset selects one of the 32-bit
803                                             // registers. Only FWBn registers
804                                             // that have been updated since the
805                                             // preceding buffered Flash memory
806                                             // write operation are written into
807                                             // the Flash memory so it is not
808                                             // necessary to write the entire
809                                             // bank of registers in order to
810                                             // write 1 or 2 words. The FWBn
811                                             // registers are written into the
812                                             // Flash memory with the FWB0
813                                             // register corresponding to the
814                                             // address contained in FMA. FWB1 is
815                                             // written to the address FMA+0x4
816                                             // etc. Note that only data bits
817                                             // that are 0 result in the Flash
818                                             // memory being modified. A data bit
819                                             // that is 1 leaves the content of
820                                             // the Flash memory bit at its
821                                             // previous value.
822 #define FLASH_CTRL_O_FWB27      0x00000168  // Flash Write Buffer n (FWBn)
823                                             // offset 0x100 - 0x17C These 32
824                                             // registers hold the contents of
825                                             // the data to be written into the
826                                             // Flash memory on a buffered Flash
827                                             // memory write operation. The
828                                             // offset selects one of the 32-bit
829                                             // registers. Only FWBn registers
830                                             // that have been updated since the
831                                             // preceding buffered Flash memory
832                                             // write operation are written into
833                                             // the Flash memory so it is not
834                                             // necessary to write the entire
835                                             // bank of registers in order to
836                                             // write 1 or 2 words. The FWBn
837                                             // registers are written into the
838                                             // Flash memory with the FWB0
839                                             // register corresponding to the
840                                             // address contained in FMA. FWB1 is
841                                             // written to the address FMA+0x4
842                                             // etc. Note that only data bits
843                                             // that are 0 result in the Flash
844                                             // memory being modified. A data bit
845                                             // that is 1 leaves the content of
846                                             // the Flash memory bit at its
847                                             // previous value.
848 #define FLASH_CTRL_O_FWB28      0x0000016C  // Flash Write Buffer n (FWBn)
849                                             // offset 0x100 - 0x17C These 32
850                                             // registers hold the contents of
851                                             // the data to be written into the
852                                             // Flash memory on a buffered Flash
853                                             // memory write operation. The
854                                             // offset selects one of the 32-bit
855                                             // registers. Only FWBn registers
856                                             // that have been updated since the
857                                             // preceding buffered Flash memory
858                                             // write operation are written into
859                                             // the Flash memory so it is not
860                                             // necessary to write the entire
861                                             // bank of registers in order to
862                                             // write 1 or 2 words. The FWBn
863                                             // registers are written into the
864                                             // Flash memory with the FWB0
865                                             // register corresponding to the
866                                             // address contained in FMA. FWB1 is
867                                             // written to the address FMA+0x4
868                                             // etc. Note that only data bits
869                                             // that are 0 result in the Flash
870                                             // memory being modified. A data bit
871                                             // that is 1 leaves the content of
872                                             // the Flash memory bit at its
873                                             // previous value.
874 #define FLASH_CTRL_O_FWB29      0x00000170  // Flash Write Buffer n (FWBn)
875                                             // offset 0x100 - 0x17C These 32
876                                             // registers hold the contents of
877                                             // the data to be written into the
878                                             // Flash memory on a buffered Flash
879                                             // memory write operation. The
880                                             // offset selects one of the 32-bit
881                                             // registers. Only FWBn registers
882                                             // that have been updated since the
883                                             // preceding buffered Flash memory
884                                             // write operation are written into
885                                             // the Flash memory so it is not
886                                             // necessary to write the entire
887                                             // bank of registers in order to
888                                             // write 1 or 2 words. The FWBn
889                                             // registers are written into the
890                                             // Flash memory with the FWB0
891                                             // register corresponding to the
892                                             // address contained in FMA. FWB1 is
893                                             // written to the address FMA+0x4
894                                             // etc. Note that only data bits
895                                             // that are 0 result in the Flash
896                                             // memory being modified. A data bit
897                                             // that is 1 leaves the content of
898                                             // the Flash memory bit at its
899                                             // previous value.
900 #define FLASH_CTRL_O_FWB30      0x00000174  // Flash Write Buffer n (FWBn)
901                                             // offset 0x100 - 0x17C These 32
902                                             // registers hold the contents of
903                                             // the data to be written into the
904                                             // Flash memory on a buffered Flash
905                                             // memory write operation. The
906                                             // offset selects one of the 32-bit
907                                             // registers. Only FWBn registers
908                                             // that have been updated since the
909                                             // preceding buffered Flash memory
910                                             // write operation are written into
911                                             // the Flash memory so it is not
912                                             // necessary to write the entire
913                                             // bank of registers in order to
914                                             // write 1 or 2 words. The FWBn
915                                             // registers are written into the
916                                             // Flash memory with the FWB0
917                                             // register corresponding to the
918                                             // address contained in FMA. FWB1 is
919                                             // written to the address FMA+0x4
920                                             // etc. Note that only data bits
921                                             // that are 0 result in the Flash
922                                             // memory being modified. A data bit
923                                             // that is 1 leaves the content of
924                                             // the Flash memory bit at its
925                                             // previous value.
926 #define FLASH_CTRL_O_FWB31      0x00000178  // Flash Write Buffer n (FWBn)
927                                             // offset 0x100 - 0x17C These 32
928                                             // registers hold the contents of
929                                             // the data to be written into the
930                                             // Flash memory on a buffered Flash
931                                             // memory write operation. The
932                                             // offset selects one of the 32-bit
933                                             // registers. Only FWBn registers
934                                             // that have been updated since the
935                                             // preceding buffered Flash memory
936                                             // write operation are written into
937                                             // the Flash memory so it is not
938                                             // necessary to write the entire
939                                             // bank of registers in order to
940                                             // write 1 or 2 words. The FWBn
941                                             // registers are written into the
942                                             // Flash memory with the FWB0
943                                             // register corresponding to the
944                                             // address contained in FMA. FWB1 is
945                                             // written to the address FMA+0x4
946                                             // etc. Note that only data bits
947                                             // that are 0 result in the Flash
948                                             // memory being modified. A data bit
949                                             // that is 1 leaves the content of
950                                             // the Flash memory bit at its
951                                             // previous value.
952 #define FLASH_CTRL_O_FWB32      0x0000017C  // Flash Write Buffer n (FWBn)
953                                             // offset 0x100 - 0x17C These 32
954                                             // registers hold the contents of
955                                             // the data to be written into the
956                                             // Flash memory on a buffered Flash
957                                             // memory write operation. The
958                                             // offset selects one of the 32-bit
959                                             // registers. Only FWBn registers
960                                             // that have been updated since the
961                                             // preceding buffered Flash memory
962                                             // write operation are written into
963                                             // the Flash memory so it is not
964                                             // necessary to write the entire
965                                             // bank of registers in order to
966                                             // write 1 or 2 words. The FWBn
967                                             // registers are written into the
968                                             // Flash memory with the FWB0
969                                             // register corresponding to the
970                                             // address contained in FMA. FWB1 is
971                                             // written to the address FMA+0x4
972                                             // etc. Note that only data bits
973                                             // that are 0 result in the Flash
974                                             // memory being modified. A data bit
975                                             // that is 1 leaves the content of
976                                             // the Flash memory bit at its
977                                             // previous value.
978 #define FLASH_CTRL_O_FSIZE      0x00000FC0  // Flash Size (FSIZE) offset 0xFC0
979                                             // This register indicates the size
980                                             // of the on-chip Flash memory.
981                                             // Important: This register should
982                                             // be used to determine the size of
983                                             // the Flash memory that is
984                                             // implemented on this
985                                             // microcontroller. However to
986                                             // support legacy software the DC0
987                                             // register is available. A read of
988                                             // the DC0 register correctly
989                                             // identifies legacy memory sizes.
990                                             // Software must use the FSIZE
991                                             // register for memory sizes that
992                                             // are not listed in the DC0
993                                             // register description.
994 #define FLASH_CTRL_O_SSIZE      0x00000FC4  // SRAM Size (SSIZE) offset 0xFC4
995                                             // This register indicates the size
996                                             // of the on-chip SRAM. Important:
997                                             // This register should be used to
998                                             // determine the size of the SRAM
999                                             // that is implemented on this
1000                                             // microcontroller. However to
1001                                             // support legacy software the DC0
1002                                             // register is available. A read of
1003                                             // the DC0 register correctly
1004                                             // identifies legacy memory sizes.
1005                                             // Software must use the SSIZE
1006                                             // register for memory sizes that
1007                                             // are not listed in the DC0
1008                                             // register description.
1009 
1010 
1011 
1012 //******************************************************************************
1013 //
1014 // The following are defines for the bit fields in the FLASH_CTRL_O_FMA register.
1015 //
1016 //******************************************************************************
1017 #define FLASH_CTRL_FMA_OFFSET_M 0x0003FFFF  // Address Offset Address offset in
1018                                             // Flash memory where operation is
1019                                             // performed except for nonvolatile
1020                                             // registers
1021 #define FLASH_CTRL_FMA_OFFSET_S 0
1022 //******************************************************************************
1023 //
1024 // The following are defines for the bit fields in the FLASH_CTRL_O_FMD register.
1025 //
1026 //******************************************************************************
1027 #define FLASH_CTRL_FMD_DATA_M   0xFFFFFFFF  // Data Value Data value for write
1028                                             // operation.
1029 #define FLASH_CTRL_FMD_DATA_S   0
1030 //******************************************************************************
1031 //
1032 // The following are defines for the bit fields in the FLASH_CTRL_O_FMC register.
1033 //
1034 //******************************************************************************
1035 #define FLASH_CTRL_FMC_WRKEY_M  0xFFFF0000  // Flash Memory Write Key This
1036                                             // field contains a write key which
1037                                             // is used to minimize the incidence
1038                                             // of accidental Flash memory
1039                                             // writes. The value 0xA442 must be
1040                                             // written into this field for a
1041                                             // Flash memory write to occur.
1042                                             // Writes to the FMC register
1043                                             // without this WRKEY value are
1044                                             // ignored. A read of this field
1045                                             // returns the value 0.
1046 #define FLASH_CTRL_FMC_WRKEY_S  16
1047 #define FLASH_CTRL_FMC_COMT     0x00000008  // Commit Register Value This bit
1048                                             // is used to commit writes to
1049                                             // Flash-memory-resident registers
1050                                             // and to monitor the progress of
1051                                             // that process. Value Description 1
1052                                             // Set this bit to commit (write)
1053                                             // the register value to a
1054                                             // Flash-memory-resident register.
1055                                             // When read a 1 indicates that the
1056                                             // previous commit access is not
1057                                             // complete. 0 A write of 0 has no
1058                                             // effect on the state of this bit.
1059                                             // When read a 0 indicates that the
1060                                             // previous commit access is
1061                                             // complete.
1062 #define FLASH_CTRL_FMC_MERASE1  0x00000004  // Mass Erase Flash Memory This bit
1063                                             // is used to mass erase the Flash
1064                                             // main memory and to monitor the
1065                                             // progress of that process. Value
1066                                             // Description 1 Set this bit to
1067                                             // erase the Flash main memory. When
1068                                             // read a 1 indicates that the
1069                                             // previous mass erase access is not
1070                                             // complete. 0 A write of 0 has no
1071                                             // effect on the state of this bit.
1072                                             // When read a 0 indicates that the
1073                                             // previous mass erase access is
1074                                             // complete.
1075 #define FLASH_CTRL_FMC_ERASE    0x00000002  // Erase a Page of Flash Memory
1076                                             // This bit is used to erase a page
1077                                             // of Flash memory and to monitor
1078                                             // the progress of that process.
1079                                             // Value Description 1 Set this bit
1080                                             // to erase the Flash memory page
1081                                             // specified by the contents of the
1082                                             // FMA register. When read a 1
1083                                             // indicates that the previous page
1084                                             // erase access is not complete. 0 A
1085                                             // write of 0 has no effect on the
1086                                             // state of this bit. When read a 0
1087                                             // indicates that the previous page
1088                                             // erase access is complete.
1089 #define FLASH_CTRL_FMC_WRITE    0x00000001  // Write a Word into Flash Memory
1090                                             // This bit is used to write a word
1091                                             // into Flash memory and to monitor
1092                                             // the progress of that process.
1093                                             // Value Description 1 Set this bit
1094                                             // to write the data stored in the
1095                                             // FMD register into the Flash
1096                                             // memory location specified by the
1097                                             // contents of the FMA register.
1098                                             // When read a 1 indicates that the
1099                                             // write update access is not
1100                                             // complete. 0 A write of 0 has no
1101                                             // effect on the state of this bit.
1102                                             // When read a 0 indicates that the
1103                                             // previous write update access is
1104                                             // complete.
1105 //******************************************************************************
1106 //
1107 // The following are defines for the bit fields in the
1108 // FLASH_CTRL_O_FCRIS register.
1109 //
1110 //******************************************************************************
1111 #define FLASH_CTRL_FCRIS_PROGRIS \
1112                                 0x00002000  // Program Verify Error Raw
1113                                             // Interrupt Status Value
1114                                             // Description 1 An interrupt is
1115                                             // pending because the verify of a
1116                                             // PROGRAM operation failed. 0 An
1117                                             // interrupt has not occurred. This
1118                                             // bit is cleared by writing a 1 to
1119                                             // the PROGMISC bit in the FCMISC
1120                                             // register.
1121 
1122 #define FLASH_CTRL_FCRIS_ERRIS  0x00000800  // Erase Verify Error Raw Interrupt
1123                                             // Status Value Description 1 An
1124                                             // interrupt is pending because the
1125                                             // verify of an ERASE operation
1126                                             // failed. 0 An interrupt has not
1127                                             // occurred. This bit is cleared by
1128                                             // writing a 1 to the ERMISC bit in
1129                                             // the FCMISC register.
1130 #define FLASH_CTRL_FCRIS_INVDRIS \
1131                                 0x00000400  // Invalid Data Raw Interrupt
1132                                             // Status Value Description 1 An
1133                                             // interrupt is pending because a
1134                                             // bit that was previously
1135                                             // programmed as a 0 is now being
1136                                             // requested to be programmed as a
1137                                             // 1. 0 An interrupt has not
1138                                             // occurred. This bit is cleared by
1139                                             // writing a 1 to the INVMISC bit in
1140                                             // the FCMISC register.
1141 
1142 #define FLASH_CTRL_FCRIS_VOLTRIS \
1143                                 0x00000200  // Pump Voltage Raw Interrupt
1144                                             // Status Value Description 1 An
1145                                             // interrupt is pending because the
1146                                             // regulated voltage of the pump
1147                                             // went out of spec during the Flash
1148                                             // operation and the operation was
1149                                             // terminated. 0 An interrupt has
1150                                             // not occurred. This bit is cleared
1151                                             // by writing a 1 to the VOLTMISC
1152                                             // bit in the FCMISC register.
1153 
1154 #define FLASH_CTRL_FCRIS_ERIS   0x00000004  // EEPROM Raw Interrupt Status This
1155                                             // bit provides status EEPROM
1156                                             // operation. Value Description 1 An
1157                                             // EEPROM interrupt has occurred. 0
1158                                             // An EEPROM interrupt has not
1159                                             // occurred. This bit is cleared by
1160                                             // writing a 1 to the EMISC bit in
1161                                             // the FCMISC register.
1162 #define FLASH_CTRL_FCRIS_PRIS   0x00000002  // Programming Raw Interrupt Status
1163                                             // This bit provides status on
1164                                             // programming cycles which are
1165                                             // write or erase actions generated
1166                                             // through the FMC or FMC2 register
1167                                             // bits (see page 537 and page 549).
1168                                             // Value Description 1 The
1169                                             // programming or erase cycle has
1170                                             // completed. 0 The programming or
1171                                             // erase cycle has not completed.
1172                                             // This status is sent to the
1173                                             // interrupt controller when the
1174                                             // PMASK bit in the FCIM register is
1175                                             // set. This bit is cleared by
1176                                             // writing a 1 to the PMISC bit in
1177                                             // the FCMISC register.
1178 #define FLASH_CTRL_FCRIS_ARIS   0x00000001  // Access Raw Interrupt Status
1179                                             // Value Description 1 A program or
1180                                             // erase action was attempted on a
1181                                             // block of Flash memory that
1182                                             // contradicts the protection policy
1183                                             // for that block as set in the
1184                                             // FMPPEn registers. 0 No access has
1185                                             // tried to improperly program or
1186                                             // erase the Flash memory. This
1187                                             // status is sent to the interrupt
1188                                             // controller when the AMASK bit in
1189                                             // the FCIM register is set. This
1190                                             // bit is cleared by writing a 1 to
1191                                             // the AMISC bit in the FCMISC
1192                                             // register.
1193 //******************************************************************************
1194 //
1195 // The following are defines for the bit fields in the FLASH_CTRL_O_FCIM register.
1196 //
1197 //******************************************************************************
1198 #define FLASH_CTRL_FCIM_ILLMASK 0x00004000  // Illegal Address Interrupt Mask
1199                                             // Value Description 1 An interrupt
1200                                             // is sent to the interrupt
1201                                             // controller when the ILLARIS bit
1202                                             // is set. 0 The ILLARIS interrupt
1203                                             // is suppressed and not sent to the
1204                                             // interrupt controller.
1205 #define FLASH_CTRL_FCIM_PROGMASK \
1206                                 0x00002000  // PROGVER Interrupt Mask Value
1207                                             // Description 1 An interrupt is
1208                                             // sent to the interrupt controller
1209                                             // when the PROGRIS bit is set. 0
1210                                             // The PROGRIS interrupt is
1211                                             // suppressed and not sent to the
1212                                             // interrupt controller.
1213 
1214 #define FLASH_CTRL_FCIM_PREMASK 0x00001000  // PREVER Interrupt Mask Value
1215                                             // Description 1 An interrupt is
1216                                             // sent to the interrupt controller
1217                                             // when the PRERIS bit is set. 0 The
1218                                             // PRERIS interrupt is suppressed
1219                                             // and not sent to the interrupt
1220                                             // controller.
1221 #define FLASH_CTRL_FCIM_ERMASK  0x00000800  // ERVER Interrupt Mask Value
1222                                             // Description 1 An interrupt is
1223                                             // sent to the interrupt controller
1224                                             // when the ERRIS bit is set. 0 The
1225                                             // ERRIS interrupt is suppressed and
1226                                             // not sent to the interrupt
1227                                             // controller.
1228 #define FLASH_CTRL_FCIM_INVDMASK \
1229                                 0x00000400  // Invalid Data Interrupt Mask
1230                                             // Value Description 1 An interrupt
1231                                             // is sent to the interrupt
1232                                             // controller when the INVDRIS bit
1233                                             // is set. 0 The INVDRIS interrupt
1234                                             // is suppressed and not sent to the
1235                                             // interrupt controller.
1236 
1237 #define FLASH_CTRL_FCIM_VOLTMASK \
1238                                 0x00000200  // VOLT Interrupt Mask Value
1239                                             // Description 1 An interrupt is
1240                                             // sent to the interrupt controller
1241                                             // when the VOLTRIS bit is set. 0
1242                                             // The VOLTRIS interrupt is
1243                                             // suppressed and not sent to the
1244                                             // interrupt controller.
1245 
1246 #define FLASH_CTRL_FCIM_LOCKMASK \
1247                                 0x00000100  // LOCK Interrupt Mask Value
1248                                             // Description 1 An interrupt is
1249                                             // sent to the interrupt controller
1250                                             // when the LOCKRIS bit is set. 0
1251                                             // The LOCKRIS interrupt is
1252                                             // suppressed and not sent to the
1253                                             // interrupt controller.
1254 
1255 #define FLASH_CTRL_FCIM_EMASK   0x00000004  // EEPROM Interrupt Mask Value
1256                                             // Description 1 An interrupt is
1257                                             // sent to the interrupt controller
1258                                             // when the ERIS bit is set. 0 The
1259                                             // ERIS interrupt is suppressed and
1260                                             // not sent to the interrupt
1261                                             // controller.
1262 #define FLASH_CTRL_FCIM_PMASK   0x00000002  // Programming Interrupt Mask This
1263                                             // bit controls the reporting of the
1264                                             // programming raw interrupt status
1265                                             // to the interrupt controller.
1266                                             // Value Description 1 An interrupt
1267                                             // is sent to the interrupt
1268                                             // controller when the PRIS bit is
1269                                             // set. 0 The PRIS interrupt is
1270                                             // suppressed and not sent to the
1271                                             // interrupt controller.
1272 #define FLASH_CTRL_FCIM_AMASK   0x00000001  // Access Interrupt Mask This bit
1273                                             // controls the reporting of the
1274                                             // access raw interrupt status to
1275                                             // the interrupt controller. Value
1276                                             // Description 1 An interrupt is
1277                                             // sent to the interrupt controller
1278                                             // when the ARIS bit is set. 0 The
1279                                             // ARIS interrupt is suppressed and
1280                                             // not sent to the interrupt
1281                                             // controller.
1282 //******************************************************************************
1283 //
1284 // The following are defines for the bit fields in the
1285 // FLASH_CTRL_O_FCMISC register.
1286 //
1287 //******************************************************************************
1288 #define FLASH_CTRL_FCMISC_ILLMISC \
1289                                 0x00004000  // Illegal Address Masked Interrupt
1290                                             // Status and Clear Value
1291                                             // Description 1 When read a 1
1292                                             // indicates that an unmasked
1293                                             // interrupt was signaled. Writing a
1294                                             // 1 to this bit clears ILLAMISC and
1295                                             // also the ILLARIS bit in the FCRIS
1296                                             // register (see page 540). 0 When
1297                                             // read a 0 indicates that an
1298                                             // interrupt has not occurred. A
1299                                             // write of 0 has no effect on the
1300                                             // state of this bit.
1301 
1302 #define FLASH_CTRL_FCMISC_PROGMISC \
1303                                 0x00002000  // PROGVER Masked Interrupt Status
1304                                             // and Clear Value Description 1
1305                                             // When read a 1 indicates that an
1306                                             // unmasked interrupt was signaled.
1307                                             // Writing a 1 to this bit clears
1308                                             // PROGMISC and also the PROGRIS bit
1309                                             // in the FCRIS register (see page
1310                                             // 540). 0 When read a 0 indicates
1311                                             // that an interrupt has not
1312                                             // occurred. A write of 0 has no
1313                                             // effect on the state of this bit.
1314 
1315 #define FLASH_CTRL_FCMISC_PREMISC \
1316                                 0x00001000  // PREVER Masked Interrupt Status
1317                                             // and Clear Value Description 1
1318                                             // When read a 1 indicates that an
1319                                             // unmasked interrupt was signaled.
1320                                             // Writing a 1 to this bit clears
1321                                             // PREMISC and also the PRERIS bit
1322                                             // in the FCRIS register . 0 When
1323                                             // read a 0 indicates that an
1324                                             // interrupt has not occurred. A
1325                                             // write of 0 has no effect on the
1326                                             // state of this bit.
1327 
1328 #define FLASH_CTRL_FCMISC_ERMISC \
1329                                 0x00000800  // ERVER Masked Interrupt Status
1330                                             // and Clear Value Description 1
1331                                             // When read a 1 indicates that an
1332                                             // unmasked interrupt was signaled.
1333                                             // Writing a 1 to this bit clears
1334                                             // ERMISC and also the ERRIS bit in
1335                                             // the FCRIS register 0 When read a
1336                                             // 0 indicates that an interrupt has
1337                                             // not occurred. A write of 0 has no
1338                                             // effect on the state of this bit.
1339 
1340 #define FLASH_CTRL_FCMISC_INVDMISC \
1341                                 0x00000400  // Invalid Data Masked Interrupt
1342                                             // Status and Clear Value
1343                                             // Description 1 When read a 1
1344                                             // indicates that an unmasked
1345                                             // interrupt was signaled. Writing a
1346                                             // 1 to this bit clears INVDMISC and
1347                                             // also the INVDRIS bit in the FCRIS
1348                                             // register (see page 540). 0 When
1349                                             // read a 0 indicates that an
1350                                             // interrupt has not occurred. A
1351                                             // write of 0 has no effect on the
1352                                             // state of this bit.
1353 
1354 #define FLASH_CTRL_FCMISC_VOLTMISC \
1355                                 0x00000200  // VOLT Masked Interrupt Status and
1356                                             // Clear Value Description 1 When
1357                                             // read a 1 indicates that an
1358                                             // unmasked interrupt was signaled.
1359                                             // Writing a 1 to this bit clears
1360                                             // VOLTMISC and also the VOLTRIS bit
1361                                             // in the FCRIS register (see page
1362                                             // 540). 0 When read a 0 indicates
1363                                             // that an interrupt has not
1364                                             // occurred. A write of 0 has no
1365                                             // effect on the state of this bit.
1366 
1367 #define FLASH_CTRL_FCMISC_LOCKMISC \
1368                                 0x00000100  // LOCK Masked Interrupt Status and
1369                                             // Clear Value Description 1 When
1370                                             // read a 1 indicates that an
1371                                             // unmasked interrupt was signaled.
1372                                             // Writing a 1 to this bit clears
1373                                             // LOCKMISC and also the LOCKRIS bit
1374                                             // in the FCRIS register (see page
1375                                             // 540). 0 When read a 0 indicates
1376                                             // that an interrupt has not
1377                                             // occurred. A write of 0 has no
1378                                             // effect on the state of this bit.
1379 
1380 #define FLASH_CTRL_FCMISC_EMISC 0x00000004  // EEPROM Masked Interrupt Status
1381                                             // and Clear Value Description 1
1382                                             // When read a 1 indicates that an
1383                                             // unmasked interrupt was signaled.
1384                                             // Writing a 1 to this bit clears
1385                                             // EMISC and also the ERIS bit in
1386                                             // the FCRIS register 0 When read a
1387                                             // 0 indicates that an interrupt has
1388                                             // not occurred. A write of 0 has no
1389                                             // effect on the state of this bit.
1390 #define FLASH_CTRL_FCMISC_PMISC 0x00000002  // Programming Masked Interrupt
1391                                             // Status and Clear Value
1392                                             // Description 1 When read a 1
1393                                             // indicates that an unmasked
1394                                             // interrupt was signaled because a
1395                                             // programming cycle completed.
1396                                             // Writing a 1 to this bit clears
1397                                             // PMISC and also the PRIS bit in
1398                                             // the FCRIS register 0 When read a
1399                                             // 0 indicates that a programming
1400                                             // cycle complete interrupt has not
1401                                             // occurred. A write of 0 has no
1402                                             // effect on the state of this bit.
1403 #define FLASH_CTRL_FCMISC_AMISC 0x00000001  // Access Masked Interrupt Status
1404                                             // and Clear Value Description 1
1405                                             // When read a 1 indicates that an
1406                                             // unmasked interrupt was signaled
1407                                             // because a program or erase action
1408                                             // was attempted on a block of Flash
1409                                             // memory that contradicts the
1410                                             // protection policy for that block
1411                                             // as set in the FMPPEn registers.
1412                                             // Writing a 1 to this bit clears
1413                                             // AMISC and also the ARIS bit in
1414                                             // the FCRIS register 0 When read a
1415                                             // 0 indicates that no improper
1416                                             // accesses have occurred. A write
1417                                             // of 0 has no effect on the state
1418                                             // of this bit.
1419 //******************************************************************************
1420 //
1421 // The following are defines for the bit fields in the FLASH_CTRL_O_FMC2 register.
1422 //
1423 //******************************************************************************
1424 #define FLASH_CTRL_FMC2_WRKEY_M 0xFFFF0000  // Flash Memory Write Key This
1425                                             // field contains a write key which
1426                                             // is used to minimize the incidence
1427                                             // of accidental Flash memory
1428                                             // writes. The value 0xA442 must be
1429                                             // written into this field for a
1430                                             // write to occur. Writes to the
1431                                             // FMC2 register without this WRKEY
1432                                             // value are ignored. A read of this
1433                                             // field returns the value 0.
1434 #define FLASH_CTRL_FMC2_WRKEY_S 16
1435 #define FLASH_CTRL_FMC2_WRBUF   0x00000001  // Buffered Flash Memory Write This
1436                                             // bit is used to start a buffered
1437                                             // write to Flash memory. Value
1438                                             // Description 1 Set this bit to
1439                                             // write the data stored in the FWBn
1440                                             // registers to the location
1441                                             // specified by the contents of the
1442                                             // FMA register. When read a 1
1443                                             // indicates that the previous
1444                                             // buffered Flash memory write
1445                                             // access is not complete. 0 A write
1446                                             // of 0 has no effect on the state
1447                                             // of this bit. When read a 0
1448                                             // indicates that the previous
1449                                             // buffered Flash memory write
1450                                             // access is complete.
1451 //******************************************************************************
1452 //
1453 // The following are defines for the bit fields in the
1454 // FLASH_CTRL_O_FWBVAL register.
1455 //
1456 //******************************************************************************
1457 #define FLASH_CTRL_FWBVAL_FWBN_M \
1458                                 0xFFFFFFFF  // Flash Memory Write Buffer Value
1459                                             // Description 1 The corresponding
1460                                             // FWBn register has been updated
1461                                             // since the last buffer write
1462                                             // operation and is ready to be
1463                                             // written to Flash memory. 0 The
1464                                             // corresponding FWBn register has
1465                                             // no new data to be written. Bit 0
1466                                             // corresponds to FWB0 offset 0x100
1467                                             // and bit 31 corresponds to FWB31
1468                                             // offset 0x13C.
1469 
1470 #define FLASH_CTRL_FWBVAL_FWBN_S 0
1471 //******************************************************************************
1472 //
1473 // The following are defines for the bit fields in the FLASH_CTRL_O_FWB1 register.
1474 //
1475 //******************************************************************************
1476 #define FLASH_CTRL_FWB1_DATA_M  0xFFFFFFFF  // Data Data to be written into the
1477                                             // Flash memory.
1478 #define FLASH_CTRL_FWB1_DATA_S  0
1479 //******************************************************************************
1480 //
1481 // The following are defines for the bit fields in the FLASH_CTRL_O_FWB2 register.
1482 //
1483 //******************************************************************************
1484 #define FLASH_CTRL_FWB2_DATA_M  0xFFFFFFFF  // Data Data to be written into the
1485                                             // Flash memory.
1486 #define FLASH_CTRL_FWB2_DATA_S  0
1487 //******************************************************************************
1488 //
1489 // The following are defines for the bit fields in the FLASH_CTRL_O_FWB3 register.
1490 //
1491 //******************************************************************************
1492 #define FLASH_CTRL_FWB3_DATA_M  0xFFFFFFFF  // Data Data to be written into the
1493                                             // Flash memory.
1494 #define FLASH_CTRL_FWB3_DATA_S  0
1495 //******************************************************************************
1496 //
1497 // The following are defines for the bit fields in the FLASH_CTRL_O_FWB4 register.
1498 //
1499 //******************************************************************************
1500 #define FLASH_CTRL_FWB4_DATA_M  0xFFFFFFFF  // Data Data to be written into the
1501                                             // Flash memory.
1502 #define FLASH_CTRL_FWB4_DATA_S  0
1503 //******************************************************************************
1504 //
1505 // The following are defines for the bit fields in the FLASH_CTRL_O_FWB5 register.
1506 //
1507 //******************************************************************************
1508 #define FLASH_CTRL_FWB5_DATA_M  0xFFFFFFFF  // Data Data to be written into the
1509                                             // Flash memory.
1510 #define FLASH_CTRL_FWB5_DATA_S  0
1511 //******************************************************************************
1512 //
1513 // The following are defines for the bit fields in the FLASH_CTRL_O_FWB6 register.
1514 //
1515 //******************************************************************************
1516 #define FLASH_CTRL_FWB6_DATA_M  0xFFFFFFFF  // Data Data to be written into the
1517                                             // Flash memory.
1518 #define FLASH_CTRL_FWB6_DATA_S  0
1519 //******************************************************************************
1520 //
1521 // The following are defines for the bit fields in the FLASH_CTRL_O_FWB7 register.
1522 //
1523 //******************************************************************************
1524 #define FLASH_CTRL_FWB7_DATA_M  0xFFFFFFFF  // Data Data to be written into the
1525                                             // Flash memory.
1526 #define FLASH_CTRL_FWB7_DATA_S  0
1527 //******************************************************************************
1528 //
1529 // The following are defines for the bit fields in the FLASH_CTRL_O_FWB8 register.
1530 //
1531 //******************************************************************************
1532 #define FLASH_CTRL_FWB8_DATA_M  0xFFFFFFFF  // Data Data to be written into the
1533                                             // Flash memory.
1534 #define FLASH_CTRL_FWB8_DATA_S  0
1535 //******************************************************************************
1536 //
1537 // The following are defines for the bit fields in the FLASH_CTRL_O_FWB9 register.
1538 //
1539 //******************************************************************************
1540 #define FLASH_CTRL_FWB9_DATA_M  0xFFFFFFFF  // Data Data to be written into the
1541                                             // Flash memory.
1542 #define FLASH_CTRL_FWB9_DATA_S  0
1543 //******************************************************************************
1544 //
1545 // The following are defines for the bit fields in the
1546 // FLASH_CTRL_O_FWB10 register.
1547 //
1548 //******************************************************************************
1549 #define FLASH_CTRL_FWB10_DATA_M 0xFFFFFFFF  // Data Data to be written into the
1550                                             // Flash memory.
1551 #define FLASH_CTRL_FWB10_DATA_S 0
1552 //******************************************************************************
1553 //
1554 // The following are defines for the bit fields in the
1555 // FLASH_CTRL_O_FWB11 register.
1556 //
1557 //******************************************************************************
1558 #define FLASH_CTRL_FWB11_DATA_M 0xFFFFFFFF  // Data Data to be written into the
1559                                             // Flash memory.
1560 #define FLASH_CTRL_FWB11_DATA_S 0
1561 //******************************************************************************
1562 //
1563 // The following are defines for the bit fields in the
1564 // FLASH_CTRL_O_FWB12 register.
1565 //
1566 //******************************************************************************
1567 #define FLASH_CTRL_FWB12_DATA_M 0xFFFFFFFF  // Data Data to be written into the
1568                                             // Flash memory.
1569 #define FLASH_CTRL_FWB12_DATA_S 0
1570 //******************************************************************************
1571 //
1572 // The following are defines for the bit fields in the
1573 // FLASH_CTRL_O_FWB13 register.
1574 //
1575 //******************************************************************************
1576 #define FLASH_CTRL_FWB13_DATA_M 0xFFFFFFFF  // Data Data to be written into the
1577                                             // Flash memory.
1578 #define FLASH_CTRL_FWB13_DATA_S 0
1579 //******************************************************************************
1580 //
1581 // The following are defines for the bit fields in the
1582 // FLASH_CTRL_O_FWB14 register.
1583 //
1584 //******************************************************************************
1585 #define FLASH_CTRL_FWB14_DATA_M 0xFFFFFFFF  // Data Data to be written into the
1586                                             // Flash memory.
1587 #define FLASH_CTRL_FWB14_DATA_S 0
1588 //******************************************************************************
1589 //
1590 // The following are defines for the bit fields in the
1591 // FLASH_CTRL_O_FWB15 register.
1592 //
1593 //******************************************************************************
1594 #define FLASH_CTRL_FWB15_DATA_M 0xFFFFFFFF  // Data Data to be written into the
1595                                             // Flash memory.
1596 #define FLASH_CTRL_FWB15_DATA_S 0
1597 //******************************************************************************
1598 //
1599 // The following are defines for the bit fields in the
1600 // FLASH_CTRL_O_FWB16 register.
1601 //
1602 //******************************************************************************
1603 #define FLASH_CTRL_FWB16_DATA_M 0xFFFFFFFF  // Data Data to be written into the
1604                                             // Flash memory.
1605 #define FLASH_CTRL_FWB16_DATA_S 0
1606 //******************************************************************************
1607 //
1608 // The following are defines for the bit fields in the
1609 // FLASH_CTRL_O_FWB17 register.
1610 //
1611 //******************************************************************************
1612 #define FLASH_CTRL_FWB17_DATA_M 0xFFFFFFFF  // Data Data to be written into the
1613                                             // Flash memory.
1614 #define FLASH_CTRL_FWB17_DATA_S 0
1615 //******************************************************************************
1616 //
1617 // The following are defines for the bit fields in the
1618 // FLASH_CTRL_O_FWB18 register.
1619 //
1620 //******************************************************************************
1621 #define FLASH_CTRL_FWB18_DATA_M 0xFFFFFFFF  // Data Data to be written into the
1622                                             // Flash memory.
1623 #define FLASH_CTRL_FWB18_DATA_S 0
1624 //******************************************************************************
1625 //
1626 // The following are defines for the bit fields in the
1627 // FLASH_CTRL_O_FWB19 register.
1628 //
1629 //******************************************************************************
1630 #define FLASH_CTRL_FWB19_DATA_M 0xFFFFFFFF  // Data Data to be written into the
1631                                             // Flash memory.
1632 #define FLASH_CTRL_FWB19_DATA_S 0
1633 //******************************************************************************
1634 //
1635 // The following are defines for the bit fields in the
1636 // FLASH_CTRL_O_FWB20 register.
1637 //
1638 //******************************************************************************
1639 #define FLASH_CTRL_FWB20_DATA_M 0xFFFFFFFF  // Data Data to be written into the
1640                                             // Flash memory.
1641 #define FLASH_CTRL_FWB20_DATA_S 0
1642 //******************************************************************************
1643 //
1644 // The following are defines for the bit fields in the
1645 // FLASH_CTRL_O_FWB21 register.
1646 //
1647 //******************************************************************************
1648 #define FLASH_CTRL_FWB21_DATA_M 0xFFFFFFFF  // Data Data to be written into the
1649                                             // Flash memory.
1650 #define FLASH_CTRL_FWB21_DATA_S 0
1651 //******************************************************************************
1652 //
1653 // The following are defines for the bit fields in the
1654 // FLASH_CTRL_O_FWB22 register.
1655 //
1656 //******************************************************************************
1657 #define FLASH_CTRL_FWB22_DATA_M 0xFFFFFFFF  // Data Data to be written into the
1658                                             // Flash memory.
1659 #define FLASH_CTRL_FWB22_DATA_S 0
1660 //******************************************************************************
1661 //
1662 // The following are defines for the bit fields in the
1663 // FLASH_CTRL_O_FWB23 register.
1664 //
1665 //******************************************************************************
1666 #define FLASH_CTRL_FWB23_DATA_M 0xFFFFFFFF  // Data Data to be written into the
1667                                             // Flash memory.
1668 #define FLASH_CTRL_FWB23_DATA_S 0
1669 //******************************************************************************
1670 //
1671 // The following are defines for the bit fields in the
1672 // FLASH_CTRL_O_FWB24 register.
1673 //
1674 //******************************************************************************
1675 #define FLASH_CTRL_FWB24_DATA_M 0xFFFFFFFF  // Data Data to be written into the
1676                                             // Flash memory.
1677 #define FLASH_CTRL_FWB24_DATA_S 0
1678 //******************************************************************************
1679 //
1680 // The following are defines for the bit fields in the
1681 // FLASH_CTRL_O_FWB25 register.
1682 //
1683 //******************************************************************************
1684 #define FLASH_CTRL_FWB25_DATA_M 0xFFFFFFFF  // Data Data to be written into the
1685                                             // Flash memory.
1686 #define FLASH_CTRL_FWB25_DATA_S 0
1687 //******************************************************************************
1688 //
1689 // The following are defines for the bit fields in the
1690 // FLASH_CTRL_O_FWB26 register.
1691 //
1692 //******************************************************************************
1693 #define FLASH_CTRL_FWB26_DATA_M 0xFFFFFFFF  // Data Data to be written into the
1694                                             // Flash memory.
1695 #define FLASH_CTRL_FWB26_DATA_S 0
1696 //******************************************************************************
1697 //
1698 // The following are defines for the bit fields in the
1699 // FLASH_CTRL_O_FWB27 register.
1700 //
1701 //******************************************************************************
1702 #define FLASH_CTRL_FWB27_DATA_M 0xFFFFFFFF  // Data Data to be written into the
1703                                             // Flash memory.
1704 #define FLASH_CTRL_FWB27_DATA_S 0
1705 //******************************************************************************
1706 //
1707 // The following are defines for the bit fields in the
1708 // FLASH_CTRL_O_FWB28 register.
1709 //
1710 //******************************************************************************
1711 #define FLASH_CTRL_FWB28_DATA_M 0xFFFFFFFF  // Data Data to be written into the
1712                                             // Flash memory.
1713 #define FLASH_CTRL_FWB28_DATA_S 0
1714 //******************************************************************************
1715 //
1716 // The following are defines for the bit fields in the
1717 // FLASH_CTRL_O_FWB29 register.
1718 //
1719 //******************************************************************************
1720 #define FLASH_CTRL_FWB29_DATA_M 0xFFFFFFFF  // Data Data to be written into the
1721                                             // Flash memory.
1722 #define FLASH_CTRL_FWB29_DATA_S 0
1723 //******************************************************************************
1724 //
1725 // The following are defines for the bit fields in the
1726 // FLASH_CTRL_O_FWB30 register.
1727 //
1728 //******************************************************************************
1729 #define FLASH_CTRL_FWB30_DATA_M 0xFFFFFFFF  // Data Data to be written into the
1730                                             // Flash memory.
1731 #define FLASH_CTRL_FWB30_DATA_S 0
1732 //******************************************************************************
1733 //
1734 // The following are defines for the bit fields in the
1735 // FLASH_CTRL_O_FWB31 register.
1736 //
1737 //******************************************************************************
1738 #define FLASH_CTRL_FWB31_DATA_M 0xFFFFFFFF  // Data Data to be written into the
1739                                             // Flash memory.
1740 #define FLASH_CTRL_FWB31_DATA_S 0
1741 //******************************************************************************
1742 //
1743 // The following are defines for the bit fields in the
1744 // FLASH_CTRL_O_FWB32 register.
1745 //
1746 //******************************************************************************
1747 #define FLASH_CTRL_FWB32_DATA_M 0xFFFFFFFF  // Data Data to be written into the
1748                                             // Flash memory.
1749 #define FLASH_CTRL_FWB32_DATA_S 0
1750 //******************************************************************************
1751 //
1752 // The following are defines for the bit fields in the
1753 // FLASH_CTRL_O_FSIZE register.
1754 //
1755 //******************************************************************************
1756 #define FLASH_CTRL_FSIZE_SIZE_M 0x0000FFFF  // Flash Size Indicates the size of
1757                                             // the on-chip Flash memory. Value
1758                                             // Description 0x0003 8 KB of Flash
1759                                             // 0x0007 16 KB of Flash 0x000F 32
1760                                             // KB of Flash 0x001F 64 KB of Flash
1761                                             // 0x002F 96 KB of Flash 0x003F 128
1762                                             // KB of Flash 0x005F 192 KB of
1763                                             // Flash 0x007F 256 KB of Flash
1764 #define FLASH_CTRL_FSIZE_SIZE_S 0
1765 //******************************************************************************
1766 //
1767 // The following are defines for the bit fields in the
1768 // FLASH_CTRL_O_SSIZE register.
1769 //
1770 //******************************************************************************
1771 #define FLASH_CTRL_SSIZE_SRAM_SIZE_M \
1772                                 0x0000FFFF  // SRAM Size Indicates the size of
1773                                             // the on-chip SRAM. Value
1774                                             // Description 0x0007 2 KB of SRAM
1775                                             // 0x000F 4 KB of SRAM 0x0017 6 KB
1776                                             // of SRAM 0x001F 8 KB of SRAM
1777                                             // 0x002F 12 KB of SRAM 0x003F 16 KB
1778                                             // of SRAM 0x004F 20 KB of SRAM
1779                                             // 0x005F 24 KB of SRAM 0x007F 32 KB
1780                                             // of SRAM
1781 
1782 #define FLASH_CTRL_SSIZE_SRAM_SIZE_S 0
1783 #define FLASH_CTRL_FMC_WRKEY    0xA4420000  // FLASH write key
1784 #define FLASH_CTRL_FMC2_WRKEY   0xA4420000  // FLASH write key
1785 #define FLASH_CTRL_O_FWBN       FLASH_CTRL_O_FWB1
1786 #define FLASH_ERASE_SIZE        0x00000400
1787 #define FLASH_PROTECT_SIZE      0x00000800
1788 #define FLASH_FMP_BLOCK_0       0x00000001  // Enable for block 0
1789 
1790 #define FLASH_FMPRE0            0x400FE200  // Flash Memory Protection Read
1791                                             // Enable 0
1792 #define FLASH_FMPRE1            0x400FE204  // Flash Memory Protection Read
1793                                             // Enable 1
1794 #define FLASH_FMPRE2            0x400FE208  // Flash Memory Protection Read
1795                                             // Enable 2
1796 #define FLASH_FMPRE3            0x400FE20C  // Flash Memory Protection Read
1797                                             // Enable 3
1798 #define FLASH_FMPRE4            0x400FE210  // Flash Memory Protection Read
1799                                             // Enable 4
1800 #define FLASH_FMPRE5            0x400FE214  // Flash Memory Protection Read
1801                                             // Enable 5
1802 #define FLASH_FMPRE6            0x400FE218  // Flash Memory Protection Read
1803                                             // Enable 6
1804 #define FLASH_FMPRE7            0x400FE21C  // Flash Memory Protection Read
1805                                             // Enable 7
1806 #define FLASH_FMPRE8            0x400FE220  // Flash Memory Protection Read
1807                                             // Enable 8
1808 #define FLASH_FMPRE9            0x400FE224  // Flash Memory Protection Read
1809                                             // Enable 9
1810 #define FLASH_FMPRE10           0x400FE228  // Flash Memory Protection Read
1811                                             // Enable 10
1812 #define FLASH_FMPRE11           0x400FE22C  // Flash Memory Protection Read
1813                                             // Enable 11
1814 #define FLASH_FMPRE12           0x400FE230  // Flash Memory Protection Read
1815                                             // Enable 12
1816 #define FLASH_FMPRE13           0x400FE234  // Flash Memory Protection Read
1817                                             // Enable 13
1818 #define FLASH_FMPRE14           0x400FE238  // Flash Memory Protection Read
1819                                             // Enable 14
1820 #define FLASH_FMPRE15           0x400FE23C  // Flash Memory Protection Read
1821                                             // Enable 15
1822 
1823 #define FLASH_FMPPE0            0x400FE400  // Flash Memory Protection Program
1824                                             // Enable 0
1825 #define FLASH_FMPPE1            0x400FE404  // Flash Memory Protection Program
1826                                             // Enable 1
1827 #define FLASH_FMPPE2            0x400FE408  // Flash Memory Protection Program
1828                                             // Enable 2
1829 #define FLASH_FMPPE3            0x400FE40C  // Flash Memory Protection Program
1830                                             // Enable 3
1831 #define FLASH_FMPPE4            0x400FE410  // Flash Memory Protection Program
1832                                             // Enable 4
1833 #define FLASH_FMPPE5            0x400FE414  // Flash Memory Protection Program
1834                                             // Enable 5
1835 #define FLASH_FMPPE6            0x400FE418  // Flash Memory Protection Program
1836                                             // Enable 6
1837 #define FLASH_FMPPE7            0x400FE41C  // Flash Memory Protection Program
1838                                             // Enable 7
1839 #define FLASH_FMPPE8            0x400FE420  // Flash Memory Protection Program
1840                                             // Enable 8
1841 #define FLASH_FMPPE9            0x400FE424  // Flash Memory Protection Program
1842                                             // Enable 9
1843 #define FLASH_FMPPE10           0x400FE428  // Flash Memory Protection Program
1844                                             // Enable 10
1845 #define FLASH_FMPPE11           0x400FE42C  // Flash Memory Protection Program
1846                                             // Enable 11
1847 #define FLASH_FMPPE12           0x400FE430  // Flash Memory Protection Program
1848                                             // Enable 12
1849 #define FLASH_FMPPE13           0x400FE434  // Flash Memory Protection Program
1850                                             // Enable 13
1851 #define FLASH_FMPPE14           0x400FE438  // Flash Memory Protection Program
1852                                             // Enable 14
1853 #define FLASH_FMPPE15           0x400FE43C  // Flash Memory Protection Program
1854                                             // Enable 15
1855 
1856 #define FLASH_USECRL            0x400FE140  // USec Reload
1857 #define FLASH_CTRL_ERASE_SIZE   0x00000400
1858 
1859 
1860 #endif // __HW_FLASH_CTRL_H__
1861