aboutsummaryrefslogtreecommitdiffstats
path: root/os/hal/ports/SAMA
diff options
context:
space:
mode:
authorisiora <none@example.com>2017-08-18 21:06:02 +0000
committerisiora <none@example.com>2017-08-18 21:06:02 +0000
commite50bc32840f4711a60214711d2b3982f158919f6 (patch)
treedfe44a7bf94621c1c1e2ef2b00398179a0652836 /os/hal/ports/SAMA
parent3f4b4d7fb7bd0fd2a268176c2bc978c68f0d58b5 (diff)
downloadChibiOS-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
Diffstat (limited to 'os/hal/ports/SAMA')
-rw-r--r--os/hal/ports/SAMA/SAMA5D2x/hal_lld.h27
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. */
/*===========================================================================*/