]> git.sur5r.net Git - freertos/blob - FreeRTOS/Demo/CORTEX_M0+_Atmel_SAMD20_XPlained/RTOSDemo/src/config/conf_clocks.h
Update version number to 9.0.0rc2.
[freertos] / FreeRTOS / Demo / CORTEX_M0+_Atmel_SAMD20_XPlained / RTOSDemo / src / config / conf_clocks.h
1 /**\r
2  * \file\r
3  *\r
4  * \brief SAM D20 Clock configuration\r
5  *\r
6  * Copyright (C) 2012-2013 Atmel Corporation. All rights reserved.\r
7  *\r
8  * \asf_license_start\r
9  *\r
10  * \page License\r
11  *\r
12  * Redistribution and use in source and binary forms, with or without\r
13  * modification, are permitted provided that the following conditions are met:\r
14  *\r
15  * 1. Redistributions of source code must retain the above copyright notice,\r
16  *    this list of conditions and the following disclaimer.\r
17  *\r
18  * 2. Redistributions in binary form must reproduce the above copyright notice,\r
19  *    this list of conditions and the following disclaimer in the documentation\r
20  *    and/or other materials provided with the distribution.\r
21  *\r
22  * 3. The name of Atmel may not be used to endorse or promote products derived\r
23  *    from this software without specific prior written permission.\r
24  *\r
25  * 4. This software may only be redistributed and used in connection with an\r
26  *    Atmel microcontroller product.\r
27  *\r
28  * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED\r
29  * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF\r
30  * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE\r
31  * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR\r
32  * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\r
33  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS\r
34  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)\r
35  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,\r
36  * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN\r
37  * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE\r
38  * POSSIBILITY OF SUCH DAMAGE.\r
39  *\r
40  * \asf_license_stop\r
41  *\r
42  */\r
43 #include <clock.h>\r
44 \r
45 #ifndef CONF_CLOCKS_H_INCLUDED\r
46 #  define CONF_CLOCKS_H_INCLUDED\r
47 \r
48 /* System clock bus configuration */\r
49 #  define CONF_CLOCK_CPU_CLOCK_FAILURE_DETECT     true\r
50 #  define CONF_CLOCK_FLASH_WAIT_STATES            2\r
51 #  define CONF_CLOCK_CPU_DIVIDER                  SYSTEM_MAIN_CLOCK_DIV_1\r
52 #  define CONF_CLOCK_APBA_DIVIDER                 SYSTEM_MAIN_CLOCK_DIV_1\r
53 #  define CONF_CLOCK_APBB_DIVIDER                 SYSTEM_MAIN_CLOCK_DIV_1\r
54 \r
55 \r
56 /* SYSTEM_CLOCK_SOURCE_OSC8M configuration - Internal 8MHz oscillator */\r
57 #  define CONF_CLOCK_OSC8M_PRESCALER              SYSTEM_OSC8M_DIV_1\r
58 #  define CONF_CLOCK_OSC8M_ON_DEMAND              true\r
59 #  define CONF_CLOCK_OSC8M_RUN_IN_STANDBY         false\r
60 \r
61 /* SYSTEM_CLOCK_SOURCE_XOSC configuration - External clock/oscillator */\r
62 #  define CONF_CLOCK_XOSC_ENABLE                  false\r
63 #  define CONF_CLOCK_XOSC_EXTERNAL_CRYSTAL        SYSTEM_CLOCK_EXTERNAL_CRYSTAL\r
64 #  define CONF_CLOCK_XOSC_EXTERNAL_FREQUENCY      12000000UL\r
65 #  define CONF_CLOCK_XOSC_STARTUP_TIME            SYSTEM_XOSC_STARTUP_32768\r
66 #  define CONF_CLOCK_XOSC_AUTO_GAIN_CONTROL       true\r
67 #  define CONF_CLOCK_XOSC_ON_DEMAND               true\r
68 #  define CONF_CLOCK_XOSC_RUN_IN_STANDBY          false\r
69 \r
70 /* SYSTEM_CLOCK_SOURCE_XOSC32K configuration - External 32KHz crystal/clock oscillator */\r
71 #  define CONF_CLOCK_XOSC32K_ENABLE               false\r
72 #  define CONF_CLOCK_XOSC32K_EXTERNAL_CRYSTAL     SYSTEM_CLOCK_EXTERNAL_CRYSTAL\r
73 #  define CONF_CLOCK_XOSC32K_STARTUP_TIME         SYSTEM_XOSC32K_STARTUP_65536\r
74 #  define CONF_CLOCK_XOSC32K_AUTO_AMPLITUDE_CONTROL  true\r
75 #  define CONF_CLOCK_XOSC32K_ENABLE_1KHZ_OUPUT    false\r
76 #  define CONF_CLOCK_XOSC32K_ENABLE_32KHZ_OUTPUT  true\r
77 #  define CONF_CLOCK_XOSC32K_ON_DEMAND            true\r
78 #  define CONF_CLOCK_XOSC32K_RUN_IN_STANDBY       false\r
79 \r
80 /* SYSTEM_CLOCK_SOURCE_OSC32K configuration - Internal 32KHz oscillator */\r
81 #  define CONF_CLOCK_OSC32K_ENABLE                false\r
82 #  define CONF_CLOCK_OSC32K_STARTUP_TIME          SYSTEM_OSC32K_STARTUP_128\r
83 #  define CONF_CLOCK_OSC32K_ENABLE_1KHZ_OUTPUT    true\r
84 #  define CONF_CLOCK_OSC32K_ENABLE_32KHZ_OUTPUT   true\r
85 #  define CONF_CLOCK_OSC32K_ON_DEMAND             true\r
86 #  define CONF_CLOCK_OSC32K_RUN_IN_STANDBY        false\r
87 \r
88 /* SYSTEM_CLOCK_SOURCE_DFLL configuration - Digital Frequency Locked Loop */\r
89 #  define CONF_CLOCK_DFLL_ENABLE                  true\r
90 #  define CONF_CLOCK_DFLL_LOOP_MODE               SYSTEM_CLOCK_DFLL_LOOP_MODE_CLOSED\r
91 #  define CONF_CLOCK_DFLL_ON_DEMAND               false\r
92 #  define CONF_CLOCK_DFLL_RUN_IN_STANDBY          false\r
93 \r
94 /* DFLL open loop mode configuration */\r
95 #  define CONF_CLOCK_DFLL_COARSE_VALUE            (0x1f / 4)\r
96 #  define CONF_CLOCK_DFLL_FINE_VALUE              (0xff / 4)\r
97 \r
98 /* DFLL closed loop mode configuration */\r
99 #  define CONF_CLOCK_DFLL_SOURCE_GCLK_GENERATOR   GCLK_GENERATOR_1\r
100 #  define CONF_CLOCK_DFLL_MULTIPLY_FACTOR         6\r
101 #  define CONF_CLOCK_DFLL_QUICK_LOCK              true\r
102 #  define CONF_CLOCK_DFLL_TRACK_AFTER_FINE_LOCK   true\r
103 #  define CONF_CLOCK_DFLL_KEEP_LOCK_ON_WAKEUP     true\r
104 #  define CONF_CLOCK_DFLL_ENABLE_CHILL_CYCLE      true\r
105 #  define CONF_CLOCK_DFLL_MAX_COARSE_STEP_SIZE    (0x1f / 4)\r
106 #  define CONF_CLOCK_DFLL_MAX_FINE_STEP_SIZE      (0xff / 4)\r
107 \r
108 \r
109 /* Set this to true to configure the GCLK when running clocks_init. If set to\r
110  * false, none of the GCLK generators will be configured in clocks_init(). */\r
111 #  define CONF_CLOCK_CONFIGURE_GCLK               true\r
112 \r
113 /* Configure GCLK generator 0 (Main Clock) */\r
114 #  define CONF_CLOCK_GCLK_0_ENABLE                true\r
115 #  define CONF_CLOCK_GCLK_0_RUN_IN_STANDBY        false\r
116 #  define CONF_CLOCK_GCLK_0_CLOCK_SOURCE          SYSTEM_CLOCK_SOURCE_DFLL\r
117 #  define CONF_CLOCK_GCLK_0_PRESCALER             1\r
118 #  define CONF_CLOCK_GCLK_0_OUTPUT_ENABLE         false\r
119 \r
120 /* Configure GCLK generator 1 */\r
121 #  define CONF_CLOCK_GCLK_1_ENABLE                true\r
122 #  define CONF_CLOCK_GCLK_1_RUN_IN_STANDBY        false\r
123 #  define CONF_CLOCK_GCLK_1_CLOCK_SOURCE          SYSTEM_CLOCK_SOURCE_OSC8M\r
124 #  define CONF_CLOCK_GCLK_1_PRESCALER             1\r
125 #  define CONF_CLOCK_GCLK_1_OUTPUT_ENABLE         false\r
126 \r
127 /* Configure GCLK generator 2 (RTC) */\r
128 #  define CONF_CLOCK_GCLK_2_ENABLE                false\r
129 #  define CONF_CLOCK_GCLK_2_RUN_IN_STANDBY        false\r
130 #  define CONF_CLOCK_GCLK_2_CLOCK_SOURCE          SYSTEM_CLOCK_SOURCE_OSC32K\r
131 #  define CONF_CLOCK_GCLK_2_PRESCALER             32\r
132 #  define CONF_CLOCK_GCLK_2_OUTPUT_ENABLE         false\r
133 \r
134 /* Configure GCLK generator 3 */\r
135 #  define CONF_CLOCK_GCLK_3_ENABLE                false\r
136 #  define CONF_CLOCK_GCLK_3_RUN_IN_STANDBY        false\r
137 #  define CONF_CLOCK_GCLK_3_CLOCK_SOURCE          SYSTEM_CLOCK_SOURCE_OSC8M\r
138 #  define CONF_CLOCK_GCLK_3_PRESCALER             1\r
139 #  define CONF_CLOCK_GCLK_3_OUTPUT_ENABLE         false\r
140 \r
141 /* Configure GCLK generator 4 */\r
142 #  define CONF_CLOCK_GCLK_4_ENABLE                false\r
143 #  define CONF_CLOCK_GCLK_4_RUN_IN_STANDBY        false\r
144 #  define CONF_CLOCK_GCLK_4_CLOCK_SOURCE          SYSTEM_CLOCK_SOURCE_OSC8M\r
145 #  define CONF_CLOCK_GCLK_4_PRESCALER             1\r
146 #  define CONF_CLOCK_GCLK_4_OUTPUT_ENABLE         false\r
147 \r
148 /* Configure GCLK generator 5 */\r
149 #  define CONF_CLOCK_GCLK_5_ENABLE                false\r
150 #  define CONF_CLOCK_GCLK_5_RUN_IN_STANDBY        false\r
151 #  define CONF_CLOCK_GCLK_5_CLOCK_SOURCE          SYSTEM_CLOCK_SOURCE_OSC8M\r
152 #  define CONF_CLOCK_GCLK_5_PRESCALER             1\r
153 #  define CONF_CLOCK_GCLK_5_OUTPUT_ENABLE         false\r
154 \r
155 /* Configure GCLK generator 6 */\r
156 #  define CONF_CLOCK_GCLK_6_ENABLE                false\r
157 #  define CONF_CLOCK_GCLK_6_RUN_IN_STANDBY        false\r
158 #  define CONF_CLOCK_GCLK_6_CLOCK_SOURCE          SYSTEM_CLOCK_SOURCE_OSC8M\r
159 #  define CONF_CLOCK_GCLK_6_PRESCALER             1\r
160 #  define CONF_CLOCK_GCLK_6_OUTPUT_ENABLE         false\r
161 \r
162 /* Configure GCLK generator 7 */\r
163 #  define CONF_CLOCK_GCLK_7_ENABLE                false\r
164 #  define CONF_CLOCK_GCLK_7_RUN_IN_STANDBY        false\r
165 #  define CONF_CLOCK_GCLK_7_CLOCK_SOURCE          SYSTEM_CLOCK_SOURCE_OSC8M\r
166 #  define CONF_CLOCK_GCLK_7_PRESCALER             1\r
167 #  define CONF_CLOCK_GCLK_7_OUTPUT_ENABLE         false\r
168 \r
169 #endif /* CONF_CLOCKS_H_INCLUDED */\r
170 \r