change %x and %d to PRIx32 and PRId32 where needed for cygwin
[fw/openocd] / src / flash / nor / stellaris.h
index 949a346de47222434e43e79256bcca8c3b2c162d..a469323505a5d42af39535b0dd7f4fc095cea344 100644 (file)
@@ -20,8 +20,6 @@
 #ifndef STELLARIS_FLASH_H
 #define STELLARIS_FLASH_H
 
-#include "flash.h"
-
 struct stellaris_flash_bank
 {
        /* chip id register */
@@ -41,7 +39,6 @@ struct stellaris_flash_bank
 
        /* nv memory bits */
        uint16_t num_lockbits;
-       uint32_t lockbits;
 
        /* main clock status */
        uint32_t rcc;
@@ -56,21 +53,28 @@ struct stellaris_flash_bank
 
 /* STELLARIS control registers */
 #define SCB_BASE       0x400FE000
-#define        DID0            0x000
-#define        DID1            0x004
-#define        DC0                     0x008
-#define        DC1                     0x010
-#define        DC2                     0x014
-#define        DC3                     0x018
-#define        DC4                     0x01C
-
-#define        RIS                     0x050
-#define        RCC                     0x060
-#define        PLLCFG          0x064
-#define        RCC2            0x070
+#define DID0           0x000
+#define DID1           0x004
+#define DC0                    0x008
+#define DC1                    0x010
+#define DC2                    0x014
+#define DC3                    0x018
+#define DC4                    0x01C
+
+#define RIS                    0x050
+#define RCC                    0x060
+#define PLLCFG         0x064
+#define RCC2           0x070
+#define NVMSTAT                0x1a0
 
+/* "legacy" flash memory protection registers (64KB max) */
 #define FMPRE          0x130
 #define FMPPE          0x134
+
+/* new flash memory protection registers (for more than 64KB) */
+#define FMPRE0         0x200           /* PRE1 = PRE0 + 4, etc */
+#define FMPPE0         0x400           /* PPE1 = PPE0 + 4, etc */
+
 #define USECRL         0x140
 
 #define FLASH_CONTROL_BASE     0x400FD000
@@ -96,4 +100,8 @@ struct stellaris_flash_bank
 
 /* STELLARIS constants */
 
+/* values to write in FMA to commit write-"once" values */
+#define FLASH_FMA_PRE(x)       (2 * (x))       /* for FMPPREx */
+#define FLASH_FMA_PPE(x)       (2 * (x) + 1)   /* for FMPPPEx */
+
 #endif /* STELLARIS_H */