diff options
author | isiora <none@example.com> | 2017-08-18 21:06:02 +0000 |
---|---|---|
committer | isiora <none@example.com> | 2017-08-18 21:06:02 +0000 |
commit | e50bc32840f4711a60214711d2b3982f158919f6 (patch) | |
tree | dfe44a7bf94621c1c1e2ef2b00398179a0652836 | |
parent | 3f4b4d7fb7bd0fd2a268176c2bc978c68f0d58b5 (diff) | |
download | ChibiOS-e50bc32840f4711a60214711d2b3982f158919f6.tar.gz ChibiOS-e50bc32840f4711a60214711d2b3982f158919f6.tar.bz2 ChibiOS-e50bc32840f4711a60214711d2b3982f158919f6.zip |
Added check to verify that the matrix H64H32 clock ratio is compatible with master clock frequency.
git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@10451 35acf78f-673a-0410-8e92-d51de3d6d3f4
-rw-r--r-- | os/hal/ports/SAMA/SAMA5D2x/hal_lld.h | 27 |
1 files changed, 15 insertions, 12 deletions
diff --git a/os/hal/ports/SAMA/SAMA5D2x/hal_lld.h b/os/hal/ports/SAMA/SAMA5D2x/hal_lld.h index 643afa66e..7ca8b5e1b 100644 --- a/os/hal/ports/SAMA/SAMA5D2x/hal_lld.h +++ b/os/hal/ports/SAMA/SAMA5D2x/hal_lld.h @@ -407,18 +407,6 @@ #endif
/**
- * @brief Matrix H64H32 clock ratio.
- */
-
-#if ((SAMA_H64MX_H32MX_RATIO == 2) || defined(__DOXYGEN__))
-#define SAMA_H64MX_H32MX_DIV PMC_MCKR_H32MXDIV_H32MXDIV2
-#elif (SAMA_H64MX_H32MX_RATIO == 1)
-#define SAMA_H64MX_H32MX_DIV PMC_MCKR_H32MXDIV_H32MXDIV1
-#else
-#error "H64MX H32MX clock ratio out of range."
-#endif
-
-/**
* @brief Processor Clock frequency.
*/
#if (SAMA_MCK_SEL == SAMA_MCK_SLOW_CLK) || defined(__DOXYGEN__)
@@ -451,6 +439,21 @@ #if (SAMA_MCK > SAMA_MCK_MAX) || (SAMA_MCK < SAMA_MCK_MIN)
#error "Master clock frequency out of range."
#endif
+
+/**
+ * @brief Matrix H64H32 clock ratio.
+ */
+#if ((SAMA_H64MX_H32MX_RATIO == 2) || defined(__DOXYGEN__))
+#define SAMA_H64MX_H32MX_DIV PMC_MCKR_H32MXDIV_H32MXDIV2
+#elif (SAMA_H64MX_H32MX_RATIO == 1)
+#define SAMA_H64MX_H32MX_DIV PMC_MCKR_H32MXDIV_H32MXDIV1
+#if (SAMA_MCK > 83000000)
+#error "Invalid H32MXCLK. MCK > 83MHz wants SAMA_H64MX_H32MX_RATIO == 2"
+#endif
+#else
+#error "H64MX H32MX clock ratio out of range."
+#endif
+
/*===========================================================================*/
/* Driver data structures and types. */
/*===========================================================================*/
|