fa652a2e65de9780bee9fb1f35483ca94ecf5225
[fw/openocd] / tcl / chip / st / stm32 / stm32_rcc.tcl
1
2 set RCC_CR            [expr {$RCC_BASE + 0x00}]
3 set RCC_CFGR          [expr {$RCC_BASE + 0x04}]
4 set RCC_CIR           [expr {$RCC_BASE + 0x08}]
5 set RCC_APB2RSTR      [expr {$RCC_BASE + 0x0c}]
6 set RCC_APB1RSTR      [expr {$RCC_BASE + 0x10}]
7 set RCC_AHBENR        [expr {$RCC_BASE + 0x14}]
8 set RCC_APB2ENR       [expr {$RCC_BASE + 0x18}]
9 set RCC_APB1ENR       [expr {$RCC_BASE + 0x1c}]
10 set RCC_BDCR          [expr {$RCC_BASE + 0x20}]
11 set RCC_CSR           [expr {$RCC_BASE + 0x24}]
12
13
14 proc show_RCC_CR { } {
15     if [ catch { set val [show_mmr32_reg RCC_CR] } msg ] {
16         error $msg
17     }
18
19     show_mmr_bitfield  0  0 $val HSI      { OFF ON }
20     show_mmr_bitfield  1  1 $val HSIRDY   { NOTRDY RDY  }
21     show_mmr_bitfield  7  3 $val HSITRIM  { _NUMBER_ }
22     show_mmr_bitfield 15  8 $val HSICAL   { _NUMBER_ }
23     show_mmr_bitfield 16 16 $val HSEON    { OFF ON }
24     show_mmr_bitfield 17 17 $val HSERDY   { NOTRDY RDY  }
25     show_mmr_bitfield 18 18 $val HSEBYP   { NOTBYPASSED BYPASSED }
26     show_mmr_bitfield 19 19 $val CSSON    { OFF ON }
27     show_mmr_bitfield 24 24 $val PLLON    { OFF ON }
28     show_mmr_bitfield 25 25 $val PLLRDY   { NOTRDY RDY }
29 }
30
31 proc show_RCC_CFGR { } {
32     if [ catch { set val [show_mmr32_reg RCC_CFGR] } msg ] {
33         error $msg
34     }
35
36
37     show_mmr_bitfield  1  0 $val  SW     { HSI HSE PLL ILLEGAL }
38     show_mmr_bitfield  3  2 $val  SWS    { HSI HSE PLL ILLEGAL }
39     show_mmr_bitfield  7  4 $val  HPRE   { sysclk_div_1 sysclk_div_1 sysclk_div_1 sysclk_div_1 sysclk_div_1 sysclk_div_1 sysclk_div_1 sysclk_div_1 sysclk_div_2 sysclk_div_4 sysclk_div_8 sysclk_div_16 sysclk_div_64 sysclk_div_128 sysclk_div_256 sysclk_div_512 }
40     show_mmr_bitfield 10  8 $val  PPRE1  { hclk_div1 hclk_div1 hclk_div1 hclk_div1 hclk_div2 hclk_div4 hclk_div8 hclk_div16 }
41     show_mmr_bitfield 13 11 $val  PPRE2  { hclk_div1 hclk_div1 hclk_div1 hclk_div1 hclk_div2 hclk_div4 hclk_div8 hclk_div16 }
42     show_mmr_bitfield 15 14 $val  ADCPRE { pclk2_div1 pclk2_div1 pclk2_div1 pclk2_div1 pclk2_div2 pclk2_div4 pclk2_div8 pclk2_div16 }
43     show_mmr_bitfield 16 16 $val  PLLSRC { HSI_div_2 HSE }
44     show_mmr_bitfield 17 17 $val  PLLXTPRE { hse_div1 hse_div2 }
45     show_mmr_bitfield 21 18 $val  PLLMUL { x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x16 }
46     show_mmr_bitfield 22 22 $val  USBPRE { div1 div1_5 }
47     show_mmr_bitfield 26 24 $val  MCO    { none none none none SysClk HSI HSE PLL_div2 }
48 }
49
50
51 proc show_RCC_CIR { } {
52     if [ catch { set val [show_mmr32_reg RCC_CIR] } msg ] {
53         error $msg
54     }
55
56 }
57
58 proc show_RCC_APB2RSTR { } {
59     if [ catch { set val [ show_mmr32_reg RCC_APB2RSTR] } msg ] {
60         error $msg
61     }
62     for { set x 0 } { $x < 32 } { incr x } {
63         set bits($x) xxx
64     }
65     set bits(15) adc3
66     set bits(14) usart1
67     set bits(13) tim8
68     set bits(12) spi1
69     set bits(11) tim1
70     set bits(10) adc2
71     set bits(9) adc1
72     set bits(8) iopg
73     set bits(7) iopf
74     set bits(6) iope
75     set bits(5) iopd
76     set bits(4) iopc
77     set bits(3) iopb
78     set bits(2) iopa
79     set bits(1) xxx
80     set bits(0) afio
81     show_mmr32_bits bits $val
82 }
83
84 proc show_RCC_APB1RSTR { } {
85     if [ catch { set val [ show_mmr32_reg RCC_APB1RSTR] } msg ] {
86         error $msg
87     }
88     set bits(31) xxx
89     set bits(30) xxx
90     set bits(29) dac
91     set bits(28) pwr
92     set bits(27) bkp
93     set bits(26) xxx
94     set bits(25) can
95     set bits(24) xxx
96     set bits(23) usb
97     set bits(22) i2c2
98     set bits(21) i2c1
99     set bits(20) uart5
100     set bits(19) uart4
101     set bits(18) uart3
102     set bits(17) uart2
103     set bits(16) xxx
104     set bits(15) spi3
105     set bits(14) spi2
106     set bits(13) xxx
107     set bits(12) xxx
108     set bits(11) wwdg
109     set bits(10) xxx
110     set bits(9) xxx
111     set bits(8) xxx
112     set bits(7) xxx
113     set bits(6) xxx
114     set bits(5) tim7
115     set bits(4) tim6
116     set bits(3) tim5
117     set bits(2) tim4
118     set bits(1) tim3
119     set bits(0) tim2
120     show_mmr32_bits bits $val
121
122 }
123
124 proc show_RCC_AHBENR   { } {
125     if [ catch { set val [ show_mmr32_reg RCC_AHBENR  ] } msg ] {
126         error $msg
127     }
128     set bits(31) xxx
129     set bits(30) xxx
130     set bits(29) xxx
131     set bits(28) xxx
132     set bits(27) xxx
133     set bits(26) xxx
134     set bits(25) xxx
135     set bits(24) xxx
136     set bits(23) xxx
137     set bits(22) xxx
138     set bits(21) xxx
139     set bits(20) xxx
140     set bits(19) xxx
141     set bits(18) xxx
142     set bits(17) xxx
143     set bits(16) xxx
144     set bits(15) xxx
145     set bits(14) xxx
146     set bits(13) xxx
147     set bits(12) xxx
148     set bits(11) xxx
149     set bits(10) sdio
150     set bits(9) xxx
151     set bits(8) fsmc
152     set bits(7) xxx
153     set bits(6) crce
154     set bits(5) xxx
155     set bits(4) flitf
156     set bits(3) xxx
157     set bits(2) sram
158     set bits(1) dma2
159     set bits(0) dma1
160     show_mmr32_bits bits $val
161 }
162
163 proc show_RCC_APB2ENR  { } {
164     if [ catch { set val [ show_mmr32_reg RCC_APB2ENR ] } msg ] {
165         error $msg
166     }
167     set bits(31) xxx
168     set bits(30) xxx
169     set bits(29) xxx
170     set bits(28) xxx
171     set bits(27) xxx
172     set bits(26) xxx
173     set bits(25) xxx
174     set bits(24) xxx
175     set bits(23) xxx
176     set bits(22) xxx
177     set bits(21) xxx
178     set bits(20) xxx
179     set bits(19) xxx
180     set bits(18) xxx
181     set bits(17) xxx
182     set bits(16) xxx
183     set bits(15) adc3
184     set bits(14) usart1
185     set bits(13) tim8
186     set bits(12) spi1
187     set bits(11) tim1
188     set bits(10) adc2
189     set bits(9) adc1
190     set bits(8) iopg
191     set bits(7) iopf
192     set bits(6) iope
193     set bits(5) iopd
194     set bits(4) iopc
195     set bits(3) iopb
196     set bits(2) iopa
197     set bits(1) xxx
198     set bits(0) afio
199     show_mmr32_bits bits $val
200
201 }
202
203 proc show_RCC_APB1ENR  { } {
204     if [ catch { set val [ show_mmr32_reg RCC_APB1ENR ] } msg ] {
205         error $msg
206     }
207     set bits(31) xxx
208     set bits(30) xxx
209     set bits(29) dac
210     set bits(28) pwr
211     set bits(27) bkp
212     set bits(26) xxx
213     set bits(25) can
214     set bits(24) xxx
215     set bits(23) usb
216     set bits(22) i2c2
217     set bits(21) i2c1
218     set bits(20) usart5
219     set bits(19) usart4
220     set bits(18) usart3
221     set bits(17) usart2
222     set bits(16) xxx
223     set bits(15) spi3
224     set bits(14) spi2
225     set bits(13) xxx
226     set bits(12) xxx
227     set bits(11) wwdg
228     set bits(10) xxx
229     set bits(9) xxx
230     set bits(8) xxx
231     set bits(7) xxx
232     set bits(6) xxx
233     set bits(5) tim7
234     set bits(4) tim6
235     set bits(3) tim5
236     set bits(2) tim4
237     set bits(1) tim3
238     set bits(0) tim2
239     show_mmr32_bits bits $val
240 }
241
242 proc show_RCC_BDCR     { } {
243     if [ catch { set val [ show_mmr32_reg RCC_BDCR    ] } msg ] {
244         error $msg
245     }
246     for { set x 0 } { $x < 32 } { incr x } {
247         set bits($x) xxx
248     }
249     set bits(0) lseon
250     set bits(1) lserdy
251     set bits(2) lsebyp
252     set bits(8) rtcsel0
253     set bits(9) rtcsel1
254     set bits(15) rtcen
255     set bits(16) bdrst
256     show_mmr32_bits bits $val
257 }
258
259 proc show_RCC_CSR      { } {
260     if [ catch { set val [ show_mmr32_reg RCC_CSR     ] } msg ] {
261         error $msg
262     }
263     for { set x 0 } { $x < 32 } { incr x } {
264         set bits($x) xxx
265     }
266     set bits(0) lsion
267     set bits(1) lsirdy
268     set bits(24) rmvf
269     set bits(26) pin
270     set bits(27) por
271     set bits(28) sft
272     set bits(29) iwdg
273     set bits(30) wwdg
274     set bits(31) lpwr
275     show_mmr32_bits bits $val
276 }
277
278 proc show_RCC { } {
279
280     show_RCC_CR
281     show_RCC_CFGR
282     show_RCC_CIR
283     show_RCC_APB2RSTR
284     show_RCC_APB1RSTR
285     show_RCC_AHBENR
286     show_RCC_APB2ENR
287     show_RCC_APB1ENR
288     show_RCC_BDCR
289     show_RCC_CSR
290 }