-
Notifications
You must be signed in to change notification settings - Fork 8.1k
Description
Describe the bug
zephyr/include/zephyr/dt-bindings/clock/stm32_common_clocks.h
Lines 46 to 50 in 8a72d77
| #define STM32_DT_CLOCK_SELECT(val, mask, shift, reg) \ | |
| ((((reg) & STM32_DT_CLKSEL_REG_MASK) << STM32_DT_CLKSEL_REG_SHIFT) | \ | |
| (((shift) & STM32_DT_CLKSEL_SHIFT_MASK) << STM32_DT_CLKSEL_SHIFT_SHIFT) | \ | |
| (((mask) & STM32_DT_CLKSEL_MASK_MASK) << STM32_DT_CLKSEL_MASK_SHIFT) | \ | |
| (((val) & STM32_DT_CLKSEL_VAL_MASK) << STM32_DT_CLKSEL_VAL_SHIFT)) |
zephyr/include/zephyr/dt-bindings/clock/stm32h7_clock.h
Lines 114 to 117 in 8a72d77
| #define MCO1_SEL(val) STM32_DT_CLOCK_SELECT((val), 0xF, 22, CFGR_REG) | |
| #define MCO1_PRE(val) STM32_DT_CLOCK_SELECT((val), 0x7, 18, CFGR_REG) | |
| #define MCO2_SEL(val) STM32_DT_CLOCK_SELECT((val), 0xF, 29, CFGR_REG) | |
| #define MCO2_PRE(val) STM32_DT_CLOCK_SELECT((val), 0x7, 25, CFGR_REG) |
I believe the masks for these macros should be swapped (SEL vs PRE)... can someone confirm or deny this?
#define MCO1_SEL(val) STM32_DT_CLOCK_SELECT((val), 0x7, 22, CFGR_REG)
#define MCO1_PRE(val) STM32_DT_CLOCK_SELECT((val), 0xF, 18, CFGR_REG)
#define MCO2_SEL(val) STM32_DT_CLOCK_SELECT((val), 0x7, 29, CFGR_REG)
#define MCO2_PRE(val) STM32_DT_CLOCK_SELECT((val), 0xF, 25, CFGR_REG)Steps to reproduce
Untested / unverified at the moment...
Relevant log output
None
Impact
Functional Limitation - Some features not working as expected, but system usable.
Environment
- Linux fef609931a42 6.5.0-35-generic #35~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC Tue May 7 09:00:52 UTC 2 x86_64 x86_64 x86_64 GNU/Linux
- arm-none-eabi-gcc (Arm GNU Toolchain 13.2.rel1 (Build arm-13.7)) 13.2.1 20231009
- Zephyr 90cd350, still present in 8a72d77
Additional context
I'm using STM32H753, and luckily I don't think this will affect me, as I'm not using MCO2 (so the LSB of MCO2PRE won't be clobbered), and have low values for MCO1 prescaler (so MSB won't be masked off).
I've not verified values for the other families.
I'll try to set a large prescaler on MCO1 to confirm this if nobody else can confirm.