diff --git a/include/libopencm3/efm32/common/msc_common.h b/include/libopencm3/efm32/common/msc_common.h
index 0dd7a782..34932c63 100644
--- a/include/libopencm3/efm32/common/msc_common.h
+++ b/include/libopencm3/efm32/common/msc_common.h
@@ -1,3 +1,5 @@
+/** @addtogroup msc_defines
+ */
/*
* This file is part of the libopencm3 project.
*
@@ -17,12 +19,13 @@
* along with this library. If not, see .
*/
-#ifndef LIBOPENCM3_EFM32_MSC_H
-#define LIBOPENCM3_EFM32_MSC_H
+#pragma once
#include
#include
+/**@{*/
+
#define MSC_CTRL MMIO32(MSC_BASE + 0x000)
#define MSC_READCTRL MMIO32(MSC_BASE + 0x004)
#define MSC_WRITECTRL MMIO32(MSC_BASE + 0x008)
@@ -150,5 +153,4 @@
#define MSC_MASSLOCK_LOCKKEY_LOCK MSC_MASSLOCK_LOCKKEY(0)
#define MSC_MASSLOCK_LOCKKEY_UNLOCK MSC_MASSLOCK_LOCKKEY(0x631A)
-#endif
-
+/**@}*/
\ No newline at end of file
diff --git a/include/libopencm3/efm32/ezr32wg/msc.h b/include/libopencm3/efm32/ezr32wg/msc.h
index b8800ea8..2f8dd32a 100644
--- a/include/libopencm3/efm32/ezr32wg/msc.h
+++ b/include/libopencm3/efm32/ezr32wg/msc.h
@@ -1,3 +1,11 @@
+/** @defgroup msc_defines MSC Defines
+ *
+ * @brief Defined Constants and Types for the Memory Systems Controller
+ *
+ * @ingroup EZR32WG_defines
+ *
+ * LGPL License Terms @ref lgpl_license
+ */
/*
* This file is part of the libopencm3 project.
*
@@ -17,9 +25,6 @@
* along with this library. If not, see .
*/
-#ifndef LIBOPENCM3_EFM32_EZR32WG_MSC_H
-#define LIBOPENCM3_EFM32_EZR32WG_MSC_H
+#pragma once
#include
-
-#endif
diff --git a/include/libopencm3/efm32/lg/msc.h b/include/libopencm3/efm32/lg/msc.h
index 83b99fdf..f4fed2b7 100644
--- a/include/libopencm3/efm32/lg/msc.h
+++ b/include/libopencm3/efm32/lg/msc.h
@@ -1,3 +1,11 @@
+/** @defgroup msc_defines MSC Defines
+ *
+ * @brief Defined Constants and Types for the Memory Systems Controller
+ *
+ * @ingroup EFM32LG_defines
+ *
+ * LGPL License Terms @ref lgpl_license
+ */
/*
* This file is part of the libopencm3 project.
*
@@ -17,9 +25,6 @@
* along with this library. If not, see .
*/
-#ifndef LIBOPENCM3_EFM32_LG_MSC_H
-#define LIBOPENCM3_EFM32_LG_MSC_H
+#pragma once
#include
-
-#endif
diff --git a/include/libopencm3/efm32/wg/msc.h b/include/libopencm3/efm32/wg/msc.h
index e4324682..bc33ac43 100644
--- a/include/libopencm3/efm32/wg/msc.h
+++ b/include/libopencm3/efm32/wg/msc.h
@@ -1,3 +1,11 @@
+/** @defgroup msc_defines MSC Defines
+ *
+ * @brief Defined Constants and Types for the Memory Systems Controller
+ *
+ * @ingroup EFM32WG_defines
+ *
+ * LGPL License Terms @ref lgpl_license
+ */
/*
* This file is part of the libopencm3 project.
*
@@ -17,9 +25,6 @@
* along with this library. If not, see .
*/
-#ifndef LIBOPENCM3_EFM32_WG_MSC_H
-#define LIBOPENCM3_EFM32_WG_MSC_H
+#pragma once
#include
-
-#endif
diff --git a/lib/efm32/common/msc_common.c b/lib/efm32/common/msc_common.c
new file mode 100644
index 00000000..a542898d
--- /dev/null
+++ b/lib/efm32/common/msc_common.c
@@ -0,0 +1,15 @@
+/** @addtogroup msc_file MSC peripheral API
+ * @ingroup peripheral_apis
+ * @brief Memory Systems Controller helper functions.
+ *
+ * NO helper functions exist. Only header definitions are available.
+ * Delete these lines if/when you add actual helper APIs.
+ * @copyright See @ref lgpl_license
+ */
+
+#include
+
+/**@{*/
+
+/**@}*/
+
diff --git a/lib/efm32/ezr32wg/Makefile b/lib/efm32/ezr32wg/Makefile
index fd50eafc..7b21f0ae 100644
--- a/lib/efm32/ezr32wg/Makefile
+++ b/lib/efm32/ezr32wg/Makefile
@@ -47,6 +47,7 @@ OBJS += emu_common.o
OBJS += gpio_common.o
OBJS += i2c_common.o
OBJS += letimer_common.o
+OBJS += msc_common.o
OBJS += prs_common.o
OBJS += timer_common.o
diff --git a/lib/efm32/lg/Makefile b/lib/efm32/lg/Makefile
index 07c92dde..344a75ed 100644
--- a/lib/efm32/lg/Makefile
+++ b/lib/efm32/lg/Makefile
@@ -47,6 +47,7 @@ OBJS += emu_common.o
OBJS += gpio_common.o
OBJS += i2c_common.o
OBJS += letimer_common.o
+OBJS += msc_common.o
OBJS += prs_common.o
OBJS += timer_common.o
diff --git a/lib/efm32/wg/Makefile b/lib/efm32/wg/Makefile
index 8a0d301e..38a2163b 100644
--- a/lib/efm32/wg/Makefile
+++ b/lib/efm32/wg/Makefile
@@ -47,6 +47,7 @@ OBJS += emu_common.o
OBJS += gpio_common.o
OBJS += i2c_common.o
OBJS += letimer_common.o
+OBJS += msc_common.o
OBJS += prs_common.o
OBJS += timer_common.o