Skip to content

Commit 3b8b266

Browse files
etienne-lmskartben
authored andcommitted
include: zephyr: dt-bindings: clock: factorize STM32_* clock source macros
Factorize definitions of the macros used to describe in the STM32 boards device tree the RCC register dedicated to clock source selection configuration, instead of replicating the macros per SoC header file. For that purpose, use DT cell bit fields that matches all SoCs. This change also factorizes STM32_MCO_CFGR_* macros that use the same packing layout for defining selection of the MCO clocks and for MCO pre-scaling factor on SoCs that support the feature. By the way, reorder argument description in macro inline description comment in a standard way (first argument first). Signed-off-by: Etienne Carriere <etienne.carriere@st.com>
1 parent af6d97d commit 3b8b266

22 files changed

+46
-613
lines changed

include/zephyr/dt-bindings/clock/stm32_common_clocks.h

Lines changed: 46 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -20,35 +20,58 @@
2020
/** Clock divider */
2121
#define STM32_CLOCK_DIV(div) (((div) - 1) << STM32_CLOCK_DIV_SHIFT)
2222

23-
/** STM32 MCO configuration values */
24-
#define STM32_MCO_CFGR_REG_MASK 0xFFFFU
25-
#define STM32_MCO_CFGR_REG_SHIFT 0U
26-
#define STM32_MCO_CFGR_SHIFT_MASK 0x3FU
27-
#define STM32_MCO_CFGR_SHIFT_SHIFT 16U
28-
#define STM32_MCO_CFGR_MASK_MASK 0x1FU
29-
#define STM32_MCO_CFGR_MASK_SHIFT 22U
30-
#define STM32_MCO_CFGR_VAL_MASK 0x1FU
31-
#define STM32_MCO_CFGR_VAL_SHIFT 27U
23+
/** Helper macros to pack RCC clock source selection register info in the DT */
24+
#define STM32_DT_CLKSEL_REG_MASK 0xFFFFU
25+
#define STM32_DT_CLKSEL_REG_SHIFT 0U
26+
#define STM32_DT_CLKSEL_SHIFT_MASK 0x3FU
27+
#define STM32_DT_CLKSEL_SHIFT_SHIFT 16U
28+
#define STM32_DT_CLKSEL_MASK_MASK 0x1FU
29+
#define STM32_DT_CLKSEL_MASK_SHIFT 22U
30+
#define STM32_DT_CLKSEL_VAL_MASK 0x1FU
31+
#define STM32_DT_CLKSEL_VAL_SHIFT 27U
3232

