summaryrefslogtreecommitdiff
path: root/arch/arm/include/asm/arch-stm32f7/rcc.h
blob: 184c366d9d836ab72006803c279107596cd177f2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
/*
 * (C) Copyright 2016
 * Vikas Manocha, ST Micoelectronics, vikas.manocha@st.com.
 *
 * SPDX-License-Identifier:	GPL-2.0+
 */

#ifndef _STM32_RCC_H
#define _STM32_RCC_H

#define RCC_CR		0x00	/* clock control */
#define RCC_PLLCFGR	0x04	/* PLL configuration */
#define RCC_CFGR	0x08	/* clock configuration */
#define RCC_CIR		0x0C	/* clock interrupt */
#define RCC_AHB1RSTR	0x10	/* AHB1 peripheral reset */
#define RCC_AHB2RSTR	0x14	/* AHB2 peripheral reset */
#define RCC_AHB3RSTR	0x18	/* AHB3 peripheral reset */
#define RCC_APB1RSTR	0x20	/* APB1 peripheral reset */
#define RCC_APB2RSTR	0x24	/* APB2 peripheral reset */
#define RCC_AHB1ENR	0x30	/* AHB1 peripheral clock enable */
#define RCC_AHB2ENR	0x34	/* AHB2 peripheral clock enable */
#define RCC_AHB3ENR	0x38	/* AHB3 peripheral clock enable */
#define RCC_APB1ENR	0x40	/* APB1 peripheral clock enable */
#define RCC_APB2ENR	0x44	/* APB2 peripheral clock enable */
#define RCC_AHB1LPENR	0x50	/* periph clk enable in low pwr mode */
#define RCC_AHB2LPENR	0x54	/* AHB2 periph clk enable in low pwr mode */
#define RCC_AHB3LPENR	0x58	/* AHB3 periph clk enable in low pwr mode */
#define RCC_APB1LPENR	0x60	/* APB1 periph clk enable in low pwr mode */
#define RCC_APB2LPENR	0x64	/* APB2 periph clk enable in low pwr mode */
#define RCC_BDCR	0x70	/* Backup domain control */
#define RCC_CSR		0x74	/* clock control & status */
#define RCC_SSCGR	0x80	/* spread spectrum clock generation */
#define RCC_PLLI2SCFGR	0x84	/* PLLI2S configuration */
#define RCC_PLLSAICFG	0x88	/* PLLSAI configuration */
#define RCC_DCKCFG1	0x8C	/* dedicated clocks configuration register */
#define RCC_DCKCFG2	0x90	/* dedicated clocks configuration register */
/*
 * RCC AHB1ENR specific definitions
 */
#define RCC_AHB1ENR_GPIO_A_EN		BIT(0)
#define RCC_AHB1ENR_GPIO_B_EN		BIT(1)
#define RCC_AHB1ENR_GPIO_C_EN		BIT(2)
#define RCC_AHB1ENR_GPIO_D_EN		BIT(3)
#define RCC_AHB1ENR_GPIO_E_EN		BIT(4)
#define RCC_AHB1ENR_GPIO_F_EN		BIT(5)
#define RCC_AHB1ENR_GPIO_G_EN		BIT(6)
#define RCC_AHB1ENR_GPIO_H_EN		BIT(7)
#define RCC_AHB1ENR_GPIO_I_EN		BIT(8)
#define RCC_AHB1ENR_GPIO_J_EN		BIT(9)
#define RCC_AHB1ENR_GPIO_K_EN		BIT(10)
#define RCC_AHB1ENR_ETHMAC_EN		BIT(25)
#define RCC_AHB1ENR_ETHMAC_TX_EN	BIT(26)
#define RCC_AHB1ENR_ETHMAC_RX_EN	BIT(27)
#define RCC_AHB1ENR_ETHMAC_PTP_EN	BIT(28)

/*
 * RCC AHB3ENR specific definitions
 */
#define RCC_AHB3ENR_FMC_EN		BIT(0)

/*
 * RCC APB1ENR specific definitions
 */
#define RCC_APB1ENR_TIM2EN		BIT(0)
#define RCC_APB1ENR_USART2EN		BIT(17)
#define RCC_APB1ENR_USART3EN		BIT(18)
#define RCC_APB1ENR_PWREN		BIT(28)

/*
 * RCC APB2ENR specific definitions
 */
#define RCC_APB2ENR_USART1EN		BIT(4)
#define RCC_APB2ENR_USART6EN		BIT(5)
#define RCC_APB2ENR_SYSCFGEN		BIT(14)

#endif