added prescaler for 16 bit pwm in LPC1347 target

Fork of mbed-dev by mbed official

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?

UserRevisionLine numberNew 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