mbed library sources

Dependents:   Encrypted my_mbed lklk CyaSSL_DTLS_Cellular ... more

Superseded

This library was superseded by mbed-dev - https://os.mbed.com/users/mbed_official/code/mbed-dev/.

Development branch of the mbed library sources. This library is kept in synch with the latest changes from the mbed SDK and it is not guaranteed to work.

If you are looking for a stable and tested release, please import one of the official mbed library releases:

Import librarymbed

The official Mbed 2 C/C++ SDK provides the software platform and libraries to build your applications.

Committer:
mbed_official
Date:
Fri Sep 04 09:30:10 2015 +0100
Revision:
619:034e698bc035
Parent:
targets/cmsis/TARGET_WIZNET/TARGET_W7500x/TARGET_WIZwiki_W7500/system_W7500x.c@558:0880f51c4036
Synchronized with git revision 92d1bfad30082571776c810a56fd471d30514ccf

Full URL: https://github.com/mbedmicro/mbed/commit/92d1bfad30082571776c810a56fd471d30514ccf/

Change directory structure and move files.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
mbed_official 558:0880f51c4036 1 /**************************************************************************//**
mbed_official 558:0880f51c4036 2 * @file system_CMSDK_CM0.c
mbed_official 558:0880f51c4036 3 * @brief CMSIS Cortex-M0 Device Peripheral Access Layer Source File for
mbed_official 558:0880f51c4036 4 * Device CMSDK
mbed_official 558:0880f51c4036 5 * @version V3.01
mbed_official 558:0880f51c4036 6 * @date 06. March 2012
mbed_official 558:0880f51c4036 7 *
mbed_official 558:0880f51c4036 8 * @note
mbed_official 558:0880f51c4036 9 * Copyright (C) 2010-2012 ARM Limited. All rights reserved.
mbed_official 558:0880f51c4036 10 *
mbed_official 558:0880f51c4036 11 * @par
mbed_official 558:0880f51c4036 12 * ARM Limited (ARM) is supplying this software for use with Cortex-M
mbed_official 558:0880f51c4036 13 * processor based microcontrollers. This file can be freely distributed
mbed_official 558:0880f51c4036 14 * within development tools that are supporting such ARM based processors.
mbed_official 558:0880f51c4036 15 *
mbed_official 558:0880f51c4036 16 * @par
mbed_official 558:0880f51c4036 17 * THIS SOFTWARE IS PROVIDED "AS IS". NO WARRANTIES, WHETHER EXPRESS, IMPLIED
mbed_official 558:0880f51c4036 18 * OR STATUTORY, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF
mbed_official 558:0880f51c4036 19 * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE APPLY TO THIS SOFTWARE.
mbed_official 558:0880f51c4036 20 * ARM SHALL NOT, IN ANY CIRCUMSTANCES, BE LIABLE FOR SPECIAL, INCIDENTAL, OR
mbed_official 558:0880f51c4036 21 * CONSEQUENTIAL DAMAGES, FOR ANY REASON WHATSOEVER.
mbed_official 558:0880f51c4036 22 *
mbed_official 558:0880f51c4036 23 ******************************************************************************/
mbed_official 558:0880f51c4036 24
mbed_official 558:0880f51c4036 25
mbed_official 558:0880f51c4036 26 #include "system_W7500x.h"
mbed_official 558:0880f51c4036 27
mbed_official 558:0880f51c4036 28
mbed_official 558:0880f51c4036 29 /*----------------------------------------------------------------------------
mbed_official 558:0880f51c4036 30 DEFINES
mbed_official 558:0880f51c4036 31 *----------------------------------------------------------------------------*/
mbed_official 558:0880f51c4036 32 //#define SYSCLK_EXTERN_OSC
mbed_official 558:0880f51c4036 33
mbed_official 558:0880f51c4036 34
mbed_official 558:0880f51c4036 35
mbed_official 558:0880f51c4036 36 /*----------------------------------------------------------------------------
mbed_official 558:0880f51c4036 37 Clock Variable definitions
mbed_official 558:0880f51c4036 38 *----------------------------------------------------------------------------*/
mbed_official 558:0880f51c4036 39 uint32_t SystemFrequency = 0; /*!< System Clock Frequency (Core Clock) */
mbed_official 558:0880f51c4036 40 uint32_t SystemCoreClock = 0; /*!< Processor Clock Frequency */
mbed_official 558:0880f51c4036 41
mbed_official 558:0880f51c4036 42
mbed_official 558:0880f51c4036 43 /*----------------------------------------------------------------------------
mbed_official 558:0880f51c4036 44 Clock functions
mbed_official 558:0880f51c4036 45 *----------------------------------------------------------------------------*/
mbed_official 558:0880f51c4036 46 void SystemCoreClockUpdate (void) /* Get Core Clock Frequency */
mbed_official 558:0880f51c4036 47 {
mbed_official 558:0880f51c4036 48 uint8_t M,N,OD;
mbed_official 558:0880f51c4036 49
mbed_official 558:0880f51c4036 50 #ifdef SYSCLK_EXTERN_OSC
mbed_official 558:0880f51c4036 51 CRG->PLL_IFSR = CRG_PLL_IFSR_OCLK;
mbed_official 558:0880f51c4036 52 #else
mbed_official 558:0880f51c4036 53 CRG->PLL_IFSR = CRG_PLL_IFSR_RCLK;
mbed_official 558:0880f51c4036 54 #endif
mbed_official 558:0880f51c4036 55 OD = (1 << (CRG->PLL_FCR & 0x01)) * (1 << ((CRG->PLL_FCR & 0x02) >> 1));
mbed_official 558:0880f51c4036 56 N = (CRG->PLL_FCR >> 8 ) & 0x3F;
mbed_official 558:0880f51c4036 57 M = (CRG->PLL_FCR >> 16) & 0x3F;
mbed_official 558:0880f51c4036 58
mbed_official 558:0880f51c4036 59 #ifdef SYSCLK_EXTERN_OSC
mbed_official 558:0880f51c4036 60 SystemCoreClock = EXTERN_XTAL * M / N * 1 / OD;
mbed_official 558:0880f51c4036 61 #else
mbed_official 558:0880f51c4036 62 SystemCoreClock = INTERN_XTAL * M / N * 1 / OD;
mbed_official 558:0880f51c4036 63 #endif
mbed_official 558:0880f51c4036 64 }
mbed_official 558:0880f51c4036 65
mbed_official 558:0880f51c4036 66 uint32_t GetSystemClock()
mbed_official 558:0880f51c4036 67 {
mbed_official 558:0880f51c4036 68 return SystemCoreClock;
mbed_official 558:0880f51c4036 69 }
mbed_official 558:0880f51c4036 70
mbed_official 558:0880f51c4036 71
mbed_official 558:0880f51c4036 72 /**
mbed_official 558:0880f51c4036 73 * Initialize the system
mbed_official 558:0880f51c4036 74 *
mbed_official 558:0880f51c4036 75 * @param none
mbed_official 558:0880f51c4036 76 * @return none
mbed_official 558:0880f51c4036 77 *
mbed_official 558:0880f51c4036 78 * @brief Setup the microcontroller system.
mbed_official 558:0880f51c4036 79 * Initialize the System.
mbed_official 558:0880f51c4036 80 */
mbed_official 558:0880f51c4036 81 void SystemInit (void)
mbed_official 558:0880f51c4036 82 {
mbed_official 558:0880f51c4036 83 uint8_t M,N,OD;
mbed_official 558:0880f51c4036 84
mbed_official 558:0880f51c4036 85 (*((volatile uint32_t *)(W7500x_TRIM_BGT))) = (*((volatile uint32_t *)(W7500x_INFO_BGT)));
mbed_official 558:0880f51c4036 86 (*((volatile uint32_t *)(W7500x_TRIM_OSC))) = (*((volatile uint32_t *)(W7500x_INFO_OSC)));
mbed_official 558:0880f51c4036 87
mbed_official 558:0880f51c4036 88
mbed_official 558:0880f51c4036 89 // Set PLL input frequency
mbed_official 558:0880f51c4036 90 #ifdef SYSCLK_EXTERN_OSC
mbed_official 558:0880f51c4036 91 CRG->PLL_IFSR = CRG_PLL_IFSR_OCLK;
mbed_official 558:0880f51c4036 92 #else
mbed_official 558:0880f51c4036 93 CRG->PLL_IFSR = CRG_PLL_IFSR_RCLK;
mbed_official 558:0880f51c4036 94 #endif
mbed_official 558:0880f51c4036 95 OD = (1 << (CRG->PLL_FCR & 0x01)) * (1 << ((CRG->PLL_FCR & 0x02) >> 1));
mbed_official 558:0880f51c4036 96 N = (CRG->PLL_FCR >> 8 ) & 0x3F;
mbed_official 558:0880f51c4036 97 M = (CRG->PLL_FCR >> 16) & 0x3F;
mbed_official 558:0880f51c4036 98
mbed_official 558:0880f51c4036 99 #ifdef SYSCLK_EXTERN_OSC
mbed_official 558:0880f51c4036 100 SystemCoreClock = EXTERN_XTAL * M / N * 1 / OD;
mbed_official 558:0880f51c4036 101 #else
mbed_official 558:0880f51c4036 102 SystemCoreClock = INTERN_XTAL * M / N * 1 / OD;
mbed_official 558:0880f51c4036 103 #endif
mbed_official 558:0880f51c4036 104 }