Added matrix clock ratio setting.

git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@10446 35acf78f-673a-0410-8e92-d51de3d6d3f4
This commit is contained in:
isiora 2017-08-17 21:21:44 +00:00
parent 4058d89f61
commit 8abd932cac
1 changed files with 8 additions and 2 deletions

View File

@ -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