3333
/**
34-
* @brief STM32 MCO configuration register bit field
34+
* @brief Pack STM32 source clock selection RCC register bit fields for the DT
3535
*
36-
* @param reg Offset to RCC register holding MCO configuration
37-
* @param shift Position of field within RCC register (= field LSB's index)
38-
* @param mask Mask of register field in RCC register
39-
* @param val Clock configuration field value (0~0x1F)
36+
* @param val Clock configuration field value
37+
* @param mask Mask of register field in RCC register
38+
* @param shift Position of field within RCC register (= field LSB's index)
39+
* @param reg Offset to target clock configuration register in RCC
4040
*
41-
* @note 'reg' range: 0x0~0xFFFF [ 00 : 15 ]
42-
* @note 'shift' range: 0~63 [ 16 : 21 ]
43-
* @note 'mask' range: 0x00~0x1F [ 22 : 26 ]
41+
* @note 'reg' range: 0x0~0xFFFF [ 00 : 15 ]
42+
* @note 'shift' range: 0~63 [ 16 : 21 ]
43+
* @note 'mask' range: 0x00~0x1F [ 22 : 26 ]
4444
* @note 'val' range: 0x00~0x1F [ 27 : 31 ]
45-
*
4645
*/
47-
#define STM32_MCO_CFGR(val, mask, shift, reg) \
48-
((((reg) & STM32_MCO_CFGR_REG_MASK) << STM32_MCO_CFGR_REG_SHIFT) | \
49-
(((shift) & STM32_MCO_CFGR_SHIFT_MASK) << STM32_MCO_CFGR_SHIFT_SHIFT) | \
50-
(((mask) & STM32_MCO_CFGR_MASK_MASK) << STM32_MCO_CFGR_MASK_SHIFT) | \
51-
(((val) & STM32_MCO_CFGR_VAL_MASK) << STM32_MCO_CFGR_VAL_SHIFT))
46+
#define STM32_DT_CLOCK_SELECT(val, mask, shift, reg) \
47+
((((reg) & STM32_DT_CLKSEL_REG_MASK) << STM32_DT_CLKSEL_REG_SHIFT) | \
48+
(((shift) & STM32_DT_CLKSEL_SHIFT_MASK) << STM32_DT_CLKSEL_SHIFT_SHIFT) | \
49+
(((mask) & STM32_DT_CLKSEL_MASK_MASK) << STM32_DT_CLKSEL_MASK_SHIFT) | \
50+
(((val) & STM32_DT_CLKSEL_VAL_MASK) << STM32_DT_CLKSEL_VAL_SHIFT))
51+
52+
/* STM32_CLOCK_* macros, defined for convenience */
53+
#define STM32_CLOCK_REG_MASK STM32_DT_CLKSEL_REG_MASK
54+
#define STM32_CLOCK_REG_SHIFT STM32_DT_CLKSEL_REG_SHIFT
55+
#define STM32_CLOCK_SHIFT_MASK STM32_DT_CLKSEL_SHIFT_MASK
56+
#define STM32_CLOCK_SHIFT_SHIFT STM32_DT_CLKSEL_SHIFT_SHIFT
57+
#define STM32_CLOCK_MASK_MASK STM32_DT_CLKSEL_MASK_MASK
58+
#define STM32_CLOCK_MASK_SHIFT STM32_DT_CLKSEL_MASK_SHIFT
59+
#define STM32_CLOCK_VAL_MASK STM32_DT_CLKSEL_VAL_MASK
60+
#define STM32_CLOCK_VAL_SHIFT STM32_DT_CLKSEL_VAL_SHIFT
61+
#define STM32_DOMAIN_CLOCK(val, mask, shift, reg) \
62+
STM32_DT_CLOCK_SELECT((val), (mask), (shift), (reg))
63+
64+
/* STM32_MCO_CFGR_* macros, defined for convenience */
65+
#define STM32_MCO_CFGR_REG_MASK STM32_DT_CLKSEL_REG_MASK
66+
#define STM32_MCO_CFGR_REG_SHIFT STM32_DT_CLKSEL_REG_SHIFT
67+
#define STM32_MCO_CFGR_SHIFT_MASK STM32_DT_CLKSEL_SHIFT_MASK
68+
#define STM32_MCO_CFGR_SHIFT_SHIFT STM32_DT_CLKSEL_SHIFT_SHIFT
69+
#define STM32_MCO_CFGR_MASK_MASK STM32_DT_CLKSEL_MASK_MASK
70+
#define STM32_MCO_CFGR_MASK_SHIFT STM32_DT_CLKSEL_MASK_SHIFT
71+
#define STM32_MCO_CFGR_VAL_MASK STM32_DT_CLKSEL_VAL_MASK
72+
#define STM32_MCO_CFGR_VAL_SHIFT STM32_DT_CLKSEL_VAL_SHIFT
73+
#define STM32_MCO_CFGR(val, mask, shift, reg) \
74+
STM32_DT_CLOCK_SELECT((val), (mask), (shift), (reg))
5275

5376
/**
5477
* Pack RCC clock register offset and bit in two 32-bit values

include/zephyr/dt-bindings/clock/stm32c0_clock.h

Lines changed: 0 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -29,34 +29,6 @@
2929
/** Peripheral bus clock */
3030
#define STM32_SRC_PCLK (STM32_SRC_HSE + 1)
3131

