2020cantd_list = [] #'PIN','name','CANTD'
2121canrd_list = [] #'PIN','name','CANRD'
2222eth_list = [] #'PIN','name','ETH'
23+ qspi_list = [] #'PIN','name','QUADSPI'
2324
2425
2526def find_gpio_file (xmldoc ):
@@ -131,6 +132,10 @@ def store_can(pin, name, signal):
131132def store_eth (pin , name , signal ):
132133 eth_list .append ([pin ,name ,signal ])
133134
135+ #function to store QSPI pins
136+ def store_qspi (pin , name , signal ):
137+ qspi_list .append ([pin ,name ,signal ])
138+
134139def print_header ():
135140 s = ("""/*
136141 *******************************************************************************
@@ -205,6 +210,8 @@ def print_all_lists():
205210 print_can (xml , cantd_list )
206211 if print_list_header ("ETHERNET" , "Ethernet" , eth_list , "ETH" ):
207212 print_eth (xml , eth_list )
213+ if print_list_header ("QUADSPI" , "QUADSPI" , qspi_list , "QSPI" ):
214+ print_qspi (xml , qspi_list )
208215
209216def print_list_header (comment , name , l , switch ):
210217 if len (l )> 0 :
@@ -412,6 +419,33 @@ def print_eth(xml, l):
412419#endif
413420""" )
414421
422+ def print_qspi (xml , l ):
423+ i = 0
424+ if len (l )> 0 :
425+ prev_s = ''
426+ while i < len (l ):
427+ p = l [i ]
428+ result = get_gpio_af_num (xml , p [1 ], p [2 ])
429+ if result != 'NOTFOUND' :
430+ s1 = "%-12s" % (" {" + p [0 ] + ',' )
431+ #2nd element is the QUADSPI_XXXX signal
432+ s1 += 'QUADSPI, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, ' + result + ')},'
433+ #check duplicated lines, only signal differs
434+ if (prev_s == s1 ):
435+ s1 = '|' + p [2 ]
436+ else :
437+ if len (prev_s )> 0 :
438+ out_file .write ('\n ' )
439+ prev_s = s1
440+ s1 += ' // ' + p [2 ]
441+ out_file .write (s1 )
442+ i += 1
443+
444+ out_file .write ( """\n {NC, NP, 0}
445+ };
446+ #endif
447+ """ )
448+
415449tokenize = re .compile (r'(\d+)|(\D+)' ).findall
416450def natural_sortkey (list_2_elem ):
417451
@@ -434,6 +468,7 @@ def sort_my_lists():
434468 cantd_list .sort (key = natural_sortkey )
435469 canrd_list .sort (key = natural_sortkey )
436470 eth_list .sort (key = natural_sortkey )
471+ qspi_list .sort (key = natural_sortkey )
437472
438473 return
439474
@@ -554,7 +589,9 @@ def sort_my_lists():
554589 if "CAN" in sig :
555590 store_can ( pin , name , sig )
556591 if "ETH" in sig :
557- store_eth ( pin , name , sig )
592+ store_eth ( pin , name , sig )
593+ if "QUADSPI" in sig :
594+ store_qspi ( pin , name , sig )
558595
559596print (" * * * Sorting lists..." )
560597sort_my_lists ()
0 commit comments