Zephyr API Documentation 4.5.0-rc1
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/* Timer Peripheral */
45#define STM32_CLOCK_PERIPH_TIM12 0x728
46
47/* SPI Peripheral */
48#define STM32_CLOCK_PERIPH_SPI1 0x758
49#define STM32_CLOCK_PERIPH_SPI2 0x75C
50#define STM32_CLOCK_PERIPH_SPI3 0x760
51#define STM32_CLOCK_PERIPH_SPI4 0x764
52#define STM32_CLOCK_PERIPH_SPI5 0x768
53#define STM32_CLOCK_PERIPH_SPI6 0x76C
54#define STM32_CLOCK_PERIPH_SPI7 0x770
55#define STM32_CLOCK_PERIPH_SPI8 0x774
56
57/* USART/UART Peripheral */
58#define STM32_CLOCK_PERIPH_USART1 0x77C
59#define STM32_CLOCK_PERIPH_USART2 0x780
60#define STM32_CLOCK_PERIPH_USART3 0x784
61#define STM32_CLOCK_PERIPH_UART4 0x788
62#define STM32_CLOCK_PERIPH_UART5 0x78C
63#define STM32_CLOCK_PERIPH_USART6 0x790
64#define STM32_CLOCK_PERIPH_UART7 0x794
65#define STM32_CLOCK_PERIPH_UART8 0x798
66#define STM32_CLOCK_PERIPH_UART9 0x79C
67
68/* I2C Peripheral */
69#define STM32_CLOCK_PERIPH_I2C1 0x7A0
70#define STM32_CLOCK_PERIPH_I2C2 0x7A8
71#define STM32_CLOCK_PERIPH_I2C3 0x7AC
72#define STM32_CLOCK_PERIPH_I2C4 0x7B0
73#define STM32_CLOCK_PERIPH_I2C5 0x7B4
74#define STM32_CLOCK_PERIPH_I2C6 0x7B8
75#define STM32_CLOCK_PERIPH_I2C7 0x7BC
76#define STM32_CLOCK_PERIPH_I2C8 0x7C0
77
78/* FDCAN Peripheral */
79#define STM32_CLOCK_PERIPH_FDCAN 0x7E0
80
81/* Watchdog Peripheral */
82#define STM32_CLOCK_PERIPH_IWDG4 0x894
83#define STM32_CLOCK_PERIPH_WWDG1 0x89C
84
85/* Camera peripherals */
86#define STM32_CLOCK_PERIPH_CSI2 0x858
87#define STM32_CLOCK_PERIPH_DCMIPP 0x85C
88
89/* CRC peripheral */
90#define STM32_CLOCK_PERIPH_CRC 0x8B4
91
92/* I3C Peripheral */
93#define STM32_CLOCK_PERIPH_I3C1 0x8C8
94#define STM32_CLOCK_PERIPH_I3C2 0x8CC
95#define STM32_CLOCK_PERIPH_I3C3 0x8D0
96#define STM32_CLOCK_PERIPH_I3C4 0x8D4
97
98#define STM32_CLOCK_PERIPH_MIN STM32_CLOCK_PERIPH_GPIOA
99#define STM32_CLOCK_PERIPH_MAX STM32_CLOCK_PERIPH_I3C4
100
102
103#endif /* ZEPHYR_INCLUDE_DT_BINDINGS_CLOCK_STM32MP2_CLOCK_H_ */