32-
#define STM32_CLOCK_REG_MASK 0xFFU
33-
#define STM32_CLOCK_REG_SHIFT 0U
34-
#define STM32_CLOCK_SHIFT_MASK 0x1FU
35-
#define STM32_CLOCK_SHIFT_SHIFT 8U
36-
#define STM32_CLOCK_MASK_MASK 0x7U
37-
#define STM32_CLOCK_MASK_SHIFT 13U
38-
#define STM32_CLOCK_VAL_MASK 0x7U
39-
#define STM32_CLOCK_VAL_SHIFT 16U
40-
41-
/**
42-
* @brief STM32 clock configuration bit field.
43-
*
44-
* - reg (1/2/3) [ 0 : 7 ]
45-
* - shift (0..31) [ 8 : 12 ]
46-
* - mask (0x1, 0x3, 0x7) [ 13 : 15 ]
47-
* - val (0..7) [ 16 : 18 ]
48-
*
49-
* @param reg RCC_CCIPRx register offset
50-
* @param shift Position within RCC_CCIPRx.
51-
* @param mask Mask for the RCC_CCIPRx field.
52-
* @param val Clock value (0, 1, ... 7).
53-
*/
54-
#define STM32_DOMAIN_CLOCK(val, mask, shift, reg) \
55-
((((reg) & STM32_CLOCK_REG_MASK) << STM32_CLOCK_REG_SHIFT) | \
56-
(((shift) & STM32_CLOCK_SHIFT_MASK) << STM32_CLOCK_SHIFT_SHIFT) | \
57-
(((mask) & STM32_CLOCK_MASK_MASK) << STM32_CLOCK_MASK_SHIFT) | \
58-
(((val) & STM32_CLOCK_VAL_MASK) << STM32_CLOCK_VAL_SHIFT))
59-
6032
/** @brief RCC_CCIPR register offset */
6133
#define CCIPR_REG 0x54
6234

include/zephyr/dt-bindings/clock/stm32f0_clock.h

Lines changed: 0 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -30,34 +30,6 @@
3030
/** PLL clock */
3131
#define STM32_SRC_PLLCLK (STM32_SRC_PCLK + 1)
3232

33-
#define STM32_CLOCK_REG_MASK 0xFFU
34-
#define STM32_CLOCK_REG_SHIFT 0U
35-
#define STM32_CLOCK_SHIFT_MASK 0x1FU
36-
#define STM32_CLOCK_SHIFT_SHIFT 8U
37-
#define STM32_CLOCK_MASK_MASK 0x7U
38-
#define STM32_CLOCK_MASK_SHIFT 13U
39-
#define STM32_CLOCK_VAL_MASK 0x7U
40-
#define STM32_CLOCK_VAL_SHIFT 16U
41-
42-
/**
43-
* @brief STM32 clock configuration bit field.
44-
*
45-
* - reg (1/2/3) [ 0 : 7 ]
46-
* - shift (0..31) [ 8 : 12 ]
47-
* - mask (0x1, 0x3, 0x7) [ 13 : 15 ]
48-
* - val (0..7) [ 16 : 18 ]
49-
*
50-
* @param reg RCC_CFGRx register offset
51-
* @param shift Position within RCC_CFGRx.
52-
* @param mask Mask for the RCC_CFGRx field.
53-
* @param val Clock value (0, 1, ... 7).
54-
*/
55-
#define STM32_DOMAIN_CLOCK(val, mask, shift, reg) \
56-
((((reg) & STM32_CLOCK_REG_MASK) << STM32_CLOCK_REG_SHIFT) | \
57-
(((shift) & STM32_CLOCK_SHIFT_MASK) << STM32_CLOCK_SHIFT_SHIFT) | \
58-
(((mask) & STM32_CLOCK_MASK_MASK) << STM32_CLOCK_MASK_SHIFT) | \
59-
(((val) & STM32_CLOCK_VAL_MASK) << STM32_CLOCK_VAL_SHIFT))
60-
6133
/** @brief RCC_CFGRx register offset */
6234
#define CFGR1_REG 0x04
6335
#define CFGR3_REG 0x30

