added prescaler for 16 bit pwm in LPC1347 target
Fork of mbed-dev by
targets/hal/TARGET_Atmel/TARGET_SAM_CortexM0P/config/TARGET_SAML21/conf_clocks.h@147:ba84b7dc41a7, 2016-09-10 (annotated)
- Committer:
- JojoS
- Date:
- Sat Sep 10 15:32:04 2016 +0000
- Revision:
- 147:ba84b7dc41a7
- Parent:
- 18:da299f395b9e
added prescaler for 16 bit timers (solution as in LPC11xx), default prescaler 31 for max 28 ms period time
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
mbed_official | 18:da299f395b9e | 1 | /** |
mbed_official | 18:da299f395b9e | 2 | * \file |
mbed_official | 18:da299f395b9e | 3 | * |
mbed_official | 18:da299f395b9e | 4 | * \brief SAM L21 Clock configuration |
mbed_official | 18:da299f395b9e | 5 | * |
mbed_official | 18:da299f395b9e | 6 | * Copyright (C) 2014-2015 Atmel Corporation. All rights reserved. |
mbed_official | 18:da299f395b9e | 7 | * |
mbed_official | 18:da299f395b9e | 8 | * \asf_license_start |
mbed_official | 18:da299f395b9e | 9 | * |
mbed_official | 18:da299f395b9e | 10 | * \page License |
mbed_official | 18:da299f395b9e | 11 | * |
mbed_official | 18:da299f395b9e | 12 | * Redistribution and use in source and binary forms, with or without |
mbed_official | 18:da299f395b9e | 13 | * modification, are permitted provided that the following conditions are met: |
mbed_official | 18:da299f395b9e | 14 | * |
mbed_official | 18:da299f395b9e | 15 | * 1. Redistributions of source code must retain the above copyright notice, |
mbed_official | 18:da299f395b9e | 16 | * this list of conditions and the following disclaimer. |
mbed_official | 18:da299f395b9e | 17 | * |
mbed_official | 18:da299f395b9e | 18 | * 2. Redistributions in binary form must reproduce the above copyright notice, |
mbed_official | 18:da299f395b9e | 19 | * this list of conditions and the following disclaimer in the documentation |
mbed_official | 18:da299f395b9e | 20 | * and/or other materials provided with the distribution. |
mbed_official | 18:da299f395b9e | 21 | * |
mbed_official | 18:da299f395b9e | 22 | * 3. The name of Atmel may not be used to endorse or promote products derived |
mbed_official | 18:da299f395b9e | 23 | * from this software without specific prior written permission. |
mbed_official | 18:da299f395b9e | 24 | * |
mbed_official | 18:da299f395b9e | 25 | * 4. This software may only be redistributed and used in connection with an |
mbed_official | 18:da299f395b9e | 26 | * Atmel microcontroller product. |
mbed_official | 18:da299f395b9e | 27 | * |
mbed_official | 18:da299f395b9e | 28 | * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED |
mbed_official | 18:da299f395b9e | 29 | * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF |
mbed_official | 18:da299f395b9e | 30 | * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE |
mbed_official | 18:da299f395b9e | 31 | * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR |
mbed_official | 18:da299f395b9e | 32 | * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL |
mbed_official | 18:da299f395b9e | 33 | * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS |
mbed_official | 18:da299f395b9e | 34 | * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) |
mbed_official | 18:da299f395b9e | 35 | * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, |
mbed_official | 18:da299f395b9e | 36 | * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN |
mbed_official | 18:da299f395b9e | 37 | * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE |
mbed_official | 18:da299f395b9e | 38 | * POSSIBILITY OF SUCH DAMAGE. |
mbed_official | 18:da299f395b9e | 39 | * |
mbed_official | 18:da299f395b9e | 40 | * \asf_license_stop |
mbed_official | 18:da299f395b9e | 41 | * |
mbed_official | 18:da299f395b9e | 42 | */ |
mbed_official | 18:da299f395b9e | 43 | /* |
mbed_official | 18:da299f395b9e | 44 | * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> |
mbed_official | 18:da299f395b9e | 45 | */ |
mbed_official | 18:da299f395b9e | 46 | #include <clock.h> |
mbed_official | 18:da299f395b9e | 47 | |
mbed_official | 18:da299f395b9e | 48 | #ifndef CONF_CLOCKS_H_INCLUDED |
mbed_official | 18:da299f395b9e | 49 | # define CONF_CLOCKS_H_INCLUDED |
mbed_official | 18:da299f395b9e | 50 | |
mbed_official | 18:da299f395b9e | 51 | /* System clock bus configuration */ |
mbed_official | 18:da299f395b9e | 52 | # define CONF_CLOCK_CPU_CLOCK_FAILURE_DETECT false |
mbed_official | 18:da299f395b9e | 53 | # define CONF_CLOCK_FLASH_WAIT_STATES 0 |
mbed_official | 18:da299f395b9e | 54 | # define CONF_CLOCK_CPU_DIVIDER SYSTEM_MAIN_CLOCK_DIV_1 |
mbed_official | 18:da299f395b9e | 55 | # define CONF_CLOCK_LOW_POWER_DIVIDER SYSTEM_MAIN_CLOCK_DIV_1 |
mbed_official | 18:da299f395b9e | 56 | # define CONF_CLOCK_BACKUP_DIVIDER SYSTEM_MAIN_CLOCK_DIV_1 |
mbed_official | 18:da299f395b9e | 57 | |
mbed_official | 18:da299f395b9e | 58 | /* SYSTEM_CLOCK_SOURCE_OSC16M configuration - Internal 16MHz oscillator */ |
mbed_official | 18:da299f395b9e | 59 | # define CONF_CLOCK_OSC16M_FREQ_SEL SYSTEM_OSC16M_4M |
mbed_official | 18:da299f395b9e | 60 | # define CONF_CLOCK_OSC16M_ON_DEMAND true |
mbed_official | 18:da299f395b9e | 61 | # define CONF_CLOCK_OSC16M_RUN_IN_STANDBY false |
mbed_official | 18:da299f395b9e | 62 | |
mbed_official | 18:da299f395b9e | 63 | /* SYSTEM_CLOCK_SOURCE_XOSC configuration - External clock/oscillator */ |
mbed_official | 18:da299f395b9e | 64 | # define CONF_CLOCK_XOSC_ENABLE false |
mbed_official | 18:da299f395b9e | 65 | # define CONF_CLOCK_XOSC_EXTERNAL_CRYSTAL SYSTEM_CLOCK_EXTERNAL_CRYSTAL |
mbed_official | 18:da299f395b9e | 66 | # define CONF_CLOCK_XOSC_EXTERNAL_FREQUENCY 12000000UL |
mbed_official | 18:da299f395b9e | 67 | # define CONF_CLOCK_XOSC_STARTUP_TIME SYSTEM_XOSC_STARTUP_32768 |
mbed_official | 18:da299f395b9e | 68 | # define CONF_CLOCK_XOSC_AUTO_GAIN_CONTROL true |
mbed_official | 18:da299f395b9e | 69 | # define CONF_CLOCK_XOSC_ON_DEMAND true |
mbed_official | 18:da299f395b9e | 70 | # define CONF_CLOCK_XOSC_RUN_IN_STANDBY false |
mbed_official | 18:da299f395b9e | 71 | |
mbed_official | 18:da299f395b9e | 72 | /* SYSTEM_CLOCK_SOURCE_XOSC32K configuration - External 32KHz crystal/clock oscillator */ |
mbed_official | 18:da299f395b9e | 73 | # define CONF_CLOCK_XOSC32K_ENABLE false |
mbed_official | 18:da299f395b9e | 74 | # define CONF_CLOCK_XOSC32K_EXTERNAL_CRYSTAL SYSTEM_CLOCK_EXTERNAL_CRYSTAL |
mbed_official | 18:da299f395b9e | 75 | # define CONF_CLOCK_XOSC32K_STARTUP_TIME SYSTEM_XOSC32K_STARTUP_65536 |
mbed_official | 18:da299f395b9e | 76 | # define CONF_CLOCK_XOSC32K_ENABLE_1KHZ_OUPUT false |
mbed_official | 18:da299f395b9e | 77 | # define CONF_CLOCK_XOSC32K_ENABLE_32KHZ_OUTPUT true |
mbed_official | 18:da299f395b9e | 78 | # define CONF_CLOCK_XOSC32K_ON_DEMAND true |
mbed_official | 18:da299f395b9e | 79 | # define CONF_CLOCK_XOSC32K_RUN_IN_STANDBY false |
mbed_official | 18:da299f395b9e | 80 | |
mbed_official | 18:da299f395b9e | 81 | /* SYSTEM_CLOCK_SOURCE_OSC32K configuration - Internal 32KHz oscillator */ |
mbed_official | 18:da299f395b9e | 82 | # define CONF_CLOCK_OSC32K_ENABLE false |
mbed_official | 18:da299f395b9e | 83 | # define CONF_CLOCK_OSC32K_STARTUP_TIME SYSTEM_OSC32K_STARTUP_130 |
mbed_official | 18:da299f395b9e | 84 | # define CONF_CLOCK_OSC32K_ENABLE_1KHZ_OUTPUT true |
mbed_official | 18:da299f395b9e | 85 | # define CONF_CLOCK_OSC32K_ENABLE_32KHZ_OUTPUT true |
mbed_official | 18:da299f395b9e | 86 | # define CONF_CLOCK_OSC32K_ON_DEMAND true |
mbed_official | 18:da299f395b9e | 87 | # define CONF_CLOCK_OSC32K_RUN_IN_STANDBY false |
mbed_official | 18:da299f395b9e | 88 | |
mbed_official | 18:da299f395b9e | 89 | |
mbed_official | 18:da299f395b9e | 90 | /* SYSTEM_CLOCK_SOURCE_DFLL configuration - Digital Frequency Locked Loop */ |
mbed_official | 18:da299f395b9e | 91 | # define CONF_CLOCK_DFLL_ENABLE false |
mbed_official | 18:da299f395b9e | 92 | # define CONF_CLOCK_DFLL_LOOP_MODE SYSTEM_CLOCK_DFLL_LOOP_MODE_OPEN |
mbed_official | 18:da299f395b9e | 93 | # define CONF_CLOCK_DFLL_ON_DEMAND false |
mbed_official | 18:da299f395b9e | 94 | # define CONF_CLOCK_DFLL_RUN_IN_STANDBY false |
mbed_official | 18:da299f395b9e | 95 | |
mbed_official | 18:da299f395b9e | 96 | /* DFLL open loop mode configuration */ |
mbed_official | 18:da299f395b9e | 97 | # define CONF_CLOCK_DFLL_FINE_VALUE (0xff / 4) |
mbed_official | 18:da299f395b9e | 98 | |
mbed_official | 18:da299f395b9e | 99 | /* DFLL closed loop mode configuration */ |
mbed_official | 18:da299f395b9e | 100 | # define CONF_CLOCK_DFLL_SOURCE_GCLK_GENERATOR GCLK_GENERATOR_1 |
mbed_official | 18:da299f395b9e | 101 | # define CONF_CLOCK_DFLL_MULTIPLY_FACTOR (48000000 / 32768) |
mbed_official | 18:da299f395b9e | 102 | # define CONF_CLOCK_DFLL_QUICK_LOCK true |
mbed_official | 18:da299f395b9e | 103 | # define CONF_CLOCK_DFLL_TRACK_AFTER_FINE_LOCK true |
mbed_official | 18:da299f395b9e | 104 | # define CONF_CLOCK_DFLL_KEEP_LOCK_ON_WAKEUP true |
mbed_official | 18:da299f395b9e | 105 | # define CONF_CLOCK_DFLL_ENABLE_CHILL_CYCLE true |
mbed_official | 18:da299f395b9e | 106 | # define CONF_CLOCK_DFLL_MAX_COARSE_STEP_SIZE (0x1f / 4) |
mbed_official | 18:da299f395b9e | 107 | # define CONF_CLOCK_DFLL_MAX_FINE_STEP_SIZE (0xff / 4) |
mbed_official | 18:da299f395b9e | 108 | |
mbed_official | 18:da299f395b9e | 109 | /* SYSTEM_CLOCK_SOURCE_DPLL configuration - Digital Phase-Locked Loop */ |
mbed_official | 18:da299f395b9e | 110 | # define CONF_CLOCK_DPLL_ENABLE false |
mbed_official | 18:da299f395b9e | 111 | # define CONF_CLOCK_DPLL_ON_DEMAND true |
mbed_official | 18:da299f395b9e | 112 | # define CONF_CLOCK_DPLL_RUN_IN_STANDBY false |
mbed_official | 18:da299f395b9e | 113 | # define CONF_CLOCK_DPLL_LOCK_BYPASS false |
mbed_official | 18:da299f395b9e | 114 | # define CONF_CLOCK_DPLL_WAKE_UP_FAST false |
mbed_official | 18:da299f395b9e | 115 | # define CONF_CLOCK_DPLL_LOW_POWER_ENABLE false |
mbed_official | 18:da299f395b9e | 116 | |
mbed_official | 18:da299f395b9e | 117 | # define CONF_CLOCK_DPLL_LOCK_TIME SYSTEM_CLOCK_SOURCE_DPLL_LOCK_TIME_DEFAULT |
mbed_official | 18:da299f395b9e | 118 | # define CONF_CLOCK_DPLL_REFERENCE_CLOCK SYSTEM_CLOCK_SOURCE_DPLL_REFERENCE_CLOCK_XOSC32K |
mbed_official | 18:da299f395b9e | 119 | # define CONF_CLOCK_DPLL_FILTER SYSTEM_CLOCK_SOURCE_DPLL_FILTER_DEFAULT |
mbed_official | 18:da299f395b9e | 120 | # define CONF_CLOCK_DPLL_PRESCALER SYSTEM_CLOCK_SOURCE_DPLL_DIV_1 |
mbed_official | 18:da299f395b9e | 121 | |
mbed_official | 18:da299f395b9e | 122 | |
mbed_official | 18:da299f395b9e | 123 | # define CONF_CLOCK_DPLL_REFERENCE_FREQUENCY 32768 |
mbed_official | 18:da299f395b9e | 124 | # define CONF_CLOCK_DPLL_REFERENCE_DIVIDER 1 |
mbed_official | 18:da299f395b9e | 125 | # define CONF_CLOCK_DPLL_OUTPUT_FREQUENCY 48000000 |
mbed_official | 18:da299f395b9e | 126 | |
mbed_official | 18:da299f395b9e | 127 | /* DPLL GCLK reference configuration */ |
mbed_official | 18:da299f395b9e | 128 | # define CONF_CLOCK_DPLL_REFERENCE_GCLK_GENERATOR GCLK_GENERATOR_1 |
mbed_official | 18:da299f395b9e | 129 | /* DPLL GCLK lock timer configuration */ |
mbed_official | 18:da299f395b9e | 130 | # define CONF_CLOCK_DPLL_LOCK_GCLK_GENERATOR GCLK_GENERATOR_1 |
mbed_official | 18:da299f395b9e | 131 | |
mbed_official | 18:da299f395b9e | 132 | |
mbed_official | 18:da299f395b9e | 133 | /* Set this to true to configure the GCLK when running clocks_init. If set to |
mbed_official | 18:da299f395b9e | 134 | * false, none of the GCLK generators will be configured in clocks_init(). */ |
mbed_official | 18:da299f395b9e | 135 | # define CONF_CLOCK_CONFIGURE_GCLK true |
mbed_official | 18:da299f395b9e | 136 | |
mbed_official | 18:da299f395b9e | 137 | /* Configure GCLK generator 0 (Main Clock) */ |
mbed_official | 18:da299f395b9e | 138 | # define CONF_CLOCK_GCLK_0_ENABLE true |
mbed_official | 18:da299f395b9e | 139 | # define CONF_CLOCK_GCLK_0_RUN_IN_STANDBY false |
mbed_official | 18:da299f395b9e | 140 | # define CONF_CLOCK_GCLK_0_CLOCK_SOURCE SYSTEM_CLOCK_SOURCE_OSC16M |
mbed_official | 18:da299f395b9e | 141 | # define CONF_CLOCK_GCLK_0_PRESCALER 1 |
mbed_official | 18:da299f395b9e | 142 | # define CONF_CLOCK_GCLK_0_OUTPUT_ENABLE false |
mbed_official | 18:da299f395b9e | 143 | |
mbed_official | 18:da299f395b9e | 144 | /* Configure GCLK generator 1 */ |
mbed_official | 18:da299f395b9e | 145 | # define CONF_CLOCK_GCLK_1_ENABLE false |
mbed_official | 18:da299f395b9e | 146 | # define CONF_CLOCK_GCLK_1_RUN_IN_STANDBY false |
mbed_official | 18:da299f395b9e | 147 | # define CONF_CLOCK_GCLK_1_CLOCK_SOURCE SYSTEM_CLOCK_SOURCE_XOSC32K |
mbed_official | 18:da299f395b9e | 148 | # define CONF_CLOCK_GCLK_1_PRESCALER 1 |
mbed_official | 18:da299f395b9e | 149 | # define CONF_CLOCK_GCLK_1_OUTPUT_ENABLE false |
mbed_official | 18:da299f395b9e | 150 | |
mbed_official | 18:da299f395b9e | 151 | /* Configure GCLK generator 2 */ |
mbed_official | 18:da299f395b9e | 152 | # define CONF_CLOCK_GCLK_2_ENABLE false |
mbed_official | 18:da299f395b9e | 153 | # define CONF_CLOCK_GCLK_2_RUN_IN_STANDBY false |
mbed_official | 18:da299f395b9e | 154 | # define CONF_CLOCK_GCLK_2_CLOCK_SOURCE SYSTEM_CLOCK_SOURCE_OSC16M |
mbed_official | 18:da299f395b9e | 155 | # define CONF_CLOCK_GCLK_2_PRESCALER 1 |
mbed_official | 18:da299f395b9e | 156 | # define CONF_CLOCK_GCLK_2_OUTPUT_ENABLE false |
mbed_official | 18:da299f395b9e | 157 | |
mbed_official | 18:da299f395b9e | 158 | /* Configure GCLK generator 3 */ |
mbed_official | 18:da299f395b9e | 159 | # define CONF_CLOCK_GCLK_3_ENABLE false |
mbed_official | 18:da299f395b9e | 160 | # define CONF_CLOCK_GCLK_3_RUN_IN_STANDBY false |
mbed_official | 18:da299f395b9e | 161 | # define CONF_CLOCK_GCLK_3_CLOCK_SOURCE SYSTEM_CLOCK_SOURCE_OSC16M |
mbed_official | 18:da299f395b9e | 162 | # define CONF_CLOCK_GCLK_3_PRESCALER 1 |
mbed_official | 18:da299f395b9e | 163 | # define CONF_CLOCK_GCLK_3_OUTPUT_ENABLE false |
mbed_official | 18:da299f395b9e | 164 | |
mbed_official | 18:da299f395b9e | 165 | /* Configure GCLK generator 4 */ |
mbed_official | 18:da299f395b9e | 166 | # define CONF_CLOCK_GCLK_4_ENABLE false |
mbed_official | 18:da299f395b9e | 167 | # define CONF_CLOCK_GCLK_4_RUN_IN_STANDBY false |
mbed_official | 18:da299f395b9e | 168 | # define CONF_CLOCK_GCLK_4_CLOCK_SOURCE SYSTEM_CLOCK_SOURCE_OSC16M |
mbed_official | 18:da299f395b9e | 169 | # define CONF_CLOCK_GCLK_4_PRESCALER 1 |
mbed_official | 18:da299f395b9e | 170 | # define CONF_CLOCK_GCLK_4_OUTPUT_ENABLE false |
mbed_official | 18:da299f395b9e | 171 | |
mbed_official | 18:da299f395b9e | 172 | /* Configure GCLK generator 5 */ |
mbed_official | 18:da299f395b9e | 173 | # define CONF_CLOCK_GCLK_5_ENABLE false |
mbed_official | 18:da299f395b9e | 174 | # define CONF_CLOCK_GCLK_5_RUN_IN_STANDBY false |
mbed_official | 18:da299f395b9e | 175 | # define CONF_CLOCK_GCLK_5_CLOCK_SOURCE SYSTEM_CLOCK_SOURCE_OSC16M |
mbed_official | 18:da299f395b9e | 176 | # define CONF_CLOCK_GCLK_5_PRESCALER 1 |
mbed_official | 18:da299f395b9e | 177 | # define CONF_CLOCK_GCLK_5_OUTPUT_ENABLE false |
mbed_official | 18:da299f395b9e | 178 | |
mbed_official | 18:da299f395b9e | 179 | /* Configure GCLK generator 6 */ |
mbed_official | 18:da299f395b9e | 180 | # define CONF_CLOCK_GCLK_6_ENABLE false |
mbed_official | 18:da299f395b9e | 181 | # define CONF_CLOCK_GCLK_6_RUN_IN_STANDBY false |
mbed_official | 18:da299f395b9e | 182 | # define CONF_CLOCK_GCLK_6_CLOCK_SOURCE SYSTEM_CLOCK_SOURCE_OSC16M |
mbed_official | 18:da299f395b9e | 183 | # define CONF_CLOCK_GCLK_6_PRESCALER 1 |
mbed_official | 18:da299f395b9e | 184 | # define CONF_CLOCK_GCLK_6_OUTPUT_ENABLE false |
mbed_official | 18:da299f395b9e | 185 | |
mbed_official | 18:da299f395b9e | 186 | /* Configure GCLK generator 7 */ |
mbed_official | 18:da299f395b9e | 187 | # define CONF_CLOCK_GCLK_7_ENABLE false |
mbed_official | 18:da299f395b9e | 188 | # define CONF_CLOCK_GCLK_7_RUN_IN_STANDBY false |
mbed_official | 18:da299f395b9e | 189 | # define CONF_CLOCK_GCLK_7_CLOCK_SOURCE SYSTEM_CLOCK_SOURCE_OSC16M |
mbed_official | 18:da299f395b9e | 190 | # define CONF_CLOCK_GCLK_7_PRESCALER 1 |
mbed_official | 18:da299f395b9e | 191 | # define CONF_CLOCK_GCLK_7_OUTPUT_ENABLE false |
mbed_official | 18:da299f395b9e | 192 | |
mbed_official | 18:da299f395b9e | 193 | /* Configure GCLK generator 8 */ |
mbed_official | 18:da299f395b9e | 194 | # define CONF_CLOCK_GCLK_8_ENABLE false |
mbed_official | 18:da299f395b9e | 195 | # define CONF_CLOCK_GCLK_8_RUN_IN_STANDBY false |
mbed_official | 18:da299f395b9e | 196 | # define CONF_CLOCK_GCLK_8_CLOCK_SOURCE SYSTEM_CLOCK_SOURCE_OSC16M |
mbed_official | 18:da299f395b9e | 197 | # define CONF_CLOCK_GCLK_8_PRESCALER 1 |
mbed_official | 18:da299f395b9e | 198 | # define CONF_CLOCK_GCLK_8_OUTPUT_ENABLE false |
mbed_official | 18:da299f395b9e | 199 | #endif /* CONF_CLOCKS_H_INCLUDED */ |
mbed_official | 18:da299f395b9e | 200 |