diff --git a/test/same54p20a_test/ESF/modules/core/.#clocks.h b/test/same54p20a_test/ESF/modules/core/.#clocks.h new file mode 120000 index 00000000..5f065dba --- /dev/null +++ b/test/same54p20a_test/ESF/modules/core/.#clocks.h @@ -0,0 +1 @@ +penguin@penguin-arch-home.19167:1609094009 \ No newline at end of file diff --git a/test/same54p20a_test/ESF/modules/core/clocks.h b/test/same54p20a_test/ESF/modules/core/clocks.h index 08c073aa..f99a82ba 100644 --- a/test/same54p20a_test/ESF/modules/core/clocks.h +++ b/test/same54p20a_test/ESF/modules/core/clocks.h @@ -16,23 +16,6 @@ #define CONF_CORE_CLK_XOSC32KCTRL_STARTUP_4000009200ns (0x5) #define CONF_CORE_CLK_XOSC32KCTRL_STARTUP_8000009200ns (0x6) -#define CONF_CORE_CLK_XOSCCTRL_STARTUP_31us 0x0 -#define CONF_CORE_CLK_XOSCCTRL_STARTUP_61us 0x1 -#define CONF_CORE_CLK_XOSCCTRL_STARTUP_122us 0x2 -#define CONF_CORE_CLK_XOSCCTRL_STARTUP_244us 0x3 -#define CONF_CORE_CLK_XOSCCTRL_STARTUP_488us 0x4 -#define CONF_CORE_CLK_XOSCCTRL_STARTUP_977us 0x5 -#define CONF_CORE_CLK_XOSCCTRL_STARTUP_1953us 0x6 -#define CONF_CORE_CLK_XOSCCTRL_STARTUP_3906us 0x7 -#define CONF_CORE_CLK_XOSCCTRL_STARTUP_7813us 0x8 -#define CONF_CORE_CLK_XOSCCTRL_STARTUP_15625us 0x9 -#define CONF_CORE_CLK_XOSCCTRL_STARTUP_31250us 0xA -#define CONF_CORE_CLK_XOSCCTRL_STARTUP_62500us 0xB -#define CONF_CORE_CLK_XOSCCTRL_STARTUP_125000us 0xC -#define CONF_CORE_CLK_XOSCCTRL_STARTUP_250000us 0xD -#define CONF_CORE_CLK_XOSCCTRL_STARTUP_500000us 0xE -#define CONF_CORE_CLK_XOSCCTRL_STARTUP_1000000us 0xF - // Oscillator Current Multiplier #define CONF_CORE_CLK_XOSCCTRL_IMULT_24MHZ_TO_48MHZ (6) #define CONF_CORE_CLK_XOSCCTRL_IMULT_16MHZ_TO_24MHZ (5) diff --git a/test/same54p20a_test/cfg/conf_core.h b/test/same54p20a_test/cfg/conf_core.h index d90a74b1..fd4a2a86 100644 --- a/test/same54p20a_test/cfg/conf_core.h +++ b/test/same54p20a_test/cfg/conf_core.h @@ -17,13 +17,14 @@ */ /** - * Define the number of wait states for the master clock. - * Can be [0-15]. + * @brief Define the number of wait states for the master clock. + *
Can be [0-15]. + *
See Datasheet Reference */ #define CONF_CORE_MCLK_NVM_WAIT_STATE 0x5 /** - * Define the master clock divisor. + * @brief Define the master clock divisor. * - 0x1 => Clock Divide by 1 * - 0x2 => Clock Divide by 2 * - 0x4 => Clock Divide by 4 @@ -32,16 +33,18 @@ * - 0x20 => Clock Divide by 32 * - 0x40 => Clock Divide by 64 * - 0x80 => Clock Divide by 128 + *
See Datasheet Reference */ #define CONF_CORE_MCLK_CPUDIV 0x1 +/** @} */ + /** * Define whether the DMAC is enabled or not. * - 0 => Disabled * - 1 => Enabled + *
See Datasheet Reference */ - -/** @} */ #define CONF_CORE_DMA_ENABLE (0) /** @@ -51,63 +54,326 @@ */ #define CONF_CORE_CMCC_ENABLE (0) +/** Currently Unused */ #define CONF_CORE_PORT_EVCTRL_0_ENABLE (0) +/** Currently Unused */ #define CONF_CORE_PORT_EVCTRL_1_ENABLE (0) +/** Currently Unused */ #define CONF_CORE_PORT_EVCTRL_2_ENABLE (0) + /** @name Core-XOSC0-Configuration * Configuration options for XOSC0. + *
See Datasheet Reference * @{ */ - +/** + * XOSC0 Enable + * @brief Enables or Disables the XOSC0 Clock + * - 0 => Disables XOSC0 + * - 1 => Enables XOSC0 + *
See Datasheet Reference + */ #define CONF_CORE_CLK_XOSC0_ENABLE (1) +/** + * XOSC0 XTALEN + * @brief This bit controls the connections between the I/O pads and the external clock or crystal oscillator XOSC0: + * - 0 => External clock connected on XIN. XOUT can be used as general purpose I/O. + * - 1 => Crystal connected to XIN/XOUT. + *
See Datasheet Reference + */ #define CONF_CORE_CLK_XOSC0_XTALEN (1) +/** + * XOSC0 Run in Standby + * @brief This bit controls how the XOSC0 behaves during standby sleep mode: + * - 0 => XOSC0 is not running in standby sleep mode if no peripheral requests the clock. + * - 1 => XOSC0 is running in standby sleep mode. + * If ONDEMAND is 1, XOSC0 will be running when a peripheral is requesting the clock. + * If ONDEMAND is 0, the clock source will always be running in standby sleep mode. + *
See Datasheet Reference + */ #define CONF_CORE_CLK_XOSC0_RUNSTDBY (0) +/** + * XOSC0 On Demand Control + * @brief The On Demand operation mode allows the oscillator XOSC0 to be enabled or disabled, depending on peripheral clock requests. + * - 0 => Oscillator is always on. + * - 1 => The oscillator is running when a peripheral is requesting the oscillator to be used as a clock source. + * The oscillator is not running if no peripheral is requesting the clock source. + *
See Datasheet Reference + */ #define CONF_CORE_CLK_XOSC0_ONDEMAND (0) +/** + * XOSC0 Low Buffer Gain Control Bit + * @brief The default value of LOWBUFGAIN=0 should be used to allow operating with a low amplitude oscillator. + * Don't use this setting except to solve stability issues. + * - 0 => The low buffer gain of XOSC0 is disabled. + * - 1 => The low buffer gain of XOSC0 is enabled. + *
See Datasheet Reference + */ #define CONF_CORE_CLK_XOSC0_LOWBUFGAIN (0) +/** + * XOSC0 Automatic Loop Control + * @brief This bit controls the XOSC0 automatic loop control: + * - 0 => The automatic loop control is disabled. + * - 1 => The automatic loop control is enabled. Oscillator's amplitude will be automatically adjusted during Crystal Oscillator operation. + *
See Datasheet Reference + */ #define CONF_CORE_CLK_XOSC0_ENALC (1) +/** + * XOSC0 Clock Failure Detector Control + * @brief This bit controls the XOSC0 clock failure detector: + * - 0 => Clock Failure Detector is disabled. + * - 1 => Clock Failure Detector is enabled. + *
See Datasheet Reference + */ #define CONF_CORE_CLK_XOSC0_CFDEN (1) +/** + * XOSC0 Clock Switch Enable + * @brief This bit controls the XOSC0 output clock switch back to the external clock or crystal oscillator in case of clock recovery: + * - 0 => The clock switch back is disabled. + * - 1 => The clock switch back is enabled. + * This bit is reset once the XOSC0 output clock is switched back to the external clock or crystal oscillator. + *
See Datasheet Reference + */ #define CONF_CORE_CLK_XOSC0_SWBEN (0) -#define CONF_CORE_CLK_XOSC0_STARTUP_TIME CONF_CORE_CLK_XOSCCTRL_STARTUP_31us +/** + * XOSC0 Startup Time + * @brief These bits select start-up time for XOSC0 according to the table below: + * - 0x00 => 31us + * - 0x01 => 61us + * - 0x02 => 122us + * - 0x03 => 244us + * - 0x04 => 488us + * - 0x05 => 977us + * - 0x06 => 1953us + * - 0x07 => 3906us + * - 0x08 => 7813us + * - 0x09 => 15625us + * - 0x0A => 31250us + * - 0x0B => 62500us + * - 0x0C => 125000us + * - 0x0D => 250000us + * - 0x0E => 500000us + * - 0x0F => 1000000us + *
See Datasheet Reference + */ +#define CONF_CORE_CLK_XOSC0_STARTUP_TIME (0x00) +/** + * XOSC0 Frequency + * @brief This is the frequency of the external clock you're using for XOSC0. + * This can be anything from 8MHz to 48MHz. + */ #define CONF_CORE_CLK_XOSC0_FREQUENCY 12000000 - /** @} */ /** @name Core-XOSC1-Configuration * Configuration options for XOSC1. + *
See Datasheet Reference * @{ */ - +/** + * XOSC1 Enable + * @brief Enables or Disables the XOSC1 Clock + * - 0 => Disables XOSC1 + * - 1 => Enables XOSC1 + *
See Datasheet Reference + */ #define CONF_CORE_CLK_XOSC1_ENABLE (0) +/** + * XOSC1 XTALEN + * @brief This bit controls the connections between the I/O pads and the external clock or crystal oscillator XOSC1: + * - 0 => External clock connected on XIN. XOUT can be used as general purpose I/O. + * - 1 => Crystal connected to XIN/XOUT. + *
See Datasheet Reference + */ #define CONF_CORE_CLK_XOSC1_XTALEN (0) +/** + * XOSC1 Run in Standby + * @brief This bit controls how the XOSC1 behaves during standby sleep mode: + * - 0 => XOSC1 is not running in standby sleep mode if no peripheral requests the clock. + * - 1 => XOSC1 is running in standby sleep mode. + * If ONDEMAND is 1, XOSC1 will be running when a peripheral is requesting the clock. + * If ONDEMAND is 0, the clock source will always be running in standby sleep mode. + *
See Datasheet Reference + */ #define CONF_CORE_CLK_XOSC1_RUNSTDBY (0) +/** + * XOSC1 On Demand Control + * @brief The On Demand operation mode allows the oscillator XOSC1 to be enabled or disabled, depending on peripheral clock requests. + * - 0 => Oscillator is always on. + * - 1 => The oscillator is running when a peripheral is requesting the oscillator to be used as a clock source. + * The oscillator is not running if no peripheral is requesting the clock source. + *
See Datasheet Reference + */ #define CONF_CORE_CLK_XOSC1_ONDEMAND (0) +/** + * XOSC1 Low Buffer Gain Control Bit + * @brief The default value of LOWBUFGAIN=0 should be used to allow operating with a low amplitude oscillator. + * Don't use this setting except to solve stability issues. + * - 0 => The low buffer gain of XOSC1 is disabled. + * - 1 => The low buffer gain of XOSC1 is enabled. + *
See Datasheet Reference + */ #define CONF_CORE_CLK_XOSC1_LOWBUFGAIN (0) +/** + * XOSC1 Automatic Loop Control + * @brief This bit controls the XOSC1 automatic loop control: + * - 0 => The automatic loop control is disabled. + * - 1 => The automatic loop control is enabled. Oscillator's amplitude will be automatically adjusted during Crystal Oscillator operation. + *
See Datasheet Reference + */ #define CONF_CORE_CLK_XOSC1_ENALC (0) +/** + * XOSC1 Clock Failure Detector Control + * @brief This bit controls the XOSC1 clock failure detector: + * - 0 => Clock Failure Detector is disabled. + * - 1 => Clock Failure Detector is enabled. + *
See Datasheet Reference + */ #define CONF_CORE_CLK_XOSC1_CFDEN (0) +/** + * XOSC1 Clock Switch Enable + * @brief This bit controls the XOSC1 output clock switch back to the external clock or crystal oscillator in case of clock recovery: + * - 0 => The clock switch back is disabled. + * - 1 => The clock switch back is enabled. + * This bit is reset once the XOSC1 output clock is switched back to the external clock or crystal oscillator. + *
See Datasheet Reference + */ #define CONF_CORE_CLK_XOSC1_SWBEN (0) -#define CONF_CORE_CLK_XOSC1_STARTUP_TIME CONF_CORE_CLK_XOSCCTRL_STARTUP_31us +/** + * XOSC1 Startup Time + * @brief These bits select start-up time for XOSC1 according to the table below: + * - 0x00 => 31us + * - 0x01 => 61us + * - 0x02 => 122us + * - 0x03 => 244us + * - 0x04 => 488us + * - 0x05 => 977us + * - 0x06 => 1953us + * - 0x07 => 3906us + * - 0x08 => 7813us + * - 0x09 => 15625us + * - 0x0A => 31250us + * - 0x0B => 62500us + * - 0x0C => 125000us + * - 0x0D => 250000us + * - 0x0E => 500000us + * - 0x0F => 1000000us + *
See Datasheet Reference + */ +#define CONF_CORE_CLK_XOSC1_STARTUP_TIME (0x00) +/** + * XOSC1 Frequency + * @brief This is the frequency of the external clock you're using for XOSC1. + * This can be anything from 8MHz to 48MHz. + */ #define CONF_CORE_CLK_XOSC1_FREQUENCY 12000000 - /** @} */ /** @name Core-XOSC32K-Configuration * Configuration options for the external 32khz oscillator. + *
See Datasheet Reference * @{ */ - +/** + * XOSC32K Enable + * @brief Enables or Disables XOSC32K. + * - 0 => The oscillator is disabled. + * - 1 => The oscillator is enabled. + *
See Datasheet Reference + */ #define CONF_CORE_CLK_XOSC32K_ENABLE (1) -#define CONF_CORE_CLK_XOSC32K_CGM CONF_CORE_CLK_XOSC32KCTRL_CGM_STD_MODE +/** + * XOSC32K Control Gain Mode + * @brief These bits control the gain of the external crstal oscillator. + * - 0x00 => Low Power Mode + * - 0x01 => Standard Mode (Default) + * - 0x02 => High Speed Mode + *
See Datasheet Reference + */ +#define CONF_CORE_CLK_XOSC32K_CGM (0x01) +/** + * XOSC32K Startup Time + * @brief These bits select the startup time for the oscillator. + * - 0x00 => 62.592ms + * - 0x01 => 125.092ms + * - 0x02 => 500.092ms + * - 0x03 => 1000.0092ms + * - 0x04 => 2000.0092ms + * - 0x05 => 4000.0092ms + * - 0x06 => 8000.0092ms + *
See Datasheet Reference + */ #define CONF_CORE_CLK_XOSC32K_STARTUP_TIME CONF_CORE_CLK_XOSC32KCTRL_STARTUP_62592us +/** + * XOSC32K On Demand Control + * @brief This bit controls how XOSC32K behaves when a peripheral clock request is detected. + * - 0 => On Demand Control disabled + * - 1 => On Demand Control enabled + *
See Datasheet Reference + */ #define CONF_CORE_CLK_XOSC32K_ONDEMAND (1) +/** + * XOSC32K Run in Standby + * @brief This bit controls how XOSC32K behaves during standby sleep mode. + * - 0 => Run if requested by peripheral. + * - 1 => Run if requested by peripheral OR always run depending ONDEMAND value. + *
See Datasheet Reference + */ #define CONF_CORE_CLK_XOSC32K_RUNSTDBY (0) +/** + * XOSC32K 1KHz Output Control + * - 0 => 1KHz output is disabled. + * - 1 => 1KHz output is enabled. + *
See Datasheet Reference + */ #define CONF_CORE_CLK_XOSC32K_EN1K (0) +/** + * XOSC32K 32KHz Output Control + * - 0 => 32KHz output is disabled. + * - 1 => 32KHz output is enabled. + *
See Datasheet Reference + */ #define CONF_CORE_CLK_XOSC32K_EN32K (1) +/** + * XOSC32K Crystal Oscillator Enable + * @brief This bit controls the connections between the I/O pads and the external clock or crystal oscillator. + * - 0 => External clock is connected on XIN32. XOUT32 can be used as general-purpose I/O. + * - 1 => Crystal connected to XIN32/XOUT32. + *
See Datasheet Reference + */ #define CONF_CORE_CLK_XOSC32K_XTALEN (1) +/** + * XOSC32K Clock Failure Detector Prescaler + * @brief This bit selects the prescaler for the CLock Failure Detector: + * - 0 => The CFD safe clock frequency is the OSCULP32K frequency. + * - 1 => The CFD safe clock frequency is the OSCULP32K frequency divided by 2. + *
See Datasheet Reference + */ #define CONF_CORE_CLK_XOSC32K_CFDPRESC (0) +/** + * XOSC32K Clock Failure Detector Control + * @brief This bit selects the Clock Failulre Detector state. + * - 0 => The CFD is disabled. + * - 1 => The CFD is enabled. + *
See Datasheet Reference + */ #define CONF_CORE_CLK_XOSC32K_CFDEN (0) +/** + * XOSC32K Clock Switch Back + * @brief This bit controls the XOSC32K output switch back to the external clock or crystal oscillator in case of clock recovery. + * - 0 => The clock switch is disabled. + * - 1 => The clock switch is enabled. This bit is reset when XOSC32K output is switched back to the external clock or crystal oscillator. + *
See Datasheet Reference + */ #define CONF_CORE_CLK_XOSC32K_SWBACK (0) +/** + * XOSC32K Write Lock + * @brief This bit locks the XOSC32K register for future writes, effectively freezing the XOSC32K configuration. + * - 0 => XOSC32K configuration is not locked. + * - 1 => XOSC32K configuration is locked. + *
See Datasheet Reference + */ #define CONF_CORE_CLK_XOSC32K_WRTLOCK (0) - /** @} */ /** @name Core-DFLL48M-Configuration @@ -199,6 +465,7 @@ #define CONF_CORE_CLK_DPLL0_REFCLK CONF_CORE_CLK_DPLLCTRL_REFCLK_XOSC0 /** * pg. 732 of the datasheet + * ~~~ * FILTER[3:0] | PLL Bandwidth (fn) | Damping Factor * 0x0 | 92.7 kHz | 0.76 * 0x1 | 131 kHz | 1.08 @@ -216,7 +483,8 @@ * 0xD | 92.7 kHz | 1.51 * 0xE | 32.8 kHz | 0.53 * 0xF | 46.4 kHz | 0.75 - * + * ~~~ + * * When in doubt, leave this at its default. */ #define CONF_CORE_CLK_DPLL0_FILTER 0x0 diff --git a/test/same54p20a_test/doc/html/clocks_8c_source.html b/test/same54p20a_test/doc/html/clocks_8c_source.html index c0dfeafd..66e86828 100644 --- a/test/same54p20a_test/doc/html/clocks_8c_source.html +++ b/test/same54p20a_test/doc/html/clocks_8c_source.html @@ -111,17 +111,17 @@ $(function() {
40 void clock_osc32k_init(void)
41 {
42 #if CONF_CORE_CLK_XOSC32K_ENABLE == 1
-
43  OSC32KCTRL->XOSC32K.bit.CGM = CONF_CORE_CLK_XOSC32K_CGM;
-
44  OSC32KCTRL->XOSC32K.bit.WRTLOCK = CONF_CORE_CLK_XOSC32K_WRTLOCK;
-
45  OSC32KCTRL->XOSC32K.bit.STARTUP = CONF_CORE_CLK_XOSC32K_STARTUP_TIME;
-
46  OSC32KCTRL->XOSC32K.bit.RUNSTDBY = CONF_CORE_CLK_XOSC32K_RUNSTDBY;
-
47  OSC32KCTRL->XOSC32K.bit.ONDEMAND = CONF_CORE_CLK_XOSC32K_ONDEMAND;
-
48  OSC32KCTRL->XOSC32K.bit.EN1K = CONF_CORE_CLK_XOSC32K_EN1K;
-
49  OSC32KCTRL->XOSC32K.bit.EN32K = CONF_CORE_CLK_XOSC32K_EN32K;
-
50  OSC32KCTRL->XOSC32K.bit.XTALEN = CONF_CORE_CLK_XOSC32K_XTALEN;
-
51  OSC32KCTRL->CFDCTRL.bit.CFDPRESC = CONF_CORE_CLK_XOSC32K_CFDPRESC;
-
52  OSC32KCTRL->CFDCTRL.bit.SWBACK = CONF_CORE_CLK_XOSC32K_SWBACK;
-
53  OSC32KCTRL->CFDCTRL.bit.CFDEN = CONF_CORE_CLK_XOSC32K_CFDEN;
+
43  OSC32KCTRL->XOSC32K.bit.CGM = CONF_CORE_CLK_XOSC32K_CGM;
+
44  OSC32KCTRL->XOSC32K.bit.WRTLOCK = CONF_CORE_CLK_XOSC32K_WRTLOCK;
+
45  OSC32KCTRL->XOSC32K.bit.STARTUP = CONF_CORE_CLK_XOSC32K_STARTUP_TIME;
+
46  OSC32KCTRL->XOSC32K.bit.RUNSTDBY = CONF_CORE_CLK_XOSC32K_RUNSTDBY;
+
47  OSC32KCTRL->XOSC32K.bit.ONDEMAND = CONF_CORE_CLK_XOSC32K_ONDEMAND;
+
48  OSC32KCTRL->XOSC32K.bit.EN1K = CONF_CORE_CLK_XOSC32K_EN1K;
+
49  OSC32KCTRL->XOSC32K.bit.EN32K = CONF_CORE_CLK_XOSC32K_EN32K;
+
50  OSC32KCTRL->XOSC32K.bit.XTALEN = CONF_CORE_CLK_XOSC32K_XTALEN;
+
51  OSC32KCTRL->CFDCTRL.bit.CFDPRESC = CONF_CORE_CLK_XOSC32K_CFDPRESC;
+
52  OSC32KCTRL->CFDCTRL.bit.SWBACK = CONF_CORE_CLK_XOSC32K_SWBACK;
+
53  OSC32KCTRL->CFDCTRL.bit.CFDEN = CONF_CORE_CLK_XOSC32K_CFDEN;
54 
55 #if CONF_CORE_CLK_XOSC32K_ENABLE == 1 && CONF_CORE_CLK_XOSC32K_ONDEMAND == 0
56  while(OSC32KCTRL->STATUS.bit.XOSC32KRDY == 0);
@@ -133,34 +133,34 @@ $(function() {
62 {
63 #if CONF_CORE_CLK_XOSC0_ENABLE == 1
64  CRITICAL_SECTION_ENTER();
-
65  OSCCTRL->XOSCCTRL[0].bit.XTALEN = CONF_CORE_CLK_XOSC0_XTALEN;
-
66  OSCCTRL->XOSCCTRL[0].bit.RUNSTDBY = CONF_CORE_CLK_XOSC0_RUNSTDBY;
-
67  OSCCTRL->XOSCCTRL[0].bit.ONDEMAND = CONF_CORE_CLK_XOSC0_ONDEMAND;
-
68  OSCCTRL->XOSCCTRL[0].bit.LOWBUFGAIN = CONF_CORE_CLK_XOSC0_LOWBUFGAIN;
+
65  OSCCTRL->XOSCCTRL[0].bit.XTALEN = CONF_CORE_CLK_XOSC0_XTALEN;
+
66  OSCCTRL->XOSCCTRL[0].bit.RUNSTDBY = CONF_CORE_CLK_XOSC0_RUNSTDBY;
+
67  OSCCTRL->XOSCCTRL[0].bit.ONDEMAND = CONF_CORE_CLK_XOSC0_ONDEMAND;
+
68  OSCCTRL->XOSCCTRL[0].bit.LOWBUFGAIN = CONF_CORE_CLK_XOSC0_LOWBUFGAIN;
69  OSCCTRL->XOSCCTRL[0].bit.IPTAT = CONF_CORE_CLK_XOSC0_IPTAT;
70  OSCCTRL->XOSCCTRL[0].bit.IMULT = CONF_CORE_CLK_XOSC0_IMULT;
-
71  OSCCTRL->XOSCCTRL[0].bit.ENALC = CONF_CORE_CLK_XOSC0_ENALC;
-
72  OSCCTRL->XOSCCTRL[0].bit.CFDEN = CONF_CORE_CLK_XOSC0_CFDEN;
+
71  OSCCTRL->XOSCCTRL[0].bit.ENALC = CONF_CORE_CLK_XOSC0_ENALC;
+
72  OSCCTRL->XOSCCTRL[0].bit.CFDEN = CONF_CORE_CLK_XOSC0_CFDEN;
73  OSCCTRL->XOSCCTRL[0].bit.CFDPRESC = CONF_CORE_CLK_XOSC0_CFDPRESC;
-
74  OSCCTRL->XOSCCTRL[0].bit.SWBEN = CONF_CORE_CLK_XOSC0_SWBEN;
-
75  OSCCTRL->XOSCCTRL[0].bit.STARTUP = CONF_CORE_CLK_XOSC0_STARTUP_TIME;
-
76  OSCCTRL->XOSCCTRL[0].bit.ENABLE = CONF_CORE_CLK_XOSC0_ENABLE;
+
74  OSCCTRL->XOSCCTRL[0].bit.SWBEN = CONF_CORE_CLK_XOSC0_SWBEN;
+
75  OSCCTRL->XOSCCTRL[0].bit.STARTUP = CONF_CORE_CLK_XOSC0_STARTUP_TIME;
+
76  OSCCTRL->XOSCCTRL[0].bit.ENABLE = CONF_CORE_CLK_XOSC0_ENABLE;
77  CRITICAL_SECTION_LEAVE();
78  while(0 == OSCCTRL->STATUS.bit.XOSCRDY0);
79 #endif
80 
81 #if CONF_CORE_CLK_XOSC1_ENABLE == 1
82  CRITICAL_SECTION_ENTER();
-
83  OSCCTRL->XOSCCTRL[1].bit.XTALEN = CONF_CORE_CLK_XOSC1_XTALEN;
-
84  OSCCTRL->XOSCCTRL[1].bit.RUNSTDBY = CONF_CORE_CLK_XOSC1_RUNSTDBY;
-
85  OSCCTRL->XOSCCTRL[1].bit.LOWBUFGAIN = CONF_CORE_CLK_XOSC1_LOWBUFGAIN;
+
83  OSCCTRL->XOSCCTRL[1].bit.XTALEN = CONF_CORE_CLK_XOSC1_XTALEN;
+
84  OSCCTRL->XOSCCTRL[1].bit.RUNSTDBY = CONF_CORE_CLK_XOSC1_RUNSTDBY;
+
85  OSCCTRL->XOSCCTRL[1].bit.LOWBUFGAIN = CONF_CORE_CLK_XOSC1_LOWBUFGAIN;
86  OSCCTRL->XOSCCTRL[1].bit.IPTAT = CONF_CORE_CLK_XOSC1_IPTAT;
87  OSCCTRL->XOSCCTRL[1].bit.IMULT = CONF_CORE_CLK_XOSC1_IMULT;
-
88  OSCCTRL->XOSCCTRL[1].bit.CFDEN = CONF_CORE_CLK_XOSC1_CFDEN;
+
88  OSCCTRL->XOSCCTRL[1].bit.CFDEN = CONF_CORE_CLK_XOSC1_CFDEN;
89  OSCCTRL->XOSCCTRL[1].bit.CFDPRESC = CONF_CORE_CLK_XOSC1_CFDPRESC;
-
90  OSCCTRL->XOSCCTRL[1].bit.SWBEN = CONF_CORE_CLK_XOSC1_SWBEN;
-
91  OSCCTRL->XOSCCTRL[1].bit.STARTUP = CONF_CORE_CLK_XOSC1_STARTUP_TIME;
-
92  OSCCTRL->XOSCCTRL[1].bit.ENABLE = CONF_CORE_CLK_XOSC1_ENABLE;
+
90  OSCCTRL->XOSCCTRL[1].bit.SWBEN = CONF_CORE_CLK_XOSC1_SWBEN;
+
91  OSCCTRL->XOSCCTRL[1].bit.STARTUP = CONF_CORE_CLK_XOSC1_STARTUP_TIME;
+
92  OSCCTRL->XOSCCTRL[1].bit.ENABLE = CONF_CORE_CLK_XOSC1_ENABLE;
93  CRITICAL_SECTION_LEAVE();
94  while(0 == OSCCTRL->STATUS.bit.XOSCRDY1);
95 #endif
@@ -168,11 +168,11 @@ $(function() {
97 #if CONF_CORE_CLK_XOSC0_ENABLE == 1
98  CRITICAL_SECTION_ENTER();
99 #if CONF_CORE_CLK_XOSC0_ENALC == 1
-
100  OSCCTRL->XOSCCTRL[0].bit.ENALC = CONF_CORE_CLK_XOSC0_ENALC;
+
100  OSCCTRL->XOSCCTRL[0].bit.ENALC = CONF_CORE_CLK_XOSC0_ENALC;
101 #endif
102 
103 #if CONF_CORE_CLK_XOSC0_ONDEMAND == 1
-
104  OSCCTRL->XOSCCTRL[0].bit.ONDEMAND = CONF_CORE_CLK_XOSC0_ONDEMAND;
+
104  OSCCTRL->XOSCCTRL[0].bit.ONDEMAND = CONF_CORE_CLK_XOSC0_ONDEMAND;
105 #endif
106  CRITICAL_SECTION_LEAVE();
107 #endif
@@ -180,11 +180,11 @@ $(function() {
109 #if CONF_CORE_CLK_XOSC1_ENABLE == 1
110  CRITICAL_SECTION_ENTER();
111 #if CONF_CORE_CLK_XOSC1_ENALC == 1
-
112  OSCCTRL->XOSCCTRL[1].bit.ENALC = CONF_CORE_CLK_XOSC1_ENALC;
+
112  OSCCTRL->XOSCCTRL[1].bit.ENALC = CONF_CORE_CLK_XOSC1_ENALC;
113 #endif
114 
115 #if CONF_CORE_CLK_XOSC1_ONDEMAND == 1
-
116  OSCCTRL->XOSCCTRL[1].bit.ONDEMAND = CONF_CORE_CLK_XOSC1_ONDEMAND;
+
116  OSCCTRL->XOSCCTRL[1].bit.ONDEMAND = CONF_CORE_CLK_XOSC1_ONDEMAND;
117 #endif
118  CRITICAL_SECTION_LEAVE();
119 #endif
@@ -526,19 +526,48 @@ $(function() {
455 #endif
456 }
-
CONF_CORE_CLK_DFLL_WAITLOCK
#define CONF_CORE_CLK_DFLL_WAITLOCK
This bit controls the DFLL output clock, depending on the lock status:
Definition: conf_core.h:148
-
CONF_CORE_CLK_DPLL1_FILTER
#define CONF_CORE_CLK_DPLL1_FILTER
Definition: conf_core.h:267
-
CONF_CORE_CLK_DPLL0_FILTER
#define CONF_CORE_CLK_DPLL0_FILTER
Definition: conf_core.h:222
-
CONF_CORE_MCLK_CPUDIV
#define CONF_CORE_MCLK_CPUDIV
Definition: conf_core.h:36
+
CONF_CORE_CLK_DFLL_WAITLOCK
#define CONF_CORE_CLK_DFLL_WAITLOCK
This bit controls the DFLL output clock, depending on the lock status:
Definition: conf_core.h:414
+
CONF_CORE_CLK_XOSC1_ONDEMAND
#define CONF_CORE_CLK_XOSC1_ONDEMAND
The On Demand operation mode allows the oscillator XOSC1 to be enabled or disabled,...
Definition: conf_core.h:207
+
CONF_CORE_CLK_XOSC0_CFDEN
#define CONF_CORE_CLK_XOSC0_CFDEN
This bit controls the XOSC0 clock failure detector:
Definition: conf_core.h:128
+
CONF_CORE_CLK_DPLL1_FILTER
#define CONF_CORE_CLK_DPLL1_FILTER
Definition: conf_core.h:535
+
CONF_CORE_CLK_XOSC1_SWBEN
#define CONF_CORE_CLK_XOSC1_SWBEN
This bit controls the XOSC1 output clock switch back to the external clock or crystal oscillator in c...
Definition: conf_core.h:241
+
CONF_CORE_CLK_XOSC0_ENALC
#define CONF_CORE_CLK_XOSC0_ENALC
This bit controls the XOSC0 automatic loop control:
Definition: conf_core.h:120
+
CONF_CORE_CLK_XOSC32K_EN32K
#define CONF_CORE_CLK_XOSC32K_EN32K
Definition: conf_core.h:336
+
CONF_CORE_CLK_DPLL0_FILTER
#define CONF_CORE_CLK_DPLL0_FILTER
Definition: conf_core.h:490
+
CONF_CORE_CLK_XOSC32K_CGM
#define CONF_CORE_CLK_XOSC32K_CGM
These bits control the gain of the external crstal oscillator.
Definition: conf_core.h:293
+
CONF_CORE_MCLK_CPUDIV
#define CONF_CORE_MCLK_CPUDIV
Define the master clock divisor.
Definition: conf_core.h:38
+
CONF_CORE_CLK_XOSC0_XTALEN
#define CONF_CORE_CLK_XOSC0_XTALEN
This bit controls the connections between the I/O pads and the external clock or crystal oscillator X...
Definition: conf_core.h:84
+
CONF_CORE_CLK_XOSC1_RUNSTDBY
#define CONF_CORE_CLK_XOSC1_RUNSTDBY
This bit controls how the XOSC1 behaves during standby sleep mode:
Definition: conf_core.h:198
+
CONF_CORE_CLK_XOSC1_CFDEN
#define CONF_CORE_CLK_XOSC1_CFDEN
This bit controls the XOSC1 clock failure detector:
Definition: conf_core.h:232
+
CONF_CORE_CLK_XOSC32K_CFDEN
#define CONF_CORE_CLK_XOSC32K_CFDEN
This bit selects the Clock Failulre Detector state.
Definition: conf_core.h:360
MCLK
#define MCLK
(MCLK) APB Base Address
Definition: same54n19a.h:914
+
CONF_CORE_CLK_XOSC1_ENABLE
#define CONF_CORE_CLK_XOSC1_ENABLE
Enables or Disables the XOSC1 Clock.
Definition: conf_core.h:180
+
CONF_CORE_CLK_XOSC1_ENALC
#define CONF_CORE_CLK_XOSC1_ENALC
This bit controls the XOSC1 automatic loop control:
Definition: conf_core.h:224
+
CONF_CORE_CLK_XOSC0_SWBEN
#define CONF_CORE_CLK_XOSC0_SWBEN
This bit controls the XOSC0 output clock switch back to the external clock or crystal oscillator in c...
Definition: conf_core.h:137
+
CONF_CORE_CLK_XOSC0_ENABLE
#define CONF_CORE_CLK_XOSC0_ENABLE
Enables or Disables the XOSC0 Clock.
Definition: conf_core.h:76
+
CONF_CORE_CLK_XOSC1_XTALEN
#define CONF_CORE_CLK_XOSC1_XTALEN
This bit controls the connections between the I/O pads and the external clock or crystal oscillator X...
Definition: conf_core.h:188
+
CONF_CORE_CLK_XOSC32K_XTALEN
#define CONF_CORE_CLK_XOSC32K_XTALEN
This bit controls the connections between the I/O pads and the external clock or crystal oscillator.
Definition: conf_core.h:344
OSC32KCTRL
#define OSC32KCTRL
(OSC32KCTRL) APB Base Address
Definition: same54n19a.h:929
-
CONF_CORE_CLK_DFLL_ONDEMAND
#define CONF_CORE_CLK_DFLL_ONDEMAND
Enables or Disables on-demand operation.
Definition: conf_core.h:132
+
CONF_CORE_CLK_XOSC32K_STARTUP_TIME
#define CONF_CORE_CLK_XOSC32K_STARTUP_TIME
These bits select the startup time for the oscillator.
Definition: conf_core.h:306
+
CONF_CORE_CLK_DFLL_ONDEMAND
#define CONF_CORE_CLK_DFLL_ONDEMAND
Enables or Disables on-demand operation.
Definition: conf_core.h:398
+
CONF_CORE_CLK_XOSC32K_RUNSTDBY
#define CONF_CORE_CLK_XOSC32K_RUNSTDBY
This bit controls how XOSC32K behaves during standby sleep mode.
Definition: conf_core.h:322
+
CONF_CORE_CLK_XOSC0_STARTUP_TIME
#define CONF_CORE_CLK_XOSC0_STARTUP_TIME
These bits select start-up time for XOSC0 according to the table below:
Definition: conf_core.h:159
+
CONF_CORE_CLK_XOSC32K_ONDEMAND
#define CONF_CORE_CLK_XOSC32K_ONDEMAND
This bit controls how XOSC32K behaves when a peripheral clock request is detected.
Definition: conf_core.h:314
OSCCTRL
#define OSCCTRL
(OSCCTRL) APB Base Address
Definition: same54n19a.h:925
-
CONF_CORE_CLK_DFLL_RUNSTDBY
#define CONF_CORE_CLK_DFLL_RUNSTDBY
Enables or Disables run-in-standby operation.
Definition: conf_core.h:140
+
CONF_CORE_CLK_XOSC32K_WRTLOCK
#define CONF_CORE_CLK_XOSC32K_WRTLOCK
This bit locks the XOSC32K register for future writes, effectively freezing the XOSC32K configuration...
Definition: conf_core.h:376
+
CONF_CORE_CLK_XOSC32K_CFDPRESC
#define CONF_CORE_CLK_XOSC32K_CFDPRESC
This bit selects the prescaler for the CLock Failure Detector:
Definition: conf_core.h:352
+
CONF_CORE_CLK_XOSC0_RUNSTDBY
#define CONF_CORE_CLK_XOSC0_RUNSTDBY
This bit controls how the XOSC0 behaves during standby sleep mode:
Definition: conf_core.h:94
+
CONF_CORE_CLK_XOSC1_STARTUP_TIME
#define CONF_CORE_CLK_XOSC1_STARTUP_TIME
These bits select start-up time for XOSC1 according to the table below:
Definition: conf_core.h:263
+
CONF_CORE_CLK_XOSC32K_EN1K
#define CONF_CORE_CLK_XOSC32K_EN1K
Definition: conf_core.h:329
+
CONF_CORE_CLK_DFLL_RUNSTDBY
#define CONF_CORE_CLK_DFLL_RUNSTDBY
Enables or Disables run-in-standby operation.
Definition: conf_core.h:406
conf_core.h
-
CONF_CORE_CLK_DFLL_ENABLE
#define CONF_CORE_CLK_DFLL_ENABLE
Enables or Disables the DFLL48M Clock.
Definition: conf_core.h:124
+
CONF_CORE_CLK_XOSC0_ONDEMAND
#define CONF_CORE_CLK_XOSC0_ONDEMAND
The On Demand operation mode allows the oscillator XOSC0 to be enabled or disabled,...
Definition: conf_core.h:103
+
CONF_CORE_CLK_XOSC32K_SWBACK
#define CONF_CORE_CLK_XOSC32K_SWBACK
This bit controls the XOSC32K output switch back to the external clock or crystal oscillator in case ...
Definition: conf_core.h:368
+
CONF_CORE_CLK_XOSC0_LOWBUFGAIN
#define CONF_CORE_CLK_XOSC0_LOWBUFGAIN
The default value of LOWBUFGAIN=0 should be used to allow operating with a low amplitude oscillator....
Definition: conf_core.h:112
+
CONF_CORE_CLK_DFLL_ENABLE
#define CONF_CORE_CLK_DFLL_ENABLE
Enables or Disables the DFLL48M Clock.
Definition: conf_core.h:390
GCLK
#define GCLK
(GCLK) APB Base Address
Definition: same54n19a.h:894
-
CONF_CORE_CLK_DFLL_GCLK_SRC
#define CONF_CORE_CLK_DFLL_GCLK_SRC
GCLK Source used to generate DFLL48M.
Definition: conf_core.h:178
+
CONF_CORE_CLK_DFLL_GCLK_SRC
#define CONF_CORE_CLK_DFLL_GCLK_SRC
GCLK Source used to generate DFLL48M.
Definition: conf_core.h:444
+
CONF_CORE_CLK_XOSC1_LOWBUFGAIN
#define CONF_CORE_CLK_XOSC1_LOWBUFGAIN
The default value of LOWBUFGAIN=0 should be used to allow operating with a low amplitude oscillator....
Definition: conf_core.h:216