include/zephyr/dt-bindings/clock/stm32f1_clock.h

Lines changed: 0 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -28,34 +28,6 @@
2828
#define STM32_SRC_EXT_HSE (STM32_SRC_HSE + 1)
2929
#define STM32_SRC_PLLCLK (STM32_SRC_EXT_HSE + 1)
3030

31-
#define STM32_CLOCK_REG_MASK 0xFFU
32-
#define STM32_CLOCK_REG_SHIFT 0U
33-
#define STM32_CLOCK_SHIFT_MASK 0x1FU
34-
#define STM32_CLOCK_SHIFT_SHIFT 8U
35-
#define STM32_CLOCK_MASK_MASK 0x7U
36-
#define STM32_CLOCK_MASK_SHIFT 13U
37-
#define STM32_CLOCK_VAL_MASK 0x7U
38-
#define STM32_CLOCK_VAL_SHIFT 16U
39-
40-
/**
41-
* @brief STM32 clock configuration bit field.
42-
*
43-
* - reg (1/2/3) [ 0 : 7 ]
44-
* - shift (0..31) [ 8 : 12 ]
45-
* - mask (0x1, 0x3, 0x7) [ 13 : 15 ]
46-
* - val (0..7) [ 16 : 18 ]
47-
*
48-
* @param reg RCC_CFGRx register offset
49-
* @param shift Position within RCC_CFGRx.
50-
* @param mask Mask for the RCC_CFGRx field.
51-
* @param val Clock value (0, 1, ... 7).
52-
*/
53-
#define STM32_DOMAIN_CLOCK(val, mask, shift, reg) \
54-
((((reg) & STM32_CLOCK_REG_MASK) << STM32_CLOCK_REG_SHIFT) | \
55-
(((shift) & STM32_CLOCK_SHIFT_MASK) << STM32_CLOCK_SHIFT_SHIFT) | \
56-
(((mask) & STM32_CLOCK_MASK_MASK) << STM32_CLOCK_MASK_SHIFT) | \
57-
(((val) & STM32_CLOCK_VAL_MASK) << STM32_CLOCK_VAL_SHIFT))
58-
5931
/** @brief RCC_CFGRx register offset */
6032
#define CFGR1_REG 0x04
6133
#define CFGR2_REG 0x2C

include/zephyr/dt-bindings/clock/stm32f3_clock.h

Lines changed: 0 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -31,34 +31,6 @@
3131
/** PLL clock */
3232
#define STM32_SRC_PLLCLK (STM32_SRC_PCLK + 1)
3333

34-
#define STM32_CLOCK_REG_MASK 0xFFU
35-
#define STM32_CLOCK_REG_SHIFT 0U
36-
#define STM32_CLOCK_SHIFT_MASK 0x1FU
37-
#define STM32_CLOCK_SHIFT_SHIFT 8U
38-
#define STM32_CLOCK_MASK_MASK 0x7U
39-
#define STM32_CLOCK_MASK_SHIFT 13U
40-
#define STM32_CLOCK_VAL_MASK 0x7U
41-
#define STM32_CLOCK_VAL_SHIFT 16U
42-
43-
/**
44-
* @brief STM32 clock configuration bit field.
45-
*
46-
* - reg (1/2/3) [ 0 : 7 ]
47-
* - shift (0..31) [ 8 : 12 ]
48-
* - mask (0x1, 0x3, 0x7) [ 13 : 15 ]
49-
* - val (0..7) [ 16 : 18 ]
50-
*
51-
* @param reg RCC_CFGRx register offset
52-
* @param shift Position within RCC_CFGRx.
53-
* @param mask Mask for the RCC_CFGRx field.
54-
* @param val Clock value (0, 1, ... 7).
55-
*/
56-
#define STM32_DOMAIN_CLOCK(val, mask, shift, reg) \
57-
((((reg) & STM32_CLOCK_REG_MASK) << STM32_CLOCK_REG_SHIFT) | \
58-
(((shift) & STM32_CLOCK_SHIFT_MASK) << STM32_CLOCK_SHIFT_SHIFT) | \
59-
(((mask) & STM32_CLOCK_MASK_MASK) << STM32_CLOCK_MASK_SHIFT) | \
60-
(((val) & STM32_CLOCK_VAL_MASK) << STM32_CLOCK_VAL_SHIFT))
61-
6234
/** @brief RCC_CFGRx register offset */
6335
#define CFGR_REG 0x04
6436
#define CFGR3_REG 0x30

