]> git.sur5r.net Git - freertos/blob - FreeRTOS/Demo/CORTEX_MPU_CEC_MEC_17xx_51xx_Keil_GCC/GCC_Specific/system.c
68af5a0c734e1ce031aab97ba7a22e6bd5829521
[freertos] / FreeRTOS / Demo / CORTEX_MPU_CEC_MEC_17xx_51xx_Keil_GCC / GCC_Specific / system.c
1 /****************************************************************************\r
2 * © 2013 Microchip Technology Inc. and its subsidiaries.\r
3 * You may use this software and any derivatives exclusively with\r
4 * Microchip products.\r
5 * THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS".\r
6 * NO WARRANTIES, WHETHER EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE,\r
7 * INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY,\r
8 * AND FITNESS FOR A PARTICULAR PURPOSE, OR ITS INTERACTION WITH MICROCHIP\r
9 * PRODUCTS, COMBINATION WITH ANY OTHER PRODUCTS, OR USE IN ANY APPLICATION.\r
10 * IN NO EVENT WILL MICROCHIP BE LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE,\r
11 * INCIDENTAL OR CONSEQUENTIAL LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND\r
12 * WHATSOEVER RELATED TO THE SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP HAS\r
13 * BEEN ADVISED OF THE POSSIBILITY OR THE DAMAGES ARE FORESEEABLE.\r
14 * TO THE FULLEST EXTENT ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL\r
15 * CLAIMS IN ANY WAY RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF\r
16 * FEES, IF ANY, THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS SOFTWARE.\r
17 * MICROCHIP PROVIDES THIS SOFTWARE CONDITIONALLY UPON YOUR ACCEPTANCE\r
18 * OF THESE TERMS.\r
19 */\r
20 \r
21 /** @defgroup pwm pwm_c_wrapper\r
22  *  @{\r
23  */\r
24 /** @file pwm_c_wrapper.cpp\r
25  \brief the pwm component C wrapper   \r
26  This program is designed to allow the other C programs to be able to use this component\r
27 \r
28  There are entry points for all C wrapper API implementation\r
29 \r
30 <b>Platform:</b> This is ARC-based component \r
31 \r
32 <b>Toolset:</b> Metaware IDE(8.5.1)\r
33 <b>Reference:</b> smsc_reusable_fw_requirement.doc */\r
34 \r
35 /*******************************************************************************\r
36  *  SMSC version control information (Perforce):\r
37  *\r
38  *  FILE:     $File: //depot_pcs/FWEng/projects/MEC2016/Playground/pramans/160623_FreeRTOS_Microchip_MEC170x/Demo/CORTEX_MPU_MEC1701_Keil_GCC/GCC_Specific/system.c $\r
39  *  REVISION: $Revision: #1 $\r
40  *  DATETIME: $DateTime: 2016/09/22 08:03:49 $\r
41  *  AUTHOR:   $Author: pramans $\r
42  *\r
43  *  Revision history (latest first):\r
44  *      #3  2011/05/09  martin_y    update to Metaware IDE(8.5.1) \r
45  *      #2  2011/03/25  martin_y    support FPGA build 058 apps\r
46  *      #1  2011/03/23  martin_y    branch from MEC1618 sample code: MEC1618_evb_sample_code_build_0200\r
47  ***********************************************************************************\r
48  */\r
49 /* Imported Header File */\r
50 //#include    "common.h"\r
51 //#include    "build.h"\r
52 #include    <stdint.h>\r
53 \r
54 #define ADDR_PCR_PROCESSOR_CLOCK_CONTROL    0x40080120\r
55 #define MMCR_PCR_PROCESSOR_CLOCK_CONTROL    (*(uint32_t *)(ADDR_PCR_PROCESSOR_CLOCK_CONTROL))\r
56 #define CPU_CLOCK_DIVIDER                                       1\r
57 \r
58 /******************************************************************************/\r
59 /** system_set_ec_clock\r
60 * Set CPU speed\r
61 * @param void\r
62 * @return void\r
63 *******************************************************************************/\r
64 \r
65 void system_set_ec_clock(void)\r
66 {\r
67 \r
68     /* Set ARC CPU Clock Divider to determine the CPU speed */\r
69     /* Set divider to 8 for 8MHz operation, MCLK in silicon chip is 64MHz, CPU=MCLK/Divider */\r
70     MMCR_PCR_PROCESSOR_CLOCK_CONTROL = CPU_CLOCK_DIVIDER;\r
71 \r
72 } /* End system_set_ec_clock() */\r
73 \r