/* * Copyright (c) 2016, Freescale Semiconductor, Inc. * Copyright 2017-2018 NXP * * SPDX-License-Identifier: BSD-3-Clause */ #include "fsl_common.h" #include "clock_config.h" /******************************************************************************* * Definitions ******************************************************************************/ // /*! @brief Clock configuration structure. */ // typedef struct _clock_config // { // mcg_config_t mcgConfig; /*!< MCG configuration. */ // sim_clock_config_t simConfig; /*!< SIM configuration. */ // osc_config_t oscConfig; /*!< OSC configuration. */ // uint32_t coreClock; /*!< core clock frequency. */ // } clock_config_t; /******************************************************************************* * Variables ******************************************************************************/ /* System clock frequency. */ extern uint32_t SystemCoreClock; /******************************************************************************* * Code ******************************************************************************/ /* * How to setup clock using clock driver functions: * * 1. CLOCK_SetSimSafeDivs, to make sure core clock, bus clock, flexbus clock * and flash clock are in allowed range during clock mode switch. * * 2. Call CLOCK_Osc0Init to setup OSC clock, if it is used in target mode. * * 3. Set MCG configuration, MCG includes three parts: FLL clock, PLL clock and * internal reference clock(MCGIRCLK). Follow the steps to setup: * * 1). Call CLOCK_BootToXxxMode to set MCG to target mode. * * 2). If target mode is FBI/BLPI/PBI mode, the MCGIRCLK has been configured * correctly. For other modes, need to call CLOCK_SetInternalRefClkConfig * explicitly to setup MCGIRCLK. * * 3). Don't need to configure FLL explicitly, because if target mode is FLL * mode, then FLL has been configured by the function CLOCK_BootToXxxMode, * if the target mode is not FLL mode, the FLL is disabled. * * 4). If target mode is PEE/PBE/PEI/PBI mode, then the related PLL has been * setup by CLOCK_BootToXxxMode. In FBE/FBI/FEE/FBE mode, the PLL could * be enabled independently, call CLOCK_EnablePll0 explicitly in this case. * * 4. Call CLOCK_SetSimConfig to set the clock configuration in SIM. */ void BOARD_BootClockVLPR(void) { SystemCoreClockUpdate(); } void BOARD_BootClockRUN(void) { SystemCoreClockUpdate(); } void BOARD_BootClockHSRUN(void) { SystemCoreClockUpdate(); }