MAX32660 Peripheral Driver API
Peripheral Driver API for the MAX32660
system_max32660.h
1
6/******************************************************************************
7 *
8 * Copyright (C) 2022-2023 Maxim Integrated Products, Inc. (now owned by
9 * Analog Devices, Inc.),
10 * Copyright (C) 2023-2024 Analog Devices, Inc.
11 *
12 * Licensed under the Apache License, Version 2.0 (the "License");
13 * you may not use this file except in compliance with the License.
14 * You may obtain a copy of the License at
15 *
16 * http://www.apache.org/licenses/LICENSE-2.0
17 *
18 * Unless required by applicable law or agreed to in writing, software
19 * distributed under the License is distributed on an "AS IS" BASIS,
20 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
21 * See the License for the specific language governing permissions and
22 * limitations under the License.
23 *
24 ******************************************************************************/
25
26#ifndef LIBRARIES_CMSIS_DEVICE_MAXIM_MAX32660_INCLUDE_SYSTEM_MAX32660_H_
27#define LIBRARIES_CMSIS_DEVICE_MAXIM_MAX32660_INCLUDE_SYSTEM_MAX32660_H_
28
29#ifdef __cplusplus
30extern "C" {
31#endif
32
33#include <stdint.h>
34
35/*----------------------------------------------------------------------------
36 Define clocks
37 *----------------------------------------------------------------------------*/
38
39#ifndef HFX_FREQ
40#define HFX_FREQ 32768
41#endif
42
43/* NOTE: This is the nominal value for NANORING. The actual value may vary from chip to chip.
44 Update if use of this oscillator requires precise timing.*/
45#ifndef NANORING_FREQ
46#define NANORING_FREQ 8000
47#endif
48
49#ifndef HIRC96_FREQ
50#define HIRC96_FREQ 96000000
51#endif
52
53extern uint32_t SystemCoreClock;
54#ifndef PeripheralClock
55#define PeripheralClock (SystemCoreClock / 2)
56#endif
57
58/*
59 * Initialize the system
60 *
61 * @brief Setup the microcontroller system.
62 * Initialize the System and update the SystemCoreClock variable.
63 */
64void SystemInit(void);
65
66/*
67 * Update SystemCoreClock variable
68 *
69 * @brief Updates the SystemCoreClock with current core Clock
70 * retrieved from cpu registers.
71 */
72void SystemCoreClockUpdate(void);
73
74#ifdef __cplusplus
75}
76#endif
77
78#endif // LIBRARIES_CMSIS_DEVICE_MAXIM_MAX32660_INCLUDE_SYSTEM_MAX32660_H_