The official Mbed 2 C/C++ SDK provides the software platform and libraries to build your applications.
Dependents: hello SerialTestv11 SerialTestv12 Sierpinski ... more
mbed 2
This is the mbed 2 library. If you'd like to learn about Mbed OS please see the mbed-os docs.
TARGET_EFM32ZG_STK3200/TARGET_Silicon_Labs/TARGET_EFM32/emlib/inc/em_cmu.h@113:f141b2784e32, 2016-02-02 (annotated)
- Committer:
- Kojto
- Date:
- Tue Feb 02 14:43:35 2016 +0000
- Revision:
- 113:f141b2784e32
- Parent:
- 98:8ab26030e058
- Child:
- 128:9bcdf88f62b0
Release 113 of the mbed library
Changes:
- new targets - Silabs Perl Gecko, TY51822
- Silabs - emlib update to 4.1.0, various bugfixes as result
- STM B96B_F446VE - add async serial support
- Freescale KLXX - rtc lock fix
- LPC11U68 and LPC1549 - pwm bugfixes - duty cycle
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
Kojto | 98:8ab26030e058 | 1 | /***************************************************************************//** |
Kojto | 98:8ab26030e058 | 2 | * @file em_cmu.h |
Kojto | 98:8ab26030e058 | 3 | * @brief Clock management unit (CMU) API |
Kojto | 113:f141b2784e32 | 4 | * @version 4.2.1 |
Kojto | 98:8ab26030e058 | 5 | ******************************************************************************* |
Kojto | 98:8ab26030e058 | 6 | * @section License |
Kojto | 113:f141b2784e32 | 7 | * <b>(C) Copyright 2015 Silicon Labs, http://www.silabs.com</b> |
Kojto | 98:8ab26030e058 | 8 | ******************************************************************************* |
Kojto | 98:8ab26030e058 | 9 | * |
Kojto | 98:8ab26030e058 | 10 | * Permission is granted to anyone to use this software for any purpose, |
Kojto | 98:8ab26030e058 | 11 | * including commercial applications, and to alter it and redistribute it |
Kojto | 98:8ab26030e058 | 12 | * freely, subject to the following restrictions: |
Kojto | 98:8ab26030e058 | 13 | * |
Kojto | 98:8ab26030e058 | 14 | * 1. The origin of this software must not be misrepresented; you must not |
Kojto | 98:8ab26030e058 | 15 | * claim that you wrote the original software. |
Kojto | 98:8ab26030e058 | 16 | * 2. Altered source versions must be plainly marked as such, and must not be |
Kojto | 98:8ab26030e058 | 17 | * misrepresented as being the original software. |
Kojto | 98:8ab26030e058 | 18 | * 3. This notice may not be removed or altered from any source distribution. |
Kojto | 98:8ab26030e058 | 19 | * |
Kojto | 98:8ab26030e058 | 20 | * DISCLAIMER OF WARRANTY/LIMITATION OF REMEDIES: Silicon Labs has no |
Kojto | 98:8ab26030e058 | 21 | * obligation to support this Software. Silicon Labs is providing the |
Kojto | 98:8ab26030e058 | 22 | * Software "AS IS", with no express or implied warranties of any kind, |
Kojto | 98:8ab26030e058 | 23 | * including, but not limited to, any implied warranties of merchantability |
Kojto | 98:8ab26030e058 | 24 | * or fitness for any particular purpose or warranties against infringement |
Kojto | 98:8ab26030e058 | 25 | * of any proprietary rights of a third party. |
Kojto | 98:8ab26030e058 | 26 | * |
Kojto | 98:8ab26030e058 | 27 | * Silicon Labs will not be liable for any consequential, incidental, or |
Kojto | 98:8ab26030e058 | 28 | * special damages, or any other relief, or for any claim by any third party, |
Kojto | 98:8ab26030e058 | 29 | * arising from your use of this Software. |
Kojto | 98:8ab26030e058 | 30 | * |
Kojto | 98:8ab26030e058 | 31 | ******************************************************************************/ |
Kojto | 113:f141b2784e32 | 32 | #ifndef __SILICON_LABS_EM_CMU_H__ |
Kojto | 113:f141b2784e32 | 33 | #define __SILICON_LABS_EM_CMU_H__ |
Kojto | 98:8ab26030e058 | 34 | |
Kojto | 98:8ab26030e058 | 35 | #include "em_device.h" |
Kojto | 98:8ab26030e058 | 36 | #if defined( CMU_PRESENT ) |
Kojto | 98:8ab26030e058 | 37 | |
Kojto | 98:8ab26030e058 | 38 | #include <stdbool.h> |
Kojto | 113:f141b2784e32 | 39 | #include "em_assert.h" |
Kojto | 113:f141b2784e32 | 40 | #include "em_bus.h" |
Kojto | 98:8ab26030e058 | 41 | |
Kojto | 98:8ab26030e058 | 42 | #ifdef __cplusplus |
Kojto | 98:8ab26030e058 | 43 | extern "C" { |
Kojto | 98:8ab26030e058 | 44 | #endif |
Kojto | 98:8ab26030e058 | 45 | |
Kojto | 98:8ab26030e058 | 46 | /***************************************************************************//** |
Kojto | 98:8ab26030e058 | 47 | * @addtogroup EM_Library |
Kojto | 98:8ab26030e058 | 48 | * @{ |
Kojto | 98:8ab26030e058 | 49 | ******************************************************************************/ |
Kojto | 98:8ab26030e058 | 50 | |
Kojto | 98:8ab26030e058 | 51 | /***************************************************************************//** |
Kojto | 98:8ab26030e058 | 52 | * @addtogroup CMU |
Kojto | 98:8ab26030e058 | 53 | * @{ |
Kojto | 98:8ab26030e058 | 54 | ******************************************************************************/ |
Kojto | 98:8ab26030e058 | 55 | |
Kojto | 98:8ab26030e058 | 56 | /** @cond DO_NOT_INCLUDE_WITH_DOXYGEN */ |
Kojto | 98:8ab26030e058 | 57 | |
Kojto | 113:f141b2784e32 | 58 | /* Select register id's, for internal use. */ |
Kojto | 98:8ab26030e058 | 59 | #define CMU_NOSEL_REG 0 |
Kojto | 98:8ab26030e058 | 60 | #define CMU_HFCLKSEL_REG 1 |
Kojto | 98:8ab26030e058 | 61 | #define CMU_LFACLKSEL_REG 2 |
Kojto | 98:8ab26030e058 | 62 | #define CMU_LFBCLKSEL_REG 3 |
Kojto | 113:f141b2784e32 | 63 | #define CMU_LFCCLKSEL_REG 4 |
Kojto | 113:f141b2784e32 | 64 | #define CMU_LFECLKSEL_REG 5 |
Kojto | 113:f141b2784e32 | 65 | #define CMU_DBGCLKSEL_REG 6 |
Kojto | 113:f141b2784e32 | 66 | #define CMU_USBCCLKSEL_REG 7 |
Kojto | 98:8ab26030e058 | 67 | |
Kojto | 98:8ab26030e058 | 68 | #define CMU_SEL_REG_POS 0 |
Kojto | 98:8ab26030e058 | 69 | #define CMU_SEL_REG_MASK 0xf |
Kojto | 98:8ab26030e058 | 70 | |
Kojto | 113:f141b2784e32 | 71 | /* Divisor/prescaler register id's, for internal use. */ |
Kojto | 98:8ab26030e058 | 72 | #define CMU_NODIV_REG 0 |
Kojto | 113:f141b2784e32 | 73 | #define CMU_NOPRESC_REG 0 |
Kojto | 113:f141b2784e32 | 74 | #define CMU_HFPRESC_REG 1 |
Kojto | 113:f141b2784e32 | 75 | #define CMU_HFCLKDIV_REG 1 |
Kojto | 113:f141b2784e32 | 76 | #define CMU_HFEXPPRESC_REG 2 |
Kojto | 113:f141b2784e32 | 77 | #define CMU_HFCLKLEPRESC_REG 3 |
Kojto | 113:f141b2784e32 | 78 | #define CMU_HFPERPRESC_REG 4 |
Kojto | 113:f141b2784e32 | 79 | #define CMU_HFPERCLKDIV_REG 4 |
Kojto | 113:f141b2784e32 | 80 | #define CMU_HFCOREPRESC_REG 5 |
Kojto | 113:f141b2784e32 | 81 | #define CMU_HFCORECLKDIV_REG 5 |
Kojto | 113:f141b2784e32 | 82 | #define CMU_HFRADIOPRESC_REG 6 |
Kojto | 113:f141b2784e32 | 83 | #define CMU_LFAPRESC0_REG 7 |
Kojto | 113:f141b2784e32 | 84 | #define CMU_LFBPRESC0_REG 8 |
Kojto | 113:f141b2784e32 | 85 | #define CMU_LFEPRESC0_REG 9 |
Kojto | 98:8ab26030e058 | 86 | |
Kojto | 113:f141b2784e32 | 87 | #define CMU_PRESC_REG_POS 4 |
Kojto | 113:f141b2784e32 | 88 | #define CMU_DIV_REG_POS CMU_PRESC_REG_POS |
Kojto | 113:f141b2784e32 | 89 | #define CMU_PRESC_REG_MASK 0xf |
Kojto | 113:f141b2784e32 | 90 | #define CMU_DIV_REG_MASK CMU_PRESC_REG_MASK |
Kojto | 113:f141b2784e32 | 91 | |
Kojto | 113:f141b2784e32 | 92 | /* Enable register id's, for internal use. */ |
Kojto | 98:8ab26030e058 | 93 | #define CMU_NO_EN_REG 0 |
Kojto | 113:f141b2784e32 | 94 | #define CMU_CTRL_EN_REG 1 |
Kojto | 98:8ab26030e058 | 95 | #define CMU_HFPERCLKDIV_EN_REG 1 |
Kojto | 98:8ab26030e058 | 96 | #define CMU_HFPERCLKEN0_EN_REG 2 |
Kojto | 98:8ab26030e058 | 97 | #define CMU_HFCORECLKEN0_EN_REG 3 |
Kojto | 113:f141b2784e32 | 98 | #define CMU_HFRADIOCLKEN0_EN_REG 4 |
Kojto | 113:f141b2784e32 | 99 | #define CMU_HFBUSCLKEN0_EN_REG 5 |
Kojto | 113:f141b2784e32 | 100 | #define CMU_LFACLKEN0_EN_REG 6 |
Kojto | 113:f141b2784e32 | 101 | #define CMU_LFBCLKEN0_EN_REG 7 |
Kojto | 113:f141b2784e32 | 102 | #define CMU_LFCCLKEN0_EN_REG 8 |
Kojto | 113:f141b2784e32 | 103 | #define CMU_LFECLKEN0_EN_REG 9 |
Kojto | 113:f141b2784e32 | 104 | #define CMU_PCNT_EN_REG 10 |
Kojto | 98:8ab26030e058 | 105 | |
Kojto | 98:8ab26030e058 | 106 | #define CMU_EN_REG_POS 8 |
Kojto | 98:8ab26030e058 | 107 | #define CMU_EN_REG_MASK 0xf |
Kojto | 98:8ab26030e058 | 108 | |
Kojto | 113:f141b2784e32 | 109 | /* Enable register bit positions, for internal use. */ |
Kojto | 98:8ab26030e058 | 110 | #define CMU_EN_BIT_POS 12 |
Kojto | 98:8ab26030e058 | 111 | #define CMU_EN_BIT_MASK 0x1f |
Kojto | 98:8ab26030e058 | 112 | |
Kojto | 113:f141b2784e32 | 113 | /* Clock branch bitfield positions, for internal use. */ |
Kojto | 98:8ab26030e058 | 114 | #define CMU_HF_CLK_BRANCH 0 |
Kojto | 113:f141b2784e32 | 115 | #define CMU_HFCORE_CLK_BRANCH 1 |
Kojto | 113:f141b2784e32 | 116 | #define CMU_HFPER_CLK_BRANCH 2 |
Kojto | 113:f141b2784e32 | 117 | #define CMU_HFRADIO_CLK_BRANCH 3 |
Kojto | 113:f141b2784e32 | 118 | #define CMU_HFBUS_CLK_BRANCH 4 |
Kojto | 113:f141b2784e32 | 119 | #define CMU_HFEXP_CLK_BRANCH 5 |
Kojto | 113:f141b2784e32 | 120 | #define CMU_DBG_CLK_BRANCH 6 |
Kojto | 113:f141b2784e32 | 121 | #define CMU_AUX_CLK_BRANCH 7 |
Kojto | 113:f141b2784e32 | 122 | #define CMU_RTC_CLK_BRANCH 8 |
Kojto | 113:f141b2784e32 | 123 | #define CMU_RTCC_CLK_BRANCH 8 |
Kojto | 113:f141b2784e32 | 124 | #define CMU_LETIMER_CLK_BRANCH 9 |
Kojto | 113:f141b2784e32 | 125 | #define CMU_LETIMER0_CLK_BRANCH 9 |
Kojto | 98:8ab26030e058 | 126 | #define CMU_LEUART0_CLK_BRANCH 10 |
Kojto | 98:8ab26030e058 | 127 | #define CMU_LEUART1_CLK_BRANCH 11 |
Kojto | 113:f141b2784e32 | 128 | #define CMU_LFA_CLK_BRANCH 12 |
Kojto | 113:f141b2784e32 | 129 | #define CMU_LFB_CLK_BRANCH 13 |
Kojto | 113:f141b2784e32 | 130 | #define CMU_LFC_CLK_BRANCH 14 |
Kojto | 113:f141b2784e32 | 131 | #define CMU_LFE_CLK_BRANCH 15 |
Kojto | 113:f141b2784e32 | 132 | #define CMU_USBC_CLK_BRANCH 16 |
Kojto | 113:f141b2784e32 | 133 | #define CMU_USBLE_CLK_BRANCH 17 |
Kojto | 113:f141b2784e32 | 134 | #define CMU_LCDPRE_CLK_BRANCH 18 |
Kojto | 113:f141b2784e32 | 135 | #define CMU_LCD_CLK_BRANCH 19 |
Kojto | 113:f141b2784e32 | 136 | #define CMU_LESENSE_CLK_BRANCH 20 |
Kojto | 98:8ab26030e058 | 137 | |
Kojto | 98:8ab26030e058 | 138 | #define CMU_CLK_BRANCH_POS 17 |
Kojto | 98:8ab26030e058 | 139 | #define CMU_CLK_BRANCH_MASK 0x1f |
Kojto | 98:8ab26030e058 | 140 | |
Kojto | 98:8ab26030e058 | 141 | /** @endcond */ |
Kojto | 98:8ab26030e058 | 142 | |
Kojto | 98:8ab26030e058 | 143 | /******************************************************************************* |
Kojto | 98:8ab26030e058 | 144 | ******************************** ENUMS ************************************ |
Kojto | 98:8ab26030e058 | 145 | ******************************************************************************/ |
Kojto | 98:8ab26030e058 | 146 | |
Kojto | 98:8ab26030e058 | 147 | /** Clock divisors. These values are valid for prescalers. */ |
Kojto | 98:8ab26030e058 | 148 | #define cmuClkDiv_1 1 /**< Divide clock by 1. */ |
Kojto | 98:8ab26030e058 | 149 | #define cmuClkDiv_2 2 /**< Divide clock by 2. */ |
Kojto | 98:8ab26030e058 | 150 | #define cmuClkDiv_4 4 /**< Divide clock by 4. */ |
Kojto | 98:8ab26030e058 | 151 | #define cmuClkDiv_8 8 /**< Divide clock by 8. */ |
Kojto | 98:8ab26030e058 | 152 | #define cmuClkDiv_16 16 /**< Divide clock by 16. */ |
Kojto | 98:8ab26030e058 | 153 | #define cmuClkDiv_32 32 /**< Divide clock by 32. */ |
Kojto | 98:8ab26030e058 | 154 | #define cmuClkDiv_64 64 /**< Divide clock by 64. */ |
Kojto | 98:8ab26030e058 | 155 | #define cmuClkDiv_128 128 /**< Divide clock by 128. */ |
Kojto | 98:8ab26030e058 | 156 | #define cmuClkDiv_256 256 /**< Divide clock by 256. */ |
Kojto | 98:8ab26030e058 | 157 | #define cmuClkDiv_512 512 /**< Divide clock by 512. */ |
Kojto | 98:8ab26030e058 | 158 | #define cmuClkDiv_1024 1024 /**< Divide clock by 1024. */ |
Kojto | 98:8ab26030e058 | 159 | #define cmuClkDiv_2048 2048 /**< Divide clock by 2048. */ |
Kojto | 98:8ab26030e058 | 160 | #define cmuClkDiv_4096 4096 /**< Divide clock by 4096. */ |
Kojto | 98:8ab26030e058 | 161 | #define cmuClkDiv_8192 8192 /**< Divide clock by 8192. */ |
Kojto | 98:8ab26030e058 | 162 | #define cmuClkDiv_16384 16384 /**< Divide clock by 16384. */ |
Kojto | 98:8ab26030e058 | 163 | #define cmuClkDiv_32768 32768 /**< Divide clock by 32768. */ |
Kojto | 98:8ab26030e058 | 164 | |
Kojto | 98:8ab26030e058 | 165 | /** Clock divider configuration */ |
Kojto | 98:8ab26030e058 | 166 | typedef uint32_t CMU_ClkDiv_TypeDef; |
Kojto | 98:8ab26030e058 | 167 | |
Kojto | 113:f141b2784e32 | 168 | #if defined( _SILICON_LABS_32B_PLATFORM_2 ) |
Kojto | 113:f141b2784e32 | 169 | /** Clockprescaler configuration */ |
Kojto | 113:f141b2784e32 | 170 | typedef uint32_t CMU_ClkPresc_TypeDef; |
Kojto | 113:f141b2784e32 | 171 | #endif |
Kojto | 113:f141b2784e32 | 172 | |
Kojto | 113:f141b2784e32 | 173 | #if defined( _CMU_HFRCOCTRL_BAND_MASK ) |
Kojto | 113:f141b2784e32 | 174 | /** High frequency system RCO bands */ |
Kojto | 98:8ab26030e058 | 175 | typedef enum |
Kojto | 98:8ab26030e058 | 176 | { |
Kojto | 113:f141b2784e32 | 177 | cmuHFRCOBand_1MHz = _CMU_HFRCOCTRL_BAND_1MHZ, /**< 1MHz HFRCO band */ |
Kojto | 113:f141b2784e32 | 178 | cmuHFRCOBand_7MHz = _CMU_HFRCOCTRL_BAND_7MHZ, /**< 7MHz HFRCO band */ |
Kojto | 113:f141b2784e32 | 179 | cmuHFRCOBand_11MHz = _CMU_HFRCOCTRL_BAND_11MHZ, /**< 11MHz HFRCO band */ |
Kojto | 113:f141b2784e32 | 180 | cmuHFRCOBand_14MHz = _CMU_HFRCOCTRL_BAND_14MHZ, /**< 14MHz HFRCO band */ |
Kojto | 113:f141b2784e32 | 181 | cmuHFRCOBand_21MHz = _CMU_HFRCOCTRL_BAND_21MHZ, /**< 21MHz HFRCO band */ |
Kojto | 113:f141b2784e32 | 182 | #if defined( CMU_HFRCOCTRL_BAND_28MHZ ) |
Kojto | 113:f141b2784e32 | 183 | cmuHFRCOBand_28MHz = _CMU_HFRCOCTRL_BAND_28MHZ, /**< 28MHz HFRCO band */ |
Kojto | 98:8ab26030e058 | 184 | #endif |
Kojto | 98:8ab26030e058 | 185 | } CMU_HFRCOBand_TypeDef; |
Kojto | 113:f141b2784e32 | 186 | #endif /* _CMU_HFRCOCTRL_BAND_MASK */ |
Kojto | 98:8ab26030e058 | 187 | |
Kojto | 98:8ab26030e058 | 188 | #if defined( _CMU_AUXHFRCOCTRL_BAND_MASK ) |
Kojto | 113:f141b2784e32 | 189 | /** AUX High frequency RCO bands */ |
Kojto | 98:8ab26030e058 | 190 | typedef enum |
Kojto | 98:8ab26030e058 | 191 | { |
Kojto | 113:f141b2784e32 | 192 | cmuAUXHFRCOBand_1MHz = _CMU_AUXHFRCOCTRL_BAND_1MHZ, /**< 1MHz RC band */ |
Kojto | 113:f141b2784e32 | 193 | cmuAUXHFRCOBand_7MHz = _CMU_AUXHFRCOCTRL_BAND_7MHZ, /**< 7MHz RC band */ |
Kojto | 113:f141b2784e32 | 194 | cmuAUXHFRCOBand_11MHz = _CMU_AUXHFRCOCTRL_BAND_11MHZ, /**< 11MHz RC band */ |
Kojto | 113:f141b2784e32 | 195 | cmuAUXHFRCOBand_14MHz = _CMU_AUXHFRCOCTRL_BAND_14MHZ, /**< 14MHz RC band */ |
Kojto | 113:f141b2784e32 | 196 | cmuAUXHFRCOBand_21MHz = _CMU_AUXHFRCOCTRL_BAND_21MHZ, /**< 21MHz RC band */ |
Kojto | 113:f141b2784e32 | 197 | #if defined( CMU_AUXHFRCOCTRL_BAND_28MHZ ) |
Kojto | 113:f141b2784e32 | 198 | cmuAUXHFRCOBand_28MHz = _CMU_AUXHFRCOCTRL_BAND_28MHZ, /**< 28MHz RC band */ |
Kojto | 98:8ab26030e058 | 199 | #endif |
Kojto | 98:8ab26030e058 | 200 | } CMU_AUXHFRCOBand_TypeDef; |
Kojto | 98:8ab26030e058 | 201 | #endif |
Kojto | 98:8ab26030e058 | 202 | |
Kojto | 98:8ab26030e058 | 203 | #if defined( _CMU_USHFRCOCONF_BAND_MASK ) |
Kojto | 98:8ab26030e058 | 204 | /** USB High frequency RC bands. */ |
Kojto | 98:8ab26030e058 | 205 | typedef enum |
Kojto | 98:8ab26030e058 | 206 | { |
Kojto | 98:8ab26030e058 | 207 | /** 24MHz RC band. */ |
Kojto | 98:8ab26030e058 | 208 | cmuUSHFRCOBand_24MHz = _CMU_USHFRCOCONF_BAND_24MHZ, |
Kojto | 98:8ab26030e058 | 209 | /** 48MHz RC band. */ |
Kojto | 98:8ab26030e058 | 210 | cmuUSHFRCOBand_48MHz = _CMU_USHFRCOCONF_BAND_48MHZ, |
Kojto | 98:8ab26030e058 | 211 | } CMU_USHFRCOBand_TypeDef; |
Kojto | 98:8ab26030e058 | 212 | #endif |
Kojto | 98:8ab26030e058 | 213 | |
Kojto | 113:f141b2784e32 | 214 | #if defined( _CMU_HFRCOCTRL_FREQRANGE_MASK ) |
Kojto | 113:f141b2784e32 | 215 | /** High frequency system RCO bands */ |
Kojto | 113:f141b2784e32 | 216 | typedef enum |
Kojto | 113:f141b2784e32 | 217 | { |
Kojto | 113:f141b2784e32 | 218 | cmuHFRCOFreq_1M0Hz = 1000000U, /**< 1MHz RC band */ |
Kojto | 113:f141b2784e32 | 219 | cmuHFRCOFreq_2M0Hz = 2000000U, /**< 2MHz RC band */ |
Kojto | 113:f141b2784e32 | 220 | cmuHFRCOFreq_4M0Hz = 4000000U, /**< 4MHz RC band */ |
Kojto | 113:f141b2784e32 | 221 | cmuHFRCOFreq_7M0Hz = 7000000U, /**< 7MHz RC band */ |
Kojto | 113:f141b2784e32 | 222 | cmuHFRCOFreq_13M0Hz = 13000000U, /**< 13MHz RC band */ |
Kojto | 113:f141b2784e32 | 223 | cmuHFRCOFreq_16M0Hz = 16000000U, /**< 16MHz RC band */ |
Kojto | 113:f141b2784e32 | 224 | cmuHFRCOFreq_19M0Hz = 19000000U, /**< 19MHz RC band */ |
Kojto | 113:f141b2784e32 | 225 | cmuHFRCOFreq_26M0Hz = 26000000U, /**< 26MHz RC band */ |
Kojto | 113:f141b2784e32 | 226 | cmuHFRCOFreq_32M0Hz = 32000000U, /**< 32MHz RC band */ |
Kojto | 113:f141b2784e32 | 227 | cmuHFRCOFreq_38M0Hz = 38000000U, /**< 38MHz RC band */ |
Kojto | 113:f141b2784e32 | 228 | cmuHFRCOFreq_UserDefined = 0, |
Kojto | 113:f141b2784e32 | 229 | } CMU_HFRCOFreq_TypeDef; |
Kojto | 113:f141b2784e32 | 230 | #define CMU_HFRCO_MIN cmuHFRCOFreq_1M0Hz |
Kojto | 113:f141b2784e32 | 231 | #define CMU_HFRCO_MAX cmuHFRCOFreq_38M0Hz |
Kojto | 113:f141b2784e32 | 232 | #endif |
Kojto | 113:f141b2784e32 | 233 | |
Kojto | 113:f141b2784e32 | 234 | #if defined( _CMU_AUXHFRCOCTRL_FREQRANGE_MASK ) |
Kojto | 113:f141b2784e32 | 235 | /** AUX High frequency RCO bands */ |
Kojto | 113:f141b2784e32 | 236 | typedef enum |
Kojto | 113:f141b2784e32 | 237 | { |
Kojto | 113:f141b2784e32 | 238 | cmuAUXHFRCOFreq_1M0Hz = 1000000U, /**< 1MHz RC band */ |
Kojto | 113:f141b2784e32 | 239 | cmuAUXHFRCOFreq_2M0Hz = 2000000U, /**< 2MHz RC band */ |
Kojto | 113:f141b2784e32 | 240 | cmuAUXHFRCOFreq_4M0Hz = 4000000U, /**< 4MHz RC band */ |
Kojto | 113:f141b2784e32 | 241 | cmuAUXHFRCOFreq_7M0Hz = 7000000U, /**< 7MHz RC band */ |
Kojto | 113:f141b2784e32 | 242 | cmuAUXHFRCOFreq_13M0Hz = 13000000U, /**< 13MHz RC band */ |
Kojto | 113:f141b2784e32 | 243 | cmuAUXHFRCOFreq_16M0Hz = 16000000U, /**< 16MHz RC band */ |
Kojto | 113:f141b2784e32 | 244 | cmuAUXHFRCOFreq_19M0Hz = 19000000U, /**< 19MHz RC band */ |
Kojto | 113:f141b2784e32 | 245 | cmuAUXHFRCOFreq_26M0Hz = 26000000U, /**< 26MHz RC band */ |
Kojto | 113:f141b2784e32 | 246 | cmuAUXHFRCOFreq_32M0Hz = 32000000U, /**< 32MHz RC band */ |
Kojto | 113:f141b2784e32 | 247 | cmuAUXHFRCOFreq_38M0Hz = 38000000U, /**< 38MHz RC band */ |
Kojto | 113:f141b2784e32 | 248 | cmuAUXHFRCOFreq_UserDefined = 0, |
Kojto | 113:f141b2784e32 | 249 | } CMU_AUXHFRCOFreq_TypeDef; |
Kojto | 113:f141b2784e32 | 250 | #define CMU_AUXHFRCO_MIN cmuAUXHFRCOFreq_1M0Hz |
Kojto | 113:f141b2784e32 | 251 | #define CMU_AUXHFRCO_MAX cmuAUXHFRCOFreq_38M0Hz |
Kojto | 113:f141b2784e32 | 252 | #endif |
Kojto | 113:f141b2784e32 | 253 | |
Kojto | 98:8ab26030e058 | 254 | |
Kojto | 98:8ab26030e058 | 255 | /** Clock points in CMU. Please refer to CMU overview in reference manual. */ |
Kojto | 98:8ab26030e058 | 256 | typedef enum |
Kojto | 98:8ab26030e058 | 257 | { |
Kojto | 98:8ab26030e058 | 258 | /*******************/ |
Kojto | 98:8ab26030e058 | 259 | /* HF clock branch */ |
Kojto | 98:8ab26030e058 | 260 | /*******************/ |
Kojto | 98:8ab26030e058 | 261 | |
Kojto | 98:8ab26030e058 | 262 | /** High frequency clock */ |
Kojto | 113:f141b2784e32 | 263 | #if defined( _CMU_CTRL_HFCLKDIV_MASK ) \ |
Kojto | 113:f141b2784e32 | 264 | || defined( _CMU_HFPRESC_MASK ) |
Kojto | 113:f141b2784e32 | 265 | cmuClock_HF = (CMU_HFCLKDIV_REG << CMU_DIV_REG_POS) |
Kojto | 113:f141b2784e32 | 266 | | (CMU_HFCLKSEL_REG << CMU_SEL_REG_POS) |
Kojto | 113:f141b2784e32 | 267 | | (CMU_NO_EN_REG << CMU_EN_REG_POS) |
Kojto | 113:f141b2784e32 | 268 | | (0 << CMU_EN_BIT_POS) |
Kojto | 113:f141b2784e32 | 269 | | (CMU_HF_CLK_BRANCH << CMU_CLK_BRANCH_POS), |
Kojto | 98:8ab26030e058 | 270 | #else |
Kojto | 113:f141b2784e32 | 271 | cmuClock_HF = (CMU_NODIV_REG << CMU_DIV_REG_POS) |
Kojto | 113:f141b2784e32 | 272 | | (CMU_HFCLKSEL_REG << CMU_SEL_REG_POS) |
Kojto | 113:f141b2784e32 | 273 | | (CMU_NO_EN_REG << CMU_EN_REG_POS) |
Kojto | 113:f141b2784e32 | 274 | | (0 << CMU_EN_BIT_POS) |
Kojto | 113:f141b2784e32 | 275 | | (CMU_HF_CLK_BRANCH << CMU_CLK_BRANCH_POS), |
Kojto | 98:8ab26030e058 | 276 | #endif |
Kojto | 98:8ab26030e058 | 277 | |
Kojto | 98:8ab26030e058 | 278 | /** Debug clock */ |
Kojto | 113:f141b2784e32 | 279 | cmuClock_DBG = (CMU_NODIV_REG << CMU_DIV_REG_POS) |
Kojto | 113:f141b2784e32 | 280 | | (CMU_DBGCLKSEL_REG << CMU_SEL_REG_POS) |
Kojto | 113:f141b2784e32 | 281 | | (CMU_NO_EN_REG << CMU_EN_REG_POS) |
Kojto | 113:f141b2784e32 | 282 | | (0 << CMU_EN_BIT_POS) |
Kojto | 113:f141b2784e32 | 283 | | (CMU_DBG_CLK_BRANCH << CMU_CLK_BRANCH_POS), |
Kojto | 98:8ab26030e058 | 284 | |
Kojto | 98:8ab26030e058 | 285 | /** AUX clock */ |
Kojto | 113:f141b2784e32 | 286 | cmuClock_AUX = (CMU_NODIV_REG << CMU_DIV_REG_POS) |
Kojto | 113:f141b2784e32 | 287 | | (CMU_NOSEL_REG << CMU_SEL_REG_POS) |
Kojto | 113:f141b2784e32 | 288 | | (CMU_NO_EN_REG << CMU_EN_REG_POS) |
Kojto | 113:f141b2784e32 | 289 | | (0 << CMU_EN_BIT_POS) |
Kojto | 113:f141b2784e32 | 290 | | (CMU_AUX_CLK_BRANCH << CMU_CLK_BRANCH_POS), |
Kojto | 113:f141b2784e32 | 291 | |
Kojto | 113:f141b2784e32 | 292 | #if defined( _CMU_HFEXPPRESC_MASK ) |
Kojto | 113:f141b2784e32 | 293 | /**********************/ |
Kojto | 113:f141b2784e32 | 294 | /* HF export sub-branch */ |
Kojto | 113:f141b2784e32 | 295 | /**********************/ |
Kojto | 113:f141b2784e32 | 296 | |
Kojto | 113:f141b2784e32 | 297 | /** Export clock */ |
Kojto | 113:f141b2784e32 | 298 | cmuClock_EXPORT = (CMU_HFEXPPRESC_REG << CMU_PRESC_REG_POS) |
Kojto | 113:f141b2784e32 | 299 | | (CMU_NOSEL_REG << CMU_SEL_REG_POS) |
Kojto | 113:f141b2784e32 | 300 | | (CMU_NO_EN_REG << CMU_EN_REG_POS) |
Kojto | 113:f141b2784e32 | 301 | | (0 << CMU_EN_BIT_POS) |
Kojto | 113:f141b2784e32 | 302 | | (CMU_HFEXP_CLK_BRANCH << CMU_CLK_BRANCH_POS), |
Kojto | 113:f141b2784e32 | 303 | #endif |
Kojto | 113:f141b2784e32 | 304 | |
Kojto | 113:f141b2784e32 | 305 | #if defined( _CMU_HFBUSCLKEN0_MASK ) |
Kojto | 113:f141b2784e32 | 306 | /**********************************/ |
Kojto | 113:f141b2784e32 | 307 | /* HF bus clock sub-branch */ |
Kojto | 113:f141b2784e32 | 308 | /**********************************/ |
Kojto | 113:f141b2784e32 | 309 | |
Kojto | 113:f141b2784e32 | 310 | /** High frequency bus clock. */ |
Kojto | 113:f141b2784e32 | 311 | cmuClock_BUS = (CMU_NOPRESC_REG << CMU_PRESC_REG_POS) |
Kojto | 113:f141b2784e32 | 312 | | (CMU_NOSEL_REG << CMU_SEL_REG_POS) |
Kojto | 113:f141b2784e32 | 313 | | (CMU_NO_EN_REG << CMU_EN_REG_POS) |
Kojto | 113:f141b2784e32 | 314 | | (0 << CMU_EN_BIT_POS) |
Kojto | 113:f141b2784e32 | 315 | | (CMU_HFBUS_CLK_BRANCH << CMU_CLK_BRANCH_POS), |
Kojto | 113:f141b2784e32 | 316 | |
Kojto | 113:f141b2784e32 | 317 | #if defined( CMU_HFBUSCLKEN0_CRYPTO ) |
Kojto | 113:f141b2784e32 | 318 | /** Cryptography accelerator clock. */ |
Kojto | 113:f141b2784e32 | 319 | cmuClock_CRYPTO = (CMU_NOPRESC_REG << CMU_PRESC_REG_POS) |
Kojto | 113:f141b2784e32 | 320 | | (CMU_NOSEL_REG << CMU_SEL_REG_POS) |
Kojto | 113:f141b2784e32 | 321 | | (CMU_HFBUSCLKEN0_EN_REG << CMU_EN_REG_POS) |
Kojto | 113:f141b2784e32 | 322 | | (_CMU_HFBUSCLKEN0_CRYPTO_SHIFT << CMU_EN_BIT_POS) |
Kojto | 113:f141b2784e32 | 323 | | (CMU_HFBUS_CLK_BRANCH << CMU_CLK_BRANCH_POS), |
Kojto | 113:f141b2784e32 | 324 | #endif |
Kojto | 113:f141b2784e32 | 325 | |
Kojto | 113:f141b2784e32 | 326 | #if defined( CMU_HFBUSCLKEN0_LDMA ) |
Kojto | 113:f141b2784e32 | 327 | /** Direct memory access controller clock. */ |
Kojto | 113:f141b2784e32 | 328 | cmuClock_LDMA = (CMU_NOPRESC_REG << CMU_PRESC_REG_POS) |
Kojto | 113:f141b2784e32 | 329 | | (CMU_NOSEL_REG << CMU_SEL_REG_POS) |
Kojto | 113:f141b2784e32 | 330 | | (CMU_HFBUSCLKEN0_EN_REG << CMU_EN_REG_POS) |
Kojto | 113:f141b2784e32 | 331 | | (_CMU_HFBUSCLKEN0_LDMA_SHIFT << CMU_EN_BIT_POS) |
Kojto | 113:f141b2784e32 | 332 | | (CMU_HFBUS_CLK_BRANCH << CMU_CLK_BRANCH_POS), |
Kojto | 113:f141b2784e32 | 333 | #endif |
Kojto | 113:f141b2784e32 | 334 | |
Kojto | 113:f141b2784e32 | 335 | #if defined( CMU_HFBUSCLKEN0_GPCRC ) |
Kojto | 113:f141b2784e32 | 336 | /** General purpose cyclic redundancy checksum clock. */ |
Kojto | 113:f141b2784e32 | 337 | cmuClock_GPCRC = (CMU_NOPRESC_REG << CMU_PRESC_REG_POS) |
Kojto | 113:f141b2784e32 | 338 | | (CMU_NOSEL_REG << CMU_SEL_REG_POS) |
Kojto | 113:f141b2784e32 | 339 | | (CMU_HFBUSCLKEN0_EN_REG << CMU_EN_REG_POS) |
Kojto | 113:f141b2784e32 | 340 | | (_CMU_HFBUSCLKEN0_GPCRC_SHIFT << CMU_EN_BIT_POS) |
Kojto | 113:f141b2784e32 | 341 | | (CMU_HFBUS_CLK_BRANCH << CMU_CLK_BRANCH_POS), |
Kojto | 113:f141b2784e32 | 342 | #endif |
Kojto | 113:f141b2784e32 | 343 | |
Kojto | 113:f141b2784e32 | 344 | #if defined( CMU_HFBUSCLKEN0_GPIO ) |
Kojto | 113:f141b2784e32 | 345 | /** General purpose input/output clock. */ |
Kojto | 113:f141b2784e32 | 346 | cmuClock_GPIO = (CMU_NOPRESC_REG << CMU_PRESC_REG_POS) |
Kojto | 113:f141b2784e32 | 347 | | (CMU_NOSEL_REG << CMU_SEL_REG_POS) |
Kojto | 113:f141b2784e32 | 348 | | (CMU_HFBUSCLKEN0_EN_REG << CMU_EN_REG_POS) |
Kojto | 113:f141b2784e32 | 349 | | (_CMU_HFBUSCLKEN0_GPIO_SHIFT << CMU_EN_BIT_POS) |
Kojto | 113:f141b2784e32 | 350 | | (CMU_HFBUS_CLK_BRANCH << CMU_CLK_BRANCH_POS), |
Kojto | 113:f141b2784e32 | 351 | #endif |
Kojto | 113:f141b2784e32 | 352 | |
Kojto | 113:f141b2784e32 | 353 | /** Low energy clocking module clock. */ |
Kojto | 113:f141b2784e32 | 354 | cmuClock_CORELE = (CMU_NOPRESC_REG << CMU_PRESC_REG_POS) |
Kojto | 113:f141b2784e32 | 355 | | (CMU_NOSEL_REG << CMU_SEL_REG_POS) |
Kojto | 113:f141b2784e32 | 356 | | (CMU_HFBUSCLKEN0_EN_REG << CMU_EN_REG_POS) |
Kojto | 113:f141b2784e32 | 357 | | (_CMU_HFBUSCLKEN0_LE_SHIFT << CMU_EN_BIT_POS) |
Kojto | 113:f141b2784e32 | 358 | | (CMU_HFBUS_CLK_BRANCH << CMU_CLK_BRANCH_POS), |
Kojto | 113:f141b2784e32 | 359 | |
Kojto | 113:f141b2784e32 | 360 | #if defined( CMU_HFBUSCLKEN0_PRS ) |
Kojto | 113:f141b2784e32 | 361 | /** Peripheral reflex system clock. */ |
Kojto | 113:f141b2784e32 | 362 | cmuClock_PRS = (CMU_NOPRESC_REG << CMU_PRESC_REG_POS) |
Kojto | 113:f141b2784e32 | 363 | | (CMU_NOSEL_REG << CMU_SEL_REG_POS) |
Kojto | 113:f141b2784e32 | 364 | | (CMU_HFBUSCLKEN0_EN_REG << CMU_EN_REG_POS) |
Kojto | 113:f141b2784e32 | 365 | | (_CMU_HFBUSCLKEN0_PRS_SHIFT << CMU_EN_BIT_POS) |
Kojto | 113:f141b2784e32 | 366 | | (CMU_HFBUS_CLK_BRANCH << CMU_CLK_BRANCH_POS), |
Kojto | 113:f141b2784e32 | 367 | #endif |
Kojto | 113:f141b2784e32 | 368 | #endif |
Kojto | 98:8ab26030e058 | 369 | |
Kojto | 98:8ab26030e058 | 370 | /**********************************/ |
Kojto | 98:8ab26030e058 | 371 | /* HF peripheral clock sub-branch */ |
Kojto | 98:8ab26030e058 | 372 | /**********************************/ |
Kojto | 98:8ab26030e058 | 373 | |
Kojto | 98:8ab26030e058 | 374 | /** High frequency peripheral clock */ |
Kojto | 113:f141b2784e32 | 375 | #if defined( _CMU_HFPRESC_MASK ) |
Kojto | 113:f141b2784e32 | 376 | cmuClock_HFPER = (CMU_HFPERPRESC_REG << CMU_PRESC_REG_POS) |
Kojto | 113:f141b2784e32 | 377 | | (CMU_NOSEL_REG << CMU_SEL_REG_POS) |
Kojto | 113:f141b2784e32 | 378 | | (CMU_CTRL_EN_REG << CMU_EN_REG_POS) |
Kojto | 113:f141b2784e32 | 379 | | (_CMU_CTRL_HFPERCLKEN_SHIFT << CMU_EN_BIT_POS) |
Kojto | 113:f141b2784e32 | 380 | | (CMU_HFPER_CLK_BRANCH << CMU_CLK_BRANCH_POS), |
Kojto | 113:f141b2784e32 | 381 | #else |
Kojto | 113:f141b2784e32 | 382 | cmuClock_HFPER = (CMU_HFPERCLKDIV_REG << CMU_DIV_REG_POS) |
Kojto | 113:f141b2784e32 | 383 | | (CMU_NOSEL_REG << CMU_SEL_REG_POS) |
Kojto | 113:f141b2784e32 | 384 | | (CMU_HFPERCLKDIV_EN_REG << CMU_EN_REG_POS) |
Kojto | 113:f141b2784e32 | 385 | | (_CMU_HFPERCLKDIV_HFPERCLKEN_SHIFT << CMU_EN_BIT_POS) |
Kojto | 113:f141b2784e32 | 386 | | (CMU_HFPER_CLK_BRANCH << CMU_CLK_BRANCH_POS), |
Kojto | 113:f141b2784e32 | 387 | #endif |
Kojto | 98:8ab26030e058 | 388 | |
Kojto | 113:f141b2784e32 | 389 | #if defined( CMU_HFPERCLKEN0_USART0 ) |
Kojto | 98:8ab26030e058 | 390 | /** Universal sync/async receiver/transmitter 0 clock. */ |
Kojto | 113:f141b2784e32 | 391 | cmuClock_USART0 = (CMU_NODIV_REG << CMU_DIV_REG_POS) |
Kojto | 113:f141b2784e32 | 392 | | (CMU_NOSEL_REG << CMU_SEL_REG_POS) |
Kojto | 113:f141b2784e32 | 393 | | (CMU_HFPERCLKEN0_EN_REG << CMU_EN_REG_POS) |
Kojto | 113:f141b2784e32 | 394 | | (_CMU_HFPERCLKEN0_USART0_SHIFT << CMU_EN_BIT_POS) |
Kojto | 113:f141b2784e32 | 395 | | (CMU_HFPER_CLK_BRANCH << CMU_CLK_BRANCH_POS), |
Kojto | 98:8ab26030e058 | 396 | #endif |
Kojto | 98:8ab26030e058 | 397 | |
Kojto | 113:f141b2784e32 | 398 | #if defined( CMU_HFPERCLKEN0_USARTRF0 ) |
Kojto | 98:8ab26030e058 | 399 | /** Universal sync/async receiver/transmitter 0 clock. */ |
Kojto | 113:f141b2784e32 | 400 | cmuClock_USARTRF0 = (CMU_NODIV_REG << CMU_DIV_REG_POS) |
Kojto | 113:f141b2784e32 | 401 | | (CMU_NOSEL_REG << CMU_SEL_REG_POS) |
Kojto | 113:f141b2784e32 | 402 | | (CMU_HFPERCLKEN0_EN_REG << CMU_EN_REG_POS) |
Kojto | 113:f141b2784e32 | 403 | | (_CMU_HFPERCLKEN0_USARTRF0_SHIFT << CMU_EN_BIT_POS) |
Kojto | 113:f141b2784e32 | 404 | | (CMU_HFPER_CLK_BRANCH << CMU_CLK_BRANCH_POS), |
Kojto | 98:8ab26030e058 | 405 | #endif |
Kojto | 98:8ab26030e058 | 406 | |
Kojto | 113:f141b2784e32 | 407 | #if defined( CMU_HFPERCLKEN0_USARTRF1 ) |
Kojto | 113:f141b2784e32 | 408 | /** Universal sync/async receiver/transmitter 0 clock. */ |
Kojto | 113:f141b2784e32 | 409 | cmuClock_USARTRF1 = (CMU_NODIV_REG << CMU_DIV_REG_POS) |
Kojto | 113:f141b2784e32 | 410 | | (CMU_NOSEL_REG << CMU_SEL_REG_POS) |
Kojto | 113:f141b2784e32 | 411 | | (CMU_HFPERCLKEN0_EN_REG << CMU_EN_REG_POS) |
Kojto | 113:f141b2784e32 | 412 | | (_CMU_HFPERCLKEN0_USARTRF1_SHIFT << CMU_EN_BIT_POS) |
Kojto | 113:f141b2784e32 | 413 | | (CMU_HFPER_CLK_BRANCH << CMU_CLK_BRANCH_POS), |
Kojto | 98:8ab26030e058 | 414 | #endif |
Kojto | 98:8ab26030e058 | 415 | |
Kojto | 113:f141b2784e32 | 416 | #if defined( CMU_HFPERCLKEN0_USART1 ) |
Kojto | 113:f141b2784e32 | 417 | /** Universal sync/async receiver/transmitter 1 clock. */ |
Kojto | 113:f141b2784e32 | 418 | cmuClock_USART1 = (CMU_NODIV_REG << CMU_DIV_REG_POS) |
Kojto | 113:f141b2784e32 | 419 | | (CMU_NOSEL_REG << CMU_SEL_REG_POS) |
Kojto | 113:f141b2784e32 | 420 | | (CMU_HFPERCLKEN0_EN_REG << CMU_EN_REG_POS) |
Kojto | 113:f141b2784e32 | 421 | | (_CMU_HFPERCLKEN0_USART1_SHIFT << CMU_EN_BIT_POS) |
Kojto | 113:f141b2784e32 | 422 | | (CMU_HFPER_CLK_BRANCH << CMU_CLK_BRANCH_POS), |
Kojto | 113:f141b2784e32 | 423 | #endif |
Kojto | 113:f141b2784e32 | 424 | |
Kojto | 113:f141b2784e32 | 425 | #if defined( CMU_HFPERCLKEN0_USART2 ) |
Kojto | 98:8ab26030e058 | 426 | /** Universal sync/async receiver/transmitter 2 clock. */ |
Kojto | 113:f141b2784e32 | 427 | cmuClock_USART2 = (CMU_NODIV_REG << CMU_DIV_REG_POS) |
Kojto | 113:f141b2784e32 | 428 | | (CMU_NOSEL_REG << CMU_SEL_REG_POS) |
Kojto | 113:f141b2784e32 | 429 | | (CMU_HFPERCLKEN0_EN_REG << CMU_EN_REG_POS) |
Kojto | 113:f141b2784e32 | 430 | | (_CMU_HFPERCLKEN0_USART2_SHIFT << CMU_EN_BIT_POS) |
Kojto | 113:f141b2784e32 | 431 | | (CMU_HFPER_CLK_BRANCH << CMU_CLK_BRANCH_POS), |
Kojto | 98:8ab26030e058 | 432 | #endif |
Kojto | 98:8ab26030e058 | 433 | |
Kojto | 113:f141b2784e32 | 434 | #if defined( CMU_HFPERCLKEN0_USART3 ) |
Kojto | 113:f141b2784e32 | 435 | /** Universal sync/async receiver/transmitter 3 clock. */ |
Kojto | 113:f141b2784e32 | 436 | cmuClock_USART3 = (CMU_NOPRESC_REG << CMU_PRESC_REG_POS) |
Kojto | 113:f141b2784e32 | 437 | | (CMU_NOSEL_REG << CMU_SEL_REG_POS) |
Kojto | 113:f141b2784e32 | 438 | | (CMU_HFPERCLKEN0_EN_REG << CMU_EN_REG_POS) |
Kojto | 113:f141b2784e32 | 439 | | (_CMU_HFPERCLKEN0_USART3_SHIFT << CMU_EN_BIT_POS) |
Kojto | 113:f141b2784e32 | 440 | | (CMU_HFPER_CLK_BRANCH << CMU_CLK_BRANCH_POS), |
Kojto | 98:8ab26030e058 | 441 | #endif |
Kojto | 98:8ab26030e058 | 442 | |
Kojto | 113:f141b2784e32 | 443 | #if defined( CMU_HFPERCLKEN0_USART4 ) |
Kojto | 113:f141b2784e32 | 444 | /** Universal sync/async receiver/transmitter 4 clock. */ |
Kojto | 113:f141b2784e32 | 445 | cmuClock_USART4 = (CMU_NOPRESC_REG << CMU_PRESC_REG_POS) |
Kojto | 113:f141b2784e32 | 446 | | (CMU_NOSEL_REG << CMU_SEL_REG_POS) |
Kojto | 113:f141b2784e32 | 447 | | (CMU_HFPERCLKEN0_EN_REG << CMU_EN_REG_POS) |
Kojto | 113:f141b2784e32 | 448 | | (_CMU_HFPERCLKEN0_USART4_SHIFT << CMU_EN_BIT_POS) |
Kojto | 113:f141b2784e32 | 449 | | (CMU_HFPER_CLK_BRANCH << CMU_CLK_BRANCH_POS), |
Kojto | 113:f141b2784e32 | 450 | #endif |
Kojto | 113:f141b2784e32 | 451 | |
Kojto | 113:f141b2784e32 | 452 | #if defined( CMU_HFPERCLKEN0_USART5 ) |
Kojto | 113:f141b2784e32 | 453 | /** Universal sync/async receiver/transmitter 5 clock. */ |
Kojto | 113:f141b2784e32 | 454 | cmuClock_USART5 = (CMU_NOPRESC_REG << CMU_PRESC_REG_POS) |
Kojto | 113:f141b2784e32 | 455 | | (CMU_NOSEL_REG << CMU_SEL_REG_POS) |
Kojto | 113:f141b2784e32 | 456 | | (CMU_HFPERCLKEN0_EN_REG << CMU_EN_REG_POS) |
Kojto | 113:f141b2784e32 | 457 | | (_CMU_HFPERCLKEN0_USART5_SHIFT << CMU_EN_BIT_POS) |
Kojto | 113:f141b2784e32 | 458 | | (CMU_HFPER_CLK_BRANCH << CMU_CLK_BRANCH_POS), |
Kojto | 98:8ab26030e058 | 459 | #endif |
Kojto | 98:8ab26030e058 | 460 | |
Kojto | 113:f141b2784e32 | 461 | |
Kojto | 113:f141b2784e32 | 462 | #if defined( CMU_HFPERCLKEN0_UART0 ) |
Kojto | 113:f141b2784e32 | 463 | /** Universal async receiver/transmitter 0 clock. */ |
Kojto | 113:f141b2784e32 | 464 | cmuClock_UART0 = (CMU_NODIV_REG << CMU_DIV_REG_POS) |
Kojto | 113:f141b2784e32 | 465 | | (CMU_NOSEL_REG << CMU_SEL_REG_POS) |
Kojto | 113:f141b2784e32 | 466 | | (CMU_HFPERCLKEN0_EN_REG << CMU_EN_REG_POS) |
Kojto | 113:f141b2784e32 | 467 | | (_CMU_HFPERCLKEN0_UART0_SHIFT << CMU_EN_BIT_POS) |
Kojto | 113:f141b2784e32 | 468 | | (CMU_HFPER_CLK_BRANCH << CMU_CLK_BRANCH_POS), |
Kojto | 98:8ab26030e058 | 469 | #endif |
Kojto | 98:8ab26030e058 | 470 | |
Kojto | 113:f141b2784e32 | 471 | #if defined( CMU_HFPERCLKEN0_UART1 ) |
Kojto | 113:f141b2784e32 | 472 | /** Universal async receiver/transmitter 1 clock. */ |
Kojto | 113:f141b2784e32 | 473 | cmuClock_UART1 = (CMU_NODIV_REG << CMU_DIV_REG_POS) |
Kojto | 113:f141b2784e32 | 474 | | (CMU_NOSEL_REG << CMU_SEL_REG_POS) |
Kojto | 113:f141b2784e32 | 475 | | (CMU_HFPERCLKEN0_EN_REG << CMU_EN_REG_POS) |
Kojto | 113:f141b2784e32 | 476 | | (_CMU_HFPERCLKEN0_UART1_SHIFT << CMU_EN_BIT_POS) |
Kojto | 113:f141b2784e32 | 477 | | (CMU_HFPER_CLK_BRANCH << CMU_CLK_BRANCH_POS), |
Kojto | 98:8ab26030e058 | 478 | #endif |
Kojto | 98:8ab26030e058 | 479 | |
Kojto | 113:f141b2784e32 | 480 | #if defined( CMU_HFPERCLKEN0_TIMER0 ) |
Kojto | 113:f141b2784e32 | 481 | /** Timer 0 clock. */ |
Kojto | 113:f141b2784e32 | 482 | cmuClock_TIMER0 = (CMU_NODIV_REG << CMU_DIV_REG_POS) |
Kojto | 113:f141b2784e32 | 483 | | (CMU_NOSEL_REG << CMU_SEL_REG_POS) |
Kojto | 113:f141b2784e32 | 484 | | (CMU_HFPERCLKEN0_EN_REG << CMU_EN_REG_POS) |
Kojto | 113:f141b2784e32 | 485 | | (_CMU_HFPERCLKEN0_TIMER0_SHIFT << CMU_EN_BIT_POS) |
Kojto | 113:f141b2784e32 | 486 | | (CMU_HFPER_CLK_BRANCH << CMU_CLK_BRANCH_POS), |
Kojto | 113:f141b2784e32 | 487 | #endif |
Kojto | 113:f141b2784e32 | 488 | |
Kojto | 113:f141b2784e32 | 489 | #if defined( CMU_HFPERCLKEN0_TIMER1 ) |
Kojto | 113:f141b2784e32 | 490 | /** Timer 1 clock. */ |
Kojto | 113:f141b2784e32 | 491 | cmuClock_TIMER1 = (CMU_NODIV_REG << CMU_DIV_REG_POS) |
Kojto | 113:f141b2784e32 | 492 | | (CMU_NOSEL_REG << CMU_SEL_REG_POS) |
Kojto | 113:f141b2784e32 | 493 | | (CMU_HFPERCLKEN0_EN_REG << CMU_EN_REG_POS) |
Kojto | 113:f141b2784e32 | 494 | | (_CMU_HFPERCLKEN0_TIMER1_SHIFT << CMU_EN_BIT_POS) |
Kojto | 113:f141b2784e32 | 495 | | (CMU_HFPER_CLK_BRANCH << CMU_CLK_BRANCH_POS), |
Kojto | 98:8ab26030e058 | 496 | #endif |
Kojto | 98:8ab26030e058 | 497 | |
Kojto | 113:f141b2784e32 | 498 | #if defined( CMU_HFPERCLKEN0_TIMER2 ) |
Kojto | 113:f141b2784e32 | 499 | /** Timer 2 clock. */ |
Kojto | 113:f141b2784e32 | 500 | cmuClock_TIMER2 = (CMU_NODIV_REG << CMU_DIV_REG_POS) |
Kojto | 113:f141b2784e32 | 501 | | (CMU_NOSEL_REG << CMU_SEL_REG_POS) |
Kojto | 113:f141b2784e32 | 502 | | (CMU_HFPERCLKEN0_EN_REG << CMU_EN_REG_POS) |
Kojto | 113:f141b2784e32 | 503 | | (_CMU_HFPERCLKEN0_TIMER2_SHIFT << CMU_EN_BIT_POS) |
Kojto | 113:f141b2784e32 | 504 | | (CMU_HFPER_CLK_BRANCH << CMU_CLK_BRANCH_POS), |
Kojto | 98:8ab26030e058 | 505 | #endif |
Kojto | 98:8ab26030e058 | 506 | |
Kojto | 113:f141b2784e32 | 507 | #if defined( CMU_HFPERCLKEN0_TIMER3 ) |
Kojto | 113:f141b2784e32 | 508 | /** Timer 3 clock. */ |
Kojto | 113:f141b2784e32 | 509 | cmuClock_TIMER3 = (CMU_NODIV_REG << CMU_DIV_REG_POS) |
Kojto | 113:f141b2784e32 | 510 | | (CMU_NOSEL_REG << CMU_SEL_REG_POS) |
Kojto | 113:f141b2784e32 | 511 | | (CMU_HFPERCLKEN0_EN_REG << CMU_EN_REG_POS) |
Kojto | 113:f141b2784e32 | 512 | | (_CMU_HFPERCLKEN0_TIMER3_SHIFT << CMU_EN_BIT_POS) |
Kojto | 113:f141b2784e32 | 513 | | (CMU_HFPER_CLK_BRANCH << CMU_CLK_BRANCH_POS), |
Kojto | 98:8ab26030e058 | 514 | #endif |
Kojto | 98:8ab26030e058 | 515 | |
Kojto | 113:f141b2784e32 | 516 | #if defined( CMU_HFPERCLKEN0_CRYOTIMER ) |
Kojto | 113:f141b2784e32 | 517 | /** CRYOtimer clock. */ |
Kojto | 113:f141b2784e32 | 518 | cmuClock_CRYOTIMER = (CMU_NOPRESC_REG << CMU_PRESC_REG_POS) |
Kojto | 113:f141b2784e32 | 519 | | (CMU_NOSEL_REG << CMU_SEL_REG_POS) |
Kojto | 113:f141b2784e32 | 520 | | (CMU_HFPERCLKEN0_EN_REG << CMU_EN_REG_POS) |
Kojto | 113:f141b2784e32 | 521 | | (_CMU_HFPERCLKEN0_CRYOTIMER_SHIFT << CMU_EN_BIT_POS) |
Kojto | 113:f141b2784e32 | 522 | | (CMU_HFPER_CLK_BRANCH << CMU_CLK_BRANCH_POS), |
Kojto | 98:8ab26030e058 | 523 | #endif |
Kojto | 98:8ab26030e058 | 524 | |
Kojto | 113:f141b2784e32 | 525 | #if defined( CMU_HFPERCLKEN0_ACMP0 ) |
Kojto | 113:f141b2784e32 | 526 | /** Analog comparator 0 clock. */ |
Kojto | 113:f141b2784e32 | 527 | cmuClock_ACMP0 = (CMU_NODIV_REG << CMU_DIV_REG_POS) |
Kojto | 113:f141b2784e32 | 528 | | (CMU_NOSEL_REG << CMU_SEL_REG_POS) |
Kojto | 113:f141b2784e32 | 529 | | (CMU_HFPERCLKEN0_EN_REG << CMU_EN_REG_POS) |
Kojto | 113:f141b2784e32 | 530 | | (_CMU_HFPERCLKEN0_ACMP0_SHIFT << CMU_EN_BIT_POS) |
Kojto | 113:f141b2784e32 | 531 | | (CMU_HFPER_CLK_BRANCH << CMU_CLK_BRANCH_POS), |
Kojto | 98:8ab26030e058 | 532 | #endif |
Kojto | 98:8ab26030e058 | 533 | |
Kojto | 113:f141b2784e32 | 534 | #if defined( CMU_HFPERCLKEN0_ACMP1 ) |
Kojto | 113:f141b2784e32 | 535 | /** Analog comparator 1 clock. */ |
Kojto | 113:f141b2784e32 | 536 | cmuClock_ACMP1 = (CMU_NODIV_REG << CMU_DIV_REG_POS) |
Kojto | 113:f141b2784e32 | 537 | | (CMU_NOSEL_REG << CMU_SEL_REG_POS) |
Kojto | 113:f141b2784e32 | 538 | | (CMU_HFPERCLKEN0_EN_REG << CMU_EN_REG_POS) |
Kojto | 113:f141b2784e32 | 539 | | (_CMU_HFPERCLKEN0_ACMP1_SHIFT << CMU_EN_BIT_POS) |
Kojto | 113:f141b2784e32 | 540 | | (CMU_HFPER_CLK_BRANCH << CMU_CLK_BRANCH_POS), |
Kojto | 113:f141b2784e32 | 541 | #endif |
Kojto | 113:f141b2784e32 | 542 | |
Kojto | 113:f141b2784e32 | 543 | #if defined( CMU_HFPERCLKEN0_PRS ) |
Kojto | 113:f141b2784e32 | 544 | /** Peripheral reflex system clock. */ |
Kojto | 113:f141b2784e32 | 545 | cmuClock_PRS = (CMU_NODIV_REG << CMU_DIV_REG_POS) |
Kojto | 113:f141b2784e32 | 546 | | (CMU_NOSEL_REG << CMU_SEL_REG_POS) |
Kojto | 113:f141b2784e32 | 547 | | (CMU_HFPERCLKEN0_EN_REG << CMU_EN_REG_POS) |
Kojto | 113:f141b2784e32 | 548 | | (_CMU_HFPERCLKEN0_PRS_SHIFT << CMU_EN_BIT_POS) |
Kojto | 113:f141b2784e32 | 549 | | (CMU_HFPER_CLK_BRANCH << CMU_CLK_BRANCH_POS), |
Kojto | 98:8ab26030e058 | 550 | #endif |
Kojto | 98:8ab26030e058 | 551 | |
Kojto | 113:f141b2784e32 | 552 | #if defined( CMU_HFPERCLKEN0_DAC0 ) |
Kojto | 98:8ab26030e058 | 553 | /** Digital to analog converter 0 clock. */ |
Kojto | 113:f141b2784e32 | 554 | cmuClock_DAC0 = (CMU_NODIV_REG << CMU_DIV_REG_POS) |
Kojto | 113:f141b2784e32 | 555 | | (CMU_NOSEL_REG << CMU_SEL_REG_POS) |
Kojto | 113:f141b2784e32 | 556 | | (CMU_HFPERCLKEN0_EN_REG << CMU_EN_REG_POS) |
Kojto | 113:f141b2784e32 | 557 | | (_CMU_HFPERCLKEN0_DAC0_SHIFT << CMU_EN_BIT_POS) |
Kojto | 113:f141b2784e32 | 558 | | (CMU_HFPER_CLK_BRANCH << CMU_CLK_BRANCH_POS), |
Kojto | 98:8ab26030e058 | 559 | #endif |
Kojto | 98:8ab26030e058 | 560 | |
Kojto | 113:f141b2784e32 | 561 | #if defined( CMU_HFPERCLKEN0_IDAC0 ) |
Kojto | 113:f141b2784e32 | 562 | /** Digital to analog converter 0 clock. */ |
Kojto | 113:f141b2784e32 | 563 | cmuClock_IDAC0 = (CMU_NODIV_REG << CMU_DIV_REG_POS) |
Kojto | 113:f141b2784e32 | 564 | | (CMU_NOSEL_REG << CMU_SEL_REG_POS) |
Kojto | 113:f141b2784e32 | 565 | | (CMU_HFPERCLKEN0_EN_REG << CMU_EN_REG_POS) |
Kojto | 113:f141b2784e32 | 566 | | (_CMU_HFPERCLKEN0_IDAC0_SHIFT << CMU_EN_BIT_POS) |
Kojto | 113:f141b2784e32 | 567 | | (CMU_HFPER_CLK_BRANCH << CMU_CLK_BRANCH_POS), |
Kojto | 113:f141b2784e32 | 568 | #endif |
Kojto | 113:f141b2784e32 | 569 | |
Kojto | 113:f141b2784e32 | 570 | #if defined( CMU_HFPERCLKEN0_GPIO ) |
Kojto | 98:8ab26030e058 | 571 | /** General purpose input/output clock. */ |
Kojto | 113:f141b2784e32 | 572 | cmuClock_GPIO = (CMU_NODIV_REG << CMU_DIV_REG_POS) |
Kojto | 113:f141b2784e32 | 573 | | (CMU_NOSEL_REG << CMU_SEL_REG_POS) |
Kojto | 113:f141b2784e32 | 574 | | (CMU_HFPERCLKEN0_EN_REG << CMU_EN_REG_POS) |
Kojto | 113:f141b2784e32 | 575 | | (_CMU_HFPERCLKEN0_GPIO_SHIFT << CMU_EN_BIT_POS) |
Kojto | 113:f141b2784e32 | 576 | | (CMU_HFPER_CLK_BRANCH << CMU_CLK_BRANCH_POS), |
Kojto | 98:8ab26030e058 | 577 | #endif |
Kojto | 98:8ab26030e058 | 578 | |
Kojto | 113:f141b2784e32 | 579 | #if defined( CMU_HFPERCLKEN0_VCMP ) |
Kojto | 98:8ab26030e058 | 580 | /** Voltage comparator clock. */ |
Kojto | 113:f141b2784e32 | 581 | cmuClock_VCMP = (CMU_NODIV_REG << CMU_DIV_REG_POS) |
Kojto | 113:f141b2784e32 | 582 | | (CMU_NOSEL_REG << CMU_SEL_REG_POS) |
Kojto | 113:f141b2784e32 | 583 | | (CMU_HFPERCLKEN0_EN_REG << CMU_EN_REG_POS) |
Kojto | 113:f141b2784e32 | 584 | | (_CMU_HFPERCLKEN0_VCMP_SHIFT << CMU_EN_BIT_POS) |
Kojto | 113:f141b2784e32 | 585 | | (CMU_HFPER_CLK_BRANCH << CMU_CLK_BRANCH_POS), |
Kojto | 113:f141b2784e32 | 586 | #endif |
Kojto | 113:f141b2784e32 | 587 | |
Kojto | 113:f141b2784e32 | 588 | #if defined( CMU_HFPERCLKEN0_ADC0 ) |
Kojto | 113:f141b2784e32 | 589 | /** Analog to digital converter 0 clock. */ |
Kojto | 113:f141b2784e32 | 590 | cmuClock_ADC0 = (CMU_NODIV_REG << CMU_DIV_REG_POS) |
Kojto | 113:f141b2784e32 | 591 | | (CMU_NOSEL_REG << CMU_SEL_REG_POS) |
Kojto | 113:f141b2784e32 | 592 | | (CMU_HFPERCLKEN0_EN_REG << CMU_EN_REG_POS) |
Kojto | 113:f141b2784e32 | 593 | | (_CMU_HFPERCLKEN0_ADC0_SHIFT << CMU_EN_BIT_POS) |
Kojto | 113:f141b2784e32 | 594 | | (CMU_HFPER_CLK_BRANCH << CMU_CLK_BRANCH_POS), |
Kojto | 98:8ab26030e058 | 595 | #endif |
Kojto | 98:8ab26030e058 | 596 | |
Kojto | 113:f141b2784e32 | 597 | #if defined( CMU_HFPERCLKEN0_I2C0 ) |
Kojto | 113:f141b2784e32 | 598 | /** I2C 0 clock. */ |
Kojto | 113:f141b2784e32 | 599 | cmuClock_I2C0 = (CMU_NODIV_REG << CMU_DIV_REG_POS) |
Kojto | 113:f141b2784e32 | 600 | | (CMU_NOSEL_REG << CMU_SEL_REG_POS) |
Kojto | 113:f141b2784e32 | 601 | | (CMU_HFPERCLKEN0_EN_REG << CMU_EN_REG_POS) |
Kojto | 113:f141b2784e32 | 602 | | (_CMU_HFPERCLKEN0_I2C0_SHIFT << CMU_EN_BIT_POS) |
Kojto | 113:f141b2784e32 | 603 | | (CMU_HFPER_CLK_BRANCH << CMU_CLK_BRANCH_POS), |
Kojto | 98:8ab26030e058 | 604 | #endif |
Kojto | 98:8ab26030e058 | 605 | |
Kojto | 113:f141b2784e32 | 606 | #if defined( CMU_HFPERCLKEN0_I2C1 ) |
Kojto | 113:f141b2784e32 | 607 | /** I2C 1 clock. */ |
Kojto | 113:f141b2784e32 | 608 | cmuClock_I2C1 = (CMU_NODIV_REG << CMU_DIV_REG_POS) |
Kojto | 113:f141b2784e32 | 609 | | (CMU_NOSEL_REG << CMU_SEL_REG_POS) |
Kojto | 113:f141b2784e32 | 610 | | (CMU_HFPERCLKEN0_EN_REG << CMU_EN_REG_POS) |
Kojto | 113:f141b2784e32 | 611 | | (_CMU_HFPERCLKEN0_I2C1_SHIFT << CMU_EN_BIT_POS) |
Kojto | 113:f141b2784e32 | 612 | | (CMU_HFPER_CLK_BRANCH << CMU_CLK_BRANCH_POS), |
Kojto | 98:8ab26030e058 | 613 | #endif |
Kojto | 98:8ab26030e058 | 614 | |
Kojto | 113:f141b2784e32 | 615 | #if defined( CMU_HFPERCLKEN0_I2C2 ) |
Kojto | 113:f141b2784e32 | 616 | /** I2C 2 clock. */ |
Kojto | 113:f141b2784e32 | 617 | cmuClock_I2C2 = (CMU_NODIV_REG << CMU_DIV_REG_POS) |
Kojto | 113:f141b2784e32 | 618 | | (CMU_NOSEL_REG << CMU_SEL_REG_POS) |
Kojto | 113:f141b2784e32 | 619 | | (CMU_HFPERCLKEN0_EN_REG << CMU_EN_REG_POS) |
Kojto | 113:f141b2784e32 | 620 | | (_CMU_HFPERCLKEN0_I2C2_SHIFT << CMU_EN_BIT_POS) |
Kojto | 113:f141b2784e32 | 621 | | (CMU_HFPER_CLK_BRANCH << CMU_CLK_BRANCH_POS), |
Kojto | 98:8ab26030e058 | 622 | #endif |
Kojto | 98:8ab26030e058 | 623 | |
Kojto | 98:8ab26030e058 | 624 | /**********************/ |
Kojto | 98:8ab26030e058 | 625 | /* HF core sub-branch */ |
Kojto | 98:8ab26030e058 | 626 | /**********************/ |
Kojto | 98:8ab26030e058 | 627 | |
Kojto | 98:8ab26030e058 | 628 | /** Core clock */ |
Kojto | 113:f141b2784e32 | 629 | cmuClock_CORE = (CMU_HFCORECLKDIV_REG << CMU_DIV_REG_POS) |
Kojto | 113:f141b2784e32 | 630 | | (CMU_NOSEL_REG << CMU_SEL_REG_POS) |
Kojto | 113:f141b2784e32 | 631 | | (CMU_NO_EN_REG << CMU_EN_REG_POS) |
Kojto | 113:f141b2784e32 | 632 | | (0 << CMU_EN_BIT_POS) |
Kojto | 113:f141b2784e32 | 633 | | (CMU_HFCORE_CLK_BRANCH << CMU_CLK_BRANCH_POS), |
Kojto | 98:8ab26030e058 | 634 | |
Kojto | 113:f141b2784e32 | 635 | #if defined( CMU_HFCORECLKEN0_AES ) |
Kojto | 98:8ab26030e058 | 636 | /** Advanced encryption standard accelerator clock. */ |
Kojto | 113:f141b2784e32 | 637 | cmuClock_AES = (CMU_NODIV_REG << CMU_DIV_REG_POS) |
Kojto | 113:f141b2784e32 | 638 | | (CMU_NOSEL_REG << CMU_SEL_REG_POS) |
Kojto | 113:f141b2784e32 | 639 | | (CMU_HFCORECLKEN0_EN_REG << CMU_EN_REG_POS) |
Kojto | 113:f141b2784e32 | 640 | | (_CMU_HFCORECLKEN0_AES_SHIFT << CMU_EN_BIT_POS) |
Kojto | 113:f141b2784e32 | 641 | | (CMU_HFCORE_CLK_BRANCH << CMU_CLK_BRANCH_POS), |
Kojto | 113:f141b2784e32 | 642 | #endif |
Kojto | 113:f141b2784e32 | 643 | |
Kojto | 113:f141b2784e32 | 644 | #if defined( CMU_HFCORECLKEN0_DMA ) |
Kojto | 113:f141b2784e32 | 645 | /** Direct memory access controller clock. */ |
Kojto | 113:f141b2784e32 | 646 | cmuClock_DMA = (CMU_NODIV_REG << CMU_DIV_REG_POS) |
Kojto | 113:f141b2784e32 | 647 | | (CMU_NOSEL_REG << CMU_SEL_REG_POS) |
Kojto | 113:f141b2784e32 | 648 | | (CMU_HFCORECLKEN0_EN_REG << CMU_EN_REG_POS) |
Kojto | 113:f141b2784e32 | 649 | | (_CMU_HFCORECLKEN0_DMA_SHIFT << CMU_EN_BIT_POS) |
Kojto | 113:f141b2784e32 | 650 | | (CMU_HFCORE_CLK_BRANCH << CMU_CLK_BRANCH_POS), |
Kojto | 98:8ab26030e058 | 651 | #endif |
Kojto | 98:8ab26030e058 | 652 | |
Kojto | 113:f141b2784e32 | 653 | #if defined( CMU_HFCORECLKEN0_LE ) |
Kojto | 113:f141b2784e32 | 654 | /** Low energy clocking module clock. */ |
Kojto | 113:f141b2784e32 | 655 | cmuClock_CORELE = (CMU_NODIV_REG << CMU_DIV_REG_POS) |
Kojto | 113:f141b2784e32 | 656 | | (CMU_NOSEL_REG << CMU_SEL_REG_POS) |
Kojto | 113:f141b2784e32 | 657 | | (CMU_HFCORECLKEN0_EN_REG << CMU_EN_REG_POS) |
Kojto | 113:f141b2784e32 | 658 | | (_CMU_HFCORECLKEN0_LE_SHIFT << CMU_EN_BIT_POS) |
Kojto | 113:f141b2784e32 | 659 | | (CMU_HFCORE_CLK_BRANCH << CMU_CLK_BRANCH_POS), |
Kojto | 98:8ab26030e058 | 660 | #endif |
Kojto | 98:8ab26030e058 | 661 | |
Kojto | 113:f141b2784e32 | 662 | #if defined( CMU_HFCORECLKEN0_EBI ) |
Kojto | 113:f141b2784e32 | 663 | /** External bus interface clock. */ |
Kojto | 113:f141b2784e32 | 664 | cmuClock_EBI = (CMU_NODIV_REG << CMU_DIV_REG_POS) |
Kojto | 113:f141b2784e32 | 665 | | (CMU_NOSEL_REG << CMU_SEL_REG_POS) |
Kojto | 113:f141b2784e32 | 666 | | (CMU_HFCORECLKEN0_EN_REG << CMU_EN_REG_POS) |
Kojto | 113:f141b2784e32 | 667 | | (_CMU_HFCORECLKEN0_EBI_SHIFT << CMU_EN_BIT_POS) |
Kojto | 113:f141b2784e32 | 668 | | (CMU_HFCORE_CLK_BRANCH << CMU_CLK_BRANCH_POS), |
Kojto | 113:f141b2784e32 | 669 | #endif |
Kojto | 113:f141b2784e32 | 670 | |
Kojto | 113:f141b2784e32 | 671 | #if defined( CMU_HFCORECLKEN0_USBC ) |
Kojto | 98:8ab26030e058 | 672 | /** USB Core clock. */ |
Kojto | 113:f141b2784e32 | 673 | cmuClock_USBC = (CMU_NODIV_REG << CMU_DIV_REG_POS) |
Kojto | 113:f141b2784e32 | 674 | | (CMU_USBCCLKSEL_REG << CMU_SEL_REG_POS) |
Kojto | 113:f141b2784e32 | 675 | | (CMU_HFCORECLKEN0_EN_REG << CMU_EN_REG_POS) |
Kojto | 113:f141b2784e32 | 676 | | (_CMU_HFCORECLKEN0_USBC_SHIFT << CMU_EN_BIT_POS) |
Kojto | 113:f141b2784e32 | 677 | | (CMU_USBC_CLK_BRANCH << CMU_CLK_BRANCH_POS), |
Kojto | 98:8ab26030e058 | 678 | |
Kojto | 98:8ab26030e058 | 679 | #endif |
Kojto | 98:8ab26030e058 | 680 | |
Kojto | 113:f141b2784e32 | 681 | #if defined( CMU_HFCORECLKEN0_USB ) |
Kojto | 98:8ab26030e058 | 682 | /** USB clock. */ |
Kojto | 113:f141b2784e32 | 683 | cmuClock_USB = (CMU_NODIV_REG << CMU_DIV_REG_POS) |
Kojto | 113:f141b2784e32 | 684 | | (CMU_NOSEL_REG << CMU_SEL_REG_POS) |
Kojto | 113:f141b2784e32 | 685 | | (CMU_HFCORECLKEN0_EN_REG << CMU_EN_REG_POS) |
Kojto | 113:f141b2784e32 | 686 | | (_CMU_HFCORECLKEN0_USB_SHIFT << CMU_EN_BIT_POS) |
Kojto | 113:f141b2784e32 | 687 | | (CMU_HFCORE_CLK_BRANCH << CMU_CLK_BRANCH_POS), |
Kojto | 113:f141b2784e32 | 688 | #endif |
Kojto | 113:f141b2784e32 | 689 | |
Kojto | 113:f141b2784e32 | 690 | #if defined( CMU_CTRL_HFRADIOCLKEN ) |
Kojto | 113:f141b2784e32 | 691 | /**********************************/ |
Kojto | 113:f141b2784e32 | 692 | /* HF radio clock sub-branch */ |
Kojto | 113:f141b2784e32 | 693 | /**********************************/ |
Kojto | 113:f141b2784e32 | 694 | |
Kojto | 113:f141b2784e32 | 695 | /** High frequency radio clock. */ |
Kojto | 113:f141b2784e32 | 696 | cmuClock_RADIO = (CMU_HFRADIOPRESC_REG << CMU_PRESC_REG_POS) |
Kojto | 113:f141b2784e32 | 697 | | (CMU_NOSEL_REG << CMU_SEL_REG_POS) |
Kojto | 113:f141b2784e32 | 698 | | (CMU_CTRL_EN_REG << CMU_EN_REG_POS) |
Kojto | 113:f141b2784e32 | 699 | | (_CMU_CTRL_HFRADIOCLKEN_SHIFT << CMU_EN_BIT_POS) |
Kojto | 113:f141b2784e32 | 700 | | (CMU_HFRADIO_CLK_BRANCH << CMU_CLK_BRANCH_POS), |
Kojto | 113:f141b2784e32 | 701 | |
Kojto | 113:f141b2784e32 | 702 | #if defined( CMU_HFRADIOCLKEN0_MODEM ) |
Kojto | 113:f141b2784e32 | 703 | /** Modulator/demodulator clock. */ |
Kojto | 113:f141b2784e32 | 704 | cmuClock_MODEM = (CMU_NOPRESC_REG << CMU_PRESC_REG_POS) |
Kojto | 113:f141b2784e32 | 705 | | (CMU_NOSEL_REG << CMU_SEL_REG_POS) |
Kojto | 113:f141b2784e32 | 706 | | (CMU_HFRADIOCLKEN0_EN_REG << CMU_EN_REG_POS) |
Kojto | 113:f141b2784e32 | 707 | | (_CMU_HFRADIOCLKEN0_MODEM_SHIFT << CMU_EN_BIT_POS) |
Kojto | 113:f141b2784e32 | 708 | | (CMU_HFRADIO_CLK_BRANCH << CMU_CLK_BRANCH_POS), |
Kojto | 113:f141b2784e32 | 709 | #endif |
Kojto | 113:f141b2784e32 | 710 | |
Kojto | 113:f141b2784e32 | 711 | #if defined( CMU_HFRADIOCLKEN0_PROTIMER ) |
Kojto | 113:f141b2784e32 | 712 | /** Protocol timer clock. */ |
Kojto | 113:f141b2784e32 | 713 | cmuClock_PROTIMER = (CMU_NOPRESC_REG << CMU_PRESC_REG_POS) |
Kojto | 113:f141b2784e32 | 714 | | (CMU_NOSEL_REG << CMU_SEL_REG_POS) |
Kojto | 113:f141b2784e32 | 715 | | (CMU_HFRADIOCLKEN0_EN_REG << CMU_EN_REG_POS) |
Kojto | 113:f141b2784e32 | 716 | | (_CMU_HFRADIOCLKEN0_PROTIMER_SHIFT << CMU_EN_BIT_POS) |
Kojto | 113:f141b2784e32 | 717 | | (CMU_HFRADIO_CLK_BRANCH << CMU_CLK_BRANCH_POS), |
Kojto | 113:f141b2784e32 | 718 | #endif |
Kojto | 113:f141b2784e32 | 719 | |
Kojto | 113:f141b2784e32 | 720 | #if defined( CMU_HFRADIOCLKEN0_CRC ) |
Kojto | 113:f141b2784e32 | 721 | /** Cyclic Redundancy Check clock. */ |
Kojto | 113:f141b2784e32 | 722 | cmuClock_CRC = (CMU_NOPRESC_REG << CMU_PRESC_REG_POS) |
Kojto | 113:f141b2784e32 | 723 | | (CMU_NOSEL_REG << CMU_SEL_REG_POS) |
Kojto | 113:f141b2784e32 | 724 | | (CMU_HFRADIOCLKEN0_EN_REG << CMU_EN_REG_POS) |
Kojto | 113:f141b2784e32 | 725 | | (_CMU_HFRADIOCLKEN0_CRC_SHIFT << CMU_EN_BIT_POS) |
Kojto | 113:f141b2784e32 | 726 | | (CMU_HFRADIO_CLK_BRANCH << CMU_CLK_BRANCH_POS), |
Kojto | 113:f141b2784e32 | 727 | #endif |
Kojto | 113:f141b2784e32 | 728 | |
Kojto | 113:f141b2784e32 | 729 | #if defined( CMU_HFRADIOCLKEN0_AGC ) |
Kojto | 113:f141b2784e32 | 730 | /** Automatic Gain Control clock. */ |
Kojto | 113:f141b2784e32 | 731 | cmuClock_AGC = (CMU_NOPRESC_REG << CMU_PRESC_REG_POS) |
Kojto | 113:f141b2784e32 | 732 | | (CMU_NOSEL_REG << CMU_SEL_REG_POS) |
Kojto | 113:f141b2784e32 | 733 | | (CMU_HFRADIOCLKEN0_EN_REG << CMU_EN_REG_POS) |
Kojto | 113:f141b2784e32 | 734 | | (_CMU_HFRADIOCLKEN0_AGC_SHIFT << CMU_EN_BIT_POS) |
Kojto | 113:f141b2784e32 | 735 | | (CMU_HFRADIO_CLK_BRANCH << CMU_CLK_BRANCH_POS), |
Kojto | 113:f141b2784e32 | 736 | #endif |
Kojto | 113:f141b2784e32 | 737 | |
Kojto | 113:f141b2784e32 | 738 | #if defined( CMU_HFRADIOCLKEN0_FRC ) |
Kojto | 113:f141b2784e32 | 739 | /** Frame Controller clock. */ |
Kojto | 113:f141b2784e32 | 740 | cmuClock_FRC = (CMU_NOPRESC_REG << CMU_PRESC_REG_POS) |
Kojto | 113:f141b2784e32 | 741 | | (CMU_NOSEL_REG << CMU_SEL_REG_POS) |
Kojto | 113:f141b2784e32 | 742 | | (CMU_HFRADIOCLKEN0_EN_REG << CMU_EN_REG_POS) |
Kojto | 113:f141b2784e32 | 743 | | (_CMU_HFRADIOCLKEN0_FRC_SHIFT << CMU_EN_BIT_POS) |
Kojto | 113:f141b2784e32 | 744 | | (CMU_HFRADIO_CLK_BRANCH << CMU_CLK_BRANCH_POS), |
Kojto | 113:f141b2784e32 | 745 | #endif |
Kojto | 113:f141b2784e32 | 746 | |
Kojto | 113:f141b2784e32 | 747 | #if defined( CMU_HFRADIOCLKEN0_SYNTH ) |
Kojto | 113:f141b2784e32 | 748 | /** Frequency Synthesizer clock. */ |
Kojto | 113:f141b2784e32 | 749 | cmuClock_SYNTH = (CMU_NOPRESC_REG << CMU_PRESC_REG_POS) |
Kojto | 113:f141b2784e32 | 750 | | (CMU_NOSEL_REG << CMU_SEL_REG_POS) |
Kojto | 113:f141b2784e32 | 751 | | (CMU_HFRADIOCLKEN0_EN_REG << CMU_EN_REG_POS) |
Kojto | 113:f141b2784e32 | 752 | | (_CMU_HFRADIOCLKEN0_SYNTH_SHIFT << CMU_EN_BIT_POS) |
Kojto | 113:f141b2784e32 | 753 | | (CMU_HFRADIO_CLK_BRANCH << CMU_CLK_BRANCH_POS), |
Kojto | 113:f141b2784e32 | 754 | #endif |
Kojto | 113:f141b2784e32 | 755 | |
Kojto | 113:f141b2784e32 | 756 | #if defined( CMU_HFRADIOCLKEN0_BUFC ) |
Kojto | 113:f141b2784e32 | 757 | /** Buffer Controller Check clock. */ |
Kojto | 113:f141b2784e32 | 758 | cmuClock_BUFC = (CMU_NOPRESC_REG << CMU_PRESC_REG_POS) |
Kojto | 113:f141b2784e32 | 759 | | (CMU_NOSEL_REG << CMU_SEL_REG_POS) |
Kojto | 113:f141b2784e32 | 760 | | (CMU_HFRADIOCLKEN0_EN_REG << CMU_EN_REG_POS) |
Kojto | 113:f141b2784e32 | 761 | | (_CMU_HFRADIOCLKEN0_BUFC_SHIFT << CMU_EN_BIT_POS) |
Kojto | 113:f141b2784e32 | 762 | | (CMU_HFRADIO_CLK_BRANCH << CMU_CLK_BRANCH_POS), |
Kojto | 113:f141b2784e32 | 763 | #endif |
Kojto | 113:f141b2784e32 | 764 | |
Kojto | 113:f141b2784e32 | 765 | #if defined( CMU_HFRADIOCLKEN0_RAC ) |
Kojto | 113:f141b2784e32 | 766 | /** Radio Controller clock. */ |
Kojto | 113:f141b2784e32 | 767 | cmuClock_RAC = (CMU_NOPRESC_REG << CMU_PRESC_REG_POS) |
Kojto | 113:f141b2784e32 | 768 | | (CMU_NOSEL_REG << CMU_SEL_REG_POS) |
Kojto | 113:f141b2784e32 | 769 | | (CMU_HFRADIOCLKEN0_EN_REG << CMU_EN_REG_POS) |
Kojto | 113:f141b2784e32 | 770 | | (_CMU_HFRADIOCLKEN0_RAC_SHIFT << CMU_EN_BIT_POS) |
Kojto | 113:f141b2784e32 | 771 | | (CMU_HFRADIO_CLK_BRANCH << CMU_CLK_BRANCH_POS), |
Kojto | 113:f141b2784e32 | 772 | #endif |
Kojto | 98:8ab26030e058 | 773 | #endif |
Kojto | 98:8ab26030e058 | 774 | |
Kojto | 98:8ab26030e058 | 775 | /***************/ |
Kojto | 98:8ab26030e058 | 776 | /* LF A branch */ |
Kojto | 98:8ab26030e058 | 777 | /***************/ |
Kojto | 98:8ab26030e058 | 778 | |
Kojto | 98:8ab26030e058 | 779 | /** Low frequency A clock */ |
Kojto | 113:f141b2784e32 | 780 | cmuClock_LFA = (CMU_NODIV_REG << CMU_DIV_REG_POS) |
Kojto | 113:f141b2784e32 | 781 | | (CMU_LFACLKSEL_REG << CMU_SEL_REG_POS) |
Kojto | 113:f141b2784e32 | 782 | | (CMU_NO_EN_REG << CMU_EN_REG_POS) |
Kojto | 113:f141b2784e32 | 783 | | (0 << CMU_EN_BIT_POS) |
Kojto | 113:f141b2784e32 | 784 | | (CMU_LFA_CLK_BRANCH << CMU_CLK_BRANCH_POS), |
Kojto | 98:8ab26030e058 | 785 | |
Kojto | 113:f141b2784e32 | 786 | #if defined( CMU_LFACLKEN0_RTC ) |
Kojto | 98:8ab26030e058 | 787 | /** Real time counter clock. */ |
Kojto | 113:f141b2784e32 | 788 | cmuClock_RTC = (CMU_LFAPRESC0_REG << CMU_DIV_REG_POS) |
Kojto | 113:f141b2784e32 | 789 | | (CMU_NOSEL_REG << CMU_SEL_REG_POS) |
Kojto | 113:f141b2784e32 | 790 | | (CMU_LFACLKEN0_EN_REG << CMU_EN_REG_POS) |
Kojto | 113:f141b2784e32 | 791 | | (_CMU_LFACLKEN0_RTC_SHIFT << CMU_EN_BIT_POS) |
Kojto | 113:f141b2784e32 | 792 | | (CMU_RTC_CLK_BRANCH << CMU_CLK_BRANCH_POS), |
Kojto | 98:8ab26030e058 | 793 | #endif |
Kojto | 98:8ab26030e058 | 794 | |
Kojto | 113:f141b2784e32 | 795 | #if defined( CMU_LFACLKEN0_LETIMER0 ) |
Kojto | 98:8ab26030e058 | 796 | /** Low energy timer 0 clock. */ |
Kojto | 113:f141b2784e32 | 797 | cmuClock_LETIMER0 = (CMU_LFAPRESC0_REG << CMU_DIV_REG_POS) |
Kojto | 113:f141b2784e32 | 798 | | (CMU_NOSEL_REG << CMU_SEL_REG_POS) |
Kojto | 113:f141b2784e32 | 799 | | (CMU_LFACLKEN0_EN_REG << CMU_EN_REG_POS) |
Kojto | 113:f141b2784e32 | 800 | | (_CMU_LFACLKEN0_LETIMER0_SHIFT << CMU_EN_BIT_POS) |
Kojto | 113:f141b2784e32 | 801 | | (CMU_LETIMER_CLK_BRANCH << CMU_CLK_BRANCH_POS), |
Kojto | 98:8ab26030e058 | 802 | #endif |
Kojto | 98:8ab26030e058 | 803 | |
Kojto | 113:f141b2784e32 | 804 | #if defined( CMU_LFACLKEN0_LCD ) |
Kojto | 98:8ab26030e058 | 805 | /** Liquid crystal display, pre FDIV clock. */ |
Kojto | 113:f141b2784e32 | 806 | cmuClock_LCDpre = (CMU_LFAPRESC0_REG << CMU_DIV_REG_POS) |
Kojto | 113:f141b2784e32 | 807 | | (CMU_NOSEL_REG << CMU_SEL_REG_POS) |
Kojto | 113:f141b2784e32 | 808 | | (CMU_NO_EN_REG << CMU_EN_REG_POS) |
Kojto | 113:f141b2784e32 | 809 | | (0 << CMU_EN_BIT_POS) |
Kojto | 113:f141b2784e32 | 810 | | (CMU_LCDPRE_CLK_BRANCH << CMU_CLK_BRANCH_POS), |
Kojto | 98:8ab26030e058 | 811 | |
Kojto | 98:8ab26030e058 | 812 | /** Liquid crystal display clock. Please notice that FDIV prescaler |
Kojto | 98:8ab26030e058 | 813 | * must be set by special API. */ |
Kojto | 113:f141b2784e32 | 814 | cmuClock_LCD = (CMU_NODIV_REG << CMU_DIV_REG_POS) |
Kojto | 113:f141b2784e32 | 815 | | (CMU_NOSEL_REG << CMU_SEL_REG_POS) |
Kojto | 113:f141b2784e32 | 816 | | (CMU_LFACLKEN0_EN_REG << CMU_EN_REG_POS) |
Kojto | 113:f141b2784e32 | 817 | | (_CMU_LFACLKEN0_LCD_SHIFT << CMU_EN_BIT_POS) |
Kojto | 113:f141b2784e32 | 818 | | (CMU_LCD_CLK_BRANCH << CMU_CLK_BRANCH_POS), |
Kojto | 98:8ab26030e058 | 819 | #endif |
Kojto | 98:8ab26030e058 | 820 | |
Kojto | 113:f141b2784e32 | 821 | #if defined( CMU_PCNTCTRL_PCNT0CLKEN ) |
Kojto | 98:8ab26030e058 | 822 | /** Pulse counter 0 clock. */ |
Kojto | 113:f141b2784e32 | 823 | cmuClock_PCNT0 = (CMU_NODIV_REG << CMU_DIV_REG_POS) |
Kojto | 113:f141b2784e32 | 824 | | (CMU_NOSEL_REG << CMU_SEL_REG_POS) |
Kojto | 113:f141b2784e32 | 825 | | (CMU_PCNT_EN_REG << CMU_EN_REG_POS) |
Kojto | 113:f141b2784e32 | 826 | | (_CMU_PCNTCTRL_PCNT0CLKEN_SHIFT << CMU_EN_BIT_POS) |
Kojto | 113:f141b2784e32 | 827 | | (CMU_LFA_CLK_BRANCH << CMU_CLK_BRANCH_POS), |
Kojto | 98:8ab26030e058 | 828 | #endif |
Kojto | 98:8ab26030e058 | 829 | |
Kojto | 113:f141b2784e32 | 830 | #if defined( CMU_PCNTCTRL_PCNT1CLKEN ) |
Kojto | 98:8ab26030e058 | 831 | /** Pulse counter 1 clock. */ |
Kojto | 113:f141b2784e32 | 832 | cmuClock_PCNT1 = (CMU_NODIV_REG << CMU_DIV_REG_POS) |
Kojto | 113:f141b2784e32 | 833 | | (CMU_NOSEL_REG << CMU_SEL_REG_POS) |
Kojto | 113:f141b2784e32 | 834 | | (CMU_PCNT_EN_REG << CMU_EN_REG_POS) |
Kojto | 113:f141b2784e32 | 835 | | (_CMU_PCNTCTRL_PCNT1CLKEN_SHIFT << CMU_EN_BIT_POS) |
Kojto | 113:f141b2784e32 | 836 | | (CMU_LFA_CLK_BRANCH << CMU_CLK_BRANCH_POS), |
Kojto | 98:8ab26030e058 | 837 | #endif |
Kojto | 98:8ab26030e058 | 838 | |
Kojto | 113:f141b2784e32 | 839 | #if defined( CMU_PCNTCTRL_PCNT2CLKEN ) |
Kojto | 98:8ab26030e058 | 840 | /** Pulse counter 2 clock. */ |
Kojto | 113:f141b2784e32 | 841 | cmuClock_PCNT2 = (CMU_NODIV_REG << CMU_DIV_REG_POS) |
Kojto | 113:f141b2784e32 | 842 | | (CMU_NOSEL_REG << CMU_SEL_REG_POS) |
Kojto | 113:f141b2784e32 | 843 | | (CMU_PCNT_EN_REG << CMU_EN_REG_POS) |
Kojto | 113:f141b2784e32 | 844 | | (_CMU_PCNTCTRL_PCNT2CLKEN_SHIFT << CMU_EN_BIT_POS) |
Kojto | 113:f141b2784e32 | 845 | | (CMU_LFA_CLK_BRANCH << CMU_CLK_BRANCH_POS), |
Kojto | 98:8ab26030e058 | 846 | #endif |
Kojto | 113:f141b2784e32 | 847 | #if defined( CMU_LFACLKEN0_LESENSE ) |
Kojto | 98:8ab26030e058 | 848 | /** LESENSE clock. */ |
Kojto | 113:f141b2784e32 | 849 | cmuClock_LESENSE = (CMU_LFAPRESC0_REG << CMU_DIV_REG_POS) |
Kojto | 113:f141b2784e32 | 850 | | (CMU_NOSEL_REG << CMU_SEL_REG_POS) |
Kojto | 113:f141b2784e32 | 851 | | (CMU_LFACLKEN0_EN_REG << CMU_EN_REG_POS) |
Kojto | 113:f141b2784e32 | 852 | | (_CMU_LFACLKEN0_LESENSE_SHIFT << CMU_EN_BIT_POS) |
Kojto | 113:f141b2784e32 | 853 | | (CMU_LESENSE_CLK_BRANCH << CMU_CLK_BRANCH_POS), |
Kojto | 98:8ab26030e058 | 854 | #endif |
Kojto | 98:8ab26030e058 | 855 | |
Kojto | 98:8ab26030e058 | 856 | /***************/ |
Kojto | 98:8ab26030e058 | 857 | /* LF B branch */ |
Kojto | 98:8ab26030e058 | 858 | /***************/ |
Kojto | 98:8ab26030e058 | 859 | |
Kojto | 98:8ab26030e058 | 860 | /** Low frequency B clock */ |
Kojto | 113:f141b2784e32 | 861 | cmuClock_LFB = (CMU_NODIV_REG << CMU_DIV_REG_POS) |
Kojto | 113:f141b2784e32 | 862 | | (CMU_LFBCLKSEL_REG << CMU_SEL_REG_POS) |
Kojto | 113:f141b2784e32 | 863 | | (CMU_NO_EN_REG << CMU_EN_REG_POS) |
Kojto | 113:f141b2784e32 | 864 | | (0 << CMU_EN_BIT_POS) |
Kojto | 113:f141b2784e32 | 865 | | (CMU_LFB_CLK_BRANCH << CMU_CLK_BRANCH_POS), |
Kojto | 98:8ab26030e058 | 866 | |
Kojto | 113:f141b2784e32 | 867 | #if defined( CMU_LFBCLKEN0_LEUART0 ) |
Kojto | 98:8ab26030e058 | 868 | /** Low energy universal asynchronous receiver/transmitter 0 clock. */ |
Kojto | 113:f141b2784e32 | 869 | cmuClock_LEUART0 = (CMU_LFBPRESC0_REG << CMU_DIV_REG_POS) |
Kojto | 113:f141b2784e32 | 870 | | (CMU_NOSEL_REG << CMU_SEL_REG_POS) |
Kojto | 113:f141b2784e32 | 871 | | (CMU_LFBCLKEN0_EN_REG << CMU_EN_REG_POS) |
Kojto | 113:f141b2784e32 | 872 | | (_CMU_LFBCLKEN0_LEUART0_SHIFT << CMU_EN_BIT_POS) |
Kojto | 113:f141b2784e32 | 873 | | (CMU_LEUART0_CLK_BRANCH << CMU_CLK_BRANCH_POS), |
Kojto | 98:8ab26030e058 | 874 | #endif |
Kojto | 98:8ab26030e058 | 875 | |
Kojto | 113:f141b2784e32 | 876 | #if defined( CMU_LFBCLKEN0_LEUART1 ) |
Kojto | 98:8ab26030e058 | 877 | /** Low energy universal asynchronous receiver/transmitter 1 clock. */ |
Kojto | 113:f141b2784e32 | 878 | cmuClock_LEUART1 = (CMU_LFBPRESC0_REG << CMU_DIV_REG_POS) |
Kojto | 113:f141b2784e32 | 879 | | (CMU_NOSEL_REG << CMU_SEL_REG_POS) |
Kojto | 113:f141b2784e32 | 880 | | (CMU_LFBCLKEN0_EN_REG << CMU_EN_REG_POS) |
Kojto | 113:f141b2784e32 | 881 | | (_CMU_LFBCLKEN0_LEUART1_SHIFT << CMU_EN_BIT_POS) |
Kojto | 113:f141b2784e32 | 882 | | (CMU_LEUART1_CLK_BRANCH << CMU_CLK_BRANCH_POS), |
Kojto | 98:8ab26030e058 | 883 | #endif |
Kojto | 98:8ab26030e058 | 884 | |
Kojto | 113:f141b2784e32 | 885 | #if defined( _CMU_LFCCLKEN0_MASK ) |
Kojto | 98:8ab26030e058 | 886 | /***************/ |
Kojto | 98:8ab26030e058 | 887 | /* LF C branch */ |
Kojto | 98:8ab26030e058 | 888 | /***************/ |
Kojto | 98:8ab26030e058 | 889 | |
Kojto | 98:8ab26030e058 | 890 | /** Low frequency C clock */ |
Kojto | 113:f141b2784e32 | 891 | cmuClock_LFC = (CMU_NODIV_REG << CMU_DIV_REG_POS) |
Kojto | 113:f141b2784e32 | 892 | | (CMU_LFCCLKSEL_REG << CMU_SEL_REG_POS) |
Kojto | 113:f141b2784e32 | 893 | | (CMU_NO_EN_REG << CMU_EN_REG_POS) |
Kojto | 113:f141b2784e32 | 894 | | (0 << CMU_EN_BIT_POS) |
Kojto | 113:f141b2784e32 | 895 | | (CMU_LFC_CLK_BRANCH << CMU_CLK_BRANCH_POS), |
Kojto | 113:f141b2784e32 | 896 | |
Kojto | 113:f141b2784e32 | 897 | #if defined( CMU_LFCCLKEN0_USBLE ) |
Kojto | 113:f141b2784e32 | 898 | /** USB LE clock. */ |
Kojto | 113:f141b2784e32 | 899 | cmuClock_USBLE = (CMU_NODIV_REG << CMU_DIV_REG_POS) |
Kojto | 113:f141b2784e32 | 900 | | (CMU_LFCCLKSEL_REG << CMU_SEL_REG_POS) |
Kojto | 113:f141b2784e32 | 901 | | (CMU_LFCCLKEN0_EN_REG << CMU_EN_REG_POS) |
Kojto | 113:f141b2784e32 | 902 | | (_CMU_LFCCLKEN0_USBLE_SHIFT << CMU_EN_BIT_POS) |
Kojto | 113:f141b2784e32 | 903 | | (CMU_USBLE_CLK_BRANCH << CMU_CLK_BRANCH_POS), |
Kojto | 113:f141b2784e32 | 904 | #endif |
Kojto | 98:8ab26030e058 | 905 | #endif |
Kojto | 98:8ab26030e058 | 906 | |
Kojto | 113:f141b2784e32 | 907 | #if defined( _CMU_LFECLKEN0_MASK ) |
Kojto | 113:f141b2784e32 | 908 | /***************/ |
Kojto | 113:f141b2784e32 | 909 | /* LF E branch */ |
Kojto | 113:f141b2784e32 | 910 | /***************/ |
Kojto | 113:f141b2784e32 | 911 | |
Kojto | 113:f141b2784e32 | 912 | /** Low frequency A clock */ |
Kojto | 113:f141b2784e32 | 913 | cmuClock_LFE = (CMU_NOPRESC_REG << CMU_PRESC_REG_POS) |
Kojto | 113:f141b2784e32 | 914 | | (CMU_LFECLKSEL_REG << CMU_SEL_REG_POS) |
Kojto | 113:f141b2784e32 | 915 | | (CMU_NO_EN_REG << CMU_EN_REG_POS) |
Kojto | 113:f141b2784e32 | 916 | | (0 << CMU_EN_BIT_POS) |
Kojto | 113:f141b2784e32 | 917 | | (CMU_LFE_CLK_BRANCH << CMU_CLK_BRANCH_POS), |
Kojto | 113:f141b2784e32 | 918 | |
Kojto | 113:f141b2784e32 | 919 | /** Real time counter and calendar clock. */ |
Kojto | 113:f141b2784e32 | 920 | #if defined ( CMU_LFECLKEN0_RTCC ) |
Kojto | 113:f141b2784e32 | 921 | cmuClock_RTCC = (CMU_LFEPRESC0_REG << CMU_PRESC_REG_POS) |
Kojto | 113:f141b2784e32 | 922 | | (CMU_NOSEL_REG << CMU_SEL_REG_POS) |
Kojto | 113:f141b2784e32 | 923 | | (CMU_LFECLKEN0_EN_REG << CMU_EN_REG_POS) |
Kojto | 113:f141b2784e32 | 924 | | (_CMU_LFECLKEN0_RTCC_SHIFT << CMU_EN_BIT_POS) |
Kojto | 113:f141b2784e32 | 925 | | (CMU_RTCC_CLK_BRANCH << CMU_CLK_BRANCH_POS), |
Kojto | 113:f141b2784e32 | 926 | #endif |
Kojto | 98:8ab26030e058 | 927 | #endif |
Kojto | 98:8ab26030e058 | 928 | |
Kojto | 98:8ab26030e058 | 929 | } CMU_Clock_TypeDef; |
Kojto | 98:8ab26030e058 | 930 | |
Kojto | 98:8ab26030e058 | 931 | |
Kojto | 98:8ab26030e058 | 932 | /** Oscillator types. */ |
Kojto | 98:8ab26030e058 | 933 | typedef enum |
Kojto | 98:8ab26030e058 | 934 | { |
Kojto | 98:8ab26030e058 | 935 | cmuOsc_LFXO, /**< Low frequency crystal oscillator. */ |
Kojto | 98:8ab26030e058 | 936 | cmuOsc_LFRCO, /**< Low frequency RC oscillator. */ |
Kojto | 98:8ab26030e058 | 937 | cmuOsc_HFXO, /**< High frequency crystal oscillator. */ |
Kojto | 98:8ab26030e058 | 938 | cmuOsc_HFRCO, /**< High frequency RC oscillator. */ |
Kojto | 98:8ab26030e058 | 939 | cmuOsc_AUXHFRCO, /**< Auxiliary high frequency RC oscillator. */ |
Kojto | 98:8ab26030e058 | 940 | #if defined( _CMU_STATUS_USHFRCOENS_MASK ) |
Kojto | 98:8ab26030e058 | 941 | cmuOsc_USHFRCO, /**< USB high frequency RC oscillator */ |
Kojto | 98:8ab26030e058 | 942 | #endif |
Kojto | 113:f141b2784e32 | 943 | #if defined( CMU_LFCLKSEL_LFAE_ULFRCO ) || defined( CMU_LFACLKSEL_LFA_ULFRCO ) |
Kojto | 98:8ab26030e058 | 944 | cmuOsc_ULFRCO /**< Ultra low frequency RC oscillator. */ |
Kojto | 98:8ab26030e058 | 945 | #endif |
Kojto | 98:8ab26030e058 | 946 | } CMU_Osc_TypeDef; |
Kojto | 98:8ab26030e058 | 947 | |
Kojto | 98:8ab26030e058 | 948 | |
Kojto | 98:8ab26030e058 | 949 | /** Selectable clock sources. */ |
Kojto | 98:8ab26030e058 | 950 | typedef enum |
Kojto | 98:8ab26030e058 | 951 | { |
Kojto | 98:8ab26030e058 | 952 | cmuSelect_Error, /**< Usage error. */ |
Kojto | 98:8ab26030e058 | 953 | cmuSelect_Disabled, /**< Clock selector disabled. */ |
Kojto | 98:8ab26030e058 | 954 | cmuSelect_LFXO, /**< Low frequency crystal oscillator. */ |
Kojto | 98:8ab26030e058 | 955 | cmuSelect_LFRCO, /**< Low frequency RC oscillator. */ |
Kojto | 98:8ab26030e058 | 956 | cmuSelect_HFXO, /**< High frequency crystal oscillator. */ |
Kojto | 98:8ab26030e058 | 957 | cmuSelect_HFRCO, /**< High frequency RC oscillator. */ |
Kojto | 113:f141b2784e32 | 958 | #if defined( CMU_LFACLKSEL_LFA_HFCLKLE ) || defined( CMU_LFBCLKSEL_LFB_HFCLKLE ) |
Kojto | 113:f141b2784e32 | 959 | cmuSelect_HFCLKLE, /**< High frequency clock to LE divided by 2 or 4. */ |
Kojto | 113:f141b2784e32 | 960 | #endif |
Kojto | 98:8ab26030e058 | 961 | cmuSelect_CORELEDIV2, /**< Core low energy clock divided by 2. */ |
Kojto | 98:8ab26030e058 | 962 | cmuSelect_AUXHFRCO, /**< Auxilliary clock source can be used for debug clock */ |
Kojto | 98:8ab26030e058 | 963 | cmuSelect_HFCLK, /**< Divided HFCLK on Giant for debug clock, undivided on Tiny Gecko and for USBC (not used on Gecko) */ |
Kojto | 113:f141b2784e32 | 964 | #if defined( CMU_STATUS_USHFRCOENS ) |
Kojto | 98:8ab26030e058 | 965 | cmuSelect_USHFRCO, /**< USB high frequency RC oscillator */ |
Kojto | 98:8ab26030e058 | 966 | #endif |
Kojto | 113:f141b2784e32 | 967 | #if defined( CMU_CMD_HFCLKSEL_USHFRCODIV2 ) |
Kojto | 98:8ab26030e058 | 968 | cmuSelect_USHFRCODIV2,/**< USB high frequency RC oscillator */ |
Kojto | 98:8ab26030e058 | 969 | #endif |
Kojto | 113:f141b2784e32 | 970 | #if defined( CMU_LFCLKSEL_LFAE_ULFRCO ) || defined( CMU_LFACLKSEL_LFA_ULFRCO ) |
Kojto | 98:8ab26030e058 | 971 | cmuSelect_ULFRCO, /**< Ultra low frequency RC oscillator. */ |
Kojto | 98:8ab26030e058 | 972 | #endif |
Kojto | 98:8ab26030e058 | 973 | } CMU_Select_TypeDef; |
Kojto | 98:8ab26030e058 | 974 | |
Kojto | 98:8ab26030e058 | 975 | |
Kojto | 98:8ab26030e058 | 976 | /******************************************************************************* |
Kojto | 113:f141b2784e32 | 977 | ******************************* STRUCTS *********************************** |
Kojto | 113:f141b2784e32 | 978 | ******************************************************************************/ |
Kojto | 113:f141b2784e32 | 979 | |
Kojto | 113:f141b2784e32 | 980 | #if defined( _CMU_LFXOCTRL_MASK ) |
Kojto | 113:f141b2784e32 | 981 | /** LFXO initialization structure. Init values should be obtained from a configuration tool, |
Kojto | 113:f141b2784e32 | 982 | app note or xtal datasheet */ |
Kojto | 113:f141b2784e32 | 983 | typedef struct |
Kojto | 113:f141b2784e32 | 984 | { |
Kojto | 113:f141b2784e32 | 985 | uint8_t ctune; /**< CTUNE (load capacitance) value */ |
Kojto | 113:f141b2784e32 | 986 | uint8_t gain; /**< Gain / max startup margin */ |
Kojto | 113:f141b2784e32 | 987 | uint8_t timeout; /**< Startup delay */ |
Kojto | 113:f141b2784e32 | 988 | } CMU_LFXOInit_TypeDef; |
Kojto | 113:f141b2784e32 | 989 | |
Kojto | 113:f141b2784e32 | 990 | /** Default LFXO initialization */ |
Kojto | 113:f141b2784e32 | 991 | #define CMU_LFXOINIT_DEFAULT \ |
Kojto | 113:f141b2784e32 | 992 | { \ |
Kojto | 113:f141b2784e32 | 993 | _CMU_LFXOCTRL_TUNING_DEFAULT, \ |
Kojto | 113:f141b2784e32 | 994 | _CMU_LFXOCTRL_GAIN_DEFAULT, \ |
Kojto | 113:f141b2784e32 | 995 | _CMU_LFXOCTRL_TIMEOUT_DEFAULT, \ |
Kojto | 113:f141b2784e32 | 996 | } |
Kojto | 113:f141b2784e32 | 997 | #endif |
Kojto | 113:f141b2784e32 | 998 | |
Kojto | 113:f141b2784e32 | 999 | #if defined( _CMU_HFXOCTRL_MASK ) |
Kojto | 113:f141b2784e32 | 1000 | /** HFXO initialization structure. Init values should be obtained from a configuration tool, |
Kojto | 113:f141b2784e32 | 1001 | app note or xtal datasheet */ |
Kojto | 113:f141b2784e32 | 1002 | typedef struct |
Kojto | 113:f141b2784e32 | 1003 | { |
Kojto | 113:f141b2784e32 | 1004 | bool lowPowerMode; /**< Enable low-power mode */ |
Kojto | 113:f141b2784e32 | 1005 | bool autoStartEm01; /**< Enable auto-start on entry to EM0/1 */ |
Kojto | 113:f141b2784e32 | 1006 | bool autoSelEm01; /**< Enable auto-select on entry to EM0/1 */ |
Kojto | 113:f141b2784e32 | 1007 | bool autoStartSelOnRacWakeup; /**< Enable auto-start and select on RAC wakeup */ |
Kojto | 113:f141b2784e32 | 1008 | uint16_t ctuneStartup; /**< Startup phase CTUNE (load capacitance) value */ |
Kojto | 113:f141b2784e32 | 1009 | uint16_t ctuneSteadyState; /**< Steady-state phase CTUNE (load capacitance) value */ |
Kojto | 113:f141b2784e32 | 1010 | uint8_t regIshStartup; /**< Shunt startup current */ |
Kojto | 113:f141b2784e32 | 1011 | uint8_t regIshSteadyState; /**< Shunt steady-state current */ |
Kojto | 113:f141b2784e32 | 1012 | uint8_t xoCoreBiasTrimStartup; /**< Startup XO core bias current trim */ |
Kojto | 113:f141b2784e32 | 1013 | uint8_t xoCoreBiasTrimSteadyState; /**< Steady-state XO core bias current trim */ |
Kojto | 113:f141b2784e32 | 1014 | uint8_t thresholdPeakDetect; /**< Peak detection threshold */ |
Kojto | 113:f141b2784e32 | 1015 | uint8_t timeoutShuntOptimization; /**< Timeout - shunt optimization */ |
Kojto | 113:f141b2784e32 | 1016 | uint8_t timeoutPeakDetect; /**< Timeout - peak detection */ |
Kojto | 113:f141b2784e32 | 1017 | uint8_t timeoutWarmSteady; /**< Timeout - warmup */ |
Kojto | 113:f141b2784e32 | 1018 | uint8_t timeoutSteady; /**< Timeout - steady-state */ |
Kojto | 113:f141b2784e32 | 1019 | uint8_t timeoutStartup; /**< Timeout - startup */ |
Kojto | 113:f141b2784e32 | 1020 | } CMU_HFXOInit_TypeDef; |
Kojto | 113:f141b2784e32 | 1021 | |
Kojto | 113:f141b2784e32 | 1022 | /** Default HFXO initialization */ |
Kojto | 113:f141b2784e32 | 1023 | #if defined( _EFR_DEVICE ) |
Kojto | 113:f141b2784e32 | 1024 | #define CMU_HFXOINIT_DEFAULT \ |
Kojto | 113:f141b2784e32 | 1025 | { \ |
Kojto | 113:f141b2784e32 | 1026 | false, /* Low-noise mode for EFR32 */ \ |
Kojto | 113:f141b2784e32 | 1027 | false, /* Disable auto-start on EM0/1 entry */ \ |
Kojto | 113:f141b2784e32 | 1028 | false, /* Disable auto-select on EM0/1 entry */ \ |
Kojto | 113:f141b2784e32 | 1029 | false, /* Disable auto-start and select on RAC wakeup */ \ |
Kojto | 113:f141b2784e32 | 1030 | _CMU_HFXOSTARTUPCTRL_CTUNE_DEFAULT, \ |
Kojto | 113:f141b2784e32 | 1031 | _CMU_HFXOSTEADYSTATECTRL_CTUNE_DEFAULT, \ |
Kojto | 113:f141b2784e32 | 1032 | _CMU_HFXOSTARTUPCTRL_REGISHWARM_DEFAULT, \ |
Kojto | 113:f141b2784e32 | 1033 | _CMU_HFXOSTEADYSTATECTRL_REGISH_DEFAULT, \ |
Kojto | 113:f141b2784e32 | 1034 | _CMU_HFXOSTARTUPCTRL_IBTRIMXOCORE_DEFAULT, \ |
Kojto | 113:f141b2784e32 | 1035 | 0x7, /* Recommended steady-state XO core bias current */ \ |
Kojto | 113:f141b2784e32 | 1036 | 0x6, /* Recommended peak detection threshold */ \ |
Kojto | 113:f141b2784e32 | 1037 | _CMU_HFXOTIMEOUTCTRL_SHUNTOPTTIMEOUT_DEFAULT, \ |
Kojto | 113:f141b2784e32 | 1038 | 0xA, /* Recommended peak detection timeout */ \ |
Kojto | 113:f141b2784e32 | 1039 | _CMU_HFXOTIMEOUTCTRL_WARMSTEADYTIMEOUT_DEFAULT, \ |
Kojto | 113:f141b2784e32 | 1040 | _CMU_HFXOTIMEOUTCTRL_STEADYTIMEOUT_DEFAULT, \ |
Kojto | 113:f141b2784e32 | 1041 | _CMU_HFXOTIMEOUTCTRL_STARTUPTIMEOUT_DEFAULT, \ |
Kojto | 113:f141b2784e32 | 1042 | } |
Kojto | 113:f141b2784e32 | 1043 | /* EFM32 device */ |
Kojto | 113:f141b2784e32 | 1044 | #else |
Kojto | 113:f141b2784e32 | 1045 | #define CMU_HFXOINIT_DEFAULT \ |
Kojto | 113:f141b2784e32 | 1046 | { \ |
Kojto | 113:f141b2784e32 | 1047 | true, /* Low-power mode for EFM32 */ \ |
Kojto | 113:f141b2784e32 | 1048 | false, /* Disable auto-start on EM0/1 entry */ \ |
Kojto | 113:f141b2784e32 | 1049 | false, /* Disable auto-select on EM0/1 entry */ \ |
Kojto | 113:f141b2784e32 | 1050 | false, /* Disable auto-start and select on RAC wakeup */ \ |
Kojto | 113:f141b2784e32 | 1051 | _CMU_HFXOSTARTUPCTRL_CTUNE_DEFAULT, \ |
Kojto | 113:f141b2784e32 | 1052 | _CMU_HFXOSTEADYSTATECTRL_CTUNE_DEFAULT, \ |
Kojto | 113:f141b2784e32 | 1053 | _CMU_HFXOSTARTUPCTRL_REGISHWARM_DEFAULT, \ |
Kojto | 113:f141b2784e32 | 1054 | _CMU_HFXOSTEADYSTATECTRL_REGISH_DEFAULT, \ |
Kojto | 113:f141b2784e32 | 1055 | _CMU_HFXOSTARTUPCTRL_IBTRIMXOCORE_DEFAULT, \ |
Kojto | 113:f141b2784e32 | 1056 | 0x7, /* Recommended steady-state osc core bias current */ \ |
Kojto | 113:f141b2784e32 | 1057 | 0x6, /* Recommended peak detection threshold */ \ |
Kojto | 113:f141b2784e32 | 1058 | _CMU_HFXOTIMEOUTCTRL_SHUNTOPTTIMEOUT_DEFAULT, \ |
Kojto | 113:f141b2784e32 | 1059 | 0xA, /* Recommended peak detection timeout */ \ |
Kojto | 113:f141b2784e32 | 1060 | _CMU_HFXOTIMEOUTCTRL_WARMSTEADYTIMEOUT_DEFAULT, \ |
Kojto | 113:f141b2784e32 | 1061 | _CMU_HFXOTIMEOUTCTRL_STEADYTIMEOUT_DEFAULT, \ |
Kojto | 113:f141b2784e32 | 1062 | _CMU_HFXOTIMEOUTCTRL_STARTUPTIMEOUT_DEFAULT, \ |
Kojto | 113:f141b2784e32 | 1063 | } |
Kojto | 113:f141b2784e32 | 1064 | #endif |
Kojto | 113:f141b2784e32 | 1065 | #endif /* _CMU_HFXOCTRL_MASK */ |
Kojto | 113:f141b2784e32 | 1066 | |
Kojto | 113:f141b2784e32 | 1067 | |
Kojto | 113:f141b2784e32 | 1068 | /******************************************************************************* |
Kojto | 98:8ab26030e058 | 1069 | ***************************** PROTOTYPES ********************************** |
Kojto | 98:8ab26030e058 | 1070 | ******************************************************************************/ |
Kojto | 98:8ab26030e058 | 1071 | |
Kojto | 113:f141b2784e32 | 1072 | #if defined( _CMU_AUXHFRCOCTRL_BAND_MASK ) |
Kojto | 113:f141b2784e32 | 1073 | CMU_AUXHFRCOBand_TypeDef CMU_AUXHFRCOBandGet(void); |
Kojto | 113:f141b2784e32 | 1074 | void CMU_AUXHFRCOBandSet(CMU_AUXHFRCOBand_TypeDef band); |
Kojto | 113:f141b2784e32 | 1075 | |
Kojto | 113:f141b2784e32 | 1076 | #elif defined( _CMU_AUXHFRCOCTRL_FREQRANGE_MASK ) |
Kojto | 113:f141b2784e32 | 1077 | CMU_AUXHFRCOFreq_TypeDef CMU_AUXHFRCOFreqGet(void); |
Kojto | 113:f141b2784e32 | 1078 | void CMU_AUXHFRCOFreqSet(CMU_AUXHFRCOFreq_TypeDef freqEnum); |
Kojto | 113:f141b2784e32 | 1079 | #endif |
Kojto | 113:f141b2784e32 | 1080 | |
Kojto | 113:f141b2784e32 | 1081 | uint32_t CMU_Calibrate(uint32_t HFCycles, CMU_Osc_TypeDef reference); |
Kojto | 98:8ab26030e058 | 1082 | |
Kojto | 113:f141b2784e32 | 1083 | #if defined( _CMU_CALCTRL_UPSEL_MASK ) && defined( _CMU_CALCTRL_DOWNSEL_MASK ) |
Kojto | 113:f141b2784e32 | 1084 | void CMU_CalibrateConfig(uint32_t downCycles, CMU_Osc_TypeDef downSel, |
Kojto | 113:f141b2784e32 | 1085 | CMU_Osc_TypeDef upSel); |
Kojto | 113:f141b2784e32 | 1086 | #endif |
Kojto | 98:8ab26030e058 | 1087 | |
Kojto | 113:f141b2784e32 | 1088 | uint32_t CMU_CalibrateCountGet(void); |
Kojto | 113:f141b2784e32 | 1089 | void CMU_ClockEnable(CMU_Clock_TypeDef clock, bool enable); |
Kojto | 113:f141b2784e32 | 1090 | CMU_ClkDiv_TypeDef CMU_ClockDivGet(CMU_Clock_TypeDef clock); |
Kojto | 113:f141b2784e32 | 1091 | void CMU_ClockDivSet(CMU_Clock_TypeDef clock, CMU_ClkDiv_TypeDef div); |
Kojto | 113:f141b2784e32 | 1092 | uint32_t CMU_ClockFreqGet(CMU_Clock_TypeDef clock); |
Kojto | 113:f141b2784e32 | 1093 | |
Kojto | 113:f141b2784e32 | 1094 | #if defined( _SILICON_LABS_32B_PLATFORM_2 ) |
Kojto | 113:f141b2784e32 | 1095 | void CMU_ClockPrescSet(CMU_Clock_TypeDef clock, uint32_t presc); |
Kojto | 113:f141b2784e32 | 1096 | uint32_t CMU_ClockPrescGet(CMU_Clock_TypeDef clock); |
Kojto | 98:8ab26030e058 | 1097 | #endif |
Kojto | 98:8ab26030e058 | 1098 | |
Kojto | 113:f141b2784e32 | 1099 | void CMU_ClockSelectSet(CMU_Clock_TypeDef clock, CMU_Select_TypeDef ref); |
Kojto | 113:f141b2784e32 | 1100 | CMU_Select_TypeDef CMU_ClockSelectGet(CMU_Clock_TypeDef clock); |
Kojto | 113:f141b2784e32 | 1101 | void CMU_FreezeEnable(bool enable); |
Kojto | 113:f141b2784e32 | 1102 | |
Kojto | 113:f141b2784e32 | 1103 | #if defined( _CMU_HFRCOCTRL_BAND_MASK ) |
Kojto | 113:f141b2784e32 | 1104 | CMU_HFRCOBand_TypeDef CMU_HFRCOBandGet(void); |
Kojto | 113:f141b2784e32 | 1105 | void CMU_HFRCOBandSet(CMU_HFRCOBand_TypeDef band); |
Kojto | 113:f141b2784e32 | 1106 | |
Kojto | 113:f141b2784e32 | 1107 | #elif defined( _CMU_HFRCOCTRL_FREQRANGE_MASK ) |
Kojto | 113:f141b2784e32 | 1108 | CMU_HFRCOFreq_TypeDef CMU_HFRCOFreqGet(void); |
Kojto | 113:f141b2784e32 | 1109 | void CMU_HFRCOFreqSet(CMU_HFRCOFreq_TypeDef freqEnum); |
Kojto | 113:f141b2784e32 | 1110 | #endif |
Kojto | 113:f141b2784e32 | 1111 | |
Kojto | 113:f141b2784e32 | 1112 | uint32_t CMU_HFRCOStartupDelayGet(void); |
Kojto | 113:f141b2784e32 | 1113 | void CMU_HFRCOStartupDelaySet(uint32_t delay); |
Kojto | 113:f141b2784e32 | 1114 | |
Kojto | 113:f141b2784e32 | 1115 | #if defined( _CMU_HFXOCTRL_AUTOSTARTRDYSELRAC_MASK ) |
Kojto | 113:f141b2784e32 | 1116 | void CMU_HFXOAutostartEnable(bool enRACStartSel, |
Kojto | 113:f141b2784e32 | 1117 | bool enEM0EM1Start, |
Kojto | 113:f141b2784e32 | 1118 | bool enEM0EM1StartSel); |
Kojto | 113:f141b2784e32 | 1119 | #endif |
Kojto | 113:f141b2784e32 | 1120 | |
Kojto | 113:f141b2784e32 | 1121 | #if defined( _CMU_HFXOCTRL_MASK ) |
Kojto | 113:f141b2784e32 | 1122 | void CMU_HFXOInit(CMU_HFXOInit_TypeDef *hfxoInit); |
Kojto | 113:f141b2784e32 | 1123 | #endif |
Kojto | 113:f141b2784e32 | 1124 | |
Kojto | 113:f141b2784e32 | 1125 | |
Kojto | 113:f141b2784e32 | 1126 | uint32_t CMU_LCDClkFDIVGet(void); |
Kojto | 113:f141b2784e32 | 1127 | void CMU_LCDClkFDIVSet(uint32_t div); |
Kojto | 113:f141b2784e32 | 1128 | |
Kojto | 113:f141b2784e32 | 1129 | #if defined( _CMU_LFXOCTRL_MASK ) |
Kojto | 113:f141b2784e32 | 1130 | void CMU_LFXOInit(CMU_LFXOInit_TypeDef *lfxoInit); |
Kojto | 98:8ab26030e058 | 1131 | #endif |
Kojto | 98:8ab26030e058 | 1132 | |
Kojto | 113:f141b2784e32 | 1133 | void CMU_OscillatorEnable(CMU_Osc_TypeDef osc, bool enable, bool wait); |
Kojto | 113:f141b2784e32 | 1134 | uint32_t CMU_OscillatorTuningGet(CMU_Osc_TypeDef osc); |
Kojto | 113:f141b2784e32 | 1135 | void CMU_OscillatorTuningSet(CMU_Osc_TypeDef osc, uint32_t val); |
Kojto | 113:f141b2784e32 | 1136 | bool CMU_PCNTClockExternalGet(unsigned int instance); |
Kojto | 113:f141b2784e32 | 1137 | void CMU_PCNTClockExternalSet(unsigned int instance, bool external); |
Kojto | 113:f141b2784e32 | 1138 | |
Kojto | 113:f141b2784e32 | 1139 | #if defined( _CMU_USHFRCOCONF_BAND_MASK ) |
Kojto | 113:f141b2784e32 | 1140 | CMU_USHFRCOBand_TypeDef CMU_USHFRCOBandGet(void); |
Kojto | 113:f141b2784e32 | 1141 | void CMU_USHFRCOBandSet(CMU_USHFRCOBand_TypeDef band); |
Kojto | 113:f141b2784e32 | 1142 | #endif |
Kojto | 113:f141b2784e32 | 1143 | |
Kojto | 98:8ab26030e058 | 1144 | |
Kojto | 113:f141b2784e32 | 1145 | #if defined( CMU_CALCTRL_CONT ) |
Kojto | 113:f141b2784e32 | 1146 | /***************************************************************************//** |
Kojto | 113:f141b2784e32 | 1147 | * @brief |
Kojto | 113:f141b2784e32 | 1148 | * Configures continuous calibration mode |
Kojto | 113:f141b2784e32 | 1149 | * @param[in] enable |
Kojto | 113:f141b2784e32 | 1150 | * If true, enables continuous calibration, if false disables continuous |
Kojto | 113:f141b2784e32 | 1151 | * calibrartion |
Kojto | 113:f141b2784e32 | 1152 | ******************************************************************************/ |
Kojto | 113:f141b2784e32 | 1153 | __STATIC_INLINE void CMU_CalibrateCont(bool enable) |
Kojto | 113:f141b2784e32 | 1154 | { |
Kojto | 113:f141b2784e32 | 1155 | BUS_RegBitWrite(&(CMU->CALCTRL), _CMU_CALCTRL_CONT_SHIFT, enable); |
Kojto | 113:f141b2784e32 | 1156 | } |
Kojto | 113:f141b2784e32 | 1157 | #endif |
Kojto | 98:8ab26030e058 | 1158 | |
Kojto | 98:8ab26030e058 | 1159 | |
Kojto | 113:f141b2784e32 | 1160 | /***************************************************************************//** |
Kojto | 113:f141b2784e32 | 1161 | * @brief |
Kojto | 113:f141b2784e32 | 1162 | * Starts calibration |
Kojto | 113:f141b2784e32 | 1163 | * @note |
Kojto | 113:f141b2784e32 | 1164 | * This call is usually invoked after CMU_CalibrateConfig() and possibly |
Kojto | 113:f141b2784e32 | 1165 | * CMU_CalibrateCont() |
Kojto | 113:f141b2784e32 | 1166 | ******************************************************************************/ |
Kojto | 113:f141b2784e32 | 1167 | __STATIC_INLINE void CMU_CalibrateStart(void) |
Kojto | 113:f141b2784e32 | 1168 | { |
Kojto | 113:f141b2784e32 | 1169 | CMU->CMD = CMU_CMD_CALSTART; |
Kojto | 113:f141b2784e32 | 1170 | } |
Kojto | 113:f141b2784e32 | 1171 | |
Kojto | 113:f141b2784e32 | 1172 | |
Kojto | 113:f141b2784e32 | 1173 | #if defined( CMU_CMD_CALSTOP ) |
Kojto | 113:f141b2784e32 | 1174 | /***************************************************************************//** |
Kojto | 113:f141b2784e32 | 1175 | * @brief |
Kojto | 113:f141b2784e32 | 1176 | * Stop the calibration counters |
Kojto | 113:f141b2784e32 | 1177 | ******************************************************************************/ |
Kojto | 113:f141b2784e32 | 1178 | __STATIC_INLINE void CMU_CalibrateStop(void) |
Kojto | 113:f141b2784e32 | 1179 | { |
Kojto | 113:f141b2784e32 | 1180 | CMU->CMD = CMU_CMD_CALSTOP; |
Kojto | 113:f141b2784e32 | 1181 | } |
Kojto | 113:f141b2784e32 | 1182 | #endif |
Kojto | 113:f141b2784e32 | 1183 | |
Kojto | 98:8ab26030e058 | 1184 | |
Kojto | 113:f141b2784e32 | 1185 | /***************************************************************************//** |
Kojto | 113:f141b2784e32 | 1186 | * @brief |
Kojto | 113:f141b2784e32 | 1187 | * Convert dividend to logarithmic value. Only works for even |
Kojto | 113:f141b2784e32 | 1188 | * numbers equal to 2^n. |
Kojto | 113:f141b2784e32 | 1189 | * |
Kojto | 113:f141b2784e32 | 1190 | * @param[in] div |
Kojto | 113:f141b2784e32 | 1191 | * Unscaled dividend. |
Kojto | 113:f141b2784e32 | 1192 | * |
Kojto | 113:f141b2784e32 | 1193 | * @return |
Kojto | 113:f141b2784e32 | 1194 | * Logarithm of 2, as used by fixed prescalers. |
Kojto | 113:f141b2784e32 | 1195 | ******************************************************************************/ |
Kojto | 113:f141b2784e32 | 1196 | __STATIC_INLINE uint32_t CMU_DivToLog2(CMU_ClkDiv_TypeDef div) |
Kojto | 113:f141b2784e32 | 1197 | { |
Kojto | 113:f141b2784e32 | 1198 | uint32_t log2; |
Kojto | 98:8ab26030e058 | 1199 | |
Kojto | 113:f141b2784e32 | 1200 | /* Fixed 2^n prescalers take argument of 32768 or less. */ |
Kojto | 113:f141b2784e32 | 1201 | EFM_ASSERT((div > 0U) && (div <= 32768U)); |
Kojto | 113:f141b2784e32 | 1202 | |
Kojto | 113:f141b2784e32 | 1203 | /* Count leading zeroes and "reverse" result */ |
Kojto | 113:f141b2784e32 | 1204 | log2 = (31U - __CLZ(div)); |
Kojto | 113:f141b2784e32 | 1205 | |
Kojto | 113:f141b2784e32 | 1206 | return log2; |
Kojto | 113:f141b2784e32 | 1207 | } |
Kojto | 113:f141b2784e32 | 1208 | |
Kojto | 98:8ab26030e058 | 1209 | |
Kojto | 98:8ab26030e058 | 1210 | /***************************************************************************//** |
Kojto | 98:8ab26030e058 | 1211 | * @brief |
Kojto | 98:8ab26030e058 | 1212 | * Clear one or more pending CMU interrupts. |
Kojto | 98:8ab26030e058 | 1213 | * |
Kojto | 98:8ab26030e058 | 1214 | * @param[in] flags |
Kojto | 98:8ab26030e058 | 1215 | * CMU interrupt sources to clear. |
Kojto | 98:8ab26030e058 | 1216 | ******************************************************************************/ |
Kojto | 98:8ab26030e058 | 1217 | __STATIC_INLINE void CMU_IntClear(uint32_t flags) |
Kojto | 98:8ab26030e058 | 1218 | { |
Kojto | 98:8ab26030e058 | 1219 | CMU->IFC = flags; |
Kojto | 98:8ab26030e058 | 1220 | } |
Kojto | 98:8ab26030e058 | 1221 | |
Kojto | 98:8ab26030e058 | 1222 | |
Kojto | 98:8ab26030e058 | 1223 | /***************************************************************************//** |
Kojto | 98:8ab26030e058 | 1224 | * @brief |
Kojto | 98:8ab26030e058 | 1225 | * Disable one or more CMU interrupts. |
Kojto | 98:8ab26030e058 | 1226 | * |
Kojto | 98:8ab26030e058 | 1227 | * @param[in] flags |
Kojto | 98:8ab26030e058 | 1228 | * CMU interrupt sources to disable. |
Kojto | 98:8ab26030e058 | 1229 | ******************************************************************************/ |
Kojto | 98:8ab26030e058 | 1230 | __STATIC_INLINE void CMU_IntDisable(uint32_t flags) |
Kojto | 98:8ab26030e058 | 1231 | { |
Kojto | 98:8ab26030e058 | 1232 | CMU->IEN &= ~flags; |
Kojto | 98:8ab26030e058 | 1233 | } |
Kojto | 98:8ab26030e058 | 1234 | |
Kojto | 98:8ab26030e058 | 1235 | |
Kojto | 98:8ab26030e058 | 1236 | /***************************************************************************//** |
Kojto | 98:8ab26030e058 | 1237 | * @brief |
Kojto | 98:8ab26030e058 | 1238 | * Enable one or more CMU interrupts. |
Kojto | 98:8ab26030e058 | 1239 | * |
Kojto | 98:8ab26030e058 | 1240 | * @note |
Kojto | 98:8ab26030e058 | 1241 | * Depending on the use, a pending interrupt may already be set prior to |
Kojto | 98:8ab26030e058 | 1242 | * enabling the interrupt. Consider using CMU_IntClear() prior to enabling |
Kojto | 98:8ab26030e058 | 1243 | * if such a pending interrupt should be ignored. |
Kojto | 98:8ab26030e058 | 1244 | * |
Kojto | 98:8ab26030e058 | 1245 | * @param[in] flags |
Kojto | 98:8ab26030e058 | 1246 | * CMU interrupt sources to enable. |
Kojto | 98:8ab26030e058 | 1247 | ******************************************************************************/ |
Kojto | 98:8ab26030e058 | 1248 | __STATIC_INLINE void CMU_IntEnable(uint32_t flags) |
Kojto | 98:8ab26030e058 | 1249 | { |
Kojto | 98:8ab26030e058 | 1250 | CMU->IEN |= flags; |
Kojto | 98:8ab26030e058 | 1251 | } |
Kojto | 98:8ab26030e058 | 1252 | |
Kojto | 98:8ab26030e058 | 1253 | |
Kojto | 98:8ab26030e058 | 1254 | /***************************************************************************//** |
Kojto | 98:8ab26030e058 | 1255 | * @brief |
Kojto | 98:8ab26030e058 | 1256 | * Get pending CMU interrupts. |
Kojto | 98:8ab26030e058 | 1257 | * |
Kojto | 98:8ab26030e058 | 1258 | * @return |
Kojto | 98:8ab26030e058 | 1259 | * CMU interrupt sources pending. |
Kojto | 98:8ab26030e058 | 1260 | ******************************************************************************/ |
Kojto | 98:8ab26030e058 | 1261 | __STATIC_INLINE uint32_t CMU_IntGet(void) |
Kojto | 98:8ab26030e058 | 1262 | { |
Kojto | 98:8ab26030e058 | 1263 | return CMU->IF; |
Kojto | 98:8ab26030e058 | 1264 | } |
Kojto | 98:8ab26030e058 | 1265 | |
Kojto | 98:8ab26030e058 | 1266 | |
Kojto | 98:8ab26030e058 | 1267 | /***************************************************************************//** |
Kojto | 98:8ab26030e058 | 1268 | * @brief |
Kojto | 98:8ab26030e058 | 1269 | * Get enabled and pending CMU interrupt flags. |
Kojto | 98:8ab26030e058 | 1270 | * |
Kojto | 98:8ab26030e058 | 1271 | * @details |
Kojto | 98:8ab26030e058 | 1272 | * Useful for handling more interrupt sources in the same interrupt handler. |
Kojto | 98:8ab26030e058 | 1273 | * |
Kojto | 98:8ab26030e058 | 1274 | * @note |
Kojto | 98:8ab26030e058 | 1275 | * The event bits are not cleared by the use of this function. |
Kojto | 98:8ab26030e058 | 1276 | * |
Kojto | 98:8ab26030e058 | 1277 | * @return |
Kojto | 113:f141b2784e32 | 1278 | * Pending and enabled CMU interrupt sources |
Kojto | 113:f141b2784e32 | 1279 | * The return value is the bitwise AND of |
Kojto | 113:f141b2784e32 | 1280 | * - the enabled interrupt sources in CMU_IEN and |
Kojto | 113:f141b2784e32 | 1281 | * - the pending interrupt flags CMU_IF |
Kojto | 98:8ab26030e058 | 1282 | ******************************************************************************/ |
Kojto | 98:8ab26030e058 | 1283 | __STATIC_INLINE uint32_t CMU_IntGetEnabled(void) |
Kojto | 98:8ab26030e058 | 1284 | { |
Kojto | 113:f141b2784e32 | 1285 | uint32_t ien; |
Kojto | 98:8ab26030e058 | 1286 | |
Kojto | 113:f141b2784e32 | 1287 | ien = CMU->IEN; |
Kojto | 113:f141b2784e32 | 1288 | return CMU->IF & ien; |
Kojto | 98:8ab26030e058 | 1289 | } |
Kojto | 98:8ab26030e058 | 1290 | |
Kojto | 98:8ab26030e058 | 1291 | |
Kojto | 98:8ab26030e058 | 1292 | /**************************************************************************//** |
Kojto | 98:8ab26030e058 | 1293 | * @brief |
Kojto | 113:f141b2784e32 | 1294 | * Set one or more pending CMU interrupts. |
Kojto | 98:8ab26030e058 | 1295 | * |
Kojto | 98:8ab26030e058 | 1296 | * @param[in] flags |
Kojto | 98:8ab26030e058 | 1297 | * CMU interrupt sources to set to pending. |
Kojto | 98:8ab26030e058 | 1298 | *****************************************************************************/ |
Kojto | 98:8ab26030e058 | 1299 | __STATIC_INLINE void CMU_IntSet(uint32_t flags) |
Kojto | 98:8ab26030e058 | 1300 | { |
Kojto | 98:8ab26030e058 | 1301 | CMU->IFS = flags; |
Kojto | 98:8ab26030e058 | 1302 | } |
Kojto | 98:8ab26030e058 | 1303 | |
Kojto | 98:8ab26030e058 | 1304 | |
Kojto | 98:8ab26030e058 | 1305 | /***************************************************************************//** |
Kojto | 98:8ab26030e058 | 1306 | * @brief |
Kojto | 98:8ab26030e058 | 1307 | * Lock the CMU in order to protect some of its registers against unintended |
Kojto | 98:8ab26030e058 | 1308 | * modification. |
Kojto | 98:8ab26030e058 | 1309 | * |
Kojto | 98:8ab26030e058 | 1310 | * @details |
Kojto | 98:8ab26030e058 | 1311 | * Please refer to the reference manual for CMU registers that will be |
Kojto | 98:8ab26030e058 | 1312 | * locked. |
Kojto | 98:8ab26030e058 | 1313 | * |
Kojto | 98:8ab26030e058 | 1314 | * @note |
Kojto | 98:8ab26030e058 | 1315 | * If locking the CMU registers, they must be unlocked prior to using any |
Kojto | 98:8ab26030e058 | 1316 | * CMU API functions modifying CMU registers protected by the lock. |
Kojto | 98:8ab26030e058 | 1317 | ******************************************************************************/ |
Kojto | 98:8ab26030e058 | 1318 | __STATIC_INLINE void CMU_Lock(void) |
Kojto | 98:8ab26030e058 | 1319 | { |
Kojto | 98:8ab26030e058 | 1320 | CMU->LOCK = CMU_LOCK_LOCKKEY_LOCK; |
Kojto | 98:8ab26030e058 | 1321 | } |
Kojto | 98:8ab26030e058 | 1322 | |
Kojto | 98:8ab26030e058 | 1323 | |
Kojto | 98:8ab26030e058 | 1324 | /***************************************************************************//** |
Kojto | 98:8ab26030e058 | 1325 | * @brief |
Kojto | 113:f141b2784e32 | 1326 | * Convert logarithm of 2 prescaler to division factor. |
Kojto | 113:f141b2784e32 | 1327 | * |
Kojto | 113:f141b2784e32 | 1328 | * @param[in] log2 |
Kojto | 113:f141b2784e32 | 1329 | * Logarithm of 2, as used by fixed prescalers. |
Kojto | 113:f141b2784e32 | 1330 | * |
Kojto | 113:f141b2784e32 | 1331 | * @return |
Kojto | 113:f141b2784e32 | 1332 | * Dividend. |
Kojto | 113:f141b2784e32 | 1333 | ******************************************************************************/ |
Kojto | 113:f141b2784e32 | 1334 | __STATIC_INLINE uint32_t CMU_Log2ToDiv(uint32_t log2) |
Kojto | 113:f141b2784e32 | 1335 | { |
Kojto | 113:f141b2784e32 | 1336 | return 1 << log2; |
Kojto | 113:f141b2784e32 | 1337 | } |
Kojto | 113:f141b2784e32 | 1338 | |
Kojto | 113:f141b2784e32 | 1339 | |
Kojto | 113:f141b2784e32 | 1340 | #if defined( _SILICON_LABS_32B_PLATFORM_2 ) |
Kojto | 113:f141b2784e32 | 1341 | /***************************************************************************//** |
Kojto | 113:f141b2784e32 | 1342 | * @brief |
Kojto | 113:f141b2784e32 | 1343 | * Convert prescaler dividend to logarithmic value. Only works for even |
Kojto | 113:f141b2784e32 | 1344 | * numbers equal to 2^n. |
Kojto | 113:f141b2784e32 | 1345 | * |
Kojto | 113:f141b2784e32 | 1346 | * @param[in] presc |
Kojto | 113:f141b2784e32 | 1347 | * Unscaled dividend (dividend = presc + 1). |
Kojto | 113:f141b2784e32 | 1348 | * |
Kojto | 113:f141b2784e32 | 1349 | * @return |
Kojto | 113:f141b2784e32 | 1350 | * Logarithm of 2, as used by fixed 2^n prescalers. |
Kojto | 113:f141b2784e32 | 1351 | ******************************************************************************/ |
Kojto | 113:f141b2784e32 | 1352 | __STATIC_INLINE uint32_t CMU_PrescToLog2(CMU_ClkPresc_TypeDef presc) |
Kojto | 113:f141b2784e32 | 1353 | { |
Kojto | 113:f141b2784e32 | 1354 | uint32_t log2; |
Kojto | 113:f141b2784e32 | 1355 | |
Kojto | 113:f141b2784e32 | 1356 | /* Integer prescalers take argument less than 32768. */ |
Kojto | 113:f141b2784e32 | 1357 | EFM_ASSERT(presc < 32768U); |
Kojto | 113:f141b2784e32 | 1358 | |
Kojto | 113:f141b2784e32 | 1359 | /* Count leading zeroes and "reverse" result */ |
Kojto | 113:f141b2784e32 | 1360 | log2 = (31U - __CLZ(presc + 1)); |
Kojto | 113:f141b2784e32 | 1361 | |
Kojto | 113:f141b2784e32 | 1362 | /* Check that presc is a 2^n number */ |
Kojto | 113:f141b2784e32 | 1363 | EFM_ASSERT(presc == (CMU_Log2ToDiv(log2) - 1)); |
Kojto | 113:f141b2784e32 | 1364 | |
Kojto | 113:f141b2784e32 | 1365 | return log2; |
Kojto | 113:f141b2784e32 | 1366 | } |
Kojto | 113:f141b2784e32 | 1367 | #endif |
Kojto | 113:f141b2784e32 | 1368 | |
Kojto | 113:f141b2784e32 | 1369 | |
Kojto | 113:f141b2784e32 | 1370 | /***************************************************************************//** |
Kojto | 113:f141b2784e32 | 1371 | * @brief |
Kojto | 98:8ab26030e058 | 1372 | * Unlock the CMU so that writing to locked registers again is possible. |
Kojto | 98:8ab26030e058 | 1373 | ******************************************************************************/ |
Kojto | 98:8ab26030e058 | 1374 | __STATIC_INLINE void CMU_Unlock(void) |
Kojto | 98:8ab26030e058 | 1375 | { |
Kojto | 98:8ab26030e058 | 1376 | CMU->LOCK = CMU_LOCK_LOCKKEY_UNLOCK; |
Kojto | 98:8ab26030e058 | 1377 | } |
Kojto | 98:8ab26030e058 | 1378 | |
Kojto | 98:8ab26030e058 | 1379 | /** @} (end addtogroup CMU) */ |
Kojto | 98:8ab26030e058 | 1380 | /** @} (end addtogroup EM_Library) */ |
Kojto | 98:8ab26030e058 | 1381 | |
Kojto | 98:8ab26030e058 | 1382 | #ifdef __cplusplus |
Kojto | 98:8ab26030e058 | 1383 | } |
Kojto | 98:8ab26030e058 | 1384 | #endif |
Kojto | 98:8ab26030e058 | 1385 | |
Kojto | 98:8ab26030e058 | 1386 | #endif /* defined( CMU_PRESENT ) */ |
Kojto | 113:f141b2784e32 | 1387 | #endif /* __SILICON_LABS_EM_CMU_H__ */ |