xref: /freebsd-src/sys/contrib/device-tree/include/dt-bindings/mfd/stm32f7-rcc.h (revision 01950c46b8155250f64374fb72fc11faa44bf099)
1c66ec88fSEmmanuel Vadot /* SPDX-License-Identifier: GPL-2.0 */
2c66ec88fSEmmanuel Vadot /*
3c66ec88fSEmmanuel Vadot  * This header provides constants for the STM32F7 RCC IP
4c66ec88fSEmmanuel Vadot  */
5c66ec88fSEmmanuel Vadot 
6c66ec88fSEmmanuel Vadot #ifndef _DT_BINDINGS_MFD_STM32F7_RCC_H
7c66ec88fSEmmanuel Vadot #define _DT_BINDINGS_MFD_STM32F7_RCC_H
8c66ec88fSEmmanuel Vadot 
9c66ec88fSEmmanuel Vadot /* AHB1 */
10c66ec88fSEmmanuel Vadot #define STM32F7_RCC_AHB1_GPIOA		0
11c66ec88fSEmmanuel Vadot #define STM32F7_RCC_AHB1_GPIOB		1
12c66ec88fSEmmanuel Vadot #define STM32F7_RCC_AHB1_GPIOC		2
13c66ec88fSEmmanuel Vadot #define STM32F7_RCC_AHB1_GPIOD		3
14c66ec88fSEmmanuel Vadot #define STM32F7_RCC_AHB1_GPIOE		4
15c66ec88fSEmmanuel Vadot #define STM32F7_RCC_AHB1_GPIOF		5
16c66ec88fSEmmanuel Vadot #define STM32F7_RCC_AHB1_GPIOG		6
17c66ec88fSEmmanuel Vadot #define STM32F7_RCC_AHB1_GPIOH		7
18c66ec88fSEmmanuel Vadot #define STM32F7_RCC_AHB1_GPIOI		8
19c66ec88fSEmmanuel Vadot #define STM32F7_RCC_AHB1_GPIOJ		9
20c66ec88fSEmmanuel Vadot #define STM32F7_RCC_AHB1_GPIOK		10
21c66ec88fSEmmanuel Vadot #define STM32F7_RCC_AHB1_CRC		12
22c66ec88fSEmmanuel Vadot #define STM32F7_RCC_AHB1_BKPSRAM	18
23c66ec88fSEmmanuel Vadot #define STM32F7_RCC_AHB1_DTCMRAM	20
24c66ec88fSEmmanuel Vadot #define STM32F7_RCC_AHB1_DMA1		21
25c66ec88fSEmmanuel Vadot #define STM32F7_RCC_AHB1_DMA2		22
26c66ec88fSEmmanuel Vadot #define STM32F7_RCC_AHB1_DMA2D		23
27c66ec88fSEmmanuel Vadot #define STM32F7_RCC_AHB1_ETHMAC		25
28c66ec88fSEmmanuel Vadot #define STM32F7_RCC_AHB1_ETHMACTX	26
29c66ec88fSEmmanuel Vadot #define STM32F7_RCC_AHB1_ETHMACRX	27
30c66ec88fSEmmanuel Vadot #define STM32FF_RCC_AHB1_ETHMACPTP	28
31c66ec88fSEmmanuel Vadot #define STM32F7_RCC_AHB1_OTGHS		29
32c66ec88fSEmmanuel Vadot #define STM32F7_RCC_AHB1_OTGHSULPI	30
33c66ec88fSEmmanuel Vadot 
34c66ec88fSEmmanuel Vadot #define STM32F7_AHB1_RESET(bit) (STM32F7_RCC_AHB1_##bit + (0x10 * 8))
35c66ec88fSEmmanuel Vadot #define STM32F7_AHB1_CLOCK(bit) (STM32F7_RCC_AHB1_##bit)
36c66ec88fSEmmanuel Vadot 
37c66ec88fSEmmanuel Vadot 
38c66ec88fSEmmanuel Vadot /* AHB2 */
39c66ec88fSEmmanuel Vadot #define STM32F7_RCC_AHB2_DCMI		0
40c66ec88fSEmmanuel Vadot #define STM32F7_RCC_AHB2_CRYP		4
41c66ec88fSEmmanuel Vadot #define STM32F7_RCC_AHB2_HASH		5
42c66ec88fSEmmanuel Vadot #define STM32F7_RCC_AHB2_RNG		6
43c66ec88fSEmmanuel Vadot #define STM32F7_RCC_AHB2_OTGFS		7
44c66ec88fSEmmanuel Vadot 
45c66ec88fSEmmanuel Vadot #define STM32F7_AHB2_RESET(bit)	(STM32F7_RCC_AHB2_##bit + (0x14 * 8))
46c66ec88fSEmmanuel Vadot #define STM32F7_AHB2_CLOCK(bit)	(STM32F7_RCC_AHB2_##bit + 0x20)
47c66ec88fSEmmanuel Vadot 
48c66ec88fSEmmanuel Vadot /* AHB3 */
49c66ec88fSEmmanuel Vadot #define STM32F7_RCC_AHB3_FMC		0
50c66ec88fSEmmanuel Vadot #define STM32F7_RCC_AHB3_QSPI		1
51c66ec88fSEmmanuel Vadot 
52c66ec88fSEmmanuel Vadot #define STM32F7_AHB3_RESET(bit)	(STM32F7_RCC_AHB3_##bit + (0x18 * 8))
53c66ec88fSEmmanuel Vadot #define STM32F7_AHB3_CLOCK(bit)	(STM32F7_RCC_AHB3_##bit + 0x40)
54c66ec88fSEmmanuel Vadot 
55c66ec88fSEmmanuel Vadot /* APB1 */
56c66ec88fSEmmanuel Vadot #define STM32F7_RCC_APB1_TIM2		0
57c66ec88fSEmmanuel Vadot #define STM32F7_RCC_APB1_TIM3		1
58c66ec88fSEmmanuel Vadot #define STM32F7_RCC_APB1_TIM4		2
59c66ec88fSEmmanuel Vadot #define STM32F7_RCC_APB1_TIM5		3
60c66ec88fSEmmanuel Vadot #define STM32F7_RCC_APB1_TIM6		4
61c66ec88fSEmmanuel Vadot #define STM32F7_RCC_APB1_TIM7		5
62c66ec88fSEmmanuel Vadot #define STM32F7_RCC_APB1_TIM12		6
63c66ec88fSEmmanuel Vadot #define STM32F7_RCC_APB1_TIM13		7
64c66ec88fSEmmanuel Vadot #define STM32F7_RCC_APB1_TIM14		8
65c66ec88fSEmmanuel Vadot #define STM32F7_RCC_APB1_LPTIM1		9
66c66ec88fSEmmanuel Vadot #define STM32F7_RCC_APB1_WWDG		11
67f126890aSEmmanuel Vadot #define STM32F7_RCC_APB1_CAN3		13
68c66ec88fSEmmanuel Vadot #define STM32F7_RCC_APB1_SPI2		14
69c66ec88fSEmmanuel Vadot #define STM32F7_RCC_APB1_SPI3		15
70c66ec88fSEmmanuel Vadot #define STM32F7_RCC_APB1_SPDIFRX	16
71c66ec88fSEmmanuel Vadot #define STM32F7_RCC_APB1_UART2		17
72c66ec88fSEmmanuel Vadot #define STM32F7_RCC_APB1_UART3		18
73c66ec88fSEmmanuel Vadot #define STM32F7_RCC_APB1_UART4		19
74c66ec88fSEmmanuel Vadot #define STM32F7_RCC_APB1_UART5		20
75c66ec88fSEmmanuel Vadot #define STM32F7_RCC_APB1_I2C1		21
76c66ec88fSEmmanuel Vadot #define STM32F7_RCC_APB1_I2C2		22
77c66ec88fSEmmanuel Vadot #define STM32F7_RCC_APB1_I2C3		23
78c66ec88fSEmmanuel Vadot #define STM32F7_RCC_APB1_I2C4		24
79c66ec88fSEmmanuel Vadot #define STM32F7_RCC_APB1_CAN1		25
80c66ec88fSEmmanuel Vadot #define STM32F7_RCC_APB1_CAN2		26
81c66ec88fSEmmanuel Vadot #define STM32F7_RCC_APB1_CEC		27
82c66ec88fSEmmanuel Vadot #define STM32F7_RCC_APB1_PWR		28
83c66ec88fSEmmanuel Vadot #define STM32F7_RCC_APB1_DAC		29
84c66ec88fSEmmanuel Vadot #define STM32F7_RCC_APB1_UART7		30
85c66ec88fSEmmanuel Vadot #define STM32F7_RCC_APB1_UART8		31
86c66ec88fSEmmanuel Vadot 
87c66ec88fSEmmanuel Vadot #define STM32F7_APB1_RESET(bit)	(STM32F7_RCC_APB1_##bit + (0x20 * 8))
88c66ec88fSEmmanuel Vadot #define STM32F7_APB1_CLOCK(bit)	(STM32F7_RCC_APB1_##bit + 0x80)
89c66ec88fSEmmanuel Vadot 
90c66ec88fSEmmanuel Vadot /* APB2 */
91c66ec88fSEmmanuel Vadot #define STM32F7_RCC_APB2_TIM1		0
92c66ec88fSEmmanuel Vadot #define STM32F7_RCC_APB2_TIM8		1
93c66ec88fSEmmanuel Vadot #define STM32F7_RCC_APB2_USART1		4
94c66ec88fSEmmanuel Vadot #define STM32F7_RCC_APB2_USART6		5
95c66ec88fSEmmanuel Vadot #define STM32F7_RCC_APB2_SDMMC2		7
96c66ec88fSEmmanuel Vadot #define STM32F7_RCC_APB2_ADC1		8
97c66ec88fSEmmanuel Vadot #define STM32F7_RCC_APB2_ADC2		9
98c66ec88fSEmmanuel Vadot #define STM32F7_RCC_APB2_ADC3		10
99c66ec88fSEmmanuel Vadot #define STM32F7_RCC_APB2_SDMMC1		11
100c66ec88fSEmmanuel Vadot #define STM32F7_RCC_APB2_SPI1		12
101c66ec88fSEmmanuel Vadot #define STM32F7_RCC_APB2_SPI4		13
102c66ec88fSEmmanuel Vadot #define STM32F7_RCC_APB2_SYSCFG		14
103c66ec88fSEmmanuel Vadot #define STM32F7_RCC_APB2_TIM9		16
104c66ec88fSEmmanuel Vadot #define STM32F7_RCC_APB2_TIM10		17
105c66ec88fSEmmanuel Vadot #define STM32F7_RCC_APB2_TIM11		18
106c66ec88fSEmmanuel Vadot #define STM32F7_RCC_APB2_SPI5		20
107c66ec88fSEmmanuel Vadot #define STM32F7_RCC_APB2_SPI6		21
108c66ec88fSEmmanuel Vadot #define STM32F7_RCC_APB2_SAI1		22
109c66ec88fSEmmanuel Vadot #define STM32F7_RCC_APB2_SAI2		23
110c66ec88fSEmmanuel Vadot #define STM32F7_RCC_APB2_LTDC		26
111*01950c46SEmmanuel Vadot #define STM32F7_RCC_APB2_DSI		27
112c66ec88fSEmmanuel Vadot 
113c66ec88fSEmmanuel Vadot #define STM32F7_APB2_RESET(bit)	(STM32F7_RCC_APB2_##bit + (0x24 * 8))
114c66ec88fSEmmanuel Vadot #define STM32F7_APB2_CLOCK(bit)	(STM32F7_RCC_APB2_##bit + 0xA0)
115c66ec88fSEmmanuel Vadot 
116c66ec88fSEmmanuel Vadot #endif /* _DT_BINDINGS_MFD_STM32F7_RCC_H */
117