include/zephyr/dt-bindings/clock/stm32f4_clock.h

Lines changed: 0 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -43,34 +43,6 @@
4343
/* I2S_CKIN not supported yet */
4444
/* #define STM32_SRC_I2S_CKIN TBD */
4545

46-
#define STM32_CLOCK_REG_MASK 0xFFU
47-
#define STM32_CLOCK_REG_SHIFT 0U
48-
#define STM32_CLOCK_SHIFT_MASK 0x1FU
49-
#define STM32_CLOCK_SHIFT_SHIFT 8U
50-
#define STM32_CLOCK_MASK_MASK 0x7U
51-
#define STM32_CLOCK_MASK_SHIFT 13U
52-
#define STM32_CLOCK_VAL_MASK 0x7U
53-
#define STM32_CLOCK_VAL_SHIFT 16U
54-
55-
/**
56-
* @brief STM32 clock configuration bit field.
57-
*
58-
* - reg (1/2/3) [ 0 : 7 ]
59-
* - shift (0..31) [ 8 : 12 ]
60-
* - mask (0x1, 0x3, 0x7) [ 13 : 15 ]
61-
* - val (0..7) [ 16 : 18 ]
62-
*
63-
* @param reg RCC_CFGRx register offset
64-
* @param shift Position within RCC_CFGRx.
65-
* @param mask Mask for the RCC_CFGRx field.
66-
* @param val Clock value (0, 1, ... 7).
67-
*/
68-
#define STM32_DOMAIN_CLOCK(val, mask, shift, reg) \
69-
((((reg) & STM32_CLOCK_REG_MASK) << STM32_CLOCK_REG_SHIFT) | \
70-
(((shift) & STM32_CLOCK_SHIFT_MASK) << STM32_CLOCK_SHIFT_SHIFT) | \
71-
(((mask) & STM32_CLOCK_MASK_MASK) << STM32_CLOCK_MASK_SHIFT) | \
72-
(((val) & STM32_CLOCK_VAL_MASK) << STM32_CLOCK_VAL_SHIFT))
73-
7446
/** @brief RCC_CFGRx register offset */
7547
#define CFGR_REG 0x08
7648
/** @brief RCC_BDCR register offset */

include/zephyr/dt-bindings/clock/stm32f7_clock.h

Lines changed: 0 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -40,35 +40,6 @@
4040

4141
#define STM32_SRC_PLLI2S_R (STM32_SRC_PCLK + 1)
4242

