Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/thirdpin/libopencm3.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKarl Palsson <karlp@tweak.net.au>2018-07-11 01:21:18 +0300
committerKarl Palsson <karlp@tweak.net.au>2018-07-29 23:31:17 +0300
commitb23dccc7ae9cb4ee7916c35e81e5a999f162adf4 (patch)
tree3ebb2f5a35b6214ccb031cf006825b0a50aa094a /include/libopencm3/stm32/common/flash_common_all.h
parent9dd901ba279bc9d65fea920186b2dbb7fd17b16d (diff)
stm32: flash: pull up prefetch to _all
Turns out, there's lots of common code for flash. Pull up prefetch on/off to start with, as there's only a single bit name different. Pull up the definitions of common API functions too, starting with flash_set_ws. Even if the implementations are different, things that meant to be the same, should be defined centrally.
Diffstat (limited to 'include/libopencm3/stm32/common/flash_common_all.h')
-rw-r--r--include/libopencm3/stm32/common/flash_common_all.h48
1 files changed, 48 insertions, 0 deletions
diff --git a/include/libopencm3/stm32/common/flash_common_all.h b/include/libopencm3/stm32/common/flash_common_all.h
new file mode 100644
index 00000000..be1c5eeb
--- /dev/null
+++ b/include/libopencm3/stm32/common/flash_common_all.h
@@ -0,0 +1,48 @@
+/** @addtogroup flash_defines
+ *
+ */
+/*
+ * This file is part of the libopencm3 project.
+ *
+ * This library is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this library. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#pragma once
+
+#include <libopencm3/cm3/common.h>
+
+BEGIN_DECLS
+
+/**
+ * This buffer is used for instruction fetches and is enabled by default after
+ * reset.
+ *
+ * Note carefully the clock restrictions under which the prefetch buffer may be
+ * enabled or disabled. Changes are normally made while the clock is running in
+ * the power-on low frequency mode before being set to a higher speed mode.
+ *
+ * See the reference manual for details.
+ */
+void flash_prefetch_enable(void);
+
+/**
+ * Note carefully the clock restrictions under which the prefetch buffer may be
+ * set to disabled. See the reference manual for details.
+ */
+void flash_prefetch_disable(void);
+
+
+void flash_set_ws(uint32_t ws);
+
+END_DECLS \ No newline at end of file