/* * Copyright 2017-2018 NXP * All rights reserved. * * THIS SOFTWARE IS PROVIDED BY NXP "AS IS" AND ANY EXPRESSED OR * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. * IN NO EVENT SHALL NXP OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF * THE POSSIBILITY OF SUCH DAMAGE. */ /*! @addtogroup soc_support_S32K118*/ /*! @{*/ /*! * @file system_S32K118.h * @brief Device specific configuration file for S32K118 */ #ifndef SYSTEM_S32K118_H_ #define SYSTEM_S32K118_H_ /**< Symbol preventing repeated inclusion */ #include #ifdef __cplusplus extern "C" { #endif /****************************************************************************** * CPU Settings. *****************************************************************************/ /* Watchdog disable */ #ifndef DISABLE_WDOG #define DISABLE_WDOG 1 #endif /* Value of the external crystal or oscillator clock frequency in Hz */ #ifndef CPU_XTAL_CLK_HZ #define CPU_XTAL_CLK_HZ 8000000u #endif /* Value of the fast internal oscillator clock frequency in Hz */ #ifndef CPU_INT_FAST_CLK_HZ #define CPU_INT_FAST_CLK_HZ 48000000u #endif /* Default System clock value */ #ifndef DEFAULT_SYSTEM_CLOCK #define DEFAULT_SYSTEM_CLOCK 48000000u #endif /** * @brief System clock frequency (core clock) * * The system clock frequency supplied to the SysTick timer and the processor * core clock. This variable can be used by the user application to setup the * SysTick timer or configure other parameters. It may also be used by debugger to * query the frequency of the debug timer or configure the trace clock speed * SystemCoreClock is initialized with a correct predefined value. */ extern uint32_t SystemCoreClock; /** * @brief Setup the SoC. * * This function disables the watchdog. * if the corresponding feature macro is enabled. * SystemInit is called from startup_device file. */ void SystemInit(void); /** * @brief Updates the SystemCoreClock variable. * * It must be called whenever the core clock is changed during program * execution. SystemCoreClockUpdate() evaluates the clock register settings and calculates * the current core clock. * This function must be called when user does not want to use clock manager component. * If clock manager is used, the CLOCK_SYS_GetFreq function must be used with CORE_CLOCK * parameter. * */ void SystemCoreClockUpdate(void); /** * @brief Initiates a system reset. * * This function is used to initiate a system reset */ void SystemSoftwareReset(void); #ifdef __cplusplus } #endif /*! @}*/ #endif /* #if !defined(SYSTEM_S32K118_H_) */