43-
44-
#define STM32_CLOCK_REG_MASK 0xFFU
45-
#define STM32_CLOCK_REG_SHIFT 0U
46-
#define STM32_CLOCK_SHIFT_MASK 0x1FU
47-
#define STM32_CLOCK_SHIFT_SHIFT 8U
48-
#define STM32_CLOCK_MASK_MASK 0x7U
49-
#define STM32_CLOCK_MASK_SHIFT 13U
50-
#define STM32_CLOCK_VAL_MASK 0x7U
51-
#define STM32_CLOCK_VAL_SHIFT 16U
52-
53-
/**
54-
* @brief STM32 clock configuration bit field.
55-
*
56-
* - reg (1/2/3) [ 0 : 7 ]
57-
* - shift (0..31) [ 8 : 12 ]
58-
* - mask (0x1, 0x3, 0x7) [ 13 : 15 ]
59-
* - val (0..7) [ 16 : 18 ]
60-
*
61-
* @param reg RCC_CFGRx register offset
62-
* @param shift Position within RCC_CFGRx.
63-
* @param mask Mask for the RCC_CFGRx field.
64-
* @param val Clock value (0, 1, ... 7).
65-
*/
66-
#define STM32_DOMAIN_CLOCK(val, mask, shift, reg) \
67-
((((reg) & STM32_CLOCK_REG_MASK) << STM32_CLOCK_REG_SHIFT) | \
68-
(((shift) & STM32_CLOCK_SHIFT_MASK) << STM32_CLOCK_SHIFT_SHIFT) | \
69-
(((mask) & STM32_CLOCK_MASK_MASK) << STM32_CLOCK_MASK_SHIFT) | \
70-
(((val) & STM32_CLOCK_VAL_MASK) << STM32_CLOCK_VAL_SHIFT))
71-
7243
/** @brief RCC_CFGRx register offset */
7344
#define CFGR_REG 0x08
7445

include/zephyr/dt-bindings/clock/stm32g0_clock.h

Lines changed: 0 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -35,34 +35,6 @@
3535
#define STM32_SRC_PLL_Q (STM32_SRC_PLL_P + 1)
3636
#define STM32_SRC_PLL_R (STM32_SRC_PLL_Q + 1)
3737

38-
#define STM32_CLOCK_REG_MASK 0xFFU
39-
#define STM32_CLOCK_REG_SHIFT 0U
40-
#define STM32_CLOCK_SHIFT_MASK 0x1FU
41-
#define STM32_CLOCK_SHIFT_SHIFT 8U
42-
#define STM32_CLOCK_MASK_MASK 0x7U
43-
#define STM32_CLOCK_MASK_SHIFT 13U
44-
#define STM32_CLOCK_VAL_MASK 0x7U
45-
#define STM32_CLOCK_VAL_SHIFT 16U
46-
47-
/**
48-
* @brief STM32 clock configuration bit field.
49-
*
50-
* - reg (1/2/3) [ 0 : 7 ]
51-
* - shift (0..31) [ 8 : 12 ]
52-
* - mask (0x1, 0x3, 0x7) [ 13 : 15 ]
53-
* - val (0..7) [ 16 : 18 ]
54-
*
55-
* @param reg RCC_CCIPRx register offset
56-
* @param shift Position within RCC_CCIPRx.
57-
* @param mask Mask for the RCC_CCIPRx field.
58-
* @param val Clock value (0, 1, ... 7).
59-
*/
60-
#define STM32_DOMAIN_CLOCK(val, mask, shift, reg) \
61-
((((reg) & STM32_CLOCK_REG_MASK) << STM32_CLOCK_REG_SHIFT) | \
62-
(((shift) & STM32_CLOCK_SHIFT_MASK) << STM32_CLOCK_SHIFT_SHIFT) | \
63-
(((mask) & STM32_CLOCK_MASK_MASK) << STM32_CLOCK_MASK_SHIFT) | \
64-
(((val) & STM32_CLOCK_VAL_MASK) << STM32_CLOCK_VAL_SHIFT))
65-
6638
/** @brief RCC_CCIPR register offset */
6739
#define CCIPR_REG 0x54
6840
#define CCIPR2_REG 0x58

include/zephyr/dt-bindings/clock/stm32g4_clock.h

Lines changed: 0 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -39,34 +39,6 @@
3939
#define STM32_SRC_PLL_R (STM32_SRC_PLL_Q + 1)
4040
/* TODO: PLLSAI clocks */
4141

