diff options
author | isiora <none@example.com> | 2017-08-17 21:21:44 +0000 |
---|---|---|
committer | isiora <none@example.com> | 2017-08-17 21:21:44 +0000 |
commit | 8abd932cac221d2828edac7145154735a30c9e16 (patch) | |
tree | 8b9d23f747685da3cd81a50966acaf6ad1d20c49 /os/hal/ports | |
parent | 4058d89f6148bc998ff35c41d3715543a97cd6c7 (diff) | |
download | ChibiOS-8abd932cac221d2828edac7145154735a30c9e16.tar.gz ChibiOS-8abd932cac221d2828edac7145154735a30c9e16.tar.bz2 ChibiOS-8abd932cac221d2828edac7145154735a30c9e16.zip |
Added matrix clock ratio setting.
git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@10446 35acf78f-673a-0410-8e92-d51de3d6d3f4
Diffstat (limited to 'os/hal/ports')
-rw-r--r-- | os/hal/ports/SAMA/SAMA5D2x/hal_lld.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/os/hal/ports/SAMA/SAMA5D2x/hal_lld.c b/os/hal/ports/SAMA/SAMA5D2x/hal_lld.c index b0162087e..fb3399316 100644 --- a/os/hal/ports/SAMA/SAMA5D2x/hal_lld.c +++ b/os/hal/ports/SAMA/SAMA5D2x/hal_lld.c @@ -138,6 +138,12 @@ void sama_clock_init(void) { while (!(PMC->CKGR_MCFR & CKGR_MCFR_MAINFRDY))
;
mainf = CKGR_MCFR_MAINF(PMC->CKGR_MCFR);
+ /*
+ * TODO: check mainf
+ * select alternate clock source if mainf is out of range.
+ * This function should start trying to use crystal osc sources and
+ * should switch to alternate sources if mainf is invalid.
+ */
(void)mainf;
/* Switching Main Clock source. */
@@ -178,8 +184,8 @@ void sama_clock_init(void) { while (!(PMC->PMC_SR & PMC_SR_MCKRDY))
; /* Waits until MCK is stable. */
- mckr &= ~(PMC_MCKR_PRES_Msk | PMC_MCKR_MDIV_Msk);
- mckr |= (SAMA_MCK_PRES | SAMA_MCK_MDIV);
+ mckr &= ~(PMC_MCKR_PRES_Msk | PMC_MCKR_MDIV_Msk | PMC_MCKR_H32MXDIV);
+ mckr |= (SAMA_MCK_PRES | SAMA_MCK_MDIV | SAMA_H64MX_H32MX_DIV);
#if SAMA_PLLADIV2_EN
mckr |= PMC_MCKR_PLLADIV2;
#else
|