52 #define __CCLK_DIV (1 << (pADI_CLKCTL->CLKCON & CLKCON_CD_MSK) )
55 #define __HFOSC 16000000
56 #define __LFXTAL 32768
62 static uint32_t uClk = 0;
63 static uint32_t uClkDiv = 0;
66 static uint32_t SystemExtClock = 0;
74 #if ((CLKCON_CLKMUX_HFOSC \
75 | CLKCON_CLKMUX_LFXTAL \
76 | CLKCON_CLKMUX_LFOSC \
77 | CLKCON_CLKMUX_EXTP05) \
81 switch (pADI_CLKCTL->CLKCON & CLKCON_CLKMUX_MSK ) {
83 case CLKCON_CLKMUX_HFOSC:
86 case CLKCON_CLKMUX_LFXTAL:
89 case CLKCON_CLKMUX_LFOSC:
92 case CLKCON_CLKMUX_ECLKIN:
93 uClk = SystemExtClock;
99 uClkDiv = uClk / __CCLK_DIV;
102 #error "Clock mux mask and allowed value mismatch!"
117 pADI_CLKCTL->CLKCON = CLKCON_RVAL;
120 pADI_CLKCTL->XOSCCON = XOSCCON_RVAL;
136 SystemExtClock = ExtClkFreq;
148 return SystemExtClock;
153 void SystemSetClockDivider(uint16_t div)
160 pADI_CLKCTL->CLKCON &= ~(CLKCON_CD_MSK);
161 pADI_CLKCTL->CLKCON |= div;
171 uint32_t SystemGetClockFrequency(
void)
void SystemCoreClockUpdate(void)
Update internal SystemCoreClock variable.
uint32_t GetSystemExtClkFreq(void)
Gets the system external clock frequency.
void SetSystemExtClkFreq(uint32_t ExtClkFreq)
Sets the system external clock frequency.
Copyright (c) 2014, Analog Devices, Inc.
void SystemInit(void)
Initialize the system.