Go to the source code of this file.
|
#define | STM32_CLOCK_BUS_AHB1 0x014 |
| Bus gatting clocks.
|
|
#define | STM32_CLOCK_BUS_APB2 0x018 |
|
#define | STM32_CLOCK_BUS_APB1 0x01c |
|
#define | STM32_PERIPH_BUS_MIN STM32_CLOCK_BUS_AHB1 |
|
#define | STM32_PERIPH_BUS_MAX STM32_CLOCK_BUS_APB1 |
|
#define | STM32_SRC_HSI 0x001 |
| Domain clocks.
|
|
#define | STM32_SRC_LSE 0x002 |
|
#define | STM32_SRC_LSI 0x003 |
|
#define | STM32_SRC_HSI14 0x004 |
|
#define | STM32_SRC_HSI48 0x005 |
|
#define | STM32_SRC_SYSCLK 0x006 |
| System clock.
|
|
#define | STM32_SRC_PCLK 0x007 |
| Bus clock.
|
|
#define | STM32_SRC_PLLCLK 0x008 |
| PLL clock.
|
|
#define | STM32_CLOCK_REG_MASK 0xFFU |
|
#define | STM32_CLOCK_REG_SHIFT 0U |
|
#define | STM32_CLOCK_SHIFT_MASK 0x1FU |
|
#define | STM32_CLOCK_SHIFT_SHIFT 8U |
|
#define | STM32_CLOCK_MASK_MASK 0x7U |
|
#define | STM32_CLOCK_MASK_SHIFT 13U |
|
#define | STM32_CLOCK_VAL_MASK 0x7U |
|
#define | STM32_CLOCK_VAL_SHIFT 16U |
|
#define | STM32_CLOCK(val, mask, shift, reg) |
| STM32 clock configuration bit field.
|
|
#define | CFGR3_REG 0x30 |
| RCC_CFGRx register offset.
|
|
#define | BDCR_REG 0x20 |
| RCC_BDCR register offset.
|
|
#define | USART1_SEL(val) STM32_CLOCK(val, 3, 0, CFGR3_REG) |
| Device domain clocks selection helpers.
|
|
#define | I2C1_SEL(val) STM32_CLOCK(val, 1, 4, CFGR3_REG) |
|
#define | CEC_SEL(val) STM32_CLOCK(val, 1, 6, CFGR3_REG) |
|
#define | USB_SEL(val) STM32_CLOCK(val, 1, 7, CFGR3_REG) |
|
#define | USART2_SEL(val) STM32_CLOCK(val, 3, 16, CFGR3_REG) |
|
#define | USART3_SEL(val) STM32_CLOCK(val, 3, 18, CFGR3_REG) |
|
#define | RTC_SEL(val) STM32_CLOCK(val, 3, 8, BDCR_REG) |
| BDCR devices.
|
|
#define | NO_SEL 0xFF |
| Dummy: Add a specificier when no selection is possible.
|
|
◆ BDCR_REG
RCC_BDCR register offset.
◆ CEC_SEL
◆ CFGR3_REG
RCC_CFGRx register offset.
◆ I2C1_SEL
◆ NO_SEL
Dummy: Add a specificier when no selection is possible.
◆ RTC_SEL
◆ STM32_CLOCK
#define STM32_CLOCK |
( |
|
val, |
|
|
|
mask, |
|
|
|
shift, |
|
|
|
reg |
|
) |
| |
Value:
#define STM32_CLOCK_SHIFT_SHIFT
Definition: stm32f0_clock.h:35
#define STM32_CLOCK_REG_SHIFT
Definition: stm32f0_clock.h:33
#define STM32_CLOCK_REG_MASK
Definition: stm32f0_clock.h:32
#define STM32_CLOCK_MASK_MASK
Definition: stm32f0_clock.h:36
#define STM32_CLOCK_VAL_MASK
Definition: stm32f0_clock.h:38
#define STM32_CLOCK_MASK_SHIFT
Definition: stm32f0_clock.h:37
#define STM32_CLOCK_VAL_SHIFT
Definition: stm32f0_clock.h:39
#define STM32_CLOCK_SHIFT_MASK
Definition: stm32f0_clock.h:34
STM32 clock configuration bit field.
- reg (1/2/3) [ 0 : 7 ]
- shift (0..31) [ 8 : 12 ]
- mask (0x1, 0x3, 0x7) [ 13 : 15 ]
- val (0..7) [ 16 : 18 ]
- Parameters
-
reg | RCC_CFGRx register offset |
shift | Position within RCC_CFGRx. |
mask | Mask for the RCC_CFGRx field. |
val | Clock value (0, 1, ... 7). |
◆ STM32_CLOCK_BUS_AHB1
#define STM32_CLOCK_BUS_AHB1 0x014 |
◆ STM32_CLOCK_BUS_APB1
#define STM32_CLOCK_BUS_APB1 0x01c |
◆ STM32_CLOCK_BUS_APB2
#define STM32_CLOCK_BUS_APB2 0x018 |
◆ STM32_CLOCK_MASK_MASK
#define STM32_CLOCK_MASK_MASK 0x7U |
◆ STM32_CLOCK_MASK_SHIFT
#define STM32_CLOCK_MASK_SHIFT 13U |
◆ STM32_CLOCK_REG_MASK
#define STM32_CLOCK_REG_MASK 0xFFU |
◆ STM32_CLOCK_REG_SHIFT
#define STM32_CLOCK_REG_SHIFT 0U |
◆ STM32_CLOCK_SHIFT_MASK
#define STM32_CLOCK_SHIFT_MASK 0x1FU |
◆ STM32_CLOCK_SHIFT_SHIFT
#define STM32_CLOCK_SHIFT_SHIFT 8U |
◆ STM32_CLOCK_VAL_MASK
#define STM32_CLOCK_VAL_MASK 0x7U |
◆ STM32_CLOCK_VAL_SHIFT
#define STM32_CLOCK_VAL_SHIFT 16U |
◆ STM32_PERIPH_BUS_MAX
◆ STM32_PERIPH_BUS_MIN
◆ STM32_SRC_HSI
#define STM32_SRC_HSI 0x001 |
Domain clocks.
Fixed clocks
◆ STM32_SRC_HSI14
#define STM32_SRC_HSI14 0x004 |
◆ STM32_SRC_HSI48
#define STM32_SRC_HSI48 0x005 |
◆ STM32_SRC_LSE
#define STM32_SRC_LSE 0x002 |
◆ STM32_SRC_LSI
#define STM32_SRC_LSI 0x003 |
◆ STM32_SRC_PCLK
#define STM32_SRC_PCLK 0x007 |
◆ STM32_SRC_PLLCLK
#define STM32_SRC_PLLCLK 0x008 |
◆ STM32_SRC_SYSCLK
#define STM32_SRC_SYSCLK 0x006 |
◆ USART1_SEL
Device domain clocks selection helpers.
CFGR3 devices
◆ USART2_SEL
◆ USART3_SEL
◆ USB_SEL