~funderscore blog cgit wiki get in touch
aboutsummaryrefslogtreecommitdiff
blob: e7191b428af20a0934752c296782d3a5722c66a7 (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
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
/* SPDX-License-Identifier: GPL-2.0-or-later OR BSD-3-Clause */
/*
 * Copyright (C) 2022, STMicroelectronics - All Rights Reserved
 *
 * Configuration settings for the STM32MP13x CPU
 */

#ifndef STM32MP13_RCC_H
#define STM32MP13_RCC_H

/* RCC registers */
#define RCC_SECCFGR			0x0
#define RCC_MP_SREQSETR			0x100
#define RCC_MP_SREQCLRR			0x104
#define RCC_MP_APRSTCR			0x108
#define RCC_MP_APRSTSR			0x10c
#define RCC_PWRLPDLYCR			0x110
#define RCC_MP_GRSTCSETR		0x114
#define RCC_BR_RSTSCLRR			0x118
#define RCC_MP_RSTSSETR			0x11c
#define RCC_MP_RSTSCLRR			0x120
#define RCC_MP_IWDGFZSETR		0x124
#define RCC_MP_IWDGFZCLRR		0x128
#define RCC_MP_CIER			0x200
#define RCC_MP_CIFR			0x204
#define RCC_BDCR			0x400
#define RCC_RDLSICR			0x404
#define RCC_OCENSETR			0x420
#define RCC_OCENCLRR			0x424
#define RCC_OCRDYR			0x428
#define RCC_HSICFGR			0x440
#define RCC_CSICFGR			0x444
#define RCC_MCO1CFGR			0x460
#define RCC_MCO2CFGR			0x464
#define RCC_DBGCFGR			0x468
#define RCC_RCK12SELR			0x480
#define RCC_RCK3SELR			0x484
#define RCC_RCK4SELR			0x488
#define RCC_PLL1CR			0x4a0
#define RCC_PLL1CFGR1			0x4a4
#define RCC_PLL1CFGR2			0x4a8
#define RCC_PLL1FRACR			0x4ac
#define RCC_PLL1CSGR			0x4b0
#define RCC_PLL2CR			0x4d0
#define RCC_PLL2CFGR1			0x4d4
#define RCC_PLL2CFGR2			0x4d8
#define RCC_PLL2FRACR			0x4dc
#define RCC_PLL2CSGR			0x4e0
#define RCC_PLL3CR			0x500
#define RCC_PLL3CFGR1			0x504
#define RCC_PLL3CFGR2			0x508
#define RCC_PLL3FRACR			0x50c
#define RCC_PLL3CSGR			0x510
#define RCC_PLL4CR			0x520
#define RCC_PLL4CFGR1			0x524
#define RCC_PLL4CFGR2			0x528
#define RCC_PLL4FRACR			0x52c
#define RCC_PLL4CSGR			0x530
#define RCC_MPCKSELR			0x540
#define RCC_ASSCKSELR			0x544
#define RCC_MSSCKSELR			0x548
#define RCC_CPERCKSELR			0x54c
#define RCC_RTCDIVR			0x560
#define RCC_MPCKDIVR			0x564
#define RCC_AXIDIVR			0x568
#define RCC_MLAHBDIVR			0x56c
#define RCC_APB1DIVR			0x570
#define RCC_APB2DIVR			0x574
#define RCC_APB3DIVR			0x578
#define RCC_APB4DIVR			0x57c
#define RCC_APB5DIVR			0x580
#define RCC_APB6DIVR			0x584
#define RCC_TIMG1PRER			0x5a0
#define RCC_TIMG2PRER			0x5a4
#define RCC_TIMG3PRER			0x5a8
#define RCC_DDRITFCR			0x5c0
#define RCC_I2C12CKSELR			0x600
#define RCC_I2C345CKSELR		0x604
#define RCC_SPI2S1CKSELR		0x608
#define RCC_SPI2S23CKSELR		0x60c
#define RCC_SPI45CKSELR			0x610
#define RCC_UART12CKSELR		0x614
#define RCC_UART35CKSELR		0x618
#define RCC_UART4CKSELR			0x61c
#define RCC_UART6CKSELR			0x620
#define RCC_UART78CKSELR		0x624
#define RCC_LPTIM1CKSELR		0x628
#define RCC_LPTIM23CKSELR		0x62c
#define RCC_LPTIM45CKSELR		0x630
#define RCC_SAI1CKSELR			0x634
#define RCC_SAI2CKSELR			0x638
#define RCC_FDCANCKSELR			0x63c
#define RCC_SPDIFCKSELR			0x640
#define RCC_ADC12CKSELR			0x644
#define RCC_SDMMC12CKSELR		0x648
#define RCC_ETH12CKSELR			0x64c
#define RCC_USBCKSELR			0x650
#define RCC_QSPICKSELR			0x654
#define RCC_FMCCKSELR			0x658
#define RCC_RNG1CKSELR			0x65c
#define RCC_STGENCKSELR			0x660
#define RCC_DCMIPPCKSELR		0x664
#define RCC_SAESCKSELR			0x668
#define RCC_APB1RSTSETR			0x6a0
#define RCC_APB1RSTCLRR			0x6a4
#define RCC_APB2RSTSETR			0x6a8
#define RCC_APB2RSTCLRR			0x6ac
#define RCC_APB3RSTSETR			0x6b0
#define RCC_APB3RSTCLRR			0x6b4
#define RCC_APB4RSTSETR			0x6b8
#define RCC_APB4RSTCLRR			0x6bc
#define RCC_APB5RSTSETR			0x6c0
#define RCC_APB5RSTCLRR			0x6c4
#define RCC_APB6RSTSETR			0x6c8
#define RCC_APB6RSTCLRR			0x6cc
#define RCC_AHB2RSTSETR			0x6d0
#define RCC_AHB2RSTCLRR			0x6d4
#define RCC_AHB4RSTSETR			0x6e0
#define RCC_AHB4RSTCLRR			0x6e4
#define RCC_AHB5RSTSETR			0x6e8
#define RCC_AHB5RSTCLRR			0x6ec
#define RCC_AHB6RSTSETR			0x6f0
#define RCC_AHB6RSTCLRR			0x6f4
#define RCC_MP_APB1ENSETR		0x700
#define RCC_MP_APB1ENCLRR		0x704
#define RCC_MP_APB2ENSETR		0x708
#define RCC_MP_APB2ENCLRR		0x70c
#define RCC_MP_APB3ENSETR		0x710
#define RCC_MP_APB3ENCLRR		0x714
#define RCC_MP_S_APB3ENSETR		0x718
#define RCC_MP_S_APB3ENCLRR		0x71c
#define RCC_MP_NS_APB3ENSETR		0x720
#define RCC_MP_NS_APB3ENCLRR		0x724
#define RCC_MP_APB4ENSETR		0x728
#define RCC_MP_APB4ENCLRR		0x72c
#define RCC_MP_S_APB4ENSETR		0x730
#define RCC_MP_S_APB4ENCLRR		0x734
#define RCC_MP_NS_APB4ENSETR		0x738
#define RCC_MP_NS_APB4ENCLRR		0x73c
#define RCC_MP_APB5ENSETR		0x740
#define RCC_MP_APB5ENCLRR		0x744
#define RCC_MP_APB6ENSETR		0x748
#define RCC_MP_APB6ENCLRR		0x74c
#define RCC_MP_AHB2ENSETR		0x750
#define RCC_MP_AHB2ENCLRR		0x754
#define RCC_MP_AHB4ENSETR		0x760
#define RCC_MP_AHB4ENCLRR		0x764
#define RCC_MP_S_AHB4ENSETR		0x768
#define RCC_MP_S_AHB4ENCLRR		0x76c
#define RCC_MP_NS_AHB4ENSETR		0x770
#define RCC_MP_NS_AHB4ENCLRR		0x774
#define RCC_MP_AHB5ENSETR		0x778
#define RCC_MP_AHB5ENCLRR		0x77c
#define RCC_MP_AHB6ENSETR		0x780
#define RCC_MP_AHB6ENCLRR		0x784
#define RCC_MP_S_AHB6ENSETR		0x788
#define RCC_MP_S_AHB6ENCLRR		0x78c
#define RCC_MP_NS_AHB6ENSETR		0x790
#define RCC_MP_NS_AHB6ENCLRR		0x794
#define RCC_MP_APB1LPENSETR		0x800
#define RCC_MP_APB1LPENCLRR		0x804
#define RCC_MP_APB2LPENSETR		0x808
#define RCC_MP_APB2LPENCLRR		0x80c
#define RCC_MP_APB3LPENSETR		0x810
#define RCC_MP_APB3LPENCLRR		0x814
#define RCC_MP_S_APB3LPENSETR		0x818
#define RCC_MP_S_APB3LPENCLRR		0x81c
#define RCC_MP_NS_APB3LPENSETR		0x820
#define RCC_MP_NS_APB3LPENCLRR		0x824
#define RCC_MP_APB4LPENSETR		0x828
#define RCC_MP_APB4LPENCLRR		0x82c
#define RCC_MP_S_APB4LPENSETR		0x830
#define RCC_MP_S_APB4LPENCLRR		0x834
#define RCC_MP_NS_APB4LPENSETR		0x838
#define RCC_MP_NS_APB4LPENCLRR		0x83c
#define RCC_MP_APB5LPENSETR		0x840
#define RCC_MP_APB5LPENCLRR		0x844
#define RCC_MP_APB6LPENSETR		0x848
#define RCC_MP_APB6LPENCLRR		0x84c
#define RCC_MP_AHB2LPENSETR		0x850
#define RCC_MP_AHB2LPENCLRR		0x854
#define RCC_MP_AHB4LPENSETR		0x858
#define RCC_MP_AHB4LPENCLRR		0x85c
#define RCC_MP_S_AHB4LPENSETR		0x868
#define RCC_MP_S_AHB4LPENCLRR		0x86c
#define RCC_MP_NS_AHB4LPENSETR		0x870
#define RCC_MP_NS_AHB4LPENCLRR		0x874
#define RCC_MP_AHB5LPENSETR		0x878
#define RCC_MP_AHB5LPENCLRR		0x87c
#define RCC_MP_AHB6LPENSETR		0x880
#define RCC_MP_AHB6LPENCLRR		0x884
#define RCC_MP_S_AHB6LPENSETR		0x888
#define RCC_MP_S_AHB6LPENCLRR		0x88c
#define RCC_MP_NS_AHB6LPENSETR		0x890
#define RCC_MP_NS_AHB6LPENCLRR		0x894
#define RCC_MP_S_AXIMLPENSETR		0x898
#define RCC_MP_S_AXIMLPENCLRR		0x89c
#define RCC_MP_NS_AXIMLPENSETR		0x8a0
#define RCC_MP_NS_AXIMLPENCLRR		0x8a4
#define RCC_MP_MLAHBLPENSETR		0x8a8
#define RCC_MP_MLAHBLPENCLRR		0x8ac
#define RCC_APB3SECSR			0x8c0
#define RCC_APB4SECSR			0x8c4
#define RCC_APB5SECSR			0x8c8
#define RCC_APB6SECSR			0x8cc
#define RCC_AHB2SECSR			0x8d0
#define RCC_AHB4SECSR			0x8d4
#define RCC_AHB5SECSR			0x8d8
#define RCC_AHB6SECSR			0x8dc
#define RCC_VERR			0xff4
#define RCC_IDR				0xff8
#define RCC_SIDR			0xffc

/* RCC_SECCFGR register fields */
#define RCC_SECCFGR_MCO1SECF		22
#define RCC_SECCFGR_MCO2SECF		23

/* RCC_APB3SECSR register fields */
#define RCC_APB3SECSR_LPTIM2SECF	0
#define RCC_APB3SECSR_LPTIM3SECF	1
#define RCC_APB3SECSR_VREFSECF		13

/* RCC_APB4SECSR register fields */
#define RCC_APB4SECSR_DCMIPPSECF	1
#define RCC_APB4SECSR_USBPHYSECF	16

/* RCC_APB5SECSR register fields */
#define RCC_APB5SECSR_RTCSECF		8
#define RCC_APB5SECSR_TZCSECF		11
#define RCC_APB5SECSR_ETZPCSECF		13
#define RCC_APB5SECSR_IWDG1SECF		15
#define RCC_APB5SECSR_BSECSECF		16
#define RCC_APB5SECSR_STGENCSECF	20
#define RCC_APB5SECSR_STGENROSECF	21

/* RCC_APB6SECSR register fields */
#define RCC_APB6SECSR_USART1SECF        0
#define RCC_APB6SECSR_USART2SECF	1
#define RCC_APB6SECSR_SPI4SECF		2
#define RCC_APB6SECSR_SPI5SECF		3
#define RCC_APB6SECSR_I2C3SECF		4
#define RCC_APB6SECSR_I2C4SECF		5
#define RCC_APB6SECSR_I2C5SECF		6
#define RCC_APB6SECSR_TIM12SECF		7
#define RCC_APB6SECSR_TIM13SECF		8
#define RCC_APB6SECSR_TIM14SECF		9
#define RCC_APB6SECSR_TIM15SECF		10
#define RCC_APB6SECSR_TIM16SECF		11
#define RCC_APB6SECSR_TIM17SECF		12

/* RCC_AHB2SECSR register fields */
#define RCC_AHB2SECSR_DMA3SECF		3
#define RCC_AHB2SECSR_DMAMUX2SECF	4
#define RCC_AHB2SECSR_ADC1SECF		5
#define RCC_AHB2SECSR_ADC2SECF		6
#define RCC_AHB2SECSR_USBOSECF		8

/* RCC_AHB4SECSR register fields */
#define RCC_AHB4SECSR_TSCSECF		15

/* RCC_AHB5SECSR register fields */
#define RCC_AHB5SECSR_PKASECF		2
#define RCC_AHB5SECSR_SAESSECF		3
#define RCC_AHB5SECSR_CRYP1SECF		4
#define RCC_AHB5SECSR_HASH1SECF		5
#define RCC_AHB5SECSR_RNG1SECF		6
#define RCC_AHB5SECSR_BKPSRAMSECF	8

/* RCC_AHB6SECSR register fields */
#define RCC_AHB6SECSR_MCESECF		1
#define RCC_AHB6SECSR_FMCSECF		12
#define RCC_AHB6SECSR_QSPISECF		14
#define RCC_AHB6SECSR_SDMMC1SECF	16
#define RCC_AHB6SECSR_SDMMC2SECF	17

#define RCC_AHB6SECSR_ETH1CKSECF	7
#define RCC_AHB6SECSR_ETH1TXSECF	8
#define RCC_AHB6SECSR_ETH1RXSECF	9
#define RCC_AHB6SECSR_ETH1MACSECF	10
#define RCC_AHB6SECSR_ETH1STPSECF	11

#define RCC_AHB6SECSR_ETH2CKSECF	27
#define RCC_AHB6SECSR_ETH2TXSECF	28
#define RCC_AHB6SECSR_ETH2RXSECF	29
#define RCC_AHB6SECSR_ETH2MACSECF	30
#define RCC_AHB6SECSR_ETH2STPSECF	31

#endif /* STM32MP13_RCC_H */