Toggle navigation
Documentation
The friendly Operating System for the Internet of Things
cfg_clock_common_lx_u5_wx.h
Go to the documentation of this file.
1
/*
2
* Copyright (C) 2018 Freie Universität Berlin
3
* 2017 OTA keys S.A.
4
* 2018-2020 Inria
5
*
6
* This file is subject to the terms and conditions of the GNU Lesser
7
* General Public License v2.1. See the file LICENSE in the top level
8
* directory for more details.
9
*/
10
11
#pragma once
12
25
#include "
kernel_defines.h
"
26
27
#ifdef __cplusplus
28
extern
"C"
{
29
#endif
30
35
/* Select the desired system clock source between PLL, HSE or HSI */
36
#ifndef CONFIG_USE_CLOCK_PLL
37
#if IS_ACTIVE(CONFIG_USE_CLOCK_HSE) || IS_ACTIVE(CONFIG_USE_CLOCK_HSI) || \
38
IS_ACTIVE(CONFIG_USE_CLOCK_MSI)
39
#define CONFIG_USE_CLOCK_PLL 0
40
#else
41
#define CONFIG_USE_CLOCK_PLL 1
/* Use PLL by default */
42
#endif
43
#endif
/* CONFIG_USE_CLOCK_PLL */
46
#if IS_ACTIVE(CONFIG_USE_CLOCK_PLL) && \
47
(IS_ACTIVE(CONFIG_USE_CLOCK_MSI) || IS_ACTIVE(CONFIG_USE_CLOCK_HSE) || \
48
IS_ACTIVE(CONFIG_USE_CLOCK_HSI))
49
#error "Cannot use PLL as clock source with other clock configurations"
50
#endif
51
52
#if IS_ACTIVE(CONFIG_USE_CLOCK_MSI) && \
53
(IS_ACTIVE(CONFIG_USE_CLOCK_PLL) || IS_ACTIVE(CONFIG_USE_CLOCK_HSE) || \
54
IS_ACTIVE(CONFIG_USE_CLOCK_HSI))
55
#error "Cannot use MSI as clock source with other clock configurations"
56
#endif
57
58
#if IS_ACTIVE(CONFIG_USE_CLOCK_HSE) && \
59
(IS_ACTIVE(CONFIG_USE_CLOCK_PLL) || IS_ACTIVE(CONFIG_USE_CLOCK_MSI) || \
60
IS_ACTIVE(CONFIG_USE_CLOCK_HSI))
61
#error "Cannot use HSE as clock source with other clock configurations"
62
#endif
63
64
#if IS_ACTIVE(CONFIG_USE_CLOCK_HSI) && \
65
(IS_ACTIVE(CONFIG_USE_CLOCK_PLL) || IS_ACTIVE(CONFIG_USE_CLOCK_MSI) || \
66
IS_ACTIVE(CONFIG_USE_CLOCK_HSE))
67
#error "Cannot use HSI as clock source with other clock configurations"
68
#endif
69
70
#ifndef CONFIG_CLOCK_HSE
71
#if defined(CPU_FAM_STM32L0) || defined(CPU_FAM_STM32L1)
72
#define CONFIG_CLOCK_HSE MHZ(24)
73
#else
74
#define CONFIG_CLOCK_HSE MHZ(8)
75
#endif
76
#endif
77
78
#ifndef CONFIG_CLOCK_HSI
79
#define CONFIG_CLOCK_HSI MHZ(16)
80
#endif
81
82
#ifndef CONFIG_CLOCK_MSI
83
#if defined(CPU_FAM_STM32L0) || defined(CPU_FAM_STM32L1)
84
#define CONFIG_CLOCK_MSI KHZ(4194)
85
#else
86
#define CONFIG_CLOCK_MSI MHZ(48)
87
#endif
88
#endif
89
90
#ifdef __cplusplus
91
}
92
#endif
93
kernel_defines.h
Common macros and compiler attributes/pragmas configuration.
Generated on Mon Jun 30 2025 14:58:01 by
1.9.1