3838quadspidata1_list = [] # ['PIN','name','QUADSPIDATA1', ['af']]
3939quadspidata2_list = [] # ['PIN','name','QUADSPIDATA2', ['af']]
4040quadspidata3_list = [] # ['PIN','name','QUADSPIDATA3', ['af']]
41+ quadspidata4_list = [] # ['PIN','name','QUADSPIDATA4', ['af']]
42+ quadspidata5_list = [] # ['PIN','name','QUADSPIDATA5', ['af']]
43+ quadspidata6_list = [] # ['PIN','name','QUADSPIDATA6', ['af']]
44+ quadspidata7_list = [] # ['PIN','name','QUADSPIDATA7', ['af']]
4145quadspisclk_list = [] # ['PIN','name','QUADSPISCLK', ['af']]
4246quadspissel_list = [] # ['PIN','name','QUADSPISSEL', ['af']]
4347syswkup_list = [] # ['PIN','name','SYSWKUP']
@@ -480,7 +484,7 @@ def store_eth(pin, name, signal):
480484 eth_list .append ([pin , name , signal ])
481485
482486
483- # Store QSPI pins
487+ # Store O/ QSPI pins
484488def store_qspi (pin , name , signal ):
485489 if "_IO0" in signal :
486490 quadspidata0_list .append ([pin , name , signal ])
@@ -490,6 +494,14 @@ def store_qspi(pin, name, signal):
490494 quadspidata2_list .append ([pin , name , signal ])
491495 if "_IO3" in signal :
492496 quadspidata3_list .append ([pin , name , signal ])
497+ if "_IO4" in signal :
498+ quadspidata4_list .append ([pin , name , signal ])
499+ if "_IO5" in signal :
500+ quadspidata5_list .append ([pin , name , signal ])
501+ if "_IO6" in signal :
502+ quadspidata6_list .append ([pin , name , signal ])
503+ if "_IO7" in signal :
504+ quadspidata7_list .append ([pin , name , signal ])
493505 if "_CLK" in signal :
494506 quadspisclk_list .append ([pin , name , signal ])
495507 if "_NCS" in signal :
@@ -858,6 +870,14 @@ def qspi_pinmap(lst):
858870 aname = name + "_DATA2"
859871 elif lst == quadspidata3_list :
860872 aname = name + "_DATA3"
873+ elif lst == quadspidata4_list :
874+ aname = name + "_DATA4"
875+ elif lst == quadspidata5_list :
876+ aname = name + "_DATA5"
877+ elif lst == quadspidata6_list :
878+ aname = name + "_DATA6"
879+ elif lst == quadspidata7_list :
880+ aname = name + "_DATA7"
861881 elif lst == quadspisclk_list :
862882 aname = name + "_SCLK"
863883 else :
@@ -1044,6 +1064,10 @@ def print_peripheral():
10441064 qspi_pinmap (quadspidata1_list ),
10451065 qspi_pinmap (quadspidata2_list ),
10461066 qspi_pinmap (quadspidata3_list ),
1067+ qspi_pinmap (quadspidata4_list ),
1068+ qspi_pinmap (quadspidata5_list ),
1069+ qspi_pinmap (quadspidata6_list ),
1070+ qspi_pinmap (quadspidata7_list ),
10471071 qspi_pinmap (quadspisclk_list ),
10481072 qspi_pinmap (quadspissel_list ),
10491073 ),
@@ -1056,32 +1080,21 @@ def print_peripheral():
10561080
10571081# PinNamesVar.h generation
10581082def manage_syswkup ():
1059- syswkup_pins_list = []
1083+ syswkup_pins_list = [[] for _ in range ( 8 ) ]
10601084 if len (syswkup_list ) != 0 :
1061- # H7xx and F446 start from 0, inc by 1
1062- inc = 0
1085+ # H7xx and F446 start from 0
1086+ base_index = 1
10631087 if syswkup_list [0 ][2 ].replace ("SYS_WKUP" , "" ) == "0" :
1064- inc = 1
1065- # Fill list with missing SYS_WKUPx set to NC
1066- i = 0
1067- while i < 8 :
1068- num = 0
1069- if len (syswkup_list ) > i :
1070- n = syswkup_list [i ][2 ].replace ("SYS_WKUP" , "" )
1071- if len (n ) != 0 :
1072- num = int (n ) if inc == 1 else int (n ) - 1
1073- x = i if inc == 1 else i + 1
1074- if num != i :
1075- syswkup_list .insert (i , ["NC" , "NC_" + str (x ), "SYS_WKUP" + str (x )])
1076- i += 1
1088+ base_index = 0
10771089 for p in syswkup_list :
10781090 num = p [2 ].replace ("SYS_WKUP" , "" )
1079- if ( inc == 1 ) and ( p [ 0 ] != "NC" ):
1080- cmt = " /* " + p [ 2 ] + " */"
1081- else :
1091+ num = int ( num ) if num else 1
1092+ if base_index == 1 :
1093+ num -= 1
10821094 cmt = ""
1083- syswkup_pins_list .append ([p [0 ], cmt ])
1084-
1095+ else :
1096+ cmt = " /* " + p [2 ] + " */"
1097+ syswkup_pins_list [num ].append ([p [0 ], cmt ])
10851098 return syswkup_pins_list
10861099
10871100
@@ -1127,6 +1140,12 @@ def print_pinamevar():
11271140 usb_pins_list = sorted_usb_pins_list ,
11281141 )
11291142 )
1143+ alt_syswkup_list = []
1144+ for idx , syswkup_list in enumerate (syswkup_pins_list , start = 1 ):
1145+ if len (syswkup_list ) > 1 :
1146+ for idx2 , lst in enumerate (syswkup_list [1 :], start = 1 ):
1147+ alt_syswkup_list .append ("{}_{}" .format (idx , idx2 ))
1148+ return alt_syswkup_list
11301149
11311150
11321151# Variant files generation
@@ -1253,7 +1272,7 @@ def timer_variant():
12531272 return dict (tone = tone , servo = servo )
12541273
12551274
1256- def print_variant (generic_list ):
1275+ def print_variant (generic_list , alt_syswkup_list ):
12571276 variant_h_template = j2_env .get_template (variant_h_filename )
12581277 variant_cpp_template = j2_env .get_template (variant_cpp_filename )
12591278
@@ -1344,6 +1363,7 @@ def print_variant(generic_list):
13441363 year = datetime .datetime .now ().year ,
13451364 pins_number_list = pins_number_list ,
13461365 alt_pins_list = alt_pins_list ,
1366+ alt_syswkup_list = alt_syswkup_list ,
13471367 waltpin = max (waltpin ),
13481368 num_digital_pins = num_digital_pins ,
13491369 num_dualpad_pins = num_dualpad_pins ,
@@ -1538,6 +1558,10 @@ def sort_my_lists():
15381558 quadspidata1_list .sort (key = natural_sortkey )
15391559 quadspidata2_list .sort (key = natural_sortkey )
15401560 quadspidata3_list .sort (key = natural_sortkey )
1561+ quadspidata4_list .sort (key = natural_sortkey )
1562+ quadspidata5_list .sort (key = natural_sortkey )
1563+ quadspidata6_list .sort (key = natural_sortkey )
1564+ quadspidata7_list .sort (key = natural_sortkey )
15411565 quadspisclk_list .sort (key = natural_sortkey )
15421566 quadspissel_list .sort (key = natural_sortkey )
15431567 syswkup_list .sort (key = natural_sortkey2 )
@@ -1572,6 +1596,10 @@ def clean_all_lists():
15721596 del quadspidata1_list [:]
15731597 del quadspidata2_list [:]
15741598 del quadspidata3_list [:]
1599+ del quadspidata4_list [:]
1600+ del quadspidata5_list [:]
1601+ del quadspidata6_list [:]
1602+ del quadspidata7_list [:]
15751603 del quadspisclk_list [:]
15761604 del quadspissel_list [:]
15771605 del syswkup_list [:]
@@ -1602,6 +1630,10 @@ def manage_af_and_alternate():
16021630 add_af (quadspidata1_list )
16031631 add_af (quadspidata2_list )
16041632 add_af (quadspidata3_list )
1633+ add_af (quadspidata4_list )
1634+ add_af (quadspidata5_list )
1635+ add_af (quadspidata6_list )
1636+ add_af (quadspidata7_list )
16051637 add_af (quadspisclk_list )
16061638 add_af (quadspissel_list )
16071639 add_af (usb_list )
@@ -1631,6 +1663,10 @@ def manage_af_and_alternate():
16311663 update_alternate (quadspidata1_list )
16321664 update_alternate (quadspidata2_list )
16331665 update_alternate (quadspidata3_list )
1666+ update_alternate (quadspidata4_list )
1667+ update_alternate (quadspidata5_list )
1668+ update_alternate (quadspidata6_list )
1669+ update_alternate (quadspidata7_list )
16341670 update_alternate (quadspisclk_list )
16351671 update_alternate (quadspissel_list )
16361672 update_alternate (syswkup_list )
@@ -2375,8 +2411,9 @@ def manage_repo():
23752411 generic_list = print_boards_entry ()
23762412 print_general_clock (generic_list )
23772413 print_peripheral ()
2378- print_pinamevar ()
2379- print_variant (generic_list )
2414+ alt_syswkup_list = print_pinamevar ()
2415+ print_variant (generic_list , alt_syswkup_list )
2416+ del alt_syswkup_list [:]
23802417 del generic_list [:]
23812418 print (
23822419 "* Total I/O pins found: {}" .format (
0 commit comments