CC23x0R5DriverLibrary
hw_flash.h
Go to the documentation of this file.
1 /******************************************************************************
2 * Filename: hw_flash_h
3 ******************************************************************************
4 * Copyright (c) 2021 Texas Instruments Incorporated. All rights reserved.
5 *
6 * Redistribution and use in source and binary forms, with or without
7 * modification, are permitted provided that the following conditions are met:
8 *
9 * 1) Redistributions of source code must retain the above copyright notice,
10 * this list of conditions and the following disclaimer.
11 *
12 * 2) Redistributions in binary form must reproduce the above copyright notice,
13 * this list of conditions and the following disclaimer in the documentation
14 * and/or other materials provided with the distribution.
15 *
16 * 3) Neither the name of the copyright holder nor the names of its contributors
17 * may be used to endorse or promote products derived from this software
18 * without specific prior written permission.
19 *
20 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
21 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
22 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
23 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
24 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
25 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
26 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
27 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
28 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
29 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
30 * POSSIBILITY OF SUCH DAMAGE.
31 ******************************************************************************/
32 
33 #ifndef __HW_FLASH_H__
34 #define __HW_FLASH_H__
35 
36 //*****************************************************************************
37 //
38 // This section defines the register offsets of
39 // FLASH component
40 //
41 //*****************************************************************************
42 // Interrupt Mask Register
43 #define FLASH_O_IMASK 0x00000028U
44 
45 // Raw Interrupt Status Register
46 #define FLASH_O_RIS 0x00000030U
47 
48 // Masked Interrupt Status Register
49 #define FLASH_O_MIS 0x00000038U
50 
51 // Interrupt Set Register
52 #define FLASH_O_ISET 0x00000040U
53 
54 // Interrupt Clear Register
55 #define FLASH_O_ICLR 0x00000048U
56 
57 // Hardware Version Description Register
58 #define FLASH_O_DESC 0x000000FCU
59 
60 // Command Execute Register
61 #define FLASH_O_CMDEXEC 0x00000100U
62 
63 // Command Type Register
64 #define FLASH_O_CMDTYPE 0x00000104U
65 
66 // Command Control Register
67 #define FLASH_O_CMDCTL 0x00000108U
68 
69 // Command Address Register
70 #define FLASH_O_CMDADDR 0x00000120U
71 
72 // Command Program Byte Enable Register
73 #define FLASH_O_CMDBYTEN 0x00000124U
74 
75 // Command Data Register 0
76 #define FLASH_O_CMDDATA0 0x00000130U
77 
78 // Command Data Register 1
79 #define FLASH_O_CMDDATA1 0x00000134U
80 
81 // Command Data Register 2
82 #define FLASH_O_CMDDATA2 0x00000138U
83 
84 // Command Data Register Bits 127:96
85 #define FLASH_O_CMDDATA3 0x0000013CU
86 
87 // Command Write Erase Protect A Register
88 #define FLASH_O_CMDWEPROTA 0x000001D0U
89 
90 // Command Write Erase Protect B Register
91 #define FLASH_O_CMDWEPROTB 0x000001D4U
92 
93 // Command Write Erase Protect Non-Main Register
94 #define FLASH_O_CMDWEPROTNM 0x00000210U
95 
96 // Command Write Erase Protect Trim Register
97 #define FLASH_O_CMDWEPROTTR 0x00000214U
98 
99 // Command Write Erase Protect Engr Register
100 #define FLASH_O_CMDWEPROTEN 0x00000218U
101 
102 // Command Configuration Register
103 #define FLASH_O_CFGCMD 0x000003B0U
104 
105 // Pulse Counter Configuration Register
106 #define FLASH_O_CFGPCNT 0x000003B4U
107 
108 // Command Status Register
109 #define FLASH_O_STATCMD 0x000003D0U
110 
111 // Address Status Register
112 #define FLASH_O_STATADDR 0x000003D4U
113 
114 // Pulse Count Status Register
115 #define FLASH_O_STATPCNT 0x000003D8U
116 
117 // Mode Status Register
118 #define FLASH_O_STATMODE 0x000003DCU
119 
120 // Global Information Register 0
121 #define FLASH_O_GBLINFO0 0x000003F0U
122 
123 // Global Information Register 1
124 #define FLASH_O_GBLINFO1 0x000003F4U
125 
126 // Global Information Register 2
127 #define FLASH_O_GBLINFO2 0x000003F8U
128 
129 // Bank Information Register 0 for Bank 0
130 #define FLASH_O_BANK0INFO0 0x00000400U
131 
132 // Bank Information Register 1 for Bank 0
133 #define FLASH_O_BANK0INFO1 0x00000404U
134 
135 //*****************************************************************************
136 //
137 // Register: FLASH_O_IMASK
138 //
139 //*****************************************************************************
140 // Field: [0] DONE
141 //
142 // Interrupt mask for DONE:
143 // 0: Interrupt is disabled in MIS register
144 // 1: Interrupt is enabled in MIS register
145 // ENUMs:
146 // ENABLED Interrupt will request an interrupt service
147 // routine and corresponding bit in IPSTANDARD.MIS
148 // will be set
149 // DISABLED Interrupt is masked out
150 #define FLASH_IMASK_DONE 0x00000001U
151 #define FLASH_IMASK_DONE_M 0x00000001U
152 #define FLASH_IMASK_DONE_S 0U
153 #define FLASH_IMASK_DONE_ENABLED 0x00000001U
154 #define FLASH_IMASK_DONE_DISABLED 0x00000000U
155 
156 //*****************************************************************************
157 //
158 // Register: FLASH_O_RIS
159 //
160 //*****************************************************************************
161 // Field: [0] DONE
162 //
163 // Flash wrapper operation completed.
164 // This interrupt bit is set by firmware or the corresponding bit in the ISET
165 // register.
166 // It is cleared by the corresponding bit in in the ICLR register or reading
167 // the IIDX register when this interrupt is the highest priority.
168 // ENUMs:
169 // SET Interrupt occurred
170 // CLR Interrupt did not occur
171 #define FLASH_RIS_DONE 0x00000001U
172 #define FLASH_RIS_DONE_M 0x00000001U
173 #define FLASH_RIS_DONE_S 0U
174 #define FLASH_RIS_DONE_SET 0x00000001U
175 #define FLASH_RIS_DONE_CLR 0x00000000U
176 
177 //*****************************************************************************
178 //
179 // Register: FLASH_O_MIS
180 //
181 //*****************************************************************************
182 // Field: [0] DONE
183 //
184 // Flash wrapper operation completed.
185 // This masked interrupt bit reflects the bitwise AND of the corresponding RIS
186 // and IMASK bits.
187 // ENUMs:
188 // SET Masked interrupt occurred
189 // CLR Masked interrupt did not occur
190 #define FLASH_MIS_DONE 0x00000001U
191 #define FLASH_MIS_DONE_M 0x00000001U
192 #define FLASH_MIS_DONE_S 0U
193 #define FLASH_MIS_DONE_SET 0x00000001U
194 #define FLASH_MIS_DONE_CLR 0x00000000U
195 
196 //*****************************************************************************
197 //
198 // Register: FLASH_O_ISET
199 //
200 //*****************************************************************************
201 // Field: [0] DONE
202 //
203 // 0: No effect
204 // 1: Set the DONE interrupt in the RIS register
205 // ENUMs:
206 // SET Set IPSTANDARD.RIS bit
207 // NO_EFFECT Writing a 0 has no effect
208 #define FLASH_ISET_DONE 0x00000001U
209 #define FLASH_ISET_DONE_M 0x00000001U
210 #define FLASH_ISET_DONE_S 0U
211 #define FLASH_ISET_DONE_SET 0x00000001U
212 #define FLASH_ISET_DONE_NO_EFFECT 0x00000000U
213 
214 //*****************************************************************************
215 //
216 // Register: FLASH_O_ICLR
217 //
218 //*****************************************************************************
219 // Field: [0] DONE
220 //
221 // 0: No effect
222 // 1: Clear the DONE interrupt in the RIS register
223 // ENUMs:
224 // CLR Clear IPSTANDARD.RIS bit
225 // NO_EFFECT Writing a 0 has no effect
226 #define FLASH_ICLR_DONE 0x00000001U
227 #define FLASH_ICLR_DONE_M 0x00000001U
228 #define FLASH_ICLR_DONE_S 0U
229 #define FLASH_ICLR_DONE_CLR 0x00000001U
230 #define FLASH_ICLR_DONE_NO_EFFECT 0x00000000U
231 
232 //*****************************************************************************
233 //
234 // Register: FLASH_O_DESC
235 //
236 //*****************************************************************************
237 // Field: [31:16] MODULEID
238 //
239 // Module ID
240 // ENUMs:
241 // MAXIMUM Highest possible value
242 // MINIMUM Smallest value
243 #define FLASH_DESC_MODULEID_W 16U
244 #define FLASH_DESC_MODULEID_M 0xFFFF0000U
245 #define FLASH_DESC_MODULEID_S 16U
246 #define FLASH_DESC_MODULEID_MAXIMUM 0xFFFF0000U
247 #define FLASH_DESC_MODULEID_MINIMUM 0x00000000U
248 
249 // Field: [15:12] FEATUREVER
250 //
251 // Feature set
252 // ENUMs:
253 // MAXIMUM Maximum Value
254 // MINIMUM Minimum Value
255 #define FLASH_DESC_FEATUREVER_W 4U
256 #define FLASH_DESC_FEATUREVER_M 0x0000F000U
257 #define FLASH_DESC_FEATUREVER_S 12U
258 #define FLASH_DESC_FEATUREVER_MAXIMUM 0x0000F000U
259 #define FLASH_DESC_FEATUREVER_MINIMUM 0x00000000U
260 
261 // Field: [11:8] INSTNUM
262 //
263 // Instance number
264 // ENUMs:
265 // MAXIMUM Highest possible value
266 // MINIMUM Smallest value
267 #define FLASH_DESC_INSTNUM_W 4U
268 #define FLASH_DESC_INSTNUM_M 0x00000F00U
269 #define FLASH_DESC_INSTNUM_S 8U
270 #define FLASH_DESC_INSTNUM_MAXIMUM 0x00000F00U
271 #define FLASH_DESC_INSTNUM_MINIMUM 0x00000000U
272 
273 // Field: [7:4] MAJREV
274 //
275 // Major Revision
276 // ENUMs:
277 // MAXIMUM Highest possible value
278 // MINIMUM Smallest value
279 #define FLASH_DESC_MAJREV_W 4U
280 #define FLASH_DESC_MAJREV_M 0x000000F0U
281 #define FLASH_DESC_MAJREV_S 4U
282 #define FLASH_DESC_MAJREV_MAXIMUM 0x000000F0U
283 #define FLASH_DESC_MAJREV_MINIMUM 0x00000000U
284 
285 // Field: [3:0] MINREV
286 //
287 // Minor Revision
288 // ENUMs:
289 // MAXIMUM Highest possible value
290 // MINIMUM Smallest value
291 #define FLASH_DESC_MINREV_W 4U
292 #define FLASH_DESC_MINREV_M 0x0000000FU
293 #define FLASH_DESC_MINREV_S 0U
294 #define FLASH_DESC_MINREV_MAXIMUM 0x0000000FU
295 #define FLASH_DESC_MINREV_MINIMUM 0x00000000U
296 
297 //*****************************************************************************
298 //
299 // Register: FLASH_O_CMDEXEC
300 //
301 //*****************************************************************************
302 // Field: [0] VAL
303 //
304 // Command Execute value
305 // Initiates execution of the command specified in the CMDTYPE register.
306 // ENUMs:
307 // EXECUTE Command will execute or is executing in flash
308 // wrapper
309 // NOEXECUTE Command will not execute or is not executing in
310 // flash wrapper
311 #define FLASH_CMDEXEC_VAL 0x00000001U
312 #define FLASH_CMDEXEC_VAL_M 0x00000001U
313 #define FLASH_CMDEXEC_VAL_S 0U
314 #define FLASH_CMDEXEC_VAL_EXECUTE 0x00000001U
315 #define FLASH_CMDEXEC_VAL_NOEXECUTE 0x00000000U
316 
317 //*****************************************************************************
318 //
319 // Register: FLASH_O_CMDTYPE
320 //
321 //*****************************************************************************
322 // Field: [6:4] SIZE
323 //
324 // Command size
325 // ENUMs:
326 // BANK Operate on an entire flash bank
327 // SECTOR Operate on a flash sector
328 // EIGHTWORD Operate on 8 flash words
329 // FOURWORD Operate on 4 flash words
330 // TWOWORD Operate on 2 flash words
331 // ONEWORD Operate on 1 flash word
332 #define FLASH_CMDTYPE_SIZE_W 3U
333 #define FLASH_CMDTYPE_SIZE_M 0x00000070U
334 #define FLASH_CMDTYPE_SIZE_S 4U
335 #define FLASH_CMDTYPE_SIZE_BANK 0x00000050U
336 #define FLASH_CMDTYPE_SIZE_SECTOR 0x00000040U
337 #define FLASH_CMDTYPE_SIZE_EIGHTWORD 0x00000030U
338 #define FLASH_CMDTYPE_SIZE_FOURWORD 0x00000020U
339 #define FLASH_CMDTYPE_SIZE_TWOWORD 0x00000010U
340 #define FLASH_CMDTYPE_SIZE_ONEWORD 0x00000000U
341 
342 // Field: [2:0] COMMAND
343 //
344 // Command type
345 // ENUMs:
346 // BLANKVERIFY Blank Verify - Check whether a flash word is in
347 // the erased state.
348 // This command may only be
349 // used with CMDTYPE.SIZE = ONEWORD
350 // CLEARSTATUS Clear Status - Clear status bits in FW_SMSTAT
351 // only.
352 // MODECHANGE Mode Change - Perform a mode change only, no other
353 // operation.
354 // ERASE Erase
355 // PROGRAM Program
356 // NOOP No Operation
357 #define FLASH_CMDTYPE_COMMAND_W 3U
358 #define FLASH_CMDTYPE_COMMAND_M 0x00000007U
359 #define FLASH_CMDTYPE_COMMAND_S 0U
360 #define FLASH_CMDTYPE_COMMAND_BLANKVERIFY 0x00000006U
361 #define FLASH_CMDTYPE_COMMAND_CLEARSTATUS 0x00000005U
362 #define FLASH_CMDTYPE_COMMAND_MODECHANGE 0x00000004U
363 #define FLASH_CMDTYPE_COMMAND_ERASE 0x00000002U
364 #define FLASH_CMDTYPE_COMMAND_PROGRAM 0x00000001U
365 #define FLASH_CMDTYPE_COMMAND_NOOP 0x00000000U
366 
367 //*****************************************************************************
368 //
369 // Register: FLASH_O_CMDCTL
370 //
371 //*****************************************************************************
372 // Field: [21] DATAVEREN
373 //
374 // Enable invalid data verify.
375 // This checks for 0->1 transitions in the memory when
376 // a program operation is initiated. If such a transition is found, the
377 // program will
378 // fail with an error without executing the program.
379 // ENUMs:
380 // ENABLE Enable
381 // DISABLE Disable
382 #define FLASH_CMDCTL_DATAVEREN 0x00200000U
383 #define FLASH_CMDCTL_DATAVEREN_M 0x00200000U
384 #define FLASH_CMDCTL_DATAVEREN_S 21U
385 #define FLASH_CMDCTL_DATAVEREN_ENABLE 0x00200000U
386 #define FLASH_CMDCTL_DATAVEREN_DISABLE 0x00000000U
387 
388 // Field: [20] SSERASEDIS
389 //
390 // Disable Stair-Step Erase. If set, the default VHV trim voltage setting will
391 // be used
392 // for all erase pulses.
393 // By default, this bit is reset, meaning that the VHV voltage will be stepped
394 // during
395 // successive erase pulses. The step count, step voltage, begin and end
396 // voltages
397 // are all hard-wired.
398 // ENUMs:
399 // DISABLE Disable
400 // ENABLE Enable
401 #define FLASH_CMDCTL_SSERASEDIS 0x00100000U
402 #define FLASH_CMDCTL_SSERASEDIS_M 0x00100000U
403 #define FLASH_CMDCTL_SSERASEDIS_S 20U
404 #define FLASH_CMDCTL_SSERASEDIS_DISABLE 0x00100000U
405 #define FLASH_CMDCTL_SSERASEDIS_ENABLE 0x00000000U
406 
407 // Field: [16] ADDRXLATEOVR
408 //
409 // Override hardware address translation of address in CMDADDR from a
410 // system address to a bank address and bank ID. Use data written to
411 // CMDADDR directly as the bank address. Use the value written to
412 // CMDCTL.BANKSEL directly as the bank ID. Use the value written to
413 // CMDCTL.REGIONSEL directly as the region ID.
414 // ENUMs:
415 // OVERRIDE Override
416 // NOOVERRIDE Do not override
417 #define FLASH_CMDCTL_ADDRXLATEOVR 0x00010000U
418 #define FLASH_CMDCTL_ADDRXLATEOVR_M 0x00010000U
419 #define FLASH_CMDCTL_ADDRXLATEOVR_S 16U
420 #define FLASH_CMDCTL_ADDRXLATEOVR_OVERRIDE 0x00010000U
421 #define FLASH_CMDCTL_ADDRXLATEOVR_NOOVERRIDE 0x00000000U
422 
423 // Field: [12:9] REGIONSEL
424 //
425 // Bank Region
426 // A specific region ID can be written to this field to indicate to which
427 // region an
428 // operation is to be applied if CMDCTL.ADDRXLATEOVR is set.
429 // ENUMs:
430 // ENGR Engr Region
431 // TRIM Trim Region
432 // NONMAIN Non-Main Region
433 // MAIN Main Region
434 #define FLASH_CMDCTL_REGIONSEL_W 4U
435 #define FLASH_CMDCTL_REGIONSEL_M 0x00001E00U
436 #define FLASH_CMDCTL_REGIONSEL_S 9U
437 #define FLASH_CMDCTL_REGIONSEL_ENGR 0x00001000U
438 #define FLASH_CMDCTL_REGIONSEL_TRIM 0x00000800U
439 #define FLASH_CMDCTL_REGIONSEL_NONMAIN 0x00000400U
440 #define FLASH_CMDCTL_REGIONSEL_MAIN 0x00000200U
441 
442 // Field: [3:0] MODESEL
443 //
444 // Mode
445 // This field is only used for the Mode Change command type. Otherwise, bank
446 // and pump modes are set automaticlly through the NW hardware.
447 // ENUMs:
448 // ERASEBNK Erase Bank
449 // PGMMW Program Multiple Word
450 // ERASESECT Erase Sector
451 // ERASEVER Erase Verify Mode
452 // PGMSW Program Single Word
453 // PGMVER Program Verify Mode
454 // RDMARG1B Read Margin 1B Mode
455 // RDMARG0B Read Margin 0B Mode
456 // RDMARG1 Read Margin 1 Mode
457 // RDMARG0 Read Margin 0 Mode
458 // READ Read Mode
459 #define FLASH_CMDCTL_MODESEL_W 4U
460 #define FLASH_CMDCTL_MODESEL_M 0x0000000FU
461 #define FLASH_CMDCTL_MODESEL_S 0U
462 #define FLASH_CMDCTL_MODESEL_ERASEBNK 0x0000000FU
463 #define FLASH_CMDCTL_MODESEL_PGMMW 0x0000000EU
464 #define FLASH_CMDCTL_MODESEL_ERASESECT 0x0000000CU
465 #define FLASH_CMDCTL_MODESEL_ERASEVER 0x0000000BU
466 #define FLASH_CMDCTL_MODESEL_PGMSW 0x0000000AU
467 #define FLASH_CMDCTL_MODESEL_PGMVER 0x00000009U
468 #define FLASH_CMDCTL_MODESEL_RDMARG1B 0x00000007U
469 #define FLASH_CMDCTL_MODESEL_RDMARG0B 0x00000006U
470 #define FLASH_CMDCTL_MODESEL_RDMARG1 0x00000004U
471 #define FLASH_CMDCTL_MODESEL_RDMARG0 0x00000002U
472 #define FLASH_CMDCTL_MODESEL_READ 0x00000000U
473 
474 //*****************************************************************************
475 //
476 // Register: FLASH_O_CMDADDR
477 //
478 //*****************************************************************************
479 // Field: [31:0] VAL
480 //
481 // Address value
482 // ENUMs:
483 // MAXIMUM Maximum value of VAL
484 // MINIMUM Minimum value of VAL
485 #define FLASH_CMDADDR_VAL_W 32U
486 #define FLASH_CMDADDR_VAL_M 0xFFFFFFFFU
487 #define FLASH_CMDADDR_VAL_S 0U
488 #define FLASH_CMDADDR_VAL_MAXIMUM 0xFFFFFFFFU
489 #define FLASH_CMDADDR_VAL_MINIMUM 0x00000000U
490 
491 //*****************************************************************************
492 //
493 // Register: FLASH_O_CMDBYTEN
494 //
495 //*****************************************************************************
496 // Field: [15:0] VAL
497 //
498 // Command Byte Enable value.
499 // A 1-bit per flash word byte value is placed in this register.
500 // ENUMs:
501 // MAXIMUM Maximum value of VAL
502 // MINIMUM Minimum value of VAL
503 #define FLASH_CMDBYTEN_VAL_W 16U
504 #define FLASH_CMDBYTEN_VAL_M 0x0000FFFFU
505 #define FLASH_CMDBYTEN_VAL_S 0U
506 #define FLASH_CMDBYTEN_VAL_MAXIMUM 0x0003FFFFU
507 #define FLASH_CMDBYTEN_VAL_MINIMUM 0x00000000U
508 
509 //*****************************************************************************
510 //
511 // Register: FLASH_O_CMDDATA0
512 //
513 //*****************************************************************************
514 // Field: [31:0] VAL
515 //
516 // A 32-bit data value is placed in this field.
517 // ENUMs:
518 // MAXIMUM Maximum value of VAL
519 // MINIMUM Minimum value of VAL
520 #define FLASH_CMDDATA0_VAL_W 32U
521 #define FLASH_CMDDATA0_VAL_M 0xFFFFFFFFU
522 #define FLASH_CMDDATA0_VAL_S 0U
523 #define FLASH_CMDDATA0_VAL_MAXIMUM 0xFFFFFFFFU
524 #define FLASH_CMDDATA0_VAL_MINIMUM 0x00000000U
525 
526 //*****************************************************************************
527 //
528 // Register: FLASH_O_CMDDATA1
529 //
530 //*****************************************************************************
531 // Field: [31:0] VAL
532 //
533 // A 32-bit data value is placed in this field.
534 // ENUMs:
535 // MAXIMUM Maximum value of VAL
536 // MINIMUM Minimum value of VAL
537 #define FLASH_CMDDATA1_VAL_W 32U
538 #define FLASH_CMDDATA1_VAL_M 0xFFFFFFFFU
539 #define FLASH_CMDDATA1_VAL_S 0U
540 #define FLASH_CMDDATA1_VAL_MAXIMUM 0xFFFFFFFFU
541 #define FLASH_CMDDATA1_VAL_MINIMUM 0x00000000U
542 
543 //*****************************************************************************
544 //
545 // Register: FLASH_O_CMDDATA2
546 //
547 //*****************************************************************************
548 // Field: [31:0] VAL
549 //
550 // A 32-bit data value is placed in this field.
551 // ENUMs:
552 // MAXIMUM Maximum value of VAL
553 // MINIMUM Minimum value of VAL
554 #define FLASH_CMDDATA2_VAL_W 32U
555 #define FLASH_CMDDATA2_VAL_M 0xFFFFFFFFU
556 #define FLASH_CMDDATA2_VAL_S 0U
557 #define FLASH_CMDDATA2_VAL_MAXIMUM 0xFFFFFFFFU
558 #define FLASH_CMDDATA2_VAL_MINIMUM 0x00000000U
559 
560 //*****************************************************************************
561 //
562 // Register: FLASH_O_CMDDATA3
563 //
564 //*****************************************************************************
565 // Field: [31:0] VAL
566 //
567 // A 32-bit data value is placed in this field.
568 // ENUMs:
569 // MAXIMUM Maximum value of VAL
570 // MINIMUM Minimum value of VAL
571 #define FLASH_CMDDATA3_VAL_W 32U
572 #define FLASH_CMDDATA3_VAL_M 0xFFFFFFFFU
573 #define FLASH_CMDDATA3_VAL_S 0U
574 #define FLASH_CMDDATA3_VAL_MAXIMUM 0xFFFFFFFFU
575 #define FLASH_CMDDATA3_VAL_MINIMUM 0x00000000U
576 
577 //*****************************************************************************
578 //
579 // Register: FLASH_O_CMDWEPROTA
580 //
581 //*****************************************************************************
582 // Field: [31:0] VAL
583 //
584 // Each bit protects 1 sector.
585 //
586 // bit [0]: When 1, sector 0 of the flash memory will be protected from program
587 // and erase.
588 // bit [1]: When 1, sector 1 of the flash memory will be protected from program
589 // and erase.
590 // :
591 // :
592 // bit [31]: When 1, sector 31 of the flash memory will be protected from
593 // program
594 // and erase.
595 // ENUMs:
596 // MAXIMUM Maximum value of VAL
597 // MINIMUM Minimum value of VAL
598 #define FLASH_CMDWEPROTA_VAL_W 32U
599 #define FLASH_CMDWEPROTA_VAL_M 0xFFFFFFFFU
600 #define FLASH_CMDWEPROTA_VAL_S 0U
601 #define FLASH_CMDWEPROTA_VAL_MAXIMUM 0xFFFFFFFFU
602 #define FLASH_CMDWEPROTA_VAL_MINIMUM 0x00000000U
603 
604 //*****************************************************************************
605 //
606 // Register: FLASH_O_CMDWEPROTB
607 //
608 //*****************************************************************************
609 // Field: [27:0] VAL
610 //
611 // Each bit protects a group of 8 sectors. When a bit is 1, the associated 8
612 // sectors
613 // in the flash will be protected from program and erase. A maximum of 256
614 // sectors can be protected with this register.
615 // ENUMs:
616 // MAXIMUM Maximum value of VAL
617 // MINIMUM Minimum value of VAL
618 #define FLASH_CMDWEPROTB_VAL_W 28U
619 #define FLASH_CMDWEPROTB_VAL_M 0x0FFFFFFFU
620 #define FLASH_CMDWEPROTB_VAL_S 0U
621 #define FLASH_CMDWEPROTB_VAL_MAXIMUM 0xFFFFFFFFU
622 #define FLASH_CMDWEPROTB_VAL_MINIMUM 0x00000000U
623 
624 //*****************************************************************************
625 //
626 // Register: FLASH_O_CMDWEPROTNM
627 //
628 //*****************************************************************************
629 // Field: [0] VAL
630 //
631 // Each bit protects 1 sector.
632 //
633 // bit [0]: When 1, sector 0 of the non-main region will be protected from
634 // program
635 // and erase.
636 // bit [1]: When 1, sector 1 of the non-main region will be protected from
637 // program
638 // and erase.
639 // :
640 // :
641 // bit [31]: When 1, sector 31 of the non-main will be protected from program
642 // and erase.
643 // ENUMs:
644 // MAXIMUM Maximum value of VAL
645 // MINIMUM Minimum value of VAL
646 #define FLASH_CMDWEPROTNM_VAL 0x00000001U
647 #define FLASH_CMDWEPROTNM_VAL_M 0x00000001U
648 #define FLASH_CMDWEPROTNM_VAL_S 0U
649 #define FLASH_CMDWEPROTNM_VAL_MAXIMUM 0xFFFFFFFFU
650 #define FLASH_CMDWEPROTNM_VAL_MINIMUM 0x00000000U
651 
652 //*****************************************************************************
653 //
654 // Register: FLASH_O_CMDWEPROTTR
655 //
656 //*****************************************************************************
657 // Field: [0] VAL
658 //
659 // Each bit protects 1 sector.
660 //
661 // bit [0]: When 1, sector 0 of the engr region will be protected from program
662 // and erase.
663 // bit [1]: When 1, sector 1 of the engr region will be protected from program
664 // and erase.
665 // :
666 // :
667 // bit [31]: When 1, sector 31 of the engr region will be protected from
668 // program
669 // and erase.
670 // ENUMs:
671 // MAXIMUM Maximum value of VAL
672 // MINIMUM Minimum value of VAL
673 #define FLASH_CMDWEPROTTR_VAL 0x00000001U
674 #define FLASH_CMDWEPROTTR_VAL_M 0x00000001U
675 #define FLASH_CMDWEPROTTR_VAL_S 0U
676 #define FLASH_CMDWEPROTTR_VAL_MAXIMUM 0xFFFFFFFFU
677 #define FLASH_CMDWEPROTTR_VAL_MINIMUM 0x00000000U
678 
679 //*****************************************************************************
680 //
681 // Register: FLASH_O_CMDWEPROTEN
682 //
683 //*****************************************************************************
684 // Field: [0] VAL
685 //
686 // Each bit protects 1 sector.
687 //
688 // bit [0]: When 1, sector 0 of the engr region will be protected from program
689 // and erase.
690 // bit [1]: When 1, sector 1 of the engr region will be protected from program
691 // and erase.
692 // :
693 // :
694 // bit [31]: When 1, sector 31 of the engr region will be protected from
695 // program
696 // and erase.
697 // ENUMs:
698 // MAXIMUM Maximum value of VAL
699 // MINIMUM Minimum value of VAL
700 #define FLASH_CMDWEPROTEN_VAL 0x00000001U
701 #define FLASH_CMDWEPROTEN_VAL_M 0x00000001U
702 #define FLASH_CMDWEPROTEN_VAL_S 0U
703 #define FLASH_CMDWEPROTEN_VAL_MAXIMUM 0xFFFFFFFFU
704 #define FLASH_CMDWEPROTEN_VAL_MINIMUM 0x00000000U
705 
706 //*****************************************************************************
707 //
708 // Register: FLASH_O_CFGCMD
709 //
710 //*****************************************************************************
711 // Field: [3:0] WAITSTATE
712 //
713 // Wait State setting for verify reads
714 // ENUMs:
715 // MAXIMUM Maximum value
716 // MINIMUM Minimum value
717 #define FLASH_CFGCMD_WAITSTATE_W 4U
718 #define FLASH_CFGCMD_WAITSTATE_M 0x0000000FU
719 #define FLASH_CFGCMD_WAITSTATE_S 0U
720 #define FLASH_CFGCMD_WAITSTATE_MAXIMUM 0x0000000FU
721 #define FLASH_CFGCMD_WAITSTATE_MINIMUM 0x00000000U
722 
723 //*****************************************************************************
724 //
725 // Register: FLASH_O_CFGPCNT
726 //
727 //*****************************************************************************
728 // Field: [11:4] MAXPCNTVAL
729 //
730 // Override maximum pulse counter with this value.
731 // If MAXPCNTOVR = 0, then this field is ignored.
732 // If MAXPCNTOVR = 1 and MAXERSPCNTOVR = 0, then this value will be used
733 // to override the max pulse count for both program and erase. Full max value
734 // will be {4'h0, MAXPCNTVAL} .
735 // If MAXPCNTOVR = 1 and MAXERSPCNTOVR = 1, then this value will be used
736 // to override the max pulse count for program only. Full max value will be
737 // {4'h0, MAXPCNTVAL}.
738 // ENUMs:
739 // MAXIMUM Maximum value
740 // MINIMUM Minimum value
741 #define FLASH_CFGPCNT_MAXPCNTVAL_W 8U
742 #define FLASH_CFGPCNT_MAXPCNTVAL_M 0x00000FF0U
743 #define FLASH_CFGPCNT_MAXPCNTVAL_S 4U
744 #define FLASH_CFGPCNT_MAXPCNTVAL_MAXIMUM 0x00000FF0U
745 #define FLASH_CFGPCNT_MAXPCNTVAL_MINIMUM 0x00000000U
746 
747 // Field: [0] MAXPCNTOVR
748 //
749 // Override hard-wired maximum pulse count. If MAXERSPCNTOVR
750 // is not set, then setting this value alone will override the max pulse count
751 // for
752 // both program and erase. If MAXERSPCNTOVR is set, then this bit will only
753 // control the max pulse count setting for program.
754 // By default, this bit is 0, and a hard-wired max pulse count is used.
755 // ENUMs:
756 // OVERRIDE Use value from MAXPCNTVAL field as maximum puse
757 // count
758 // DEFAULT Use hard-wired (default) value for maximum pulse
759 // count
760 #define FLASH_CFGPCNT_MAXPCNTOVR 0x00000001U
761 #define FLASH_CFGPCNT_MAXPCNTOVR_M 0x00000001U
762 #define FLASH_CFGPCNT_MAXPCNTOVR_S 0U
763 #define FLASH_CFGPCNT_MAXPCNTOVR_OVERRIDE 0x00000001U
764 #define FLASH_CFGPCNT_MAXPCNTOVR_DEFAULT 0x00000000U
765 
766 //*****************************************************************************
767 //
768 // Register: FLASH_O_STATCMD
769 //
770 //*****************************************************************************
771 // Field: [12] FAILMISC
772 //
773 // Command failed due to error other than write/erase protect violation or
774 // verify
775 // error. This is an extra bit in case a new failure mechanism is added which
776 // requires a status bit.
777 // ENUMs:
778 // STATFAIL Fail
779 // STATNOFAIL No Fail
780 #define FLASH_STATCMD_FAILMISC 0x00001000U
781 #define FLASH_STATCMD_FAILMISC_M 0x00001000U
782 #define FLASH_STATCMD_FAILMISC_S 12U
783 #define FLASH_STATCMD_FAILMISC_STATFAIL 0x00001000U
784 #define FLASH_STATCMD_FAILMISC_STATNOFAIL 0x00000000U
785 
786 // Field: [8] FAILINVDATA
787 //
788 // Program command failed because an attempt was made to program a stored
789 // 0 value to a 1.
790 // ENUMs:
791 // STATFAIL Fail
792 // STATNOFAIL No Fail
793 #define FLASH_STATCMD_FAILINVDATA 0x00000100U
794 #define FLASH_STATCMD_FAILINVDATA_M 0x00000100U
795 #define FLASH_STATCMD_FAILINVDATA_S 8U
796 #define FLASH_STATCMD_FAILINVDATA_STATFAIL 0x00000100U
797 #define FLASH_STATCMD_FAILINVDATA_STATNOFAIL 0x00000000U
798 
799 // Field: [7] FAILMODE
800 //
801 // Command failed because a bank has been set to a mode other than READ.
802 // Program and Erase commands cannot be initiated unless all banks are in READ
803 // mode.
804 // ENUMs:
805 // STATFAIL Fail
806 // STATNOFAIL No Fail
807 #define FLASH_STATCMD_FAILMODE 0x00000080U
808 #define FLASH_STATCMD_FAILMODE_M 0x00000080U
809 #define FLASH_STATCMD_FAILMODE_S 7U
810 #define FLASH_STATCMD_FAILMODE_STATFAIL 0x00000080U
811 #define FLASH_STATCMD_FAILMODE_STATNOFAIL 0x00000000U
812 
813 // Field: [6] FAILILLADDR
814 //
815 // Command failed due to the use of an illegal address
816 // ENUMs:
817 // STATFAIL Fail
818 // STATNOFAIL No Fail
819 #define FLASH_STATCMD_FAILILLADDR 0x00000040U
820 #define FLASH_STATCMD_FAILILLADDR_M 0x00000040U
821 #define FLASH_STATCMD_FAILILLADDR_S 6U
822 #define FLASH_STATCMD_FAILILLADDR_STATFAIL 0x00000040U
823 #define FLASH_STATCMD_FAILILLADDR_STATNOFAIL 0x00000000U
824 
825 // Field: [5] FAILVERIFY
826 //
827 // Command failed due to verify error
828 // ENUMs:
829 // STATFAIL Fail
830 // STATNOFAIL No Fail
831 #define FLASH_STATCMD_FAILVERIFY 0x00000020U
832 #define FLASH_STATCMD_FAILVERIFY_M 0x00000020U
833 #define FLASH_STATCMD_FAILVERIFY_S 5U
834 #define FLASH_STATCMD_FAILVERIFY_STATFAIL 0x00000020U
835 #define FLASH_STATCMD_FAILVERIFY_STATNOFAIL 0x00000000U
836 
837 // Field: [4] FAILWEPROT
838 //
839 // Command failed due to Write/Erase Protect Sector Violation
840 // ENUMs:
841 // STATFAIL Fail
842 // STATNOFAIL No Fail
843 #define FLASH_STATCMD_FAILWEPROT 0x00000010U
844 #define FLASH_STATCMD_FAILWEPROT_M 0x00000010U
845 #define FLASH_STATCMD_FAILWEPROT_S 4U
846 #define FLASH_STATCMD_FAILWEPROT_STATFAIL 0x00000010U
847 #define FLASH_STATCMD_FAILWEPROT_STATNOFAIL 0x00000000U
848 
849 // Field: [2] CMDINPROGRESS
850 //
851 // Command In Progress
852 // ENUMs:
853 // STATINPROGRESS In Progress
854 // STATCOMPLETE Complete
855 #define FLASH_STATCMD_CMDINPROGRESS 0x00000004U
856 #define FLASH_STATCMD_CMDINPROGRESS_M 0x00000004U
857 #define FLASH_STATCMD_CMDINPROGRESS_S 2U
858 #define FLASH_STATCMD_CMDINPROGRESS_STATINPROGRESS 0x00000004U
859 #define FLASH_STATCMD_CMDINPROGRESS_STATCOMPLETE 0x00000000U
860 
861 // Field: [1] CMDPASS
862 //
863 // Command Pass - valid when CMD_DONE field is 1
864 // ENUMs:
865 // STATPASS Pass
866 // STATFAIL Fail
867 #define FLASH_STATCMD_CMDPASS 0x00000002U
868 #define FLASH_STATCMD_CMDPASS_M 0x00000002U
869 #define FLASH_STATCMD_CMDPASS_S 1U
870 #define FLASH_STATCMD_CMDPASS_STATPASS 0x00000002U
871 #define FLASH_STATCMD_CMDPASS_STATFAIL 0x00000000U
872 
873 // Field: [0] CMDDONE
874 //
875 // Command Done
876 // ENUMs:
877 // STATDONE Done
878 // STATNOTDONE Not Done
879 #define FLASH_STATCMD_CMDDONE 0x00000001U
880 #define FLASH_STATCMD_CMDDONE_M 0x00000001U
881 #define FLASH_STATCMD_CMDDONE_S 0U
882 #define FLASH_STATCMD_CMDDONE_STATDONE 0x00000001U
883 #define FLASH_STATCMD_CMDDONE_STATNOTDONE 0x00000000U
884 
885 //*****************************************************************************
886 //
887 // Register: FLASH_O_STATADDR
888 //
889 //*****************************************************************************
890 // Field: [25:21] BANKID
891 //
892 // Current Bank ID
893 // A bank indicator is stored in this register which represents the current
894 // bank on
895 // which the state machine is operating. There is 1 bit per bank.
896 // ENUMs:
897 // BANK4 Bank 4
898 // BANK3 Bank 3
899 // BANK2 Bank 2
900 // BANK1 Bank 1
901 // BANK0 Bank 0
902 #define FLASH_STATADDR_BANKID_W 5U
903 #define FLASH_STATADDR_BANKID_M 0x03E00000U
904 #define FLASH_STATADDR_BANKID_S 21U
905 #define FLASH_STATADDR_BANKID_BANK4 0x02000000U
906 #define FLASH_STATADDR_BANKID_BANK3 0x01000000U
907 #define FLASH_STATADDR_BANKID_BANK2 0x00800000U
908 #define FLASH_STATADDR_BANKID_BANK1 0x00400000U
909 #define FLASH_STATADDR_BANKID_BANK0 0x00200000U
910 
911 // Field: [20:16] REGIONID
912 //
913 // Current Region ID
914 // A region indicator is stored in this register which represents the current
915 // flash
916 // region on which the state machine is operating.
917 // ENUMs:
918 // ENGR Engr Region
919 // TRIM Trim Region
920 // NONMAIN Non-Main Region
921 // MAIN Main Region
922 #define FLASH_STATADDR_REGIONID_W 5U
923 #define FLASH_STATADDR_REGIONID_M 0x001F0000U
924 #define FLASH_STATADDR_REGIONID_S 16U
925 #define FLASH_STATADDR_REGIONID_ENGR 0x00080000U
926 #define FLASH_STATADDR_REGIONID_TRIM 0x00040000U
927 #define FLASH_STATADDR_REGIONID_NONMAIN 0x00020000U
928 #define FLASH_STATADDR_REGIONID_MAIN 0x00010000U
929 
930 // Field: [15:0] BANKADDR
931 //
932 // Current Bank Address
933 // A bank offset address is stored in this register.
934 // ENUMs:
935 // MAXIMUM Maximum value
936 // MINIMUM Minimum value
937 #define FLASH_STATADDR_BANKADDR_W 16U
938 #define FLASH_STATADDR_BANKADDR_M 0x0000FFFFU
939 #define FLASH_STATADDR_BANKADDR_S 0U
940 #define FLASH_STATADDR_BANKADDR_MAXIMUM 0x0000FFFFU
941 #define FLASH_STATADDR_BANKADDR_MINIMUM 0x00000000U
942 
943 //*****************************************************************************
944 //
945 // Register: FLASH_O_STATPCNT
946 //
947 //*****************************************************************************
948 // Field: [11:0] PULSECNT
949 //
950 // Current Pulse Counter Value
951 // ENUMs:
952 // MAXIMUM Maximum value
953 // MINIMUM Minimum value
954 #define FLASH_STATPCNT_PULSECNT_W 12U
955 #define FLASH_STATPCNT_PULSECNT_M 0x00000FFFU
956 #define FLASH_STATPCNT_PULSECNT_S 0U
957 #define FLASH_STATPCNT_PULSECNT_MAXIMUM 0x00000FFFU
958 #define FLASH_STATPCNT_PULSECNT_MINIMUM 0x00000000U
959 
960 //*****************************************************************************
961 //
962 // Register: FLASH_O_STATMODE
963 //
964 //*****************************************************************************
965 // Field: [17] BANK1TRDY
966 //
967 // Bank 1T Ready.
968 // Bank(s) are ready for 1T access. This is accomplished when the bank and
969 // pump
970 // have been trimmed.
971 // ENUMs:
972 // TRUE Ready
973 // FALSE Not ready
974 #define FLASH_STATMODE_BANK1TRDY 0x00020000U
975 #define FLASH_STATMODE_BANK1TRDY_M 0x00020000U
976 #define FLASH_STATMODE_BANK1TRDY_S 17U
977 #define FLASH_STATMODE_BANK1TRDY_TRUE 0x00020000U
978 #define FLASH_STATMODE_BANK1TRDY_FALSE 0x00000000U
979 
980 // Field: [16] BANK2TRDY
981 //
982 // Bank 2T Ready.
983 // Bank(s) are ready for 2T access. This is accomplished when the pump has
984 // fully driven power rails to the bank(s).
985 // ENUMs:
986 // TRUE Ready
987 // FALSE Not ready
988 #define FLASH_STATMODE_BANK2TRDY 0x00010000U
989 #define FLASH_STATMODE_BANK2TRDY_M 0x00010000U
990 #define FLASH_STATMODE_BANK2TRDY_S 16U
991 #define FLASH_STATMODE_BANK2TRDY_TRUE 0x00010000U
992 #define FLASH_STATMODE_BANK2TRDY_FALSE 0x00000000U
993 
994 // Field: [11:8] BANKMODE
995 //
996 // Indicates mode of bank(s) that are not in READ mode
997 // ENUMs:
998 // ERASEBNK Erase Bank
999 // PGMMW Program Multiple Word
1000 // ERASESECT Erase Sector
1001 // ERASEVER Erase Verify Mode
1002 // PGMSW Program Single Word
1003 // PGMVER Program Verify Mode
1004 // RDMARG1B Read Margin 1B Mode
1005 // RDMARG0B Read Margin 0B Mode
1006 // RDMARG1 Read Margin 1 Mode
1007 // RDMARG0 Read Margin 0 Mode
1008 // READ Read Mode
1009 #define FLASH_STATMODE_BANKMODE_W 4U
1010 #define FLASH_STATMODE_BANKMODE_M 0x00000F00U
1011 #define FLASH_STATMODE_BANKMODE_S 8U
1012 #define FLASH_STATMODE_BANKMODE_ERASEBNK 0x00000F00U
1013 #define FLASH_STATMODE_BANKMODE_PGMMW 0x00000E00U
1014 #define FLASH_STATMODE_BANKMODE_ERASESECT 0x00000C00U
1015 #define FLASH_STATMODE_BANKMODE_ERASEVER 0x00000B00U
1016 #define FLASH_STATMODE_BANKMODE_PGMSW 0x00000A00U
1017 #define FLASH_STATMODE_BANKMODE_PGMVER 0x00000900U
1018 #define FLASH_STATMODE_BANKMODE_RDMARG1B 0x00000700U
1019 #define FLASH_STATMODE_BANKMODE_RDMARG0B 0x00000600U
1020 #define FLASH_STATMODE_BANKMODE_RDMARG1 0x00000400U
1021 #define FLASH_STATMODE_BANKMODE_RDMARG0 0x00000200U
1022 #define FLASH_STATMODE_BANKMODE_READ 0x00000000U
1023 
1024 // Field: [0] BANKNOTINRD
1025 //
1026 // Bank not in read mode.
1027 // Indicates which banks are not in READ mode. There is 1 bit per bank.
1028 // ENUMs:
1029 // BANK4 Bank 4
1030 // BANK3 Bank 3
1031 // BANK2 Bank 2
1032 // BANK1 Bank 1
1033 // BANK0 Bank 0
1034 #define FLASH_STATMODE_BANKNOTINRD 0x00000001U
1035 #define FLASH_STATMODE_BANKNOTINRD_M 0x00000001U
1036 #define FLASH_STATMODE_BANKNOTINRD_S 0U
1037 #define FLASH_STATMODE_BANKNOTINRD_BANK4 0x00000010U
1038 #define FLASH_STATMODE_BANKNOTINRD_BANK3 0x00000008U
1039 #define FLASH_STATMODE_BANKNOTINRD_BANK2 0x00000004U
1040 #define FLASH_STATMODE_BANKNOTINRD_BANK1 0x00000002U
1041 #define FLASH_STATMODE_BANKNOTINRD_BANK0 0x00000001U
1042 
1043 //*****************************************************************************
1044 //
1045 // Register: FLASH_O_GBLINFO0
1046 //
1047 //*****************************************************************************
1048 // Field: [18:16] NUMBANKS
1049 //
1050 // Number of banks instantiated
1051 // Minimum: 1
1052 // Maximum: 5
1053 // ENUMs:
1054 // MAXIMUM Maximum value
1055 // MINIMUM Minimum value
1056 #define FLASH_GBLINFO0_NUMBANKS_W 3U
1057 #define FLASH_GBLINFO0_NUMBANKS_M 0x00070000U
1058 #define FLASH_GBLINFO0_NUMBANKS_S 16U
1059 #define FLASH_GBLINFO0_NUMBANKS_MAXIMUM 0x00050000U
1060 #define FLASH_GBLINFO0_NUMBANKS_MINIMUM 0x00010000U
1061 
1062 // Field: [15:0] SECTORSIZE
1063 //
1064 // Sector size in bytes
1065 // ENUMs:
1066 // TWOKB Sector size is TWOKB
1067 // ONEKB Sector size is ONEKB
1068 #define FLASH_GBLINFO0_SECTORSIZE_W 16U
1069 #define FLASH_GBLINFO0_SECTORSIZE_M 0x0000FFFFU
1070 #define FLASH_GBLINFO0_SECTORSIZE_S 0U
1071 #define FLASH_GBLINFO0_SECTORSIZE_TWOKB 0x00000800U
1072 #define FLASH_GBLINFO0_SECTORSIZE_ONEKB 0x00000400U
1073 
1074 //*****************************************************************************
1075 //
1076 // Register: FLASH_O_GBLINFO1
1077 //
1078 //*****************************************************************************
1079 // Field: [18:16] REDWIDTH
1080 //
1081 // Redundant data width in bits
1082 // ENUMs:
1083 // W4BIT Redundant data width is 4 bits
1084 // W2BIT Redundant data width is 2 bits
1085 // W0BIT Redundant data width is 0. Redundancy/Repair not
1086 // present.
1087 #define FLASH_GBLINFO1_REDWIDTH_W 3U
1088 #define FLASH_GBLINFO1_REDWIDTH_M 0x00070000U
1089 #define FLASH_GBLINFO1_REDWIDTH_S 16U
1090 #define FLASH_GBLINFO1_REDWIDTH_W4BIT 0x00040000U
1091 #define FLASH_GBLINFO1_REDWIDTH_W2BIT 0x00020000U
1092 #define FLASH_GBLINFO1_REDWIDTH_W0BIT 0x00000000U
1093 
1094 // Field: [12:8] ECCWIDTH
1095 //
1096 // ECC data width in bits
1097 // ENUMs:
1098 // W16BIT ECC data width is 16 bits
1099 // W8BIT ECC data width is 8 bits
1100 // W0BIT ECC data width is 0. ECC not used.
1101 #define FLASH_GBLINFO1_ECCWIDTH_W 5U
1102 #define FLASH_GBLINFO1_ECCWIDTH_M 0x00001F00U
1103 #define FLASH_GBLINFO1_ECCWIDTH_S 8U
1104 #define FLASH_GBLINFO1_ECCWIDTH_W16BIT 0x00001000U
1105 #define FLASH_GBLINFO1_ECCWIDTH_W8BIT 0x00000800U
1106 #define FLASH_GBLINFO1_ECCWIDTH_W0BIT 0x00000000U
1107 
1108 // Field: [7:0] DATAWIDTH
1109 //
1110 // Data width in bits
1111 // ENUMs:
1112 // W128BIT Data width is 128 bits
1113 // W64BIT Data width is 64 bits
1114 #define FLASH_GBLINFO1_DATAWIDTH_W 8U
1115 #define FLASH_GBLINFO1_DATAWIDTH_M 0x000000FFU
1116 #define FLASH_GBLINFO1_DATAWIDTH_S 0U
1117 #define FLASH_GBLINFO1_DATAWIDTH_W128BIT 0x00000080U
1118 #define FLASH_GBLINFO1_DATAWIDTH_W64BIT 0x00000040U
1119 
1120 //*****************************************************************************
1121 //
1122 // Register: FLASH_O_GBLINFO2
1123 //
1124 //*****************************************************************************
1125 // Field: [3:0] DATAREGISTERS
1126 //
1127 // Number of data registers present.
1128 // ENUMs:
1129 // MAXIMUM Maximum value of DATAREGISTERS
1130 // MINIMUM Minimum value of DATAREGISTERS
1131 #define FLASH_GBLINFO2_DATAREGISTERS_W 4U
1132 #define FLASH_GBLINFO2_DATAREGISTERS_M 0x0000000FU
1133 #define FLASH_GBLINFO2_DATAREGISTERS_S 0U
1134 #define FLASH_GBLINFO2_DATAREGISTERS_MAXIMUM 0x00000008U
1135 #define FLASH_GBLINFO2_DATAREGISTERS_MINIMUM 0x00000001U
1136 
1137 //*****************************************************************************
1138 //
1139 // Register: FLASH_O_BANK0INFO0
1140 //
1141 //*****************************************************************************
1142 // Field: [11:0] MAINSIZE
1143 //
1144 // Main region size in sectors
1145 // Minimum: 0x8 (8)
1146 // Maximum: 0x200 (512)
1147 // ENUMs:
1148 // MAXSECTORS Maximum value of MAINSIZE
1149 // MINSECTORS Minimum value of MAINSIZE
1150 #define FLASH_BANK0INFO0_MAINSIZE_W 12U
1151 #define FLASH_BANK0INFO0_MAINSIZE_M 0x00000FFFU
1152 #define FLASH_BANK0INFO0_MAINSIZE_S 0U
1153 #define FLASH_BANK0INFO0_MAINSIZE_MAXSECTORS 0x00000200U
1154 #define FLASH_BANK0INFO0_MAINSIZE_MINSECTORS 0x00000008U
1155 
1156 //*****************************************************************************
1157 //
1158 // Register: FLASH_O_BANK0INFO1
1159 //
1160 //*****************************************************************************
1161 // Field: [23:16] ENGRSIZE
1162 //
1163 // Engr region size in sectors
1164 // Minimum: 0x0 (0)
1165 // Maximum: 0x10 (16)
1166 // ENUMs:
1167 // MAXSECTORS Maximum value of ENGRSIZE
1168 // MINSECTORS Minimum value of ENGRSIZE
1169 #define FLASH_BANK0INFO1_ENGRSIZE_W 8U
1170 #define FLASH_BANK0INFO1_ENGRSIZE_M 0x00FF0000U
1171 #define FLASH_BANK0INFO1_ENGRSIZE_S 16U
1172 #define FLASH_BANK0INFO1_ENGRSIZE_MAXSECTORS 0x00200000U
1173 #define FLASH_BANK0INFO1_ENGRSIZE_MINSECTORS 0x00000000U
1174 
1175 // Field: [15:8] TRIMSIZE
1176 //
1177 // Trim region size in sectors
1178 // Minimum: 0x0 (0)
1179 // Maximum: 0x10 (16)
1180 // ENUMs:
1181 // MAXSECTORS Maximum value of TRIMSIZE
1182 // MINSECTORS Minimum value of TRIMSIZE
1183 #define FLASH_BANK0INFO1_TRIMSIZE_W 8U
1184 #define FLASH_BANK0INFO1_TRIMSIZE_M 0x0000FF00U
1185 #define FLASH_BANK0INFO1_TRIMSIZE_S 8U
1186 #define FLASH_BANK0INFO1_TRIMSIZE_MAXSECTORS 0x00002000U
1187 #define FLASH_BANK0INFO1_TRIMSIZE_MINSECTORS 0x00000000U
1188 
1189 // Field: [7:0] NONMAINSIZE
1190 //
1191 // Non-main region size in sectors
1192 // Minimum: 0x0 (0)
1193 // Maximum: 0x10 (16)
1194 // ENUMs:
1195 // MAXSECTORS Maximum value of NONMAINSIZE
1196 // MINSECTORS Minimum value of NONMAINSIZE
1197 #define FLASH_BANK0INFO1_NONMAINSIZE_W 8U
1198 #define FLASH_BANK0INFO1_NONMAINSIZE_M 0x000000FFU
1199 #define FLASH_BANK0INFO1_NONMAINSIZE_S 0U
1200 #define FLASH_BANK0INFO1_NONMAINSIZE_MAXSECTORS 0x00000020U
1201 #define FLASH_BANK0INFO1_NONMAINSIZE_MINSECTORS 0x00000000U
1202 
1203 
1204 #endif // __FLASH__