Toggle navigation
Documentation
The friendly Operating System for the Internet of Things
cfg_clock_common_fx_gx_mp1_c0.h
Go to the documentation of this file.
1
/*
2
* SPDX-FileCopyrightText: 2018 Freie Universität Berlin
3
* SPDX-FileCopyrightText: 2017 OTA keys S.A.
4
* SPDX-FileCopyrightText: 2018-2020 Inria
5
* SPDX-License-Identifier: LGPL-2.1-only
6
*/
7
8
#pragma once
9
22
#include "
kernel_defines.h
"
23
24
#ifdef __cplusplus
25
extern
"C"
{
26
#endif
27
32
/* Select the desired system clock source between PLL, HSE or HSI */
33
#ifndef CONFIG_USE_CLOCK_PLL
34
#if IS_ACTIVE(CONFIG_USE_CLOCK_HSE) || IS_ACTIVE(CONFIG_USE_CLOCK_HSI)
35
#define CONFIG_USE_CLOCK_PLL 0
36
#else
37
#if defined(CPU_FAM_STM32C0)
/* PLL not supported in STM32C0 */
38
#define CONFIG_USE_CLOCK_PLL 0
39
#define CONFIG_USE_CLOCK_HSI 1
40
#else
41
#define CONFIG_USE_CLOCK_PLL 1
/* Use PLL by default */
42
#endif
43
#endif
44
#endif
/* CONFIG_USE_CLOCK_PLL */
45
46
#if IS_ACTIVE(CONFIG_USE_CLOCK_PLL) && \
47
(IS_ACTIVE(CONFIG_USE_CLOCK_HSE) || IS_ACTIVE(CONFIG_USE_CLOCK_HSI))
48
#error "Cannot use PLL as clock source with other clock configurations"
49
#endif
50
51
#if IS_ACTIVE(CONFIG_USE_CLOCK_HSE) && \
52
(IS_ACTIVE(CONFIG_USE_CLOCK_PLL) || IS_ACTIVE(CONFIG_USE_CLOCK_HSI))
53
#error "Cannot use HSE as clock source with other clock configurations"
54
#endif
55
56
#if IS_ACTIVE(CONFIG_USE_CLOCK_HSI) && \
57
(IS_ACTIVE(CONFIG_USE_CLOCK_PLL) || IS_ACTIVE(CONFIG_USE_CLOCK_HSE))
58
#error "Cannot use HSI as clock source with other clock configurations"
59
#endif
60
61
#ifndef CONFIG_CLOCK_HSE
62
#if defined(CPU_FAM_STM32G0) || defined(CPU_FAM_STM32G4) || \
63
defined(CPU_FAM_STM32MP1) || defined(CPU_FAM_STM32C0)
64
#define CONFIG_CLOCK_HSE MHZ(24)
65
#else
66
#define CONFIG_CLOCK_HSE MHZ(8)
67
#endif
68
#endif
69
70
#ifndef CONFIG_CLOCK_HSI
71
#if defined(CPU_FAM_STM32F0) || defined(CPU_FAM_STM32F1) || \
72
defined(CPU_FAM_STM32F3)
73
#define CONFIG_CLOCK_HSI MHZ(8)
74
#elif defined(CPU_FAM_STM32MP1)
75
#define CONFIG_CLOCK_HSI MHZ(64)
76
#elif defined(CPU_FAM_STM32C0)
77
#define CONFIG_CLOCK_HSI MHZ(48)
78
#else
79
#define CONFIG_CLOCK_HSI MHZ(16)
80
#endif
81
#endif
84
#ifdef __cplusplus
85
}
86
#endif
87
kernel_defines.h
Common macros and compiler attributes/pragmas configuration.
Generated on Thu Oct 2 2025 12:06:48 by
1.9.1