aboutsummaryrefslogtreecommitdiffstats
path: root/libmaple/include
diff options
context:
space:
mode:
authorMarti Bolivar <mbolivar@leaflabs.com>2011-11-28 23:21:21 -0500
committerMarti Bolivar <mbolivar@leaflabs.com>2012-04-11 16:56:52 -0400
commitea175caf4bbcc3b32c161dd52cb773fa8fdba707 (patch)
tree30f8e83af3422876e997a6355c41bbb3f4ca1205 /libmaple/include
parenta614806f9a02967bf1b91561dcb3d02a2f735c66 (diff)
downloadlibrambutan-ea175caf4bbcc3b32c161dd52cb773fa8fdba707.tar.gz
librambutan-ea175caf4bbcc3b32c161dd52cb773fa8fdba707.zip
libmaple/flash: Add family-specific FLASH_SAFE_WAIT_STATES.
This is the smallest wait state value that is safe for use when the MCU is at its fastest rate, not considering overclocking. This requires moving the FLASH_WAIT_STATE defines above the family include, so do that, and add the missing #defines (for wait states up to 7). For the STM32F1, the correct value for FLASH_SAFE_WAIT_STATES is FLASH_WAIT_STATE_2; say so in the F1-family flash.h. Signed-off-by: Marti Bolivar <mbolivar@leaflabs.com>
Diffstat (limited to 'libmaple/include')
-rw-r--r--libmaple/include/libmaple/flash.h19
1 files changed, 14 insertions, 5 deletions
diff --git a/libmaple/include/libmaple/flash.h b/libmaple/include/libmaple/flash.h
index 01d45f5..66d5b8e 100644
--- a/libmaple/include/libmaple/flash.h
+++ b/libmaple/include/libmaple/flash.h
@@ -36,16 +36,25 @@
extern "C"{
#endif
-#include <family/flash.h>
#include <libmaple/libmaple_types.h>
-/*
- * Setup routines
- */
-
#define FLASH_WAIT_STATE_0 0x0
#define FLASH_WAIT_STATE_1 0x1
#define FLASH_WAIT_STATE_2 0x2
+#define FLASH_WAIT_STATE_3 0x3
+#define FLASH_WAIT_STATE_4 0x4
+#define FLASH_WAIT_STATE_5 0x5
+#define FLASH_WAIT_STATE_6 0x6
+#define FLASH_WAIT_STATE_7 0x7
+
+/* The family header must define FLASH_SAFE_WAIT_STATES, the smallest
+ * number of wait states that it is safe to use when the MCU clock is
+ * at its fastest rate (not considering overclocking). */
+#include <family/flash.h>
+
+/*
+ * Setup routines
+ */
void flash_enable_prefetch(void);
void flash_set_latency(uint32 wait_states);