Zephyr API Documentation 4.4.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_
10
11#include "stm32_common_clocks.h"
12
13/* Undefine the common clocks macro */
14#undef STM32_CLOCK
15
23#define STM32_CLOCK(per, bit) (STM32_CLOCK_PERIPH_##per) (1 << bit)
24
25/* Clock reg */
26#define STM32_CLK 1U
27#define STM32_LP_CLK 2U
28
29/* GPIO Peripheral */
30#define STM32_CLOCK_PERIPH_GPIOA 0x52C
31#define STM32_CLOCK_PERIPH_GPIOB 0x530
32#define STM32_CLOCK_PERIPH_GPIOC 0x534
33#define STM32_CLOCK_PERIPH_GPIOD 0x538
34#define STM32_CLOCK_PERIPH_GPIOE 0x53C
35#define STM32_CLOCK_PERIPH_GPIOF 0x540
36#define STM32_CLOCK_PERIPH_GPIOG 0x544
37#define STM32_CLOCK_PERIPH_GPIOH 0x548
38#define STM32_CLOCK_PERIPH_GPIOI 0x54C
39#define STM32_CLOCK_PERIPH_GPIOJ 0x550
40#define STM32_CLOCK_PERIPH_GPIOK 0x554
41#define STM32_CLOCK_PERIPH_GPIOZ 0x558
42
43/* SPI Peripheral */
44#define STM32_CLOCK_PERIPH_SPI1 0x758
45#define STM32_CLOCK_PERIPH_SPI2 0x75C
46#define STM32_CLOCK_PERIPH_SPI3 0x760
47#define STM32_CLOCK_PERIPH_SPI4 0x764
48#define STM32_CLOCK_PERIPH_SPI5 0x768
49#define STM32_CLOCK_PERIPH_SPI6 0x76C
50#define STM32_CLOCK_PERIPH_SPI7 0x770
51
52/* USART/UART Peripheral */
53#define STM32_CLOCK_PERIPH_USART1 0x77C
54#define STM32_CLOCK_PERIPH_USART2 0x780
55#define STM32_CLOCK_PERIPH_USART3 0x784
56#define STM32_CLOCK_PERIPH_UART4 0x788
57#define STM32_CLOCK_PERIPH_UART5 0x78C
58#define STM32_CLOCK_PERIPH_USART6 0x790
59#define STM32_CLOCK_PERIPH_UART7 0x794
60#define STM32_CLOCK_PERIPH_UART8 0x798
61#define STM32_CLOCK_PERIPH_UART9 0x79C
62
63/* I2C Peripheral */
64#define STM32_CLOCK_PERIPH_I2C1 0x7A0
65#define STM32_CLOCK_PERIPH_I2C2 0x7A8
66#define STM32_CLOCK_PERIPH_I2C3 0x7AC
67#define STM32_CLOCK_PERIPH_I2C4 0x7B0
68#define STM32_CLOCK_PERIPH_I2C5 0x7B4
69#define STM32_CLOCK_PERIPH_I2C6 0x7B8
70#define STM32_CLOCK_PERIPH_I2C7 0x7BC
71#define STM32_CLOCK_PERIPH_I2C8 0x7C0
72
73/* FDCAN Peripheral */
74#define STM32_CLOCK_PERIPH_FDCAN 0x7E0
75
76/* Watchdog Peripheral */
77#define STM32_CLOCK_PERIPH_IWDG4 0x894
78#define STM32_CLOCK_PERIPH_WWDG1 0x89C
79
80/* CRC peripheral */
81#define STM32_CLOCK_PERIPH_CRC 0x8B4
82
83/* I3C Peripheral */
84#define STM32_CLOCK_PERIPH_I3C1 0x8C8
85#define STM32_CLOCK_PERIPH_I3C2 0x8CC
86#define STM32_CLOCK_PERIPH_I3C3 0x8D0
87#define STM32_CLOCK_PERIPH_I3C4 0x8D4
88
89#define STM32_CLOCK_PERIPH_MIN STM32_CLOCK_PERIPH_GPIOA
90#define STM32_CLOCK_PERIPH_MAX STM32_CLOCK_PERIPH_I3C4
91
93#endif /* ZEPHYR_INCLUDE_DT_BINDINGS_CLOCK_STM32MP2_CLOCK_H_ */