diff --git a/cpu/cortexm_common/doc.txt b/cpu/cortexm_common/doc.txt
new file mode 100644
index 0000000000000000000000000000000000000000..e54053e20165f5dd6fc69e15b6b0bc70e6756834
--- /dev/null
+++ b/cpu/cortexm_common/doc.txt
@@ -0,0 +1,40 @@
+/**
+ * @defgroup    cortexm Cortex-M
+ * @brief       ARM Cortex-M specific code
+ * @ingroup     cpu
+ */
+
+/**
+ * @defgroup    CMSIS_Core_FunctionInterface
+ * @ingroup     cortexm
+ */
+
+/**
+ * @defgroup    CMSIS_core_register
+ * @ingroup     cortexm
+ */
+
+/**
+ * @defgroup    CMSIS_glob_defs
+ * @ingroup     cortexm
+ */
+
+/**
+ * @defgroup    CMSIS_MISRA_Exceptions
+ * @ingroup     cortexm
+ */
+
+/**
+ * @defgroup    CMSIS_core_definitions
+ * @ingroup     cortexm
+ */
+
+/**
+ * @defgroup    CMSIS_SIMD_intrinsics
+ * @ingroup     cortexm
+ */
+
+/**
+ * @defgroup    CMSIS_Core_InstructionInterface
+ * @ingroup     cortexm
+ */
diff --git a/cpu/cortexm_common/include/core_cm3.h b/cpu/cortexm_common/include/core_cm3.h
index 185688f14d6c88fa15e8cd86df81db9e98c72d5c..dd7c666e1bba9f634ad5dd99f430d5765defbb4a 100644
--- a/cpu/cortexm_common/include/core_cm3.h
+++ b/cpu/cortexm_common/include/core_cm3.h
@@ -32,7 +32,7 @@
 #define __CORE_CM3_H_GENERIC
 
 
-/** \mainpage CMSIS Cortex-M3
+/** CMSIS Cortex-M3
 
   This documentation describes the CMSIS Cortex-M Core Peripheral Access Layer.
   It consists of:
diff --git a/cpu/sam3x8e/doc.txt b/cpu/sam3x8e/doc.txt
new file mode 100644
index 0000000000000000000000000000000000000000..30a96ca12c3ba7ddc9431049c8fbcb795ef05b25
--- /dev/null
+++ b/cpu/sam3x8e/doc.txt
@@ -0,0 +1,10 @@
+/**
+ * @defgroup        cpu_sam3x8e Atmel SAM3X8E
+ * @ingroup         cpu
+ * @brief           Implementation of Atmel's SAM3X8E Cortex-M3 MCU
+ */
+
+/**
+ * @defgroup        cpu_sam3x8e_definitions Atmel SAM3X8E Definitions
+ * @ingroup         cpu_sam3x8e
+ */
diff --git a/cpu/sam3x8e/include/component/doc.txt b/cpu/sam3x8e/include/component/doc.txt
new file mode 100644
index 0000000000000000000000000000000000000000..ba2bd5edf2d281e14c5b9d4a1f4b47ceee0d218c
--- /dev/null
+++ b/cpu/sam3x8e/include/component/doc.txt
@@ -0,0 +1,5 @@
+/**
+ * @defgroup    cpu_sam3x8e_components SAM3XA Components
+ * @brief       SAM3XA Components
+ * @ingroup     cpu_sam3x8e
+ */
diff --git a/cpu/sam3x8e/include/cpu-conf.h b/cpu/sam3x8e/include/cpu-conf.h
index 40f2d5c7e50cb01175351a430a15c50fdc0f9b2b..f2929c5b1f0eadebe9db87adc249a0dfbc3fc318 100644
--- a/cpu/sam3x8e/include/cpu-conf.h
+++ b/cpu/sam3x8e/include/cpu-conf.h
@@ -7,9 +7,6 @@
  */
 
 /**
- * @defgroup        cpu_sam3x8e Atmel SAM3X8E
- * @ingroup         cpu
- * @brief           Implementation of Atmel's SAM3X8E Cortex-M3 MCU
  * @{
  *
  * @file            cpu-conf.h
diff --git a/cpu/sam3x8e/include/sam3x8e.h b/cpu/sam3x8e/include/sam3x8e.h
index 4abf35f0ed3aefff62ca9366a4768c814f233dfb..b1810fb9631aec135bf27fcb2dc92ba1649348e1 100644
--- a/cpu/sam3x8e/include/sam3x8e.h
+++ b/cpu/sam3x8e/include/sam3x8e.h
@@ -30,7 +30,7 @@
 #ifndef _SAM3X8E_
 #define _SAM3X8E_
 
-/** \addtogroup SAM3X8E_definitions SAM3X8E definitions
+/** \addtogroup cpu_sam3x8e_definitions SAM3X8E definitions
   This file defines all structures and symbols for SAM3X8E:
     - registers and bitfields
     - peripheral base address