Zephyr Project API 4.4.99
A Scalable Open Source RTOS
Loading...
Searching...
No Matches
stm32mp2_clock.h
Go to the documentation of this file.
1/*
2 * Copyright (C) 2025 Savoir-faire Linux, Inc.
3 *
4 * SPDX-License-Identifier: Apache-2.0
5 */
6
7#ifndef ZEPHYR_INCLUDE_DT_BINDINGS_CLOCK_STM32MP2_CLOCK_H_
8#define ZEPHYR_INCLUDE_DT_BINDINGS_CLOCK_STM32MP2_CLOCK_H_
9
11
13
14/* Undefine the common clocks macro */
15#undef STM32_CLOCK
16
24#define STM32_CLOCK(per, bit) (STM32_CLOCK_PERIPH_##per) (1 << bit)
25
26/* Clock reg */
27#define STM32_CLK 1U
28#define STM32_LP_CLK 2U
29
30/* GPIO Peripheral */
31#define STM32_CLOCK_PERIPH_GPIOA 0x52C
32#define STM32_CLOCK_PERIPH_GPIOB 0x530
33#define STM32_CLOCK_PERIPH_GPIOC 0x534
34#define STM32_CLOCK_PERIPH_GPIOD 0x538
35#define STM32_CLOCK_PERIPH_GPIOE 0x53C
36#define STM32_CLOCK_PERIPH_GPIOF 0x540
37#define STM32_CLOCK_PERIPH_GPIOG 0x544
38#define STM32_CLOCK_PERIPH_GPIOH 0x548
39#define STM32_CLOCK_PERIPH_GPIOI 0x54C
40#define STM32_CLOCK_PERIPH_GPIOJ 0x550
41#define STM32_CLOCK_PERIPH_GPIOK 0x554
42#define STM32_CLOCK_PERIPH_GPIOZ 0x558
43
44/* SPI Peripheral */
45#define STM32_CLOCK_PERIPH_SPI1 0x758
46#define STM32_CLOCK_PERIPH_SPI2 0x75C
47#define STM32_CLOCK_PERIPH_SPI3 0x760
48#define STM32_CLOCK_PERIPH_SPI4 0x764
49#define STM32_CLOCK_PERIPH_SPI5 0x768
50#define STM32_CLOCK_PERIPH_SPI6 0x76C
51#define STM32_CLOCK_PERIPH_SPI7 0x770
52
53/* USART/UART Peripheral */
54#define STM32_CLOCK_PERIPH_USART1 0x77C
55#define STM32_CLOCK_PERIPH_USART2 0x780
56#define STM32_CLOCK_PERIPH_USART3 0x784
57#define STM32_CLOCK_PERIPH_UART4 0x788
58#define STM32_CLOCK_PERIPH_UART5 0x78C
59#define STM32_CLOCK_PERIPH_USART6 0x790
60#define STM32_CLOCK_PERIPH_UART7 0x794
61#define STM32_CLOCK_PERIPH_UART8 0x798
62#define STM32_CLOCK_PERIPH_UART9 0x79C
63
64/* I2C Peripheral */
65#define STM32_CLOCK_PERIPH_I2C1 0x7A0
66#define STM32_CLOCK_PERIPH_I2C2 0x7A8
67#define STM32_CLOCK_PERIPH_I2C3 0x7AC
68#define STM32_CLOCK_PERIPH_I2C4 0x7B0
69#define STM32_CLOCK_PERIPH_I2C5 0x7B4
70#define STM32_CLOCK_PERIPH_I2C6 0x7B8
71#define STM32_CLOCK_PERIPH_I2C7 0x7BC
72#define STM32_CLOCK_PERIPH_I2C8 0x7C0
73
74/* FDCAN Peripheral */
75#define STM32_CLOCK_PERIPH_FDCAN 0x7E0
76
77/* Watchdog Peripheral */
78#define STM32_CLOCK_PERIPH_IWDG4 0x894
79#define STM32_CLOCK_PERIPH_WWDG1 0x89C
80
81/* CRC peripheral */
82#define STM32_CLOCK_PERIPH_CRC 0x8B4
83
84/* I3C Peripheral */
85#define STM32_CLOCK_PERIPH_I3C1 0x8C8
86#define STM32_CLOCK_PERIPH_I3C2 0x8CC
87#define STM32_CLOCK_PERIPH_I3C3 0x8D0
88#define STM32_CLOCK_PERIPH_I3C4 0x8D4
89
90#define STM32_CLOCK_PERIPH_MIN STM32_CLOCK_PERIPH_GPIOA
91#define STM32_CLOCK_PERIPH_MAX STM32_CLOCK_PERIPH_I3C4
92
94
95#endif /* ZEPHYR_INCLUDE_DT_BINDINGS_CLOCK_STM32MP2_CLOCK_H_ */