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