Skip to content

Commit fb41af4

Browse files
committed
DM: fixed dpll1 freq
1 parent 3d72ce6 commit fb41af4

File tree

3 files changed

+3
-4
lines changed

3 files changed

+3
-4
lines changed

cores/arduino/SERCOM.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -741,7 +741,7 @@ void SERCOM::initClockNVIC( void )
741741
NVIC_EnableIRQ(IdNvic);
742742

743743
#if defined(__SAMD51__)
744-
GCLK->PCHCTRL[clk_core].reg = GCLK_PCHCTRL_GEN_GCLK1_Val | (1 << GCLK_PCHCTRL_CHEN_Pos); //TODO: use 48mhz for now although this should work up to 100mhz
744+
GCLK->PCHCTRL[clk_core].reg = GCLK_PCHCTRL_GEN_GCLK1_Val | (1 << GCLK_PCHCTRL_CHEN_Pos);
745745
GCLK->PCHCTRL[clk_slow].reg = GCLK_PCHCTRL_GEN_GCLK3_Val | (1 << GCLK_PCHCTRL_CHEN_Pos);
746746

747747
#else

cores/arduino/SERCOM.h

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,7 @@
2121

2222
#include "sam.h"
2323

24-
//TODO: sercom should really work up to 100Mhz...
25-
#define SERCOM_FREQ_REF 48000000
24+
#define SERCOM_FREQ_REF 48000000ul
2625

2726
typedef enum
2827
{

cores/arduino/startup.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -164,7 +164,7 @@ void SystemInit( void )
164164
//PLL1 is 100MHz
165165
GCLK->PCHCTRL[OSCCTRL_GCLK_ID_FDPLL1].reg = (1 << GCLK_PCHCTRL_CHEN_Pos) | GCLK_PCHCTRL_GEN(GCLK_PCHCTRL_GEN_GCLK5_Val);
166166

167-
OSCCTRL->Dpll[1].DPLLRATIO.reg = OSCCTRL_DPLLRATIO_LDRFRAC(0x00) | OSCCTRL_DPLLRATIO_LDR(0x49); //100 Mhz
167+
OSCCTRL->Dpll[1].DPLLRATIO.reg = OSCCTRL_DPLLRATIO_LDRFRAC(0x00) | OSCCTRL_DPLLRATIO_LDR(49); //100 Mhz
168168

169169
while(OSCCTRL->Dpll[1].DPLLSYNCBUSY.bit.DPLLRATIO);
170170

0 commit comments

Comments
 (0)