Zephyr API Documentation 4.1.99
A Scalable Open Source RTOS
 4.1.99
All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
stm32wb0_clock.h
Go to the documentation of this file.
1/*
2 * Copyright (c) 2024 STMicroelectronics
3 *
4 * SPDX-License-Identifier: Apache-2.0
5 */
6#ifndef ZEPHYR_INCLUDE_DT_BINDINGS_CLOCK_STM32WB0_CLOCK_H_
7#define ZEPHYR_INCLUDE_DT_BINDINGS_CLOCK_STM32WB0_CLOCK_H_
8
10#include "stm32_common_clocks.h"
11
17#define STM32_SRC_CLKSLOWMUX (STM32_SRC_LSI + 1)
18#define STM32_SRC_CLK16MHZ (STM32_SRC_CLKSLOWMUX + 1)
19#define STM32_SRC_CLK32MHZ (STM32_SRC_CLK16MHZ + 1)
20
22#define STM32_CLOCK_BUS_AHB0 0x50
23#define STM32_CLOCK_BUS_APB0 0x54
24#define STM32_CLOCK_BUS_APB1 0x58
25#define STM32_CLOCK_BUS_APB2 0x60
26
27#define STM32_PERIPH_BUS_MIN STM32_CLOCK_BUS_AHB0
28#define STM32_PERIPH_BUS_MAX STM32_CLOCK_BUS_APB2
29
31#define CFGR_REG 0x08
32
34#define APB2ENR_REG 0x60
35
38/* WB05/WB09 only */
39#define LPUART1_SEL(val) STM32_DT_CLOCK_SELECT((val), 1, 13, CFGR_REG)
40/* WB06/WB07 only */
41#define SPI2_I2S2_SEL(val) STM32_DT_CLOCK_SELECT((val), 1, 22, CFGR_REG)
42/* `mask` is only 0x1 for WB06/WB07, but a single definition with mask=0x3 is acceptable */
43#define SPI3_I2S3_SEL(val) STM32_DT_CLOCK_SELECT((val), 3, 22, CFGR_REG)
44
45#endif /* ZEPHYR_INCLUDE_DT_BINDINGS_CLOCK_STM32WB0_CLOCK_H_ */