diff --git a/include/libopencm3/stm32/common/dcmi_common_f47.h b/include/libopencm3/stm32/common/dcmi_common_f47.h
index 11e90c75..3af734a4 100644
--- a/include/libopencm3/stm32/common/dcmi_common_f47.h
+++ b/include/libopencm3/stm32/common/dcmi_common_f47.h
@@ -34,16 +34,13 @@
* along with this library. If not, see .
*/
-/**@{*/
-/** @cond */
-#ifndef LIBOPENCM3_STM32_COMMON_DCMI_COMMON_F47_H_
-/** @endcond */
-#define LIBOPENCM3_STM32_COMMON_DCMI_COMMON_F47_H_
-
+#pragma once
#include
#include
+/**@{*/
+
/**
* DCMI control register 1
*/
@@ -239,8 +236,4 @@
*/
#define DCMI_DR MMIO32(DCMI_BASE + 0x28U)
-/** @cond */
-#endif /* LIBOPENCM3_STM32_COMMON_DCMI_COMMON_F47_H_ */
-/** @endcond */
/**@}*/
-
diff --git a/include/libopencm3/stm32/f4/dcmi.h b/include/libopencm3/stm32/f4/dcmi.h
index 44f77b2d..89065ab9 100644
--- a/include/libopencm3/stm32/f4/dcmi.h
+++ b/include/libopencm3/stm32/f4/dcmi.h
@@ -13,7 +13,6 @@
/*
- * STM32F7 DCMI Defines
* Copyright (C) 2020, Smolyaninov Nikolay
*
* This file is part of the libopencm3 project.
diff --git a/include/libopencm3/stm32/f7/dcmi.h b/include/libopencm3/stm32/f7/dcmi.h
index b417e6ea..bc118724 100644
--- a/include/libopencm3/stm32/f7/dcmi.h
+++ b/include/libopencm3/stm32/f7/dcmi.h
@@ -13,7 +13,6 @@
/*
- * STM32F7 DCMI Defines
* Copyright (C) 2020, Smolyaninov Nikolay
*
* This file is part of the libopencm3 project.
@@ -38,8 +37,6 @@
#include
-/**@{*/
-
/**
* @defgroup dcmi_cr_values DCMI_CR Values
* @ingroup dcmi_defines
diff --git a/lib/stm32/common/dcmi_common_f47.c b/lib/stm32/common/dcmi_common_f47.c
new file mode 100644
index 00000000..949ef705
--- /dev/null
+++ b/lib/stm32/common/dcmi_common_f47.c
@@ -0,0 +1,18 @@
+/** @addtogroup dcmi_file DCMI peripheral API
+ * @ingroup peripheral_apis
+ * @brief Digital camera interface.
+ *
+ * The digital camera is a synchronous parallel interface able to
+ * receive a high-speed data flow from an external 8-, 10-, 12- or 14-bit
+ * CMOS camera module.
+ *
+ * If the APIs here are insufficient or incomplete, see @ref dcmi_defines
+ *
+ * LGPL License Terms @ref lgpl_license
+ */
+
+/**@{*/
+
+#include
+
+/**@}*/
\ No newline at end of file
diff --git a/lib/stm32/f4/Makefile b/lib/stm32/f4/Makefile
index 0a30b0d1..80c88572 100644
--- a/lib/stm32/f4/Makefile
+++ b/lib/stm32/f4/Makefile
@@ -42,6 +42,7 @@ OBJS += can.o
OBJS += crc_common_all.o
OBJS += crypto_common_f24.o crypto.o
OBJS += dac_common_all.o
+OBJS += dcmi_common_f47.o
OBJS += desig_common_all.o desig_common_v1.o
OBJS += dma_common_f24.o
OBJS += dma2d_common_f47.o
diff --git a/lib/stm32/f7/Makefile b/lib/stm32/f7/Makefile
index 30178f9b..fc7c092e 100644
--- a/lib/stm32/f7/Makefile
+++ b/lib/stm32/f7/Makefile
@@ -44,6 +44,7 @@ OBJS += adc_common_v1.o adc_common_v1_multi.o adc_common_f47.o
OBJS += can.o
OBJS += crc_common_all.o crc_v2.o
OBJS += dac_common_all.o
+OBJS += dcmi_common_f47.o
OBJS += desig_common_all.o desig.o
OBJS += dma_common_f24.o
OBJS += dma2d_common_f47.o