mirror of
https://github.com/brain-hackers/u-boot-brain
synced 2024-08-22 09:58:52 +09:00
![Patrice Chotard](/assets/img/avatar_default.png)
This driver is adapted from linux drivers/reset/reset-stm32.c It's compatible with STM32 F4/F7/H7 SoCs. This driver doesn't implement .of_match as it's binded by MFD RCC driver. To add support for each SoC family, a SoC's specific include/dt-binfings/mfd/stm32xx-rcc.h file must be added. This patch only includes stm32h7-rcc.h dedicated for STM32H7 SoCs. Other SoCs support will be added in the future. Signed-off-by: Patrice Chotard <patrice.chotard@st.com> Reviewed-by: Simon Glass <sjg@chromium.org>
139 lines
4.1 KiB
C
139 lines
4.1 KiB
C
/*
|
|
* This header provides constants for the STM32H7 RCC IP
|
|
*/
|
|
|
|
#ifndef _DT_BINDINGS_MFD_STM32H7_RCC_H
|
|
#define _DT_BINDINGS_MFD_STM32H7_RCC_H
|
|
|
|
/* AHB3 */
|
|
#define STM32H7_RCC_AHB3_MDMA 0
|
|
#define STM32H7_RCC_AHB3_DMA2D 4
|
|
#define STM32H7_RCC_AHB3_JPGDEC 5
|
|
#define STM32H7_RCC_AHB3_FMC 12
|
|
#define STM32H7_RCC_AHB3_QUADSPI 14
|
|
#define STM32H7_RCC_AHB3_SDMMC1 16
|
|
#define STM32H7_RCC_AHB3_CPU1 31
|
|
|
|
#define STM32H7_AHB3_RESET(bit) (STM32H7_RCC_AHB3_##bit + (0x7C * 8))
|
|
|
|
/* AHB1 */
|
|
#define STM32H7_RCC_AHB1_DMA1 0
|
|
#define STM32H7_RCC_AHB1_DMA2 1
|
|
#define STM32H7_RCC_AHB1_ADC12 5
|
|
#define STM32H7_RCC_AHB1_ART 14
|
|
#define STM32H7_RCC_AHB1_ETH1MAC 15
|
|
#define STM32H7_RCC_AHB1_USB1OTG 25
|
|
#define STM32H7_RCC_AHB1_USB2OTG 27
|
|
#define STM32H7_RCC_AHB1_CPU2 31
|
|
|
|
#define STM32H7_AHB1_RESET(bit) (STM32H7_RCC_AHB1_##bit + (0x80 * 8))
|
|
|
|
/* AHB2 */
|
|
#define STM32H7_RCC_AHB2_CAMITF 0
|
|
#define STM32H7_RCC_AHB2_CRYPT 4
|
|
#define STM32H7_RCC_AHB2_HASH 5
|
|
#define STM32H7_RCC_AHB2_RNG 6
|
|
#define STM32H7_RCC_AHB2_SDMMC2 9
|
|
|
|
#define STM32H7_AHB2_RESET(bit) (STM32H7_RCC_AHB2_##bit + (0x84 * 8))
|
|
|
|
/* AHB4 */
|
|
#define STM32H7_RCC_AHB4_GPIOA 0
|
|
#define STM32H7_RCC_AHB4_GPIOB 1
|
|
#define STM32H7_RCC_AHB4_GPIOC 2
|
|
#define STM32H7_RCC_AHB4_GPIOD 3
|
|
#define STM32H7_RCC_AHB4_GPIOE 4
|
|
#define STM32H7_RCC_AHB4_GPIOF 5
|
|
#define STM32H7_RCC_AHB4_GPIOG 6
|
|
#define STM32H7_RCC_AHB4_GPIOH 7
|
|
#define STM32H7_RCC_AHB4_GPIOI 8
|
|
#define STM32H7_RCC_AHB4_GPIOJ 9
|
|
#define STM32H7_RCC_AHB4_GPIOK 10
|
|
#define STM32H7_RCC_AHB4_CRC 19
|
|
#define STM32H7_RCC_AHB4_BDMA 21
|
|
#define STM32H7_RCC_AHB4_ADC3 24
|
|
#define STM32H7_RCC_AHB4_HSEM 25
|
|
|
|
#define STM32H7_AHB4_RESET(bit) (STM32H7_RCC_AHB4_##bit + (0x88 * 8))
|
|
|
|
|
|
/* APB3 */
|
|
#define STM32H7_RCC_APB3_LTDC 3
|
|
#define STM32H7_RCC_APB3_DSI 4
|
|
|
|
#define STM32H7_APB3_RESET(bit) (STM32H7_RCC_APB3_##bit + (0x8C * 8))
|
|
|
|
/* APB1L */
|
|
#define STM32H7_RCC_APB1L_TIM2 0
|
|
#define STM32H7_RCC_APB1L_TIM3 1
|
|
#define STM32H7_RCC_APB1L_TIM4 2
|
|
#define STM32H7_RCC_APB1L_TIM5 3
|
|
#define STM32H7_RCC_APB1L_TIM6 4
|
|
#define STM32H7_RCC_APB1L_TIM7 5
|
|
#define STM32H7_RCC_APB1L_TIM12 6
|
|
#define STM32H7_RCC_APB1L_TIM13 7
|
|
#define STM32H7_RCC_APB1L_TIM14 8
|
|
#define STM32H7_RCC_APB1L_LPTIM1 9
|
|
#define STM32H7_RCC_APB1L_SPI2 14
|
|
#define STM32H7_RCC_APB1L_SPI3 15
|
|
#define STM32H7_RCC_APB1L_SPDIF_RX 16
|
|
#define STM32H7_RCC_APB1L_USART2 17
|
|
#define STM32H7_RCC_APB1L_USART3 18
|
|
#define STM32H7_RCC_APB1L_UART4 19
|
|
#define STM32H7_RCC_APB1L_UART5 20
|
|
#define STM32H7_RCC_APB1L_I2C1 21
|
|
#define STM32H7_RCC_APB1L_I2C2 22
|
|
#define STM32H7_RCC_APB1L_I2C3 23
|
|
#define STM32H7_RCC_APB1L_HDMICEC 27
|
|
#define STM32H7_RCC_APB1L_DAC12 29
|
|
#define STM32H7_RCC_APB1L_USART7 30
|
|
#define STM32H7_RCC_APB1L_USART8 31
|
|
|
|
#define STM32H7_APB1L_RESET(bit) (STM32H7_RCC_APB1L_##bit + (0x90 * 8))
|
|
|
|
/* APB1H */
|
|
#define STM32H7_RCC_APB1H_CRS 1
|
|
#define STM32H7_RCC_APB1H_SWP 2
|
|
#define STM32H7_RCC_APB1H_OPAMP 4
|
|
#define STM32H7_RCC_APB1H_MDIOS 5
|
|
#define STM32H7_RCC_APB1H_FDCAN 8
|
|
|
|
#define STM32H7_APB1H_RESET(bit) (STM32H7_RCC_APB1H_##bit + (0x94 * 8))
|
|
|
|
/* APB2 */
|
|
#define STM32H7_RCC_APB2_TIM1 0
|
|
#define STM32H7_RCC_APB2_TIM8 1
|
|
#define STM32H7_RCC_APB2_USART1 4
|
|
#define STM32H7_RCC_APB2_USART6 5
|
|
#define STM32H7_RCC_APB2_SPI1 12
|
|
#define STM32H7_RCC_APB2_SPI4 13
|
|
#define STM32H7_RCC_APB2_TIM15 16
|
|
#define STM32H7_RCC_APB2_TIM16 17
|
|
#define STM32H7_RCC_APB2_TIM17 18
|
|
#define STM32H7_RCC_APB2_SPI5 20
|
|
#define STM32H7_RCC_APB2_SAI1 22
|
|
#define STM32H7_RCC_APB2_SAI2 23
|
|
#define STM32H7_RCC_APB2_SAI3 24
|
|
#define STM32H7_RCC_APB2_DFSDM1 28
|
|
#define STM32H7_RCC_APB2_HRTIM 29
|
|
|
|
#define STM32H7_APB2_RESET(bit) (STM32H7_RCC_APB2_##bit + (0x98 * 8))
|
|
|
|
/* APB4 */
|
|
#define STM32H7_RCC_APB4_SYSCFG 1
|
|
#define STM32H7_RCC_APB4_LPUART1 3
|
|
#define STM32H7_RCC_APB4_SPI6 5
|
|
#define STM32H7_RCC_APB4_I2C4 7
|
|
#define STM32H7_RCC_APB4_LPTIM2 9
|
|
#define STM32H7_RCC_APB4_LPTIM3 10
|
|
#define STM32H7_RCC_APB4_LPTIM4 11
|
|
#define STM32H7_RCC_APB4_LPTIM5 12
|
|
#define STM32H7_RCC_APB4_COMP12 14
|
|
#define STM32H7_RCC_APB4_VREF 15
|
|
#define STM32H7_RCC_APB4_SAI4 21
|
|
#define STM32H7_RCC_APB4_TMPSENS 26
|
|
|
|
#define STM32H7_APB4_RESET(bit) (STM32H7_RCC_APB4_##bit + (0x9C * 8))
|
|
|
|
#endif /* _DT_BINDINGS_MFD_STM32H7_RCC_H */
|