xref: /freebsd-src/sys/contrib/device-tree/include/dt-bindings/mfd/stm32h7-rcc.h (revision c66ec88fed842fbaad62c30d510644ceb7bd2d71)
1*c66ec88fSEmmanuel Vadot /*
2*c66ec88fSEmmanuel Vadot  * This header provides constants for the STM32H7 RCC IP
3*c66ec88fSEmmanuel Vadot  */
4*c66ec88fSEmmanuel Vadot 
5*c66ec88fSEmmanuel Vadot #ifndef _DT_BINDINGS_MFD_STM32H7_RCC_H
6*c66ec88fSEmmanuel Vadot #define _DT_BINDINGS_MFD_STM32H7_RCC_H
7*c66ec88fSEmmanuel Vadot 
8*c66ec88fSEmmanuel Vadot /* AHB3 */
9*c66ec88fSEmmanuel Vadot #define STM32H7_RCC_AHB3_MDMA		0
10*c66ec88fSEmmanuel Vadot #define STM32H7_RCC_AHB3_DMA2D		4
11*c66ec88fSEmmanuel Vadot #define STM32H7_RCC_AHB3_JPGDEC		5
12*c66ec88fSEmmanuel Vadot #define STM32H7_RCC_AHB3_FMC		12
13*c66ec88fSEmmanuel Vadot #define STM32H7_RCC_AHB3_QUADSPI	14
14*c66ec88fSEmmanuel Vadot #define STM32H7_RCC_AHB3_SDMMC1		16
15*c66ec88fSEmmanuel Vadot #define STM32H7_RCC_AHB3_CPU		31
16*c66ec88fSEmmanuel Vadot 
17*c66ec88fSEmmanuel Vadot #define STM32H7_AHB3_RESET(bit) (STM32H7_RCC_AHB3_##bit + (0x7C * 8))
18*c66ec88fSEmmanuel Vadot 
19*c66ec88fSEmmanuel Vadot /* AHB1 */
20*c66ec88fSEmmanuel Vadot #define STM32H7_RCC_AHB1_DMA1		0
21*c66ec88fSEmmanuel Vadot #define STM32H7_RCC_AHB1_DMA2		1
22*c66ec88fSEmmanuel Vadot #define STM32H7_RCC_AHB1_ADC12		5
23*c66ec88fSEmmanuel Vadot #define STM32H7_RCC_AHB1_ART		14
24*c66ec88fSEmmanuel Vadot #define STM32H7_RCC_AHB1_ETH1MAC	15
25*c66ec88fSEmmanuel Vadot #define STM32H7_RCC_AHB1_USB1OTG	25
26*c66ec88fSEmmanuel Vadot #define STM32H7_RCC_AHB1_USB2OTG	27
27*c66ec88fSEmmanuel Vadot 
28*c66ec88fSEmmanuel Vadot #define STM32H7_AHB1_RESET(bit) (STM32H7_RCC_AHB1_##bit + (0x80 * 8))
29*c66ec88fSEmmanuel Vadot 
30*c66ec88fSEmmanuel Vadot /* AHB2 */
31*c66ec88fSEmmanuel Vadot #define STM32H7_RCC_AHB2_CAMITF		0
32*c66ec88fSEmmanuel Vadot #define STM32H7_RCC_AHB2_CRYPT		4
33*c66ec88fSEmmanuel Vadot #define STM32H7_RCC_AHB2_HASH		5
34*c66ec88fSEmmanuel Vadot #define STM32H7_RCC_AHB2_RNG		6
35*c66ec88fSEmmanuel Vadot #define STM32H7_RCC_AHB2_SDMMC2		9
36*c66ec88fSEmmanuel Vadot 
37*c66ec88fSEmmanuel Vadot #define STM32H7_AHB2_RESET(bit) (STM32H7_RCC_AHB2_##bit + (0x84 * 8))
38*c66ec88fSEmmanuel Vadot 
39*c66ec88fSEmmanuel Vadot /* AHB4 */
40*c66ec88fSEmmanuel Vadot #define STM32H7_RCC_AHB4_GPIOA		0
41*c66ec88fSEmmanuel Vadot #define STM32H7_RCC_AHB4_GPIOB		1
42*c66ec88fSEmmanuel Vadot #define STM32H7_RCC_AHB4_GPIOC		2
43*c66ec88fSEmmanuel Vadot #define STM32H7_RCC_AHB4_GPIOD		3
44*c66ec88fSEmmanuel Vadot #define STM32H7_RCC_AHB4_GPIOE		4
45*c66ec88fSEmmanuel Vadot #define STM32H7_RCC_AHB4_GPIOF		5
46*c66ec88fSEmmanuel Vadot #define STM32H7_RCC_AHB4_GPIOG		6
47*c66ec88fSEmmanuel Vadot #define STM32H7_RCC_AHB4_GPIOH		7
48*c66ec88fSEmmanuel Vadot #define STM32H7_RCC_AHB4_GPIOI		8
49*c66ec88fSEmmanuel Vadot #define STM32H7_RCC_AHB4_GPIOJ		9
50*c66ec88fSEmmanuel Vadot #define STM32H7_RCC_AHB4_GPIOK		10
51*c66ec88fSEmmanuel Vadot #define STM32H7_RCC_AHB4_CRC		19
52*c66ec88fSEmmanuel Vadot #define STM32H7_RCC_AHB4_BDMA		21
53*c66ec88fSEmmanuel Vadot #define STM32H7_RCC_AHB4_ADC3		24
54*c66ec88fSEmmanuel Vadot #define STM32H7_RCC_AHB4_HSEM		25
55*c66ec88fSEmmanuel Vadot 
56*c66ec88fSEmmanuel Vadot #define STM32H7_AHB4_RESET(bit) (STM32H7_RCC_AHB4_##bit + (0x88 * 8))
57*c66ec88fSEmmanuel Vadot 
58*c66ec88fSEmmanuel Vadot /* APB3 */
59*c66ec88fSEmmanuel Vadot #define STM32H7_RCC_APB3_LTDC		3
60*c66ec88fSEmmanuel Vadot #define STM32H7_RCC_APB3_DSI		4
61*c66ec88fSEmmanuel Vadot 
62*c66ec88fSEmmanuel Vadot #define STM32H7_APB3_RESET(bit) (STM32H7_RCC_APB3_##bit + (0x8C * 8))
63*c66ec88fSEmmanuel Vadot 
64*c66ec88fSEmmanuel Vadot /* APB1L */
65*c66ec88fSEmmanuel Vadot #define STM32H7_RCC_APB1L_TIM2		0
66*c66ec88fSEmmanuel Vadot #define STM32H7_RCC_APB1L_TIM3		1
67*c66ec88fSEmmanuel Vadot #define STM32H7_RCC_APB1L_TIM4		2
68*c66ec88fSEmmanuel Vadot #define STM32H7_RCC_APB1L_TIM5		3
69*c66ec88fSEmmanuel Vadot #define STM32H7_RCC_APB1L_TIM6		4
70*c66ec88fSEmmanuel Vadot #define STM32H7_RCC_APB1L_TIM7		5
71*c66ec88fSEmmanuel Vadot #define STM32H7_RCC_APB1L_TIM12		6
72*c66ec88fSEmmanuel Vadot #define STM32H7_RCC_APB1L_TIM13		7
73*c66ec88fSEmmanuel Vadot #define STM32H7_RCC_APB1L_TIM14		8
74*c66ec88fSEmmanuel Vadot #define STM32H7_RCC_APB1L_LPTIM1	9
75*c66ec88fSEmmanuel Vadot #define STM32H7_RCC_APB1L_SPI2		14
76*c66ec88fSEmmanuel Vadot #define STM32H7_RCC_APB1L_SPI3		15
77*c66ec88fSEmmanuel Vadot #define STM32H7_RCC_APB1L_SPDIF_RX	16
78*c66ec88fSEmmanuel Vadot #define STM32H7_RCC_APB1L_USART2	17
79*c66ec88fSEmmanuel Vadot #define STM32H7_RCC_APB1L_USART3	18
80*c66ec88fSEmmanuel Vadot #define STM32H7_RCC_APB1L_UART4		19
81*c66ec88fSEmmanuel Vadot #define STM32H7_RCC_APB1L_UART5		20
82*c66ec88fSEmmanuel Vadot #define STM32H7_RCC_APB1L_I2C1		21
83*c66ec88fSEmmanuel Vadot #define STM32H7_RCC_APB1L_I2C2		22
84*c66ec88fSEmmanuel Vadot #define STM32H7_RCC_APB1L_I2C3		23
85*c66ec88fSEmmanuel Vadot #define STM32H7_RCC_APB1L_HDMICEC	27
86*c66ec88fSEmmanuel Vadot #define STM32H7_RCC_APB1L_DAC12		29
87*c66ec88fSEmmanuel Vadot #define STM32H7_RCC_APB1L_USART7	30
88*c66ec88fSEmmanuel Vadot #define STM32H7_RCC_APB1L_USART8	31
89*c66ec88fSEmmanuel Vadot 
90*c66ec88fSEmmanuel Vadot #define STM32H7_APB1L_RESET(bit) (STM32H7_RCC_APB1L_##bit + (0x90 * 8))
91*c66ec88fSEmmanuel Vadot 
92*c66ec88fSEmmanuel Vadot /* APB1H */
93*c66ec88fSEmmanuel Vadot #define STM32H7_RCC_APB1H_CRS		1
94*c66ec88fSEmmanuel Vadot #define STM32H7_RCC_APB1H_SWP		2
95*c66ec88fSEmmanuel Vadot #define STM32H7_RCC_APB1H_OPAMP		4
96*c66ec88fSEmmanuel Vadot #define STM32H7_RCC_APB1H_MDIOS		5
97*c66ec88fSEmmanuel Vadot #define STM32H7_RCC_APB1H_FDCAN		8
98*c66ec88fSEmmanuel Vadot 
99*c66ec88fSEmmanuel Vadot #define STM32H7_APB1H_RESET(bit) (STM32H7_RCC_APB1H_##bit + (0x94 * 8))
100*c66ec88fSEmmanuel Vadot 
101*c66ec88fSEmmanuel Vadot /* APB2 */
102*c66ec88fSEmmanuel Vadot #define STM32H7_RCC_APB2_TIM1		0
103*c66ec88fSEmmanuel Vadot #define STM32H7_RCC_APB2_TIM8		1
104*c66ec88fSEmmanuel Vadot #define STM32H7_RCC_APB2_USART1		4
105*c66ec88fSEmmanuel Vadot #define STM32H7_RCC_APB2_USART6		5
106*c66ec88fSEmmanuel Vadot #define STM32H7_RCC_APB2_SPI1		12
107*c66ec88fSEmmanuel Vadot #define STM32H7_RCC_APB2_SPI4		13
108*c66ec88fSEmmanuel Vadot #define STM32H7_RCC_APB2_TIM15		16
109*c66ec88fSEmmanuel Vadot #define STM32H7_RCC_APB2_TIM16		17
110*c66ec88fSEmmanuel Vadot #define STM32H7_RCC_APB2_TIM17		18
111*c66ec88fSEmmanuel Vadot #define STM32H7_RCC_APB2_SPI5		20
112*c66ec88fSEmmanuel Vadot #define STM32H7_RCC_APB2_SAI1		22
113*c66ec88fSEmmanuel Vadot #define STM32H7_RCC_APB2_SAI2		23
114*c66ec88fSEmmanuel Vadot #define STM32H7_RCC_APB2_SAI3		24
115*c66ec88fSEmmanuel Vadot #define STM32H7_RCC_APB2_DFSDM1		28
116*c66ec88fSEmmanuel Vadot #define STM32H7_RCC_APB2_HRTIM		29
117*c66ec88fSEmmanuel Vadot 
118*c66ec88fSEmmanuel Vadot #define STM32H7_APB2_RESET(bit) (STM32H7_RCC_APB2_##bit + (0x98 * 8))
119*c66ec88fSEmmanuel Vadot 
120*c66ec88fSEmmanuel Vadot /* APB4 */
121*c66ec88fSEmmanuel Vadot #define STM32H7_RCC_APB4_SYSCFG		1
122*c66ec88fSEmmanuel Vadot #define STM32H7_RCC_APB4_LPUART1	3
123*c66ec88fSEmmanuel Vadot #define STM32H7_RCC_APB4_SPI6		5
124*c66ec88fSEmmanuel Vadot #define STM32H7_RCC_APB4_I2C4		7
125*c66ec88fSEmmanuel Vadot #define STM32H7_RCC_APB4_LPTIM2		9
126*c66ec88fSEmmanuel Vadot #define STM32H7_RCC_APB4_LPTIM3		10
127*c66ec88fSEmmanuel Vadot #define STM32H7_RCC_APB4_LPTIM4		11
128*c66ec88fSEmmanuel Vadot #define STM32H7_RCC_APB4_LPTIM5		12
129*c66ec88fSEmmanuel Vadot #define STM32H7_RCC_APB4_COMP12		14
130*c66ec88fSEmmanuel Vadot #define STM32H7_RCC_APB4_VREF		15
131*c66ec88fSEmmanuel Vadot #define STM32H7_RCC_APB4_SAI4		21
132*c66ec88fSEmmanuel Vadot #define STM32H7_RCC_APB4_TMPSENS	26
133*c66ec88fSEmmanuel Vadot 
134*c66ec88fSEmmanuel Vadot #define STM32H7_APB4_RESET(bit) (STM32H7_RCC_APB4_##bit + (0x9C * 8))
135*c66ec88fSEmmanuel Vadot 
136*c66ec88fSEmmanuel Vadot #endif /* _DT_BINDINGS_MFD_STM32H7_RCC_H */
137