1 /* 2 * Copyright (c) 2024 Nordic Semiconductor ASA 3 * 4 * SPDX-License-Identifier: Apache-2.0 5 */ 6 #include <stdint.h> 7 8 #if defined(NRF5340_XXAA_NETWORK) || defined(NRF52833) \ 9 || defined(NRF54L15_XXAA) 10 11 #define __SYSTEM_CLOCK_DEFAULT (64000000UL) 12 13 __attribute__((weak)) uint32_t SystemCoreClock = __SYSTEM_CLOCK_DEFAULT; 14 SystemCoreClockUpdate(void)15__attribute__((weak)) void SystemCoreClockUpdate(void) 16 { 17 SystemCoreClock = __SYSTEM_CLOCK_DEFAULT; 18 } 19 20 #elif defined(NRF5340_XXAA_APPLICATION) 21 22 #include "nrfx.h" 23 24 /* NRF5340 application core uses a variable System Clock Frequency that starts at 64MHz */ 25 #define __SYSTEM_CLOCK_MAX (128000000UL) 26 #define __SYSTEM_CLOCK_DEFAULT ( 64000000UL) 27 28 __attribute__((weak)) uint32_t SystemCoreClock = __SYSTEM_CLOCK_DEFAULT; 29 SystemCoreClockUpdate(void)30__attribute__((weak)) void SystemCoreClockUpdate(void) 31 { 32 SystemCoreClock = __SYSTEM_CLOCK_MAX >> (NRF_CLOCK_S->HFCLKCTRL & (CLOCK_HFCLKCTRL_HCLK_Msk)); 33 } 34 35 #endif 36