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-23 13:35:05 +0300
committerKarl Palsson <karlp@tweak.net.au>2018-07-29 23:31:17 +0300
commit76d392ee47d884e08435e793764506c2b2fcc419 (patch)
tree2afd3675e2f499bc7598e6d892e4f9938d43ce58 /include/libopencm3/stm32/common
parenteafc46ff247e70f1f25d2c51361a0c8ccfe7c032 (diff)
stm32: flash: drop common_f234
Move the last few register defines back to their relevant headers, add doxygen and groups. While these registers _were_ "common" they were the _only_ common things, so it's simpler for future work (merging f7 with f2/4) to move them back separately.
Diffstat (limited to 'include/libopencm3/stm32/common')
-rw-r--r--include/libopencm3/stm32/common/flash_common_f234.h87
-rw-r--r--include/libopencm3/stm32/common/flash_common_f24.h40
2 files changed, 35 insertions, 92 deletions
diff --git a/include/libopencm3/stm32/common/flash_common_f234.h b/include/libopencm3/stm32/common/flash_common_f234.h
deleted file mode 100644
index ae4d4637..00000000
--- a/include/libopencm3/stm32/common/flash_common_f234.h
+++ /dev/null
@@ -1,87 +0,0 @@
-/** @addtogroup flash_defines
- *
- * @author @htmlonly &copy; @endhtmlonly 2010
- * Thomas Otto <tommi@viadmin.org>
- * @author @htmlonly &copy; @endhtmlonly 2010
- * Mark Butler <mbutler@physics.otago.ac.nz>
- *
- */
-/*
- * This file is part of the libopencm3 project.
- *
- * Copyright (C) 2010 Thomas Otto <tommi@viadmin.org>
- * Copyright (C) 2010 Mark Butler <mbutler@physics.otago.ac.nz>
- *
- * 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/>.
- */
-
-/*
- * For details see:
- * PM0081 Programming manual: STM32F40xxx and STM32F41xxx Flash programming
- * September 2011, Doc ID 018520 Rev 1
- * https://github.com/libopencm3/libopencm3-archive/blob/master/st_micro/DM00023388.pdf
- */
-
-/** @cond */
-#ifdef LIBOPENCM3_FLASH_H
-/** @endcond */
-#ifndef LIBOPENCM3_FLASH_COMMON_F234_H
-#define LIBOPENCM3_FLASH_COMMON_F234_H
-/**@{*/
-
-/* --- FLASH registers ----------------------------------------------------- */
-
-#define FLASH_ACR MMIO32(FLASH_MEM_INTERFACE_BASE + 0x00)
-#define FLASH_KEYR MMIO32(FLASH_MEM_INTERFACE_BASE + 0x04)
-#define FLASH_OPTKEYR MMIO32(FLASH_MEM_INTERFACE_BASE + 0x08)
-#define FLASH_SR MMIO32(FLASH_MEM_INTERFACE_BASE + 0x0C)
-#define FLASH_CR MMIO32(FLASH_MEM_INTERFACE_BASE + 0x10)
-
-/* --- FLASH_ACR values ---------------------------------------------------- */
-
-#define FLASH_ACR_LATENCY_SHIFT 0
-#define FLASH_ACR_LATENCY_MASK 0x0f
-#define FLASH_ACR_LATENCY(w) ((w) & FLASH_ACR_LATENCY_MASK)
-#define FLASH_ACR_LATENCY_0WS 0x00
-#define FLASH_ACR_LATENCY_1WS 0x01
-#define FLASH_ACR_LATENCY_2WS 0x02
-#define FLASH_ACR_LATENCY_3WS 0x03
-#define FLASH_ACR_LATENCY_4WS 0x04
-#define FLASH_ACR_LATENCY_5WS 0x05
-#define FLASH_ACR_LATENCY_6WS 0x06
-#define FLASH_ACR_LATENCY_7WS 0x07
-
-/* --- FLASH_SR values ----------------------------------------------------- */
-
-/* --- FLASH_CR values ----------------------------------------------------- */
-
-/* --- FLASH Keys -----------------------------------------------------------*/
-
-#define FLASH_KEYR_KEY1 ((uint32_t)0x45670123)
-#define FLASH_KEYR_KEY2 ((uint32_t)0xcdef89ab)
-
-/* --- Function prototypes ------------------------------------------------- */
-
-BEGIN_DECLS
-
-END_DECLS
-/**@}*/
-
-#endif
-/** @cond */
-#else
-#warning "flash_common_f234.h should not be included direcitly,"
-#warning "only via flash.h"
-#endif
-/** @endcond */
diff --git a/include/libopencm3/stm32/common/flash_common_f24.h b/include/libopencm3/stm32/common/flash_common_f24.h
index 706774b0..d504345c 100644
--- a/include/libopencm3/stm32/common/flash_common_f24.h
+++ b/include/libopencm3/stm32/common/flash_common_f24.h
@@ -40,17 +40,44 @@
#define LIBOPENCM3_FLASH_COMMON_F24_H
/**@{*/
-#include <libopencm3/stm32/common/flash_common_f234.h>
#include <libopencm3/stm32/common/flash_common_idcache.h>
-/* --- FLASH registers ----------------------------------------------------- */
-
+/** @defgroup flash_registers Flash Registers
+ * @ingroup flash_defines
+@{*/
+/** Flash Access Control register */
+#define FLASH_ACR MMIO32(FLASH_MEM_INTERFACE_BASE + 0x00)
+/** Flash Key register */
+#define FLASH_KEYR MMIO32(FLASH_MEM_INTERFACE_BASE + 0x04)
+/** Flash Option bytes key register */
+#define FLASH_OPTKEYR MMIO32(FLASH_MEM_INTERFACE_BASE + 0x08)
+/** Flash Status register*/
+#define FLASH_SR MMIO32(FLASH_MEM_INTERFACE_BASE + 0x0C)
+/** Flash Control register */
+#define FLASH_CR MMIO32(FLASH_MEM_INTERFACE_BASE + 0x10)
+/** Flash Option Control register */
#define FLASH_OPTCR MMIO32(FLASH_MEM_INTERFACE_BASE + 0x14)
+/** Flash Option Control register 1 (bank 2) */
#define FLASH_OPTCR1 MMIO32(FLASH_MEM_INTERFACE_BASE + 0x18)
+/*@}*/
-/* --- FLASH_ACR values ---------------------------------------------------- */
-
+/** @defgroup flash_acr_values FLASH_ACR values
+ * @ingroup flash_registers
+ * @brief Access Control register values
+@{*/
+#define FLASH_ACR_LATENCY_SHIFT 0
+#define FLASH_ACR_LATENCY_MASK 0x0f
+#define FLASH_ACR_LATENCY(w) ((w) & FLASH_ACR_LATENCY_MASK)
+#define FLASH_ACR_LATENCY_0WS 0x00
+#define FLASH_ACR_LATENCY_1WS 0x01
+#define FLASH_ACR_LATENCY_2WS 0x02
+#define FLASH_ACR_LATENCY_3WS 0x03
+#define FLASH_ACR_LATENCY_4WS 0x04
+#define FLASH_ACR_LATENCY_5WS 0x05
+#define FLASH_ACR_LATENCY_6WS 0x06
+#define FLASH_ACR_LATENCY_7WS 0x07
#define FLASH_ACR_PRFTEN (1 << 8)
+/*@}*/
/* --- FLASH_SR values ----------------------------------------------------- */
@@ -105,6 +132,9 @@
/* --- FLASH Keys -----------------------------------------------------------*/
+#define FLASH_KEYR_KEY1 ((uint32_t)0x45670123)
+#define FLASH_KEYR_KEY2 ((uint32_t)0xcdef89ab)
+
#define FLASH_OPTKEYR_KEY1 ((uint32_t)0x08192a3b)
#define FLASH_OPTKEYR_KEY2 ((uint32_t)0x4c5d6e7f)