47#ifndef CONFIG_USE_HSI_DIRECT
48# define CONFIG_USE_HSI_DIRECT 0
54#ifndef CONFIG_USE_HSI_PLL
55# if IS_ACTIVE(CONFIG_USE_HSI_DIRECT) || IS_ACTIVE(CONFIG_USE_HSE_DIRECT) || \
56 IS_ACTIVE(CONFIG_USE_CSI_DIRECT) || IS_ACTIVE(CONFIG_USE_CSI_PLL) || \
57 IS_ACTIVE(CONFIG_USE_HSE_PLL)
58# define CONFIG_USE_HSI_PLL 0
60# define CONFIG_USE_HSI_PLL 1
68#ifndef CONFIG_CLOCK_HSI_DIV
69# define CONFIG_CLOCK_HSI_DIV 1
75#ifndef CONFIG_USE_HSE_PLL
76# define CONFIG_USE_HSE_PLL 0
82#ifndef CONFIG_USE_HSE_DIRECT
83# define CONFIG_USE_HSE_DIRECT 0
89#ifndef CONFIG_USE_CSI_PLL
90# define CONFIG_USE_CSI_PLL 0
96#ifndef CONFIG_USE_CSI_DIRECT
97# define CONFIG_USE_CSI_DIRECT 0
103#if IS_ACTIVE(CONFIG_USE_HSI_DIRECT) || IS_ACTIVE(CONFIG_USE_HSI_PLL)
104# ifndef CONFIG_CLOCK_HSI
105# define CONFIG_CLOCK_HSI 64
109#if IS_ACTIVE(CONFIG_USE_HSE_PLL) || IS_ACTIVE(CONFIG_USE_HSE_DIRECT)
110# ifndef CONFIG_CLOCK_HSE
111# define CONFIG_CLOCK_HSE 8
115#if IS_ACTIVE(CONFIG_USE_CSI_DIRECT) || IS_ACTIVE(CONFIG_USE_CSI_PLL)
116# ifndef CONFIG_CLOCK_CSI
117# define CONFIG_CLOCK_CSI 4
121#ifndef CONFIG_CLOCK_LSE
122# define CONFIG_CLOCK_LSE 32768UL
125#if IS_ACTIVE(CONFIG_USE_LSI)
126# ifndef CONFIG_CLOCK_LSI
127# define CONFIG_CLOCK_LSI 32000UL
136#ifndef CONFIG_CLOCK_CORECLOCK_DIV
137# define CONFIG_CLOCK_CORECLOCK_DIV 1
140#if IS_ACTIVE(CONFIG_USE_HSI_PLL) || IS_ACTIVE(CONFIG_USE_HSE_PLL) || \
141 IS_ACTIVE(CONFIG_USE_CSI_PLL)
150# if (CONFIG_CLOCK_HSE == 8)
152# ifndef CONFIG_CLOCK_PLL1_M
153# define CONFIG_CLOCK_PLL1_M 4
154# define CONFIG_CLOCK_PLL1_N 480
155# define CONFIG_CLOCK_PLL1_P 2
156# define CONFIG_CLOCK_PLL1_Q 20
157# define CONFIG_CLOCK_PLL1_R 2
160# elif (CONFIG_CLOCK_HSE == 25)
162# ifndef CONFIG_CLOCK_PLL1_M
163# define CONFIG_CLOCK_PLL1_M 5
164# define CONFIG_CLOCK_PLL1_N 192
165# define CONFIG_CLOCK_PLL1_P 2
166# define CONFIG_CLOCK_PLL1_Q 20
167# define CONFIG_CLOCK_PLL1_R 2
170# elif (CONFIG_CLOCK_CSI == 4)
172# ifndef CONFIG_CLOCK_PLL1_M
173# define CONFIG_CLOCK_PLL1_M 1
174# define CONFIG_CLOCK_PLL1_N 240
175# define CONFIG_CLOCK_PLL1_P 2
176# define CONFIG_CLOCK_PLL1_Q 20
177# define CONFIG_CLOCK_PLL1_R 2
180# elif (CONFIG_CLOCK_HSI == 64)
182# ifndef CONFIG_CLOCK_PLL1_M
183# define CONFIG_CLOCK_PLL1_M 8
184# define CONFIG_CLOCK_PLL1_N 120
185# define CONFIG_CLOCK_PLL1_P 2
186# define CONFIG_CLOCK_PLL1_Q 20
187# define CONFIG_CLOCK_PLL1_R 2
191# error "Unsupported clock input for PLL configuration."
209#ifndef CONFIG_CLOCK_AHB_DIV
210# define CONFIG_CLOCK_AHB_DIV 2
219#ifndef CONFIG_CLOCK_APB1_DIV
220# define CONFIG_CLOCK_APB1_DIV 2
227#ifndef CONFIG_CLOCK_APB2_DIV
228# define CONFIG_CLOCK_APB2_DIV 2
235#ifndef CONFIG_CLOCK_APB3_DIV
236# define CONFIG_CLOCK_APB3_DIV 2
243#ifndef CONFIG_CLOCK_APB4_DIV
244# define CONFIG_CLOCK_APB4_DIV 2
AHB clock configuration for STM32H7.
APB1 clock configuration for STM32H7.
APB2 clock configuration for STM32H7.
APB3 clock configuration for STM32H7.
APB4 clock configuration for STM32H7.
Core clock configuration for STM32H7.
CSI clock setup for STM32H7 family.
HSE clock setup for STM32H7 family.
HSI clock setup for STM32H7 family.
Common macros and compiler attributes/pragmas configuration.
LSE clock setup for STM32H7 family.
LSI clock setup for STM32H7 family.
Common macros and compiler attributes/pragmas configuration.
PLL1 clock setup for STM32H7 family.
PLL2 clock setup for STM32H7 family.
PLL3 clock setup for STM32H7 family.