@@ -31,15 +31,26 @@ def __init__(
31
31
range_vco_out = range (192 , 432 + 1 ),
32
32
)
33
33
34
- mcu_h7 = MCU (
35
- range_sysclk = range (2 , 400 + 1 , 2 ), # above 400MHz currently unsupported
36
- range_m = range (1 , 63 + 1 ),
37
- range_n = range (4 , 512 + 1 ),
38
- range_p = range (2 , 128 + 1 , 2 ),
39
- range_q = range (1 , 128 + 1 ),
40
- range_vco_in = range (1 , 16 + 1 ),
41
- range_vco_out = range (150 , 960 + 1 ), # 150-420=medium, 192-960=wide
42
- )
34
+ mcu_table = {
35
+ "stm32f413" : MCU (
36
+ range_sysclk = range (2 , 100 + 1 , 2 ),
37
+ range_m = range (2 , 63 + 1 ),
38
+ range_n = range (50 , 432 + 1 ),
39
+ range_p = range (2 , 8 + 1 , 2 ),
40
+ range_q = range (2 , 15 + 1 ),
41
+ range_vco_in = range (1 , 2 + 1 ),
42
+ range_vco_out = range (100 , 432 + 1 ),
43
+ ),
44
+ "stm32h7" : MCU (
45
+ range_sysclk = range (2 , 400 + 1 , 2 ), # above 400MHz currently unsupported
46
+ range_m = range (1 , 63 + 1 ),
47
+ range_n = range (4 , 512 + 1 ),
48
+ range_p = range (2 , 128 + 1 , 2 ),
49
+ range_q = range (1 , 128 + 1 ),
50
+ range_vco_in = range (1 , 16 + 1 ),
51
+ range_vco_out = range (150 , 960 + 1 ), # 150-420=medium, 192-960=wide
52
+ ),
53
+ }
43
54
44
55
45
56
def close_int (x ):
@@ -271,10 +282,11 @@ def main():
271
282
hse = int (argv [0 ])
272
283
273
284
# Select MCU parameters
274
- if mcu_series .startswith ("stm32h7" ):
275
- mcu = mcu_h7
276
- else :
277
- mcu = mcu_default
285
+ mcu = mcu_default
286
+ for m in mcu_table :
287
+ if mcu_series .startswith (m ):
288
+ mcu = mcu_table [m ]
289
+ break
278
290
279
291
# Relax constraint on PLLQ being 48MHz on MCUs which have separate PLLs for 48MHz
280
292
relax_pll48 = mcu_series .startswith (("stm32f413" , "stm32f7" , "stm32h7" ))
0 commit comments