diff --git a/include/libopencm3/stm32/common/crs_common_all.h b/include/libopencm3/stm32/common/crs_common_all.h
index 2ce29f36..cdd70a4d 100644
--- a/include/libopencm3/stm32/common/crs_common_all.h
+++ b/include/libopencm3/stm32/common/crs_common_all.h
@@ -1,10 +1,4 @@
-/** @defgroup CRS_defines CRS Defines
- *
- * @brief STM32 Clock Recovery System: Defined Constants and Types
- *
- * @ingroup STM32_defines
- *
- * @version 1.0.0
+/** @addtogroup crs_defines
*
* @date 5 Feb 2014
*
diff --git a/include/libopencm3/stm32/crs.h b/include/libopencm3/stm32/crs.h
index a41cfbb1..6a6cbd28 100644
--- a/include/libopencm3/stm32/crs.h
+++ b/include/libopencm3/stm32/crs.h
@@ -21,13 +21,13 @@
#include
#if defined(STM32F0)
-# include
+# include
#elif defined(STM32L0)
-# include
+# include
#elif defined(STM32L4)
-# include
+# include
#elif defined(STM32G4)
-# include
+# include
#else
# error "stm32 family not defined or not supported for this peripheral"
#endif
diff --git a/include/libopencm3/stm32/f0/crs.h b/include/libopencm3/stm32/f0/crs.h
new file mode 100644
index 00000000..4e6e2592
--- /dev/null
+++ b/include/libopencm3/stm32/f0/crs.h
@@ -0,0 +1,12 @@
+/** @defgroup crs_defines CRS Defines
+ *
+ * @brief Defined Constants and Types for the Clock Recovery System.
+ *
+ * @ingroup STM32F0xx_defines
+ *
+ *LGPL License Terms @ref lgpl_license
+ */
+
+#pragma once
+
+#include
diff --git a/include/libopencm3/stm32/g4/crs.h b/include/libopencm3/stm32/g4/crs.h
new file mode 100644
index 00000000..4a3ab10d
--- /dev/null
+++ b/include/libopencm3/stm32/g4/crs.h
@@ -0,0 +1,12 @@
+/** @defgroup crs_defines CRS Defines
+ *
+ * @brief Defined Constants and Types for the Clock Recovery System.
+ *
+ * @ingroup STM32G4xx_defines
+ *
+ *LGPL License Terms @ref lgpl_license
+ */
+
+#pragma once
+
+#include
diff --git a/include/libopencm3/stm32/l0/crs.h b/include/libopencm3/stm32/l0/crs.h
new file mode 100644
index 00000000..5bfc4cfb
--- /dev/null
+++ b/include/libopencm3/stm32/l0/crs.h
@@ -0,0 +1,12 @@
+/** @defgroup crs_defines CRS Defines
+ *
+ * @brief Defined Constants and Types for the Clock Recovery System.
+ *
+ * @ingroup STM32L0xx_defines
+ *
+ *LGPL License Terms @ref lgpl_license
+ */
+
+#pragma once
+
+#include
diff --git a/include/libopencm3/stm32/l4/crs.h b/include/libopencm3/stm32/l4/crs.h
new file mode 100644
index 00000000..21b120f0
--- /dev/null
+++ b/include/libopencm3/stm32/l4/crs.h
@@ -0,0 +1,12 @@
+/** @defgroup crs_defines CRS Defines
+ *
+ * @brief Defined Constants and Types for the Clock Recovery System.
+ *
+ * @ingroup STM32L4xx_defines
+ *
+ *LGPL License Terms @ref lgpl_license
+ */
+
+#pragma once
+
+#include
diff --git a/lib/stm32/common/crs_common_all.c b/lib/stm32/common/crs_common_all.c
index 2ebc9610..fce9ad4d 100644
--- a/lib/stm32/common/crs_common_all.c
+++ b/lib/stm32/common/crs_common_all.c
@@ -1,8 +1,7 @@
-/** @defgroup crs_file CRS
+/** @addtogroup crs_file CRS peripheral API
+ * @ingroup peripheral_apis
*
- * @ingroup STM32xx
- *
- * @brief libopencm3 STM32 Clock Recovery Subsystem
+ * @brief (USB) STM32 Clock Recovery Subsystem
*
* @version 1.0.0
*
@@ -27,6 +26,8 @@
* You should have received a copy of the GNU Lesser General Public License
* along with this library. If not, see .
*/
+/**@{*/
+
#include
#include
@@ -46,3 +47,4 @@ void crs_autotrim_usb_enable(void)
CRS_CR |= CRS_CR_CEN;
}
+/**@}*/
\ No newline at end of file