Kinetis Bootloader
2.0.0
Common bootloader for Kinetis devices
Introduction
Related Pages
Modules
system_MKL82Z7.h
1
/*
2
** ###################################################################
3
** Processors: MKL82Z128VLH7
4
** MKL82Z128VLK7
5
** MKL82Z128VLL7
6
** MKL82Z128VMC7
7
** MKL82Z128VMP7
8
**
9
** Compilers: Keil ARM C/C++ Compiler
10
** Freescale C/C++ for Embedded ARM
11
** GNU C Compiler
12
** IAR ANSI C/C++ Compiler for ARM
13
**
14
** Reference manual: KL82P121M72SF0RM, Rev.1.2 September 2015
15
** Version: rev. 1.5, 2015-09-24
16
** Build: b151023
17
**
18
** Abstract:
19
** Provides a system configuration function and a global variable that
20
** contains the system frequency. It configures the device and initializes
21
** the oscillator (PLL) that is part of the microcontroller device.
22
**
23
** Copyright (c) 2015 Freescale Semiconductor, Inc.
24
** All rights reserved.
25
**
26
** Redistribution and use in source and binary forms, with or without modification,
27
** are permitted provided that the following conditions are met:
28
**
29
** o Redistributions of source code must retain the above copyright notice, this list
30
** of conditions and the following disclaimer.
31
**
32
** o Redistributions in binary form must reproduce the above copyright notice, this
33
** list of conditions and the following disclaimer in the documentation and/or
34
** other materials provided with the distribution.
35
**
36
** o Neither the name of Freescale Semiconductor, Inc. nor the names of its
37
** contributors may be used to endorse or promote products derived from this
38
** software without specific prior written permission.
39
**
40
** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
41
** ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
42
** WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
43
** DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
44
** ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
45
** (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
46
** LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
47
** ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
48
** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
49
** SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
50
**
51
** http: www.freescale.com
52
** mail: support@freescale.com
53
**
54
** Revisions:
55
** - rev. 1.0 (2015-04-18)
56
** Initial version.
57
** - rev. 1.1 (2015-05-04)
58
** Update SIM, EVMSIM, QuadSPI, and I2C based on Rev0 document.
59
** - rev. 1.2 (2015-08-11)
60
** Correct clock configuration.
61
** - rev. 1.3 (2015-08-20)
62
** Align with RM Rev.1.
63
** - rev. 1.4 (2015-08-28)
64
** Update LPUART to add FIFO.
65
** - rev. 1.5 (2015-09-24)
66
** Update to align with RM Rev.1.2.
67
**
68
** ###################################################################
69
*/
70
82
#ifndef _SYSTEM_MKL82Z7_H_
83
#define _SYSTEM_MKL82Z7_H_
85
#ifdef __cplusplus
86
extern
"C"
{
87
#endif
88
89
#include <stdint.h>
90
91
#ifndef DISABLE_WDOG
92
#define DISABLE_WDOG 1
93
#endif
94
95
/* MCG mode constants */
96
97
#define MCG_MODE_FEI 0U
98
#define MCG_MODE_FBI 1U
99
#define MCG_MODE_BLPI 2U
100
#define MCG_MODE_FEE 3U
101
#define MCG_MODE_FBE 4U
102
#define MCG_MODE_BLPE 5U
103
#define MCG_MODE_PBE 6U
104
#define MCG_MODE_PEE 7U
105
106
/* Predefined clock setups
107
0 ... Default part configuration
108
Multipurpose Clock Generator (MCG) in FEI mode.
109
Reference clock source for MCG module: Slow internal reference clock
110
Core clock = 20.97152MHz
111
Bus clock = 20.97152MHz
112
1 ... Maximal speed configuration
113
Multipurpose Clock Generator (MCG) in PEE mode.
114
Reference clock source for MCG module: System oscillator 0 reference clock
115
Core clock = 96MHz
116
Bus clock = 24MHz
117
2 ... Chip internally clocked, ready for Very Low Power Run mode.
118
Multipurpose Clock Generator (MCG) in BLPI mode.
119
Reference clock source for MCG module: Fast internal reference clock
120
Core clock = 4MHz
121
Bus clock = 4MHz
122
3 ... Chip externally clocked, ready for Very Low Power Run mode.
123
Multipurpose Clock Generator (MCG) in BLPE mode.
124
Reference clock source for MCG module: System oscillator 0 reference clock
125
Core clock = 4MHz
126
Bus clock = 4MHz
127
4 ... USB clock setup
128
Multipurpose Clock Generator (MCG) in PEE mode.
129
Reference clock source for MCG module: System oscillator 0 reference clock
130
Core clock = 96MHz
131
Bus clock = 24MHz
132
5 ... Maximum achievable clock frequency configuration in RUN mode
133
Multipurpose Clock Generator (MCG) in PEE mode.
134
Reference clock source for MCG module: System oscillator 0 reference clock
135
Core clock = 72MHz
136
Bus clock = 24MHz
137
*/
138
139
/* Define clock source values */
140
141
#define CPU_XTAL_CLK_HZ \
142
12000000U
/* Value of the external crystal or oscillator clock frequency of the system oscillator (OSC) in Hz */
143
#define CPU_XTAL32k_CLK_HZ \
144
32768U
/* Value of the external 32k crystal or oscillator clock frequency of the RTC in Hz \ \
145
*/
146
#define CPU_INT_SLOW_CLK_HZ 32768U
/* Value of the slow internal oscillator clock frequency in Hz */
147
#define CPU_INT_FAST_CLK_HZ 4000000U
/* Value of the fast internal oscillator clock frequency in Hz */
148
#define CPU_INT_IRC_CLK_HZ 48000000U
/* Value of the 48M internal oscillator clock frequency in Hz */
149
150
/* RTC oscillator setting */
151
/* RTC_CR: SC2P=0,SC4P=0,SC8P=0,SC16P=0,CLKO=1,OSCE=1,WPS=0,UM=0,SUP=0,WPE=0,SWR=0 */
152
#define SYSTEM_RTC_CR_VALUE 0x0300U
/* RTC_CR */
153
154
/* Low power mode enable */
155
/* SMC_PMPROT: AHSRUN=1,AVLP=1,ALLS=1,AVLLS=1 */
156
#define SYSTEM_SMC_PMPROT_VALUE 0xAAU
/* SMC_PMPROT */
157
158
/* Internal reference clock trim */
159
/* #undef SLOW_TRIM_ADDRESS */
/* Slow oscillator not trimmed. Commented out for MISRA compliance. */
160
/* #undef SLOW_FINE_TRIM_ADDRESS */
/* Slow oscillator not trimmed. Commented out for MISRA compliance. */
161
/* #undef FAST_TRIM_ADDRESS */
/* Fast oscillator not trimmed. Commented out for MISRA compliance. */
162
/* #undef FAST_FINE_TRIM_ADDRESS */
/* Fast oscillator not trimmed. Commented out for MISRA compliance. */
163
164
#ifdef CLOCK_SETUP
165
#if (CLOCK_SETUP == 0)
166
#define DEFAULT_SYSTEM_CLOCK 20971520U
/* Default System clock value */
167
#define MCG_MODE MCG_MODE_FEI
/* Clock generator mode */
168
/* MCG_C1: CLKS=0,FRDIV=0,IREFS=1,IRCLKEN=1,IREFSTEN=0 */
169
#define SYSTEM_MCG_C1_VALUE 0x06U
/* MCG_C1 */
170
/* MCG_C2: LOCRE0=0,FCFTRIM=0,RANGE=2,HGO=0,EREFS=1,LP=0,IRCS=0 */
171
#define SYSTEM_MCG_C2_VALUE 0x24U
/* MCG_C2 */
172
/* MCG_C4: DMX32=0,DRST_DRS=0,FCTRIM=0,SCFTRIM=0 */
173
#define SYSTEM_MCG_C4_VALUE 0x00U
/* MCG_C4 */
174
/* MCG_SC: ATME=0,ATMS=0,ATMF=0,FLTPRSRV=0,FCRDIV=0,LOCS0=0 */
175
#define SYSTEM_MCG_SC_VALUE 0x00U
/* MCG_SC */
176
/* MCG_C5: PLLCLKEN=0,PLLSTEN=0,PRDIV=0 */
177
#define SYSTEM_MCG_C5_VALUE 0x00U
/* MCG_C5 */
178
/* MCG_C6: LOLIE0=0,PLLS=0,CME0=0,VDIV=0 */
179
#define SYSTEM_MCG_C6_VALUE 0x00U
/* MCG_C6 */
180
/* MCG_C7: OSCSEL=0 */
181
#define SYSTEM_MCG_C7_VALUE 0x00U
/* MCG_C7 */
182
/* OSC_CR: ERCLKEN=1,EREFSTEN=0,SC2P=0,SC4P=0,SC8P=0,SC16P=0 */
183
#define SYSTEM_OSC_CR_VALUE 0x80U
/* OSC_CR */
184
/* SMC_PMCTRL: RUNM=0,STOPA=0,STOPM=0 */
185
#define SYSTEM_SMC_PMCTRL_VALUE 0x00U
/* SMC_PMCTRL */
186
/* SIM_CLKDIV1: OUTDIV1=0,OUTDIV2=0,OUTDIV4=1,OUTDIV5=1 */
187
#define SYSTEM_SIM_CLKDIV1_VALUE 0x00011000U
/* SIM_CLKDIV1 */
188
/* SIM_CLKDIV3: PLLFLLDIV=0,PLLFLLFRAC=0 */
189
#define SYSTEM_SIM_CLKDIV3_VALUE 0x00U
/* SIM_CLKDIV3 */
190
/* SIM_SOPT1: USBREGEN=0,USBSSTBY=0,USBVSTBY=0,OSC32KSEL=2,RAMSIZE=0 */
191
#define SYSTEM_SIM_SOPT1_VALUE 0x00080000U
/* SIM_SOPT1 */
192
/* SIM_SOPT2:
193
* EMVSIMSRC=0,SDHCSRC=0,LPUARTSRC=0,TPMSRC=1,FLEXIOSRC=0,USBSRC=0,PLLFLLSEL=0,TRACECLKSEL=0,FBSL=0,CLKOUTSEL=0,RTCCLKOUTSEL=0
194
*/
195
#define SYSTEM_SIM_SOPT2_VALUE 0x01000000U
/* SIM_SOPT2 */
196
#elif(CLOCK_SETUP == 1)
197
#define DEFAULT_SYSTEM_CLOCK 96000000U
/* Default System clock value */
198
#define MCG_MODE MCG_MODE_PEE
/* Clock generator mode */
199
/* MCG_C1: CLKS=0,FRDIV=4,IREFS=0,IRCLKEN=1,IREFSTEN=0 */
200
#define SYSTEM_MCG_C1_VALUE 0x22U
/* MCG_C1 */
201
/* MCG_C2: LOCRE0=0,FCFTRIM=0,RANGE=2,HGO=0,EREFS=1,LP=0,IRCS=0 */
202
#define SYSTEM_MCG_C2_VALUE 0x24U
/* MCG_C2 */
203
/* MCG_C4: DMX32=0,DRST_DRS=0,FCTRIM=0,SCFTRIM=0 */
204
#define SYSTEM_MCG_C4_VALUE 0x00U
/* MCG_C4 */
205
/* MCG_SC: ATME=0,ATMS=0,ATMF=0,FLTPRSRV=0,FCRDIV=0,LOCS0=0 */
206
#define SYSTEM_MCG_SC_VALUE 0x00U
/* MCG_SC */
207
/* MCG_C5: PLLCLKEN=0,PLLSTEN=0,PRDIV=0 */
208
#define SYSTEM_MCG_C5_VALUE 0x00U
/* MCG_C5 */
209
/* MCG_C6: LOLIE0=0,PLLS=1,CME0=0,VDIV=0 */
210
#define SYSTEM_MCG_C6_VALUE 0x40U
/* MCG_C6 */
211
/* MCG_C7: OSCSEL=0 */
212
#define SYSTEM_MCG_C7_VALUE 0x00U
/* MCG_C7 */
213
/* OSC_CR: ERCLKEN=1,EREFSTEN=0,SC2P=0,SC4P=0,SC8P=0,SC16P=0 */
214
#define SYSTEM_OSC_CR_VALUE 0x80U
/* OSC_CR */
215
/* SMC_PMCTRL: RUNM=3,STOPA=0,STOPM=0 */
216
#define SYSTEM_SMC_PMCTRL_VALUE 0x60U
/* SMC_PMCTRL */
217
/* SIM_CLKDIV1: OUTDIV1=0,OUTDIV2=3,OUTDIV4=3,OUTDIV5=0 */
218
#define SYSTEM_SIM_CLKDIV1_VALUE 0x03030000U
/* SIM_CLKDIV1 */
219
/* SIM_CLKDIV3: PLLFLLDIV=0,PLLFLLFRAC=0 */
220
#define SYSTEM_SIM_CLKDIV3_VALUE 0x00U
/* SIM_CLKDIV3 */
221
/* SIM_SOPT1: USBREGEN=0,USBSSTBY=0,USBVSTBY=0,OSC32KSEL=2,RAMSIZE=0 */
222
#define SYSTEM_SIM_SOPT1_VALUE 0x00080000U
/* SIM_SOPT1 */
223
/* SIM_SOPT2:
224
* EMVSIMSRC=0,SDHCSRC=0,LPUARTSRC=0,TPMSRC=1,FLEXIOSRC=0,USBSRC=0,PLLFLLSEL=1,TRACECLKSEL=0,FBSL=0,CLKOUTSEL=0,RTCCLKOUTSEL=0
225
*/
226
#define SYSTEM_SIM_SOPT2_VALUE 0x01010000U
/* SIM_SOPT2 */
227
#elif(CLOCK_SETUP == 2)
228
#define DEFAULT_SYSTEM_CLOCK 4000000U
/* Default System clock value */
229
#define MCG_MODE MCG_MODE_BLPI
/* Clock generator mode */
230
/* MCG_C1: CLKS=1,FRDIV=0,IREFS=1,IRCLKEN=1,IREFSTEN=0 */
231
#define SYSTEM_MCG_C1_VALUE 0x46U
/* MCG_C1 */
232
/* MCG_C2: LOCRE0=0,FCFTRIM=0,RANGE=2,HGO=0,EREFS=1,LP=1,IRCS=1 */
233
#define SYSTEM_MCG_C2_VALUE 0x27U
/* MCG_C2 */
234
/* MCG_C4: DMX32=0,DRST_DRS=0,FCTRIM=0,SCFTRIM=0 */
235
#define SYSTEM_MCG_C4_VALUE 0x00U
/* MCG_C4 */
236
/* MCG_SC: ATME=0,ATMS=0,ATMF=0,FLTPRSRV=0,FCRDIV=0,LOCS0=0 */
237
#define SYSTEM_MCG_SC_VALUE 0x00U
/* MCG_SC */
238
/* MCG_C5: PLLCLKEN=0,PLLSTEN=0,PRDIV=0 */
239
#define SYSTEM_MCG_C5_VALUE 0x00U
/* MCG_C5 */
240
/* MCG_C6: LOLIE0=0,PLLS=0,CME0=0,VDIV=0 */
241
#define SYSTEM_MCG_C6_VALUE 0x00U
/* MCG_C6 */
242
/* MCG_C7: OSCSEL=0 */
243
#define SYSTEM_MCG_C7_VALUE 0x00U
/* MCG_C7 */
244
/* OSC_CR: ERCLKEN=1,EREFSTEN=0,SC2P=0,SC4P=0,SC8P=0,SC16P=0 */
245
#define SYSTEM_OSC_CR_VALUE 0x80U
/* OSC_CR */
246
/* SMC_PMCTRL: RUNM=0,STOPA=0,STOPM=0 */
247
#define SYSTEM_SMC_PMCTRL_VALUE 0x00U
/* SMC_PMCTRL */
248
/* SIM_CLKDIV1: OUTDIV1=0,OUTDIV2=3,OUTDIV4=4,OUTDIV5=0 */
249
#define SYSTEM_SIM_CLKDIV1_VALUE 0x03040000U
/* SIM_CLKDIV1 */
250
/* SIM_CLKDIV3: PLLFLLDIV=0,PLLFLLFRAC=0 */
251
#define SYSTEM_SIM_CLKDIV3_VALUE 0x00U
/* SIM_CLKDIV3 */
252
/* SIM_SOPT1: USBREGEN=0,USBSSTBY=0,USBVSTBY=0,OSC32KSEL=2,RAMSIZE=0 */
253
#define SYSTEM_SIM_SOPT1_VALUE 0x00080000U
/* SIM_SOPT1 */
254
/* SIM_SOPT2:
255
* EMVSIMSRC=0,SDHCSRC=0,LPUARTSRC=0,TPMSRC=1,FLEXIOSRC=0,USBSRC=0,PLLFLLSEL=3,TRACECLKSEL=0,FBSL=0,CLKOUTSEL=0,RTCCLKOUTSEL=0
256
*/
257
#define SYSTEM_SIM_SOPT2_VALUE 0x01030000U
/* SIM_SOPT2 */
258
#elif(CLOCK_SETUP == 3)
259
#define DEFAULT_SYSTEM_CLOCK 4000000U
/* Default System clock value */
260
#define MCG_MODE MCG_MODE_BLPE
/* Clock generator mode */
261
/* MCG_C1: CLKS=2,FRDIV=4,IREFS=0,IRCLKEN=1,IREFSTEN=0 */
262
#define SYSTEM_MCG_C1_VALUE 0xA2U
/* MCG_C1 */
263
/* MCG_C2: LOCRE0=0,FCFTRIM=0,RANGE=2,HGO=0,EREFS=1,LP=1,IRCS=1 */
264
#define SYSTEM_MCG_C2_VALUE 0x27U
/* MCG_C2 */
265
/* MCG_C4: DMX32=0,DRST_DRS=0,FCTRIM=0,SCFTRIM=0 */
266
#define SYSTEM_MCG_C4_VALUE 0x00U
/* MCG_C4 */
267
/* MCG_SC: ATME=0,ATMS=0,ATMF=0,FLTPRSRV=0,FCRDIV=1,LOCS0=0 */
268
#define SYSTEM_MCG_SC_VALUE 0x02U
/* MCG_SC */
269
/* MCG_C5: PLLCLKEN=0,PLLSTEN=0,PRDIV=0 */
270
#define SYSTEM_MCG_C5_VALUE 0x00U
/* MCG_C5 */
271
/* MCG_C6: LOLIE0=0,PLLS=0,CME0=0,VDIV=0 */
272
#define SYSTEM_MCG_C6_VALUE 0x00U
/* MCG_C6 */
273
/* MCG_C7: OSCSEL=0 */
274
#define SYSTEM_MCG_C7_VALUE 0x00U
/* MCG_C7 */
275
/* OSC_CR: ERCLKEN=1,EREFSTEN=0,SC2P=0,SC4P=0,SC8P=0,SC16P=0 */
276
#define SYSTEM_OSC_CR_VALUE 0x80U
/* OSC_CR */
277
/* SMC_PMCTRL: RUNM=0,STOPA=0,STOPM=0 */
278
#define SYSTEM_SMC_PMCTRL_VALUE 0x00U
/* SMC_PMCTRL */
279
/* SIM_CLKDIV1: OUTDIV1=0,OUTDIV2=3,OUTDIV4=3,OUTDIV5=0x0B */
280
#define SYSTEM_SIM_CLKDIV1_VALUE 0x03030000U
/* SIM_CLKDIV1 */
281
/* SIM_CLKDIV3: PLLFLLDIV=0,PLLFLLFRAC=0 */
282
#define SYSTEM_SIM_CLKDIV3_VALUE 0x00U
/* SIM_CLKDIV3 */
283
/* SIM_SOPT1: USBREGEN=0,USBSSTBY=0,USBVSTBY=0,OSC32KSEL=2,RAMSIZE=0 */
284
#define SYSTEM_SIM_SOPT1_VALUE 0x00080000U
/* SIM_SOPT1 */
285
/* SIM_SOPT2:
286
* EMVSIMSRC=0,SDHCSRC=0,LPUARTSRC=0,TPMSRC=1,FLEXIOSRC=0,USBSRC=0,PLLFLLSEL=3,TRACECLKSEL=0,FBSL=0,CLKOUTSEL=0,RTCCLKOUTSEL=0
287
*/
288
#define SYSTEM_SIM_SOPT2_VALUE 0x01030000U
/* SIM_SOPT2 */
289
#elif(CLOCK_SETUP == 4)
290
#define DEFAULT_SYSTEM_CLOCK 96000000U
/* Default System clock value */
291
#define MCG_MODE MCG_MODE_PEE
/* Clock generator mode */
292
/* MCG_C1: CLKS=0,FRDIV=4,IREFS=0,IRCLKEN=1,IREFSTEN=0 */
293
#define SYSTEM_MCG_C1_VALUE 0x22U
/* MCG_C1 */
294
/* MCG_C2: LOCRE0=0,FCFTRIM=0,RANGE=2,HGO=0,EREFS=1,LP=0,IRCS=0 */
295
#define SYSTEM_MCG_C2_VALUE 0x24U
/* MCG_C2 */
296
/* MCG_C4: DMX32=0,DRST_DRS=0,FCTRIM=0,SCFTRIM=0 */
297
#define SYSTEM_MCG_C4_VALUE 0x00U
/* MCG_C4 */
298
/* MCG_SC: ATME=0,ATMS=0,ATMF=0,FLTPRSRV=0,FCRDIV=0,LOCS0=0 */
299
#define SYSTEM_MCG_SC_VALUE 0x00U
/* MCG_SC */
300
/* MCG_C5: PLLCLKEN=0,PLLSTEN=0,PRDIV=0 */
301
#define SYSTEM_MCG_C5_VALUE 0x00U
/* MCG_C5 */
302
/* MCG_C6: LOLIE0=0,PLLS=1,CME0=0,VDIV=0 */
303
#define SYSTEM_MCG_C6_VALUE 0x40U
/* MCG_C6 */
304
/* MCG_C7: OSCSEL=0 */
305
#define SYSTEM_MCG_C7_VALUE 0x00U
/* MCG_C7 */
306
/* OSC_CR: ERCLKEN=1,EREFSTEN=0,SC2P=0,SC4P=0,SC8P=0,SC16P=0 */
307
#define SYSTEM_OSC_CR_VALUE 0x80U
/* OSC_CR */
308
/* SMC_PMCTRL: RUNM=3,STOPA=0,STOPM=0 */
309
#define SYSTEM_SMC_PMCTRL_VALUE 0x60U
/* SMC_PMCTRL */
310
/* SIM_CLKDIV1: OUTDIV1=0,OUTDIV2=3,OUTDIV4=3,OUTDIV5=0 */
311
#define SYSTEM_SIM_CLKDIV1_VALUE 0x03030000U
/* SIM_CLKDIV1 */
312
/* SIM_CLKDIV2: USBDIV=3,USBFRAC=0 */
313
#define SYSTEM_SIM_CLKDIV2_VALUE 0x03U
/* SIM_CLKDIV2 */
314
/* SIM_CLKDIV3: PLLFLLDIV=0,PLLFLLFRAC=0 */
315
#define SYSTEM_SIM_CLKDIV3_VALUE 0x00U
/* SIM_CLKDIV3 */
316
/* SIM_SOPT1: USBREGEN=0,USBSSTBY=0,USBVSTBY=0,OSC32KSEL=2,RAMSIZE=0 */
317
#define SYSTEM_SIM_SOPT1_VALUE 0x00080000U
/* SIM_SOPT1 */
318
/* SIM_SOPT2:
319
* EMVSIMSRC=0,SDHCSRC=0,LPUARTSRC=0,TPMSRC=1,FLEXIOSRC=0,USBSRC=0,PLLFLLSEL=1,TRACECLKSEL=0,FBSL=0,CLKOUTSEL=0,RTCCLKOUTSEL=0
320
*/
321
#define SYSTEM_SIM_SOPT2_VALUE 0x01010000U
/* SIM_SOPT2 */
322
#elif(CLOCK_SETUP == 5)
323
#define DEFAULT_SYSTEM_CLOCK 72000000U
/* Default System clock value */
324
#define MCG_MODE MCG_MODE_PEE
/* Clock generator mode */
325
/* MCG_C1: CLKS=0,FRDIV=4,IREFS=0,IRCLKEN=1,IREFSTEN=0 */
326
#define SYSTEM_MCG_C1_VALUE 0x22U
/* MCG_C1 */
327
/* MCG_C2: LOCRE0=0,FCFTRIM=0,RANGE=2,HGO=0,EREFS=1,LP=0,IRCS=0 */
328
#define SYSTEM_MCG_C2_VALUE 0x24U
/* MCG_C2 */
329
/* MCG_C4: DMX32=0,DRST_DRS=0,FCTRIM=0,SCFTRIM=0 */
330
#define SYSTEM_MCG_C4_VALUE 0x00U
/* MCG_C4 */
331
/* MCG_SC: ATME=0,ATMS=0,ATMF=0,FLTPRSRV=0,FCRDIV=0,LOCS0=0 */
332
#define SYSTEM_MCG_SC_VALUE 0x00U
/* MCG_SC */
333
/* MCG_C5: PLLCLKEN=0,PLLSTEN=0,PRDIV=1 */
334
#define SYSTEM_MCG_C5_VALUE 0x01U
/* MCG_C5 */
335
/* MCG_C6: LOLIE0=0,PLLS=1,CME0=0,VDIV=8 */
336
#define SYSTEM_MCG_C6_VALUE 0x48U
/* MCG_C6 */
337
/* MCG_C7: OSCSEL=0 */
338
#define SYSTEM_MCG_C7_VALUE 0x00U
/* MCG_C7 */
339
/* OSC_CR: ERCLKEN=1,EREFSTEN=0,SC2P=0,SC4P=0,SC8P=0,SC16P=0 */
340
#define SYSTEM_OSC_CR_VALUE 0x80U
/* OSC_CR */
341
/* SMC_PMCTRL: RUNM=0,STOPA=0,STOPM=0 */
342
#define SYSTEM_SMC_PMCTRL_VALUE 0x00U
/* SMC_PMCTRL */
343
/* SIM_CLKDIV1: OUTDIV1=0,OUTDIV2=2,OUTDIV4=2,OUTDIV5=0 */
344
#define SYSTEM_SIM_CLKDIV1_VALUE 0x02020000U
/* SIM_CLKDIV1 */
345
/* SIM_CLKDIV3: PLLFLLDIV=0,PLLFLLFRAC=0 */
346
#define SYSTEM_SIM_CLKDIV3_VALUE 0x00U
/* SIM_CLKDIV3 */
347
/* SIM_SOPT1: USBREGEN=0,USBSSTBY=0,USBVSTBY=0,OSC32KSEL=2,RAMSIZE=0 */
348
#define SYSTEM_SIM_SOPT1_VALUE 0x00080000U
/* SIM_SOPT1 */
349
/* SIM_SOPT2:
350
* EMVSIMSRC=0,SDHCSRC=0,LPUARTSRC=0,TPMSRC=1,FLEXIOSRC=0,USBSRC=0,PLLFLLSEL=1,TRACECLKSEL=0,FBSL=0,CLKOUTSEL=0,RTCCLKOUTSEL=0
351
*/
352
#define SYSTEM_SIM_SOPT2_VALUE 0x01010000U
/* SIM_SOPT2 */
353
#endif
354
#else
355
#define DEFAULT_SYSTEM_CLOCK 20971520u
356
#endif
357
367
extern
uint32_t SystemCoreClock;
368
376
void
SystemInit(
void
);
377
385
void
SystemCoreClockUpdate(
void
);
386
387
#ifdef __cplusplus
388
}
389
#endif
390
391
#endif
/* _SYSTEM_MKL82Z7_H_ */
apps
flash_driver_api
MKL82Z7
src
startup
system_MKL82Z7.h
Generated on Mon Mar 7 2016 16:48:23 for Kinetis Bootloader by
1.8.11