42-
#define STM32_CLOCK_REG_MASK 0xFFU
43-
#define STM32_CLOCK_REG_SHIFT 0U
44-
#define STM32_CLOCK_SHIFT_MASK 0x1FU
45-
#define STM32_CLOCK_SHIFT_SHIFT 8U
46-
#define STM32_CLOCK_MASK_MASK 0x7U
47-
#define STM32_CLOCK_MASK_SHIFT 13U
48-
#define STM32_CLOCK_VAL_MASK 0x7U
49-
#define STM32_CLOCK_VAL_SHIFT 16U
50-
51-
/**
52-
* @brief STM32 clock configuration bit field.
53-
*
54-
* - reg (1/2/3) [ 0 : 7 ]
55-
* - shift (0..31) [ 8 : 12 ]
56-
* - mask (0x1, 0x3, 0x7) [ 13 : 15 ]
57-
* - val (0..7) [ 16 : 18 ]
58-
*
59-
* @param reg RCC_CCIPRx register offset
60-
* @param shift Position within RCC_CCIPRx.
61-
* @param mask Mask for the RCC_CCIPRx field.
62-
* @param val Clock value (0, 1, ... 7).
63-
*/
64-
#define STM32_DOMAIN_CLOCK(val, mask, shift, reg) \
65-
((((reg) & STM32_CLOCK_REG_MASK) << STM32_CLOCK_REG_SHIFT) | \
66-
(((shift) & STM32_CLOCK_SHIFT_MASK) << STM32_CLOCK_SHIFT_SHIFT) | \
67-
(((mask) & STM32_CLOCK_MASK_MASK) << STM32_CLOCK_MASK_SHIFT) | \
68-
(((val) & STM32_CLOCK_VAL_MASK) << STM32_CLOCK_VAL_SHIFT))
69-
7042
/** @brief RCC_CCIPR register offset */
7143
#define CCIPR_REG 0x88
7244
#define CCIPR2_REG 0x9C

include/zephyr/dt-bindings/clock/stm32h5_clock.h

Lines changed: 0 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -51,34 +51,6 @@
5151
#define STM32_PERIPH_BUS_MIN STM32_CLOCK_BUS_AHB1
5252
#define STM32_PERIPH_BUS_MAX STM32_CLOCK_BUS_APB3
5353

54-
#define STM32_CLOCK_REG_MASK 0xFFU
55-
#define STM32_CLOCK_REG_SHIFT 0U
56-
#define STM32_CLOCK_SHIFT_MASK 0x1FU
57-
#define STM32_CLOCK_SHIFT_SHIFT 8U
58-
#define STM32_CLOCK_MASK_MASK 0x7U
59-
#define STM32_CLOCK_MASK_SHIFT 13U
60-
#define STM32_CLOCK_VAL_MASK 0x7U
61-
#define STM32_CLOCK_VAL_SHIFT 16U
62-
63-
/**
64-
* @brief STM32H5 clock configuration bit field.
65-
*
66-
* - reg (1/2/3/4/5) [ 0 : 7 ]
67-
* - shift (0..31) [ 8 : 12 ]
68-
* - mask (0x1, 0x3, 0x7) [ 13 : 15 ]
69-
* - val (0..7) [ 16 : 18 ]
70-
*
71-
* @param reg RCC_CCIPRx register offset
72-
* @param shift Position within RCC_CCIPRx.
73-
* @param mask Mask for the RCC_CCIPRx field.
74-
* @param val Clock value (0, 1, ... 7).
75-
*/
76-
#define STM32_DOMAIN_CLOCK(val, mask, shift, reg) \
77-
((((reg) & STM32_CLOCK_REG_MASK) << STM32_CLOCK_REG_SHIFT) | \
78-
(((shift) & STM32_CLOCK_SHIFT_MASK) << STM32_CLOCK_SHIFT_SHIFT) | \
79-
(((mask) & STM32_CLOCK_MASK_MASK) << STM32_CLOCK_MASK_SHIFT) | \
80-
(((val) & STM32_CLOCK_VAL_MASK) << STM32_CLOCK_VAL_SHIFT))
81-
8254
/** @brief RCC_CCIPRx register offset (RM0456.pdf) */
8355
#define CCIPR1_REG 0xD8
8456
#define CCIPR2_REG 0xDC

0 commit comments

Comments
 (0)