]> git.sur5r.net Git - freertos/blob - FreeRTOS/Demo/CORTEX_M7_SAMV71_Xplained/libchip_samv7/include/pmc.h
Update version number ready for V8.2.1 release.
[freertos] / FreeRTOS / Demo / CORTEX_M7_SAMV71_Xplained / libchip_samv7 / include / pmc.h
1 /* ----------------------------------------------------------------------------\r
2  *         SAM Software Package License\r
3  * ----------------------------------------------------------------------------\r
4  * Copyright (c) 2012, Atmel Corporation\r
5  *\r
6  * All rights reserved.\r
7  *\r
8  * Redistribution and use in source and binary forms, with or without\r
9  * modification, are permitted provided that the following conditions are met:\r
10  *\r
11  * - Redistributions of source code must retain the above copyright notice,\r
12  * this list of conditions and the disclaimer below.\r
13  *\r
14  * Atmel's name may not be used to endorse or promote products derived from\r
15  * this software without specific prior written permission.\r
16  *\r
17  * DISCLAIMER: THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR\r
18  * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF\r
19  * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE\r
20  * DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, INDIRECT,\r
21  * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\r
22  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,\r
23  * OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF\r
24  * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING\r
25  * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,\r
26  * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\r
27  * ----------------------------------------------------------------------------\r
28  */\r
29 \r
30 #ifndef _PMC_\r
31 #define _PMC_\r
32 \r
33 /*----------------------------------------------------------------------------\r
34  *        Headers\r
35  *----------------------------------------------------------------------------*/\r
36 #include <stdint.h>\r
37 \r
38 \r
39 /*----------------------------------------------------------------------------\r
40  *        Definitions\r
41  *----------------------------------------------------------------------------*/\r
42 /* Definition for fast RC frequency */\r
43 #define FAST_RC_4MHZ     CKGR_MOR_MOSCRCF_4MHz\r
44 #define FAST_RC_8MHZ     CKGR_MOR_MOSCRCF_8MHz\r
45 #define FAST_RC_12MHZ    CKGR_MOR_MOSCRCF_12MHz\r
46 \r
47 /* Definitions for startup count.\r
48  * Note: 1 count unit stand for: 1 / 32768 * 8 = 244 us\r
49  */\r
50 /* Default startup count for 4/8/12MHz fast RC (startup time: 10us ) */\r
51 #define DEFAUTL_FAST_RC_COUNT    1\r
52 /* Default startup count for 3-20MHz main oscilator (startup time: 1.4ms ) */\r
53 #define DEFAUTL_MAIN_OSC_COUNT   8\r
54 /* Default startup count for PLLA (startup time: 200us ) */\r
55 #define DEFAUTL_PLLA_COUNT       1\r
56 /* Default startup count for UPLL */\r
57 #define DEFAUTL_UPLL_COUNT       3\r
58 /* No change for default startup count */\r
59 #define DEFAUTL_COUNT_NO_CHANGE  0xFFFF\r
60 \r
61 \r
62 /*----------------------------------------------------------------------------\r
63  *        Exported functions\r
64  *----------------------------------------------------------------------------*/\r
65 \r
66 #ifdef __cplusplus\r
67  extern "C" {\r
68 #endif\r
69 \r
70 extern void PMC_EnablePeripheral( uint32_t dwId ) ;\r
71 extern void PMC_DisablePeripheral( uint32_t dwId ) ;\r
72 \r
73 extern void PMC_EnableAllPeripherals( void ) ;\r
74 extern void PMC_DisableAllPeripherals( void ) ;\r
75 \r
76 extern uint32_t PMC_IsPeriphEnabled( uint32_t dwId ) ;\r
77 \r
78 extern void PMC_SelectExtOsc(void);\r
79 extern void PMC_EnableExtOsc(void);\r
80 extern void PMC_DisableExtOsc(void);\r
81 extern void PMC_SelectExtBypassOsc(void);\r
82 extern void PMC_EnableIntRC4_8_12MHz(uint32_t fastRcFreq);\r
83 extern void PMC_DisableIntRC4_8_12MHz(void);\r
84 extern void PMC_SetPllaClock(uint32_t mul, uint32_t div);\r
85 extern void PMC_SetPllbClock(uint32_t mul, uint32_t div);\r
86 extern void PMC_SetMckSelection(uint32_t clockSource, uint32_t prescaler);\r
87 extern void PMC_DisableAllClocks(void);\r
88 extern void PMC_ConfigureMckWithPlla(uint32_t mul, uint32_t div, \r
89                 uint32_t prescaler);\r
90 extern void PMC_ConfigureMckWithPllb(uint32_t mul, uint32_t div, \r
91                 uint32_t prescaler);\r
92 extern void PMC_EnableXT32KFME(void);\r
93 extern void PMC_ConfigurePCK2(uint32_t MasterClk, uint32_t prescaler);\r
94 \r
95 #ifdef __cplusplus\r
96 }\r
97 #endif\r
98 \r
99 #endif /* #ifndef _PMC_ */\r
100 \r