Line data Source code
1 0 : /*
2 : * Copyright (c) 2023 Linaro Limited
3 : *
4 : * SPDX-License-Identifier: Apache-2.0
5 : */
6 : #ifndef ZEPHYR_INCLUDE_DT_BINDINGS_CLOCK_STM32F410_CLOCK_H_
7 : #define ZEPHYR_INCLUDE_DT_BINDINGS_CLOCK_STM32F410_CLOCK_H_
8 :
9 : #include "stm32f4_clock.h"
10 :
11 : /** @brief RCC_DCKCFGR register offset */
12 1 : #define DCKCFGR_REG 0x8C
13 0 : #define DCKCFGR2_REG 0x94
14 :
15 : /** @brief Device domain clocks selection helpers */
16 : /** DCKCFGR devices */
17 1 : #define CKDFSDM2A_SEL(val) STM32_DT_CLOCK_SELECT((val), 1, 14, DCKCFGR_REG)
18 0 : #define CKDFSDM1A_SEL(val) STM32_DT_CLOCK_SELECT((val), 1, 15, DCKCFGR_REG)
19 0 : #define SAI1A_SEL(val) STM32_DT_CLOCK_SELECT((val), 3, 20, DCKCFGR_REG)
20 0 : #define SAI1B_SEL(val) STM32_DT_CLOCK_SELECT((val), 3, 22, DCKCFGR_REG)
21 0 : #define I2S1_SEL(val) STM32_DT_CLOCK_SELECT((val), 3, 25, DCKCFGR_REG)
22 0 : #define I2S2_SEL(val) STM32_DT_CLOCK_SELECT((val), 3, 27, DCKCFGR_REG)
23 0 : #define CKDFSDM_SEL(val) STM32_DT_CLOCK_SELECT((val), 1, 31, DCKCFGR_REG)
24 :
25 : /** DCKCFGR2 devices */
26 1 : #define I2CFMP1_SEL(val) STM32_DT_CLOCK_SELECT((val), 3, 22, DCKCFGR2_REG)
27 0 : #define CK48M_SEL(val) STM32_DT_CLOCK_SELECT((val), 1, 27, DCKCFGR2_REG)
28 0 : #define SDIO_SEL(val) STM32_DT_CLOCK_SELECT((val), 1, 28, DCKCFGR2_REG)
29 0 : #define LPTIM1_SEL(val) STM32_DT_CLOCK_SELECT((val), 3, 30, DCKCFGR2_REG)
30 :
31 : /* F4 generic I2S_SEL is not compatible with F410 devices */
32 : #ifdef I2S_SEL
33 : #undef I2S_SEL
34 : #endif
35 :
36 : #endif /* ZEPHYR_INCLUDE_DT_BINDINGS_CLOCK_STM32F410_CLOCK_H_ */
|