 |
Zephyr API 3.6.99
|
Loading...
Searching...
No Matches
Go to the documentation of this file.
6#ifndef ZEPHYR_INCLUDE_DT_BINDINGS_CLOCK_STM32_COMMON_CLOCKS_H_
7#define ZEPHYR_INCLUDE_DT_BINDINGS_CLOCK_STM32_COMMON_CLOCKS_H_
10#define STM32_SRC_SYSCLK 0x001
12#define STM32_SRC_LSE 0x002
13#define STM32_SRC_LSI 0x003
18#define STM32_CLOCK_DIV_SHIFT 12
21#define STM32_CLOCK_DIV(div) (((div) - 1) << STM32_CLOCK_DIV_SHIFT)
24#define STM32_DT_CLKSEL_REG_MASK 0xFFFFU
25#define STM32_DT_CLKSEL_REG_SHIFT 0U
26#define STM32_DT_CLKSEL_SHIFT_MASK 0x1FU
27#define STM32_DT_CLKSEL_SHIFT_SHIFT 16U
28#define STM32_DT_CLKSEL_WIDTH_MASK 0x3U
29#define STM32_DT_CLKSEL_WIDTH_SHIFT 21U
30#define STM32_DT_CLKSEL_VAL_MASK 0xFFU
31#define STM32_DT_CLKSEL_VAL_SHIFT 24U
47#define STM32_DT_CLOCK_SELECT(val, msb, lsb, reg) \
48 ((((reg) & STM32_DT_CLKSEL_REG_MASK) << STM32_DT_CLKSEL_REG_SHIFT) | \
49 (((lsb) & STM32_DT_CLKSEL_SHIFT_MASK) << STM32_DT_CLKSEL_SHIFT_SHIFT) | \
50 ((((msb) - (lsb)) & STM32_DT_CLKSEL_WIDTH_MASK) << STM32_DT_CLKSEL_WIDTH_SHIFT) | \
51 (((val) & STM32_DT_CLKSEL_VAL_MASK) << STM32_DT_CLKSEL_VAL_SHIFT))
60#define STM32_CLOCK(bus, bit) (STM32_CLOCK_BUS_##bus) (